diff --git a/clients/client-appflow/models/models_0.ts b/clients/client-appflow/models/models_0.ts index 37d4af07ab919..b7c36e3781243 100644 --- a/clients/client-appflow/models/models_0.ts +++ b/clients/client-appflow/models/models_0.ts @@ -353,6 +353,19 @@ export namespace TrendmicroMetadata { }); } +/** + *

+ * The connector metadata specific to Upsolver. + *

+ */ +export interface UpsolverMetadata {} + +export namespace UpsolverMetadata { + export const filterSensitiveLog = (obj: UpsolverMetadata): any => ({ + ...obj, + }); +} + /** *

* The connector metadata specific to Veeva. @@ -394,122 +407,129 @@ export namespace ZendeskMetadata { export interface ConnectorMetadata { /** *

- * The connector metadata specific to Amazon Redshift. + * The connector metadata specific to Amplitude. *

*/ - Redshift?: RedshiftMetadata; + Amplitude?: AmplitudeMetadata; /** *

- * The connector metadata specific to Marketo. + * The connector metadata specific to Datadog. *

*/ - Marketo?: MarketoMetadata; + Datadog?: DatadogMetadata; /** *

- * The connector metadata specific to Infor Nexus. + * The connector metadata specific to Dynatrace. *

*/ - InforNexus?: InforNexusMetadata; + Dynatrace?: DynatraceMetadata; /** *

- * The connector metadata specific to Zendesk. + * The connector metadata specific to Google Analytics. *

*/ - Zendesk?: ZendeskMetadata; + GoogleAnalytics?: GoogleAnalyticsMetadata; /** *

- * The connector metadata specific to Dynatrace. + * The connector metadata specific to Infor Nexus. *

*/ - Dynatrace?: DynatraceMetadata; + InforNexus?: InforNexusMetadata; /** *

- * The connector metadata specific to Snowflake. + * The connector metadata specific to Marketo. *

*/ - Snowflake?: SnowflakeMetadata; + Marketo?: MarketoMetadata; /** *

- * The connector metadata specific to Trend Micro. + * The connector metadata specific to Amazon Redshift. *

*/ - Trendmicro?: TrendmicroMetadata; + Redshift?: RedshiftMetadata; /** *

- * The connector metadata specific to Amazon EventBridge. - *

+ * The connector metadata specific to Amazon S3. + *

*/ - EventBridge?: EventBridgeMetadata; + S3?: S3Metadata; /** *

- * The connector metadata specific to Slack. + * The connector metadata specific to Salesforce. *

*/ - Slack?: SlackMetadata; + Salesforce?: SalesforceMetadata; /** *

- * The connector metadata specific to Veeva. + * The connector metadata specific to ServiceNow. *

*/ - Veeva?: VeevaMetadata; + ServiceNow?: ServiceNowMetadata; /** *

- * The connector metadata specific to Datadog. + * The connector metadata specific to Singular. *

*/ - Datadog?: DatadogMetadata; + Singular?: SingularMetadata; /** *

- * The connector metadata specific to Google Analytics. + * The connector metadata specific to Slack. *

*/ - GoogleAnalytics?: GoogleAnalyticsMetadata; + Slack?: SlackMetadata; /** *

- * The connector metadata specific to ServiceNow. + * The connector metadata specific to Snowflake. *

*/ - ServiceNow?: ServiceNowMetadata; + Snowflake?: SnowflakeMetadata; /** *

- * The connector metadata specific to Amplitude. + * The connector metadata specific to Trend Micro. *

*/ - Amplitude?: AmplitudeMetadata; + Trendmicro?: TrendmicroMetadata; /** *

- * The connector metadata specific to Salesforce. + * The connector metadata specific to Veeva. *

*/ - Salesforce?: SalesforceMetadata; + Veeva?: VeevaMetadata; /** *

- * The connector metadata specific to Singular. + * The connector metadata specific to Zendesk. *

*/ - Singular?: SingularMetadata; + Zendesk?: ZendeskMetadata; /** *

- * The connector metadata specific to Amazon S3. - *

+ * The connector metadata specific to Amazon EventBridge. + *

*/ - S3?: S3Metadata; + EventBridge?: EventBridgeMetadata; + + /** + *

+ * The connector metadata specific to Upsolver. + *

+ */ + Upsolver?: UpsolverMetadata; } export namespace ConnectorMetadata { @@ -534,6 +554,7 @@ export enum ConnectorType { SLACK = "Slack", SNOWFLAKE = "Snowflake", TRENDMICRO = "Trendmicro", + UPSOLVER = "Upsolver", VEEVA = "Veeva", ZENDESK = "Zendesk", } @@ -561,31 +582,31 @@ export enum TriggerType { export interface ConnectorConfiguration { /** *

- * Specifies if a PrivateLink endpoint URL is required. + * Specifies whether the connector can be used as a source. *

*/ - isPrivateLinkEndpointUrlRequired?: boolean; + canUseAsSource?: boolean; /** *

- * Specifies the supported flow frequency for that connector. - *

+ * Specifies whether the connector can be used as a destination. + *

*/ - supportedSchedulingFrequencies?: (ScheduleFrequencyType | string)[]; + canUseAsDestination?: boolean; /** *

- * Specifies the supported trigger types for the flow. + * Lists the connectors that are available for use as destinations. *

*/ - supportedTriggerTypes?: (TriggerType | string)[]; + supportedDestinationConnectors?: (ConnectorType | string)[]; /** *

- * Specifies whether the connector can be used as a destination. - *

+ * Specifies the supported flow frequency for that connector. + *

*/ - canUseAsDestination?: boolean; + supportedSchedulingFrequencies?: (ScheduleFrequencyType | string)[]; /** *

@@ -596,24 +617,24 @@ export interface ConnectorConfiguration { /** *

- * Specifies whether the connector can be used as a source. + * Specifies if a PrivateLink endpoint URL is required. *

*/ - canUseAsSource?: boolean; + isPrivateLinkEndpointUrlRequired?: boolean; /** *

- * Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on. + * Specifies the supported trigger types for the flow. *

*/ - connectorMetadata?: ConnectorMetadata; + supportedTriggerTypes?: (TriggerType | string)[]; /** *

- * Lists the connectors that are available for use as destinations. + * Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on. *

*/ - supportedDestinationConnectors?: (ConnectorType | string)[]; + connectorMetadata?: ConnectorMetadata; } export namespace ConnectorConfiguration { @@ -631,24 +652,24 @@ export namespace ConnectorConfiguration { export interface ConnectorEntity { /** *

- * The label applied to the connector entity. + * The name of the connector entity. *

*/ - label?: string; + name: string | undefined; /** *

- * Specifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = "the_current_entity_name_with_hasNestedEntities_true", then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion. + * The label applied to the connector entity. *

*/ - hasNestedEntities?: boolean; + label?: string; /** *

- * The name of the connector entity. + * Specifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = "the_current_entity_name_with_hasNestedEntities_true", then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion. *

*/ - name: string | undefined; + hasNestedEntities?: boolean; } export namespace ConnectorEntity { @@ -669,6 +690,13 @@ export enum WriteOperationType { *

*/ export interface DestinationFieldProperties { + /** + *

+ * Specifies if the destination field can be created by the current user. + *

+ */ + isCreatable?: boolean; + /** *

* Specifies if the destination field can have a null value. @@ -678,10 +706,10 @@ export interface DestinationFieldProperties { /** *

- * A list of supported write operations. For each write operation listed, this field can be used in idFieldNames when that write operation is present as a destination option. + * Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do. *

*/ - supportedWriteOperations?: (WriteOperationType | string)[]; + isUpsertable?: boolean; /** *

@@ -692,17 +720,10 @@ export interface DestinationFieldProperties { /** *

- * Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do. + * A list of supported write operations. For each write operation listed, this field can be used in idFieldNames when that write operation is present as a destination option. *

*/ - isUpsertable?: boolean; - - /** - *

- * Specifies if the destination field can be created by the current user. - *

- */ - isCreatable?: boolean; + supportedWriteOperations?: (WriteOperationType | string)[]; } export namespace DestinationFieldProperties { @@ -777,17 +798,17 @@ export interface FieldTypeDetails { /** *

- * The list of values that a field can contain. For example, a Boolean fieldType can have two values: "true" and "false". + * The list of operators supported by a field. *

*/ - supportedValues?: string[]; + filterOperators: (Operator | string)[] | undefined; /** *

- * The list of operators supported by a field. + * The list of values that a field can contain. For example, a Boolean fieldType can have two values: "true" and "false". *

*/ - filterOperators: (Operator | string)[] | undefined; + supportedValues?: string[]; } export namespace FieldTypeDetails { @@ -824,45 +845,45 @@ export namespace SupportedFieldTypeDetails { export interface ConnectorEntityField { /** *

- * A description of the connector entity field. + * The unique identifier of the connector field. *

*/ - description?: string; + identifier: string | undefined; /** *

- * Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues. + * The label applied to a connector entity field. *

*/ - supportedFieldTypeDetails?: SupportedFieldTypeDetails; + label?: string; /** *

- * The label applied to a connector entity field. + * Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues. *

*/ - label?: string; + supportedFieldTypeDetails?: SupportedFieldTypeDetails; /** *

- * The properties applied to a field when the connector is being used as a destination. + * A description of the connector entity field. *

*/ - destinationProperties?: DestinationFieldProperties; + description?: string; /** *

- * The unique identifier of the connector field. + * The properties that can be applied to a field when the connector is being used as a source. *

*/ - identifier: string | undefined; + sourceProperties?: SourceFieldProperties; /** *

- * The properties that can be applied to a field when the connector is being used as a source. + * The properties applied to a field when the connector is being used as a destination. *

*/ - sourceProperties?: SourceFieldProperties; + destinationProperties?: DestinationFieldProperties; } export namespace ConnectorEntityField { @@ -879,17 +900,17 @@ export namespace ConnectorEntityField { export interface ConnectorOAuthRequest { /** *

- * The URL to which the authentication server redirects the browser after authorization has been granted. - *

+ * The code provided by the connector when it has been authenticated via the connected app. + *

*/ - redirectUri?: string; + authCode?: string; /** *

- * The code provided by the connector when it has been authenticated via the connected app. - *

+ * The URL to which the authentication server redirects the browser after authorization has been granted. + *

*/ - authCode?: string; + redirectUri?: string; } export namespace ConnectorOAuthRequest { @@ -1152,101 +1173,101 @@ export enum ZendeskConnectorOperator { export interface ConnectorOperator { /** *

- * The operation to be performed on the provided Zendesk source fields. - *

+ * The operation to be performed on the provided Amplitude source fields. + *

*/ - Zendesk?: ZendeskConnectorOperator | string; + Amplitude?: AmplitudeConnectorOperator | string; /** *

- * The operation to be performed on the provided Marketo source fields. + * The operation to be performed on the provided Datadog source fields. *

*/ - Marketo?: MarketoConnectorOperator | string; + Datadog?: DatadogConnectorOperator | string; /** *

- * The operation to be performed on the provided Datadog source fields. + * The operation to be performed on the provided Dynatrace source fields. *

*/ - Datadog?: DatadogConnectorOperator | string; + Dynatrace?: DynatraceConnectorOperator | string; /** *

- * The operation to be performed on the provided Veeva source fields. + * The operation to be performed on the provided Google Analytics source fields. *

*/ - Veeva?: VeevaConnectorOperator | string; + GoogleAnalytics?: GoogleAnalyticsConnectorOperator | string; /** *

- * The operation to be performed on the provided Dynatrace source fields. + * The operation to be performed on the provided Infor Nexus source fields. *

*/ - Dynatrace?: DynatraceConnectorOperator | string; + InforNexus?: InforNexusConnectorOperator | string; /** *

- * The operation to be performed on the provided ServiceNow source fields. + * The operation to be performed on the provided Marketo source fields. *

*/ - ServiceNow?: ServiceNowConnectorOperator | string; + Marketo?: MarketoConnectorOperator | string; /** *

- * The operation to be performed on the provided Salesforce source fields. + * The operation to be performed on the provided Amazon S3 source fields. *

*/ - Salesforce?: SalesforceConnectorOperator | string; + S3?: S3ConnectorOperator | string; /** *

- * The operation to be performed on the provided Amplitude source fields. - *

+ * The operation to be performed on the provided Salesforce source fields. + *

*/ - Amplitude?: AmplitudeConnectorOperator | string; + Salesforce?: SalesforceConnectorOperator | string; /** *

- * The operation to be performed on the provided Singular source fields. + * The operation to be performed on the provided ServiceNow source fields. *

*/ - Singular?: SingularConnectorOperator | string; + ServiceNow?: ServiceNowConnectorOperator | string; /** *

- * The operation to be performed on the provided Amazon S3 source fields. + * The operation to be performed on the provided Singular source fields. *

*/ - S3?: S3ConnectorOperator | string; + Singular?: SingularConnectorOperator | string; /** *

- * The operation to be performed on the provided Infor Nexus source fields. + * The operation to be performed on the provided Slack source fields. *

*/ - InforNexus?: InforNexusConnectorOperator | string; + Slack?: SlackConnectorOperator | string; /** *

- * The operation to be performed on the provided Google Analytics source fields. + * The operation to be performed on the provided Trend Micro source fields. *

*/ - GoogleAnalytics?: GoogleAnalyticsConnectorOperator | string; + Trendmicro?: TrendmicroConnectorOperator | string; /** *

- * The operation to be performed on the provided Slack source fields. + * The operation to be performed on the provided Veeva source fields. *

*/ - Slack?: SlackConnectorOperator | string; + Veeva?: VeevaConnectorOperator | string; /** *

- * The operation to be performed on the provided Trend Micro source fields. + * The operation to be performed on the provided Zendesk source fields. *

*/ - Trendmicro?: TrendmicroConnectorOperator | string; + Zendesk?: ZendeskConnectorOperator | string; } export namespace ConnectorOperator { @@ -1356,31 +1377,31 @@ export namespace MarketoConnectorProfileProperties { export interface RedshiftConnectorProfileProperties { /** *

- * The Amazon Resource Name (ARN) of the IAM role. + * The JDBC URL of the Amazon Redshift cluster. *

*/ - roleArn: string | undefined; + databaseUrl: string | undefined; /** *

- * The object key for the destination bucket in which Amazon AppFlow places the files. + * A name for the associated Amazon S3 bucket. *

*/ - bucketPrefix?: string; + bucketName: string | undefined; /** *

- * A name for the associated Amazon S3 bucket. + * The object key for the destination bucket in which Amazon AppFlow places the files. *

*/ - bucketName: string | undefined; + bucketPrefix?: string; /** *

- * The JDBC URL of the Amazon Redshift cluster. + * The Amazon Resource Name (ARN) of the IAM role. *

*/ - databaseUrl: string | undefined; + roleArn: string | undefined; } export namespace RedshiftConnectorProfileProperties { @@ -1397,17 +1418,17 @@ export namespace RedshiftConnectorProfileProperties { export interface SalesforceConnectorProfileProperties { /** *

- * Indicates whether the connector profile applies to a sandbox or production environment. + * The location of the Salesforce resource. *

*/ - isSandboxEnvironment?: boolean; + instanceUrl?: string; /** *

- * The location of the Salesforce resource. + * Indicates whether the connector profile applies to a sandbox or production environment. *

*/ - instanceUrl?: string; + isSandboxEnvironment?: boolean; } export namespace SalesforceConnectorProfileProperties { @@ -1477,31 +1498,31 @@ export namespace SlackConnectorProfileProperties { export interface SnowflakeConnectorProfileProperties { /** *

- * The name of the account. + * The name of the Snowflake warehouse. *

*/ - accountName?: string; + warehouse: string | undefined; /** *

- * The bucket path that refers to the Amazon S3 bucket associated with Snowflake. + * The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>. *

*/ - bucketPrefix?: string; + stage: string | undefined; /** *

- * The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>. + * The name of the Amazon S3 bucket associated with Snowflake. *

*/ - stage: string | undefined; + bucketName: string | undefined; /** *

- * The name of the Amazon S3 bucket associated with Snowflake. + * The bucket path that refers to the Amazon S3 bucket associated with Snowflake. *

*/ - bucketName: string | undefined; + bucketPrefix?: string; /** *

@@ -1512,17 +1533,17 @@ export interface SnowflakeConnectorProfileProperties { /** *

- * The AWS Region of the Snowflake account. + * The name of the account. *

*/ - region?: string; + accountName?: string; /** *

- * The name of the Snowflake warehouse. + * The AWS Region of the Snowflake account. *

*/ - warehouse: string | undefined; + region?: string; } export namespace SnowflakeConnectorProfileProperties { @@ -1592,108 +1613,108 @@ export namespace ZendeskConnectorProfileProperties { export interface ConnectorProfileProperties { /** *

- * The connector-specific properties required by Slack. + * The connector-specific properties required by Amplitude. *

*/ - Slack?: SlackConnectorProfileProperties; + Amplitude?: AmplitudeConnectorProfileProperties; /** *

- * The connector-specific properties required by Snowflake. + * The connector-specific properties required by Datadog. *

*/ - Snowflake?: SnowflakeConnectorProfileProperties; + Datadog?: DatadogConnectorProfileProperties; /** *

- * The connector-specific properties required by Veeva. + * The connector-specific properties required by Dynatrace. *

*/ - Veeva?: VeevaConnectorProfileProperties; + Dynatrace?: DynatraceConnectorProfileProperties; /** *

- * The connector-specific properties required by Marketo. + * The connector-specific properties required Google Analytics. *

*/ - Marketo?: MarketoConnectorProfileProperties; + GoogleAnalytics?: GoogleAnalyticsConnectorProfileProperties; /** *

- * The connector-specific properties required by Datadog. + * The connector-specific properties required by Infor Nexus. *

*/ - Datadog?: DatadogConnectorProfileProperties; + InforNexus?: InforNexusConnectorProfileProperties; /** *

- * The connector-specific properties required by Amazon Redshift. + * The connector-specific properties required by Marketo. *

*/ - Redshift?: RedshiftConnectorProfileProperties; + Marketo?: MarketoConnectorProfileProperties; /** *

- * The connector-specific properties required by Trend Micro. + * The connector-specific properties required by Amazon Redshift. *

*/ - Trendmicro?: TrendmicroConnectorProfileProperties; + Redshift?: RedshiftConnectorProfileProperties; /** *

- * The connector-specific properties required by serviceNow. + * The connector-specific properties required by Salesforce. *

*/ - ServiceNow?: ServiceNowConnectorProfileProperties; + Salesforce?: SalesforceConnectorProfileProperties; /** *

- * The connector-specific properties required by Amplitude. + * The connector-specific properties required by serviceNow. *

*/ - Amplitude?: AmplitudeConnectorProfileProperties; + ServiceNow?: ServiceNowConnectorProfileProperties; /** *

- * The connector-specific properties required Google Analytics. + * The connector-specific properties required by Singular. *

*/ - GoogleAnalytics?: GoogleAnalyticsConnectorProfileProperties; + Singular?: SingularConnectorProfileProperties; /** *

- * The connector-specific properties required by Infor Nexus. + * The connector-specific properties required by Slack. *

*/ - InforNexus?: InforNexusConnectorProfileProperties; + Slack?: SlackConnectorProfileProperties; /** *

- * The connector-specific properties required by Zendesk. + * The connector-specific properties required by Snowflake. *

*/ - Zendesk?: ZendeskConnectorProfileProperties; + Snowflake?: SnowflakeConnectorProfileProperties; /** *

- * The connector-specific properties required by Singular. + * The connector-specific properties required by Trend Micro. *

*/ - Singular?: SingularConnectorProfileProperties; + Trendmicro?: TrendmicroConnectorProfileProperties; /** *

- * The connector-specific properties required by Dynatrace. + * The connector-specific properties required by Veeva. *

*/ - Dynatrace?: DynatraceConnectorProfileProperties; + Veeva?: VeevaConnectorProfileProperties; /** *

- * The connector-specific properties required by Salesforce. + * The connector-specific properties required by Zendesk. *

*/ - Salesforce?: SalesforceConnectorProfileProperties; + Zendesk?: ZendeskConnectorProfileProperties; } export namespace ConnectorProfileProperties { @@ -1710,17 +1731,17 @@ export namespace ConnectorProfileProperties { export interface ConnectorProfile { /** *

- * The connector-specific properties of the profile configuration. + * The Amazon Resource Name (ARN) of the connector profile. *

*/ - connectorProfileProperties?: ConnectorProfileProperties; + connectorProfileArn?: string; /** *

- * The Amazon Resource Name (ARN) of the connector profile. + * The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. *

*/ - connectorProfileArn?: string; + connectorProfileName?: string; /** *

@@ -1731,24 +1752,24 @@ export interface ConnectorProfile { /** *

- * The Amazon Resource Name (ARN) of the connector profile credentials. + * Indicates the connection mode and if it is public or private. *

*/ - credentialsArn?: string; + connectionMode?: ConnectionMode | string; /** *

- * The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. + * The Amazon Resource Name (ARN) of the connector profile credentials. *

*/ - connectorProfileName?: string; + credentialsArn?: string; /** *

- * Indicates the connection mode and if it is public or private. + * The connector-specific properties of the profile configuration. *

*/ - connectionMode?: ConnectionMode | string; + connectorProfileProperties?: ConnectorProfileProperties; /** *

@@ -1833,38 +1854,38 @@ export interface GoogleAnalyticsConnectorProfileCredentials { /** *

- * The credentials used to access protected Google Analytics resources. + * The client secret used by the OAuth client to authenticate to the authorization server. *

*/ - accessToken?: string; + clientSecret: string | undefined; /** *

- * The OAuth requirement needed to request security tokens from the connector endpoint. + * The credentials used to access protected Google Analytics resources. *

*/ - oAuthRequest?: ConnectorOAuthRequest; + accessToken?: string; /** *

- * The client secret used by the OAuth client to authenticate to the authorization server. + * The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens. *

*/ - clientSecret: string | undefined; + refreshToken?: string; /** *

- * The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens. + * The OAuth requirement needed to request security tokens from the connector endpoint. *

*/ - refreshToken?: string; + oAuthRequest?: ConnectorOAuthRequest; } export namespace GoogleAnalyticsConnectorProfileCredentials { export const filterSensitiveLog = (obj: GoogleAnalyticsConnectorProfileCredentials): any => ({ ...obj, - ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), }); } @@ -1876,31 +1897,31 @@ export namespace GoogleAnalyticsConnectorProfileCredentials { export interface InforNexusConnectorProfileCredentials { /** *

- * The identifier for the user. + * The Access Key portion of the credentials. *

*/ - userId: string | undefined; + accessKeyId: string | undefined; /** *

- * The Access Key portion of the credentials. + * The identifier for the user. *

*/ - accessKeyId: string | undefined; + userId: string | undefined; /** *

- * The encryption keys used to encrypt data. + * The secret key used to sign requests. *

*/ - datakey: string | undefined; + secretAccessKey: string | undefined; /** *

- * The secret key used to sign requests. + * The encryption keys used to encrypt data. *

*/ - secretAccessKey: string | undefined; + datakey: string | undefined; } export namespace InforNexusConnectorProfileCredentials { @@ -1918,24 +1939,24 @@ export namespace InforNexusConnectorProfileCredentials { export interface MarketoConnectorProfileCredentials { /** *

- * The client secret used by the OAuth client to authenticate to the authorization server. + * The identifier for the desired client. *

*/ - clientSecret: string | undefined; + clientId: string | undefined; /** *

- * The credentials used to access protected Marketo resources. + * The client secret used by the OAuth client to authenticate to the authorization server. *

*/ - accessToken?: string; + clientSecret: string | undefined; /** *

- * The identifier for the desired client. + * The credentials used to access protected Marketo resources. *

*/ - clientId: string | undefined; + accessToken?: string; /** *

@@ -1989,38 +2010,38 @@ export namespace RedshiftConnectorProfileCredentials { export interface SalesforceConnectorProfileCredentials { /** *

- * The credentials used to acquire new access tokens. + * The credentials used to access protected Salesforce resources. *

*/ - refreshToken?: string; + accessToken?: string; /** *

- * The secret manager ARN, which contains the client ID and client secret of the connected app. - *

+ * The credentials used to acquire new access tokens. + *

*/ - clientCredentialsArn?: string; + refreshToken?: string; /** *

- * The credentials used to access protected Salesforce resources. + * The OAuth requirement needed to request security tokens from the connector endpoint. *

*/ - accessToken?: string; + oAuthRequest?: ConnectorOAuthRequest; /** *

- * The OAuth requirement needed to request security tokens from the connector endpoint. - *

+ * The secret manager ARN, which contains the client ID and client secret of the connected app. + *

*/ - oAuthRequest?: ConnectorOAuthRequest; + clientCredentialsArn?: string; } export namespace SalesforceConnectorProfileCredentials { export const filterSensitiveLog = (obj: SalesforceConnectorProfileCredentials): any => ({ ...obj, - ...(obj.clientCredentialsArn && { clientCredentialsArn: SENSITIVE_STRING }), ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + ...(obj.clientCredentialsArn && { clientCredentialsArn: SENSITIVE_STRING }), }); } @@ -2086,17 +2107,17 @@ export interface SlackConnectorProfileCredentials { /** *

- * The credentials used to access protected Slack resources. + * The client secret used by the OAuth client to authenticate to the authorization server. *

*/ - accessToken?: string; + clientSecret: string | undefined; /** *

- * The client secret used by the OAuth client to authenticate to the authorization server. + * The credentials used to access protected Slack resources. *

*/ - clientSecret: string | undefined; + accessToken?: string; /** *

@@ -2109,8 +2130,8 @@ export interface SlackConnectorProfileCredentials { export namespace SlackConnectorProfileCredentials { export const filterSensitiveLog = (obj: SlackConnectorProfileCredentials): any => ({ ...obj, - ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), }); } @@ -2122,17 +2143,17 @@ export namespace SlackConnectorProfileCredentials { export interface SnowflakeConnectorProfileCredentials { /** *

- * The password that corresponds to the user name. + * The name of the user. *

*/ - password: string | undefined; + username: string | undefined; /** *

- * The name of the user. + * The password that corresponds to the user name. *

*/ - username: string | undefined; + password: string | undefined; } export namespace SnowflakeConnectorProfileCredentials { @@ -2240,20 +2261,6 @@ export namespace ZendeskConnectorProfileCredentials { *

*/ export interface ConnectorProfileCredentials { - /** - *

- * The connector-specific credentials required when using ServiceNow. - *

- */ - ServiceNow?: ServiceNowConnectorProfileCredentials; - - /** - *

- * The connector-specific credentials required when using Salesforce. - *

- */ - Salesforce?: SalesforceConnectorProfileCredentials; - /** *

* The connector-specific credentials required when using Amplitude. @@ -2263,10 +2270,10 @@ export interface ConnectorProfileCredentials { /** *

- * The connector-specific credentials required when using Trend Micro. + * The connector-specific credentials required when using Datadog. *

*/ - Trendmicro?: TrendmicroConnectorProfileCredentials; + Datadog?: DatadogConnectorProfileCredentials; /** *

@@ -2275,13 +2282,6 @@ export interface ConnectorProfileCredentials { */ Dynatrace?: DynatraceConnectorProfileCredentials; - /** - *

- * The connector-specific credentials required when using Zendesk. - *

- */ - Zendesk?: ZendeskConnectorProfileCredentials; - /** *

* The connector-specific credentials required when using Google Analytics. @@ -2291,17 +2291,17 @@ export interface ConnectorProfileCredentials { /** *

- * The connector-specific credentials required when using Singular. + * The connector-specific credentials required when using Infor Nexus. *

*/ - Singular?: SingularConnectorProfileCredentials; + InforNexus?: InforNexusConnectorProfileCredentials; /** *

- * The connector-specific credentials required when using Snowflake. + * The connector-specific credentials required when using Marketo. *

*/ - Snowflake?: SnowflakeConnectorProfileCredentials; + Marketo?: MarketoConnectorProfileCredentials; /** *

@@ -2312,31 +2312,45 @@ export interface ConnectorProfileCredentials { /** *

- * The connector-specific credentials required when using Infor Nexus. + * The connector-specific credentials required when using Salesforce. *

*/ - InforNexus?: InforNexusConnectorProfileCredentials; + Salesforce?: SalesforceConnectorProfileCredentials; /** *

- * The connector-specific credentials required when using Slack. + * The connector-specific credentials required when using ServiceNow. *

*/ - Slack?: SlackConnectorProfileCredentials; + ServiceNow?: ServiceNowConnectorProfileCredentials; /** *

- * The connector-specific credentials required when using Marketo. + * The connector-specific credentials required when using Singular. *

*/ - Marketo?: MarketoConnectorProfileCredentials; + Singular?: SingularConnectorProfileCredentials; /** *

- * The connector-specific credentials required when using Datadog. + * The connector-specific credentials required when using Slack. *

*/ - Datadog?: DatadogConnectorProfileCredentials; + Slack?: SlackConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Snowflake. + *

+ */ + Snowflake?: SnowflakeConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Trend Micro. + *

+ */ + Trendmicro?: TrendmicroConnectorProfileCredentials; /** *

@@ -2344,25 +2358,32 @@ export interface ConnectorProfileCredentials { *

*/ Veeva?: VeevaConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Zendesk. + *

+ */ + Zendesk?: ZendeskConnectorProfileCredentials; } export namespace ConnectorProfileCredentials { export const filterSensitiveLog = (obj: ConnectorProfileCredentials): any => ({ ...obj, - ...(obj.ServiceNow && { ServiceNow: ServiceNowConnectorProfileCredentials.filterSensitiveLog(obj.ServiceNow) }), - ...(obj.Salesforce && { Salesforce: SalesforceConnectorProfileCredentials.filterSensitiveLog(obj.Salesforce) }), ...(obj.Amplitude && { Amplitude: AmplitudeConnectorProfileCredentials.filterSensitiveLog(obj.Amplitude) }), - ...(obj.Trendmicro && { Trendmicro: TrendmicroConnectorProfileCredentials.filterSensitiveLog(obj.Trendmicro) }), - ...(obj.Zendesk && { Zendesk: ZendeskConnectorProfileCredentials.filterSensitiveLog(obj.Zendesk) }), ...(obj.GoogleAnalytics && { GoogleAnalytics: GoogleAnalyticsConnectorProfileCredentials.filterSensitiveLog(obj.GoogleAnalytics), }), - ...(obj.Snowflake && { Snowflake: SnowflakeConnectorProfileCredentials.filterSensitiveLog(obj.Snowflake) }), - ...(obj.Redshift && { Redshift: RedshiftConnectorProfileCredentials.filterSensitiveLog(obj.Redshift) }), ...(obj.InforNexus && { InforNexus: InforNexusConnectorProfileCredentials.filterSensitiveLog(obj.InforNexus) }), - ...(obj.Slack && { Slack: SlackConnectorProfileCredentials.filterSensitiveLog(obj.Slack) }), ...(obj.Marketo && { Marketo: MarketoConnectorProfileCredentials.filterSensitiveLog(obj.Marketo) }), + ...(obj.Redshift && { Redshift: RedshiftConnectorProfileCredentials.filterSensitiveLog(obj.Redshift) }), + ...(obj.Salesforce && { Salesforce: SalesforceConnectorProfileCredentials.filterSensitiveLog(obj.Salesforce) }), + ...(obj.ServiceNow && { ServiceNow: ServiceNowConnectorProfileCredentials.filterSensitiveLog(obj.ServiceNow) }), + ...(obj.Slack && { Slack: SlackConnectorProfileCredentials.filterSensitiveLog(obj.Slack) }), + ...(obj.Snowflake && { Snowflake: SnowflakeConnectorProfileCredentials.filterSensitiveLog(obj.Snowflake) }), + ...(obj.Trendmicro && { Trendmicro: TrendmicroConnectorProfileCredentials.filterSensitiveLog(obj.Trendmicro) }), ...(obj.Veeva && { Veeva: VeevaConnectorProfileCredentials.filterSensitiveLog(obj.Veeva) }), + ...(obj.Zendesk && { Zendesk: ZendeskConnectorProfileCredentials.filterSensitiveLog(obj.Zendesk) }), }); } @@ -2423,31 +2444,31 @@ export interface CreateConnectorProfileRequest { /** *

- * The type of connector, such as Salesforce, Amplitude, and so on. + * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. *

*/ - connectorType: ConnectorType | string | undefined; + kmsArn?: string; /** *

- * Defines the connector-specific configuration and credentials. + * The type of connector, such as Salesforce, Amplitude, and so on. *

*/ - connectorProfileConfig: ConnectorProfileConfig | undefined; + connectorType: ConnectorType | string | undefined; /** *

- * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + * Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. *

*/ - kmsArn?: string; + connectionMode: ConnectionMode | string | undefined; /** *

- * Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. + * Defines the connector-specific configuration and credentials. *

*/ - connectionMode: ConnectionMode | string | undefined; + connectorProfileConfig: ConnectorProfileConfig | undefined; } export namespace CreateConnectorProfileRequest { @@ -2565,18 +2586,18 @@ export namespace ErrorHandlingConfig { export interface EventBridgeDestinationProperties { /** *

- * The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. - * - *

+ * The object specified in the Amazon EventBridge flow destination. + *

*/ - errorHandlingConfig?: ErrorHandlingConfig; + object: string | undefined; /** *

- * The object specified in the Amazon EventBridge flow destination. - *

+ * The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + * + *

*/ - object: string | undefined; + errorHandlingConfig?: ErrorHandlingConfig; } export namespace EventBridgeDestinationProperties { @@ -2593,31 +2614,31 @@ export namespace EventBridgeDestinationProperties { export interface RedshiftDestinationProperties { /** *

- * The object key for the bucket in which Amazon AppFlow places the destination files. + * The object specified in the Amazon Redshift flow destination. *

*/ - bucketPrefix?: string; + object: string | undefined; /** *

- * The object specified in the Amazon Redshift flow destination. + * The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift. *

*/ - object: string | undefined; + intermediateBucketName: string | undefined; /** *

- * The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + * The object key for the bucket in which Amazon AppFlow places the destination files. *

*/ - errorHandlingConfig?: ErrorHandlingConfig; + bucketPrefix?: string; /** *

- * The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift. + * The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. *

*/ - intermediateBucketName: string | undefined; + errorHandlingConfig?: ErrorHandlingConfig; } export namespace RedshiftDestinationProperties { @@ -2679,6 +2700,13 @@ export namespace PrefixConfig { *

*/ export interface S3OutputFormatConfig { + /** + *

+ * Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket. + *

+ */ + fileType?: FileType | string; + /** *

* Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. @@ -2692,13 +2720,6 @@ export interface S3OutputFormatConfig { *

*/ aggregationConfig?: AggregationConfig; - - /** - *

- * Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket. - *

- */ - fileType?: FileType | string; } export namespace S3OutputFormatConfig { @@ -2715,17 +2736,17 @@ export namespace S3OutputFormatConfig { export interface S3DestinationProperties { /** *

- * The object key for the destination bucket in which Amazon AppFlow places the files. + * The Amazon S3 bucket name in which Amazon AppFlow places the transferred data. *

*/ - bucketPrefix?: string; + bucketName: string | undefined; /** *

- * The Amazon S3 bucket name in which Amazon AppFlow places the transferred data. + * The object key for the destination bucket in which Amazon AppFlow places the files. *

*/ - bucketName: string | undefined; + bucketPrefix?: string; /** *

@@ -2749,10 +2770,10 @@ export namespace S3DestinationProperties { export interface SalesforceDestinationProperties { /** *

- * The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + * The object specified in the Salesforce flow destination. *

*/ - errorHandlingConfig?: ErrorHandlingConfig; + object: string | undefined; /** *

@@ -2763,10 +2784,10 @@ export interface SalesforceDestinationProperties { /** *

- * The object specified in the Salesforce flow destination. + * The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. *

*/ - object: string | undefined; + errorHandlingConfig?: ErrorHandlingConfig; /** *

@@ -2790,31 +2811,31 @@ export namespace SalesforceDestinationProperties { export interface SnowflakeDestinationProperties { /** *

- * The object key for the destination bucket in which Amazon AppFlow places the files. + * The object specified in the Snowflake flow destination. *

*/ - bucketPrefix?: string; + object: string | undefined; /** *

- * The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + * The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake. *

*/ - errorHandlingConfig?: ErrorHandlingConfig; + intermediateBucketName: string | undefined; /** *

- * The object specified in the Snowflake flow destination. + * The object key for the destination bucket in which Amazon AppFlow places the files. *

*/ - object: string | undefined; + bucketPrefix?: string; /** *

- * The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake. + * The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. *

*/ - intermediateBucketName: string | undefined; + errorHandlingConfig?: ErrorHandlingConfig; } export namespace SnowflakeDestinationProperties { @@ -2825,24 +2846,78 @@ export namespace SnowflakeDestinationProperties { /** *

- * This stores the information that is required to query a particular connector. - *

+ * The configuration that determines how Amazon AppFlow formats the flow output data when Upsolver is used as the destination. + *

*/ -export interface DestinationConnectorProperties { +export interface UpsolverS3OutputFormatConfig { /** *

- * The properties required to query Amazon EventBridge. + * Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket. *

*/ - EventBridge?: EventBridgeDestinationProperties; + fileType?: FileType | string; /** *

- * The properties required to query Snowflake. + * Determines the prefix that Amazon AppFlow applies to the destination folder name. You can name your destination folders according to the flow frequency and date. + *

+ */ + prefixConfig: PrefixConfig | undefined; + + /** + *

+ * The aggregation settings that you can use to customize the output format of your flow data. *

*/ - Snowflake?: SnowflakeDestinationProperties; + aggregationConfig?: AggregationConfig; +} + +export namespace UpsolverS3OutputFormatConfig { + export const filterSensitiveLog = (obj: UpsolverS3OutputFormatConfig): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Upsolver is used as a destination. + *

+ */ +export interface UpsolverDestinationProperties { + /** + *

+ * The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data. + *

+ */ + bucketName: string | undefined; + + /** + *

+ * The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files. + *

+ */ + bucketPrefix?: string; + + /** + *

+ * The configuration that determines how data is formatted when Upsolver is used as the flow destination. + *

+ */ + s3OutputFormatConfig: UpsolverS3OutputFormatConfig | undefined; +} +export namespace UpsolverDestinationProperties { + export const filterSensitiveLog = (obj: UpsolverDestinationProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * This stores the information that is required to query a particular connector. + *

+ */ +export interface DestinationConnectorProperties { /** *

* The properties required to query Amazon Redshift. @@ -2850,6 +2925,13 @@ export interface DestinationConnectorProperties { */ Redshift?: RedshiftDestinationProperties; + /** + *

+ * The properties required to query Amazon S3. + *

+ */ + S3?: S3DestinationProperties; + /** *

* The properties required to query Salesforce. @@ -2859,10 +2941,24 @@ export interface DestinationConnectorProperties { /** *

- * The properties required to query Amazon S3. + * The properties required to query Snowflake. *

*/ - S3?: S3DestinationProperties; + Snowflake?: SnowflakeDestinationProperties; + + /** + *

+ * The properties required to query Amazon EventBridge. + *

+ */ + EventBridge?: EventBridgeDestinationProperties; + + /** + *

+ * The properties required to query Upsolver. + *

+ */ + Upsolver?: UpsolverDestinationProperties; } export namespace DestinationConnectorProperties { @@ -2879,10 +2975,10 @@ export namespace DestinationConnectorProperties { export interface DestinationFlowConfig { /** *

- * This stores the information that is required to query a particular connector. + * The type of connector, such as Salesforce, Amplitude, and so on. *

*/ - destinationConnectorProperties: DestinationConnectorProperties | undefined; + connectorType: ConnectorType | string | undefined; /** *

@@ -2893,10 +2989,10 @@ export interface DestinationFlowConfig { /** *

- * The type of connector, such as Salesforce, Amplitude, and so on. + * This stores the information that is required to query a particular connector. *

*/ - connectorType: ConnectorType | string | undefined; + destinationConnectorProperties: DestinationConnectorProperties | undefined; } export namespace DestinationFlowConfig { @@ -3067,17 +3163,17 @@ export interface SalesforceSourceProperties { /** *

- * Indicates whether Amazon AppFlow includes deleted files in the flow run. - *

+ * The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow. + *

*/ - includeDeletedRecords?: boolean; + enableDynamicFieldUpdate?: boolean; /** *

- * The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow. - *

+ * Indicates whether Amazon AppFlow includes deleted files in the flow run. + *

*/ - enableDynamicFieldUpdate?: boolean; + includeDeletedRecords?: boolean; } export namespace SalesforceSourceProperties { @@ -3214,101 +3310,101 @@ export namespace ZendeskSourceProperties { export interface SourceConnectorProperties { /** *

- * Specifies the information that is required for querying Amazon S3. + * Specifies the information that is required for querying Amplitude. *

*/ - S3?: S3SourceProperties; + Amplitude?: AmplitudeSourceProperties; /** *

- * Specifies the information that is required for querying Amplitude. + * Specifies the information that is required for querying Datadog. *

*/ - Amplitude?: AmplitudeSourceProperties; + Datadog?: DatadogSourceProperties; /** *

- * Specifies the information that is required for querying ServiceNow. + * Specifies the information that is required for querying Dynatrace. *

*/ - ServiceNow?: ServiceNowSourceProperties; + Dynatrace?: DynatraceSourceProperties; /** *

- * Specifies the information that is required for querying Zendesk. + * Specifies the information that is required for querying Google Analytics. *

*/ - Zendesk?: ZendeskSourceProperties; + GoogleAnalytics?: GoogleAnalyticsSourceProperties; /** *

- * Specifies the information that is required for querying Veeva. + * Specifies the information that is required for querying Infor Nexus. *

*/ - Veeva?: VeevaSourceProperties; + InforNexus?: InforNexusSourceProperties; /** *

- * Specifies the information that is required for querying Dynatrace. + * Specifies the information that is required for querying Marketo. *

*/ - Dynatrace?: DynatraceSourceProperties; + Marketo?: MarketoSourceProperties; /** *

- * Specifies the information that is required for querying Trend Micro. + * Specifies the information that is required for querying Amazon S3. *

*/ - Trendmicro?: TrendmicroSourceProperties; + S3?: S3SourceProperties; /** *

- * Specifies the information that is required for querying Infor Nexus. + * Specifies the information that is required for querying Salesforce. *

*/ - InforNexus?: InforNexusSourceProperties; + Salesforce?: SalesforceSourceProperties; /** *

- * Specifies the information that is required for querying Marketo. + * Specifies the information that is required for querying ServiceNow. *

*/ - Marketo?: MarketoSourceProperties; + ServiceNow?: ServiceNowSourceProperties; /** *

- * Specifies the information that is required for querying Datadog. + * Specifies the information that is required for querying Singular. *

*/ - Datadog?: DatadogSourceProperties; + Singular?: SingularSourceProperties; /** *

- * Specifies the information that is required for querying Salesforce. + * Specifies the information that is required for querying Slack. *

*/ - Salesforce?: SalesforceSourceProperties; + Slack?: SlackSourceProperties; /** *

- * Specifies the information that is required for querying Singular. + * Specifies the information that is required for querying Trend Micro. *

*/ - Singular?: SingularSourceProperties; + Trendmicro?: TrendmicroSourceProperties; /** *

- * Specifies the information that is required for querying Slack. + * Specifies the information that is required for querying Veeva. *

*/ - Slack?: SlackSourceProperties; + Veeva?: VeevaSourceProperties; /** *

- * Specifies the information that is required for querying Google Analytics. + * Specifies the information that is required for querying Zendesk. *

*/ - GoogleAnalytics?: GoogleAnalyticsSourceProperties; + Zendesk?: ZendeskSourceProperties; } export namespace SourceConnectorProperties { @@ -3339,17 +3435,17 @@ export interface SourceFlowConfig { /** *

- * Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull. - *

+ * Specifies the information that is required to query a particular source connector. + *

*/ - incrementalPullConfig?: IncrementalPullConfig; + sourceConnectorProperties: SourceConnectorProperties | undefined; /** *

- * Specifies the information that is required to query a particular source connector. - *

+ * Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull. + *

*/ - sourceConnectorProperties: SourceConnectorProperties | undefined; + incrementalPullConfig?: IncrementalPullConfig; } export namespace SourceFlowConfig { @@ -3393,17 +3489,17 @@ export enum TaskType { export interface Task { /** *

- * Specifies the particular task implementation that Amazon AppFlow performs. + * The source fields to which a particular task is applied. *

*/ - taskType: TaskType | string | undefined; + sourceFields: string[] | undefined; /** *

- * The source fields to which a particular task is applied. + * The operation to be performed on the provided source fields. *

*/ - sourceFields: string[] | undefined; + connectorOperator?: ConnectorOperator; /** *

@@ -3414,10 +3510,10 @@ export interface Task { /** *

- * The operation to be performed on the provided source fields. + * Specifies the particular task implementation that Amazon AppFlow performs. *

*/ - connectorOperator?: ConnectorOperator; + taskType: TaskType | string | undefined; /** *

@@ -3446,14 +3542,7 @@ export enum DataPullMode { export interface ScheduledTriggerProperties { /** *

- * Specifies the time zone used when referring to the date and time of a scheduled-triggered flow. - *

- */ - timezone?: string; - - /** - *

- * The scheduling expression that determines when and how often the rule runs. + * The scheduling expression that determines the rate at which the schedule will run, for example rate(5minutes). *

*/ scheduleExpression: string | undefined; @@ -3478,6 +3567,13 @@ export interface ScheduledTriggerProperties { *

*/ scheduleEndTime?: Date; + + /** + *

+ * Specifies the time zone used when referring to the date and time of a scheduled-triggered flow. + *

+ */ + timezone?: string; } export namespace ScheduledTriggerProperties { @@ -3516,17 +3612,17 @@ export namespace TriggerProperties { export interface TriggerConfig { /** *

- * Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type. + * Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. *

*/ - triggerProperties?: TriggerProperties; + triggerType: TriggerType | string | undefined; /** *

- * Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. + * Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type. *

*/ - triggerType: TriggerType | string | undefined; + triggerProperties?: TriggerProperties; } export namespace TriggerConfig { @@ -3538,24 +3634,24 @@ export namespace TriggerConfig { export interface CreateFlowRequest { /** *

- * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. *

*/ - kmsArn?: string; + flowName: string | undefined; /** *

- * The configuration that controls how Amazon AppFlow places data in the destination connector. + * A description of the flow you want to create. *

*/ - destinationFlowConfigList: DestinationFlowConfig[] | undefined; + description?: string; /** *

- * The configuration that controls how Amazon AppFlow retrieves data from the source connector. + * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. *

*/ - sourceFlowConfig: SourceFlowConfig | undefined; + kmsArn?: string; /** *

@@ -3566,31 +3662,31 @@ export interface CreateFlowRequest { /** *

- * A description of the flow you want to create. + * The configuration that controls how Amazon AppFlow retrieves data from the source connector. *

*/ - description?: string; + sourceFlowConfig: SourceFlowConfig | undefined; /** *

- * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + * The configuration that controls how Amazon AppFlow places data in the destination connector. *

*/ - flowName: string | undefined; + destinationFlowConfigList: DestinationFlowConfig[] | undefined; /** *

- * The tags used to organize, track, or control access for your flow. + * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. *

*/ - tags?: { [key: string]: string }; + tasks: Task[] | undefined; /** *

- * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + * The tags used to organize, track, or control access for your flow. *

*/ - tasks: Task[] | undefined; + tags?: { [key: string]: string }; } export namespace CreateFlowRequest { @@ -3611,17 +3707,17 @@ export enum FlowStatus { export interface CreateFlowResponse { /** *

- * Indicates the current status of the flow. - *

+ * The flow's Amazon Resource Name (ARN). + *

*/ - flowStatus?: FlowStatus | string; + flowArn?: string; /** *

- * The flow's Amazon Resource Name (ARN). - *

+ * Indicates the current status of the flow. + *

*/ - flowArn?: string; + flowStatus?: FlowStatus | string; } export namespace CreateFlowResponse { @@ -3650,17 +3746,17 @@ export namespace ResourceNotFoundException { export interface DeleteConnectorProfileRequest { /** *

- * Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows. + * The name of the connector profile. The name is unique for each ConnectorProfile in your account. *

*/ - forceDelete?: boolean; + connectorProfileName: string | undefined; /** *

- * The name of the connector profile. The name is unique for each ConnectorProfile in your account. + * Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows. *

*/ - connectorProfileName: string | undefined; + forceDelete?: boolean; } export namespace DeleteConnectorProfileRequest { @@ -3752,13 +3848,6 @@ export namespace DescribeConnectorEntityResponse { } export interface DescribeConnectorProfilesRequest { - /** - *

- * The pagination token for the next page of data. - *

- */ - nextToken?: string; - /** *

* The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. @@ -3779,6 +3868,13 @@ export interface DescribeConnectorProfilesRequest { *

*/ maxResults?: number; + + /** + *

+ * The pagination token for the next page of data. + *

+ */ + nextToken?: string; } export namespace DescribeConnectorProfilesRequest { @@ -3812,17 +3908,17 @@ export namespace DescribeConnectorProfilesResponse { export interface DescribeConnectorsRequest { /** *

- * The pagination token for the next page of data. + * The type of connector, such as Salesforce, Amplitude, and so on. *

*/ - nextToken?: string; + connectorTypes?: (ConnectorType | string)[]; /** *

- * The type of connector, such as Salesforce, Amplitude, and so on. + * The pagination token for the next page of data. *

*/ - connectorTypes?: (ConnectorType | string)[]; + nextToken?: string; } export namespace DescribeConnectorsRequest { @@ -3882,24 +3978,24 @@ export enum ExecutionStatus { export interface ExecutionDetails { /** *

- * Specifies the time of the most recent flow run. + * Describes the details of the most recent flow run. *

*/ - mostRecentExecutionTime?: Date; + mostRecentExecutionMessage?: string; /** *

- * Specifies the status of the most recent flow run. + * Specifies the time of the most recent flow run. *

*/ - mostRecentExecutionStatus?: ExecutionStatus | string; + mostRecentExecutionTime?: Date; /** *

- * Describes the details of the most recent flow run. + * Specifies the status of the most recent flow run. *

*/ - mostRecentExecutionMessage?: string; + mostRecentExecutionStatus?: ExecutionStatus | string; } export namespace ExecutionDetails { @@ -3911,24 +4007,24 @@ export namespace ExecutionDetails { export interface DescribeFlowResponse { /** *

- * A description of the flow. + * The flow's Amazon Resource Name (ARN). *

*/ - description?: string; + flowArn?: string; /** *

- * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + * A description of the flow. *

*/ - flowName?: string; + description?: string; /** *

- * Indicates the current status of the flow. - *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

*/ - flowStatus?: FlowStatus | string; + flowName?: string; /** *

@@ -3939,17 +4035,17 @@ export interface DescribeFlowResponse { /** *

- * The configuration that controls how Amazon AppFlow transfers data to the destination connector. - *

+ * Indicates the current status of the flow. + *

*/ - destinationFlowConfigList?: DestinationFlowConfig[]; + flowStatus?: FlowStatus | string; /** *

- * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. - *

+ * Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. + *

*/ - tasks?: Task[]; + flowStatusMessage?: string; /** *

@@ -3960,31 +4056,31 @@ export interface DescribeFlowResponse { /** *

- * Specifies the user name of the account that performed the most recent update. + * The configuration that controls how Amazon AppFlow transfers data to the destination connector. *

*/ - lastUpdatedBy?: string; + destinationFlowConfigList?: DestinationFlowConfig[]; /** *

- * The flow's Amazon Resource Name (ARN). + * Describes the details of the most recent flow run. *

*/ - flowArn?: string; + lastRunExecutionDetails?: ExecutionDetails; /** *

- * The ARN of the user who created the flow. + * The trigger settings that determine how and when the flow runs. *

*/ - createdBy?: string; + triggerConfig?: TriggerConfig; /** *

- * Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. - *

+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *

*/ - flowStatusMessage?: string; + tasks?: Task[]; /** *

@@ -4002,17 +4098,17 @@ export interface DescribeFlowResponse { /** *

- * The trigger settings that determine how and when the flow runs. + * The ARN of the user who created the flow. *

*/ - triggerConfig?: TriggerConfig; + createdBy?: string; /** *

- * Describes the details of the most recent flow run. + * Specifies the user name of the account that performed the most recent update. *

*/ - lastRunExecutionDetails?: ExecutionDetails; + lastUpdatedBy?: string; /** *

@@ -4029,13 +4125,6 @@ export namespace DescribeFlowResponse { } export interface DescribeFlowExecutionRecordsRequest { - /** - *

- * The pagination token for the next page of data. - *

- */ - nextToken?: string; - /** *

* The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. @@ -4049,6 +4138,13 @@ export interface DescribeFlowExecutionRecordsRequest { *

*/ maxResults?: number; + + /** + *

+ * The pagination token for the next page of data. + *

+ */ + nextToken?: string; } export namespace DescribeFlowExecutionRecordsRequest { @@ -4106,17 +4202,17 @@ export interface ExecutionResult { /** *

- * The number of records processed in the flow run. + * The total number of bytes written as a result of the flow run. *

*/ - recordsProcessed?: number; + bytesWritten?: number; /** *

- * The total number of bytes written as a result of the flow run. + * The number of records processed in the flow run. *

*/ - bytesWritten?: number; + recordsProcessed?: number; } export namespace ExecutionResult { @@ -4133,24 +4229,24 @@ export namespace ExecutionResult { export interface ExecutionRecord { /** *

- * Specifies the flow run status and whether it is in progress, has completed successfully, or has failed. + * Specifies the identifier of the given flow run. *

*/ - executionStatus?: ExecutionStatus | string; + executionId?: string; /** *

- * Specifies the identifier of the given flow run. + * Specifies the flow run status and whether it is in progress, has completed successfully, or has failed. *

*/ - executionId?: string; + executionStatus?: ExecutionStatus | string; /** *

- * Specifies the time of the most recent update. + * Describes the result of the given flow run. *

*/ - lastUpdatedAt?: Date; + executionResult?: ExecutionResult; /** *

@@ -4161,10 +4257,10 @@ export interface ExecutionRecord { /** *

- * Describes the result of the given flow run. + * Specifies the time of the most recent update. *

*/ - executionResult?: ExecutionResult; + lastUpdatedAt?: Date; } export namespace ExecutionRecord { @@ -4203,24 +4299,24 @@ export namespace DescribeFlowExecutionRecordsResponse { export interface FlowDefinition { /** *

- * A user-entered description of the flow. + * The flow's Amazon Resource Name (ARN). *

*/ - description?: string; + flowArn?: string; /** *

- * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + * A user-entered description of the flow. *

*/ - flowName?: string; + description?: string; /** *

- * Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. + * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. *

*/ - triggerType?: TriggerType | string; + flowName?: string; /** *

@@ -4231,31 +4327,31 @@ export interface FlowDefinition { /** *

- * Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on. + * Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on. *

*/ - destinationConnectorType?: ConnectorType | string; + sourceConnectorType?: ConnectorType | string; /** *

- * Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on. + * Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on. *

*/ - sourceConnectorType?: ConnectorType | string; + destinationConnectorType?: ConnectorType | string; /** *

- * The tags used to organize, track, or control access for your flow. + * Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. *

*/ - tags?: { [key: string]: string }; + triggerType?: TriggerType | string; /** *

- * Describes the details of the most recent flow run. + * Specifies when the flow was created. *

*/ - lastRunExecutionDetails?: ExecutionDetails; + createdAt?: Date; /** *

@@ -4273,24 +4369,24 @@ export interface FlowDefinition { /** *

- * The flow's Amazon Resource Name (ARN). + * Specifies the account user name that most recently updated the flow. *

*/ - flowArn?: string; + lastUpdatedBy?: string; /** *

- * Specifies the account user name that most recently updated the flow. + * The tags used to organize, track, or control access for your flow. *

*/ - lastUpdatedBy?: string; + tags?: { [key: string]: string }; /** *

- * Specifies when the flow was created. + * Describes the details of the most recent flow run. *

*/ - createdAt?: Date; + lastRunExecutionDetails?: ExecutionDetails; } export namespace FlowDefinition { @@ -4346,17 +4442,17 @@ export namespace ListConnectorEntitiesResponse { export interface ListFlowsRequest { /** *

- * The pagination token for next page of data. - *

+ * Specifies the maximum number of items that should be returned in the result set. + *

*/ - nextToken?: string; + maxResults?: number; /** *

- * Specifies the maximum number of items that should be returned in the result set. - *

+ * The pagination token for next page of data. + *

*/ - maxResults?: number; + nextToken?: string; } export namespace ListFlowsRequest { @@ -4435,10 +4531,10 @@ export namespace StartFlowRequest { export interface StartFlowResponse { /** *

- * Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled or event-triggered flows, this value is null. - *

+ * The flow's Amazon Resource Name (ARN). + *

*/ - executionId?: string; + flowArn?: string; /** *

@@ -4450,10 +4546,10 @@ export interface StartFlowResponse { /** *

- * The flow's Amazon Resource Name (ARN). - *

+ * Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled or event-triggered flows, this value is null. + *

*/ - flowArn?: string; + executionId?: string; } export namespace StartFlowResponse { @@ -4480,17 +4576,17 @@ export namespace StopFlowRequest { export interface StopFlowResponse { /** *

- * Indicates the current status of the flow. + * The flow's Amazon Resource Name (ARN). *

*/ - flowStatus?: FlowStatus | string; + flowArn?: string; /** *

- * The flow's Amazon Resource Name (ARN). + * Indicates the current status of the flow. *

*/ - flowArn?: string; + flowStatus?: FlowStatus | string; } export namespace StopFlowResponse { @@ -4579,24 +4675,24 @@ export namespace UntagResourceResponse { export interface UpdateConnectorProfileRequest { /** *

- * Indicates the connection mode and if it is public or private. + * The name of the connector profile and is unique for each ConnectorProfile in the AWS Account. *

*/ - connectionMode: ConnectionMode | string | undefined; + connectorProfileName: string | undefined; /** *

- * Defines the connector-specific profile configuration and credentials. + * Indicates the connection mode and if it is public or private. *

*/ - connectorProfileConfig: ConnectorProfileConfig | undefined; + connectionMode: ConnectionMode | string | undefined; /** *

- * The name of the connector profile and is unique for each ConnectorProfile in the AWS Account. + * Defines the connector-specific profile configuration and credentials. *

*/ - connectorProfileName: string | undefined; + connectorProfileConfig: ConnectorProfileConfig | undefined; } export namespace UpdateConnectorProfileRequest { @@ -4628,6 +4724,13 @@ export interface UpdateFlowRequest { */ flowName: string | undefined; + /** + *

+ * A description of the flow. + *

+ */ + description?: string; + /** *

* The trigger settings that determine how and when the flow runs. @@ -4655,13 +4758,6 @@ export interface UpdateFlowRequest { *

*/ tasks: Task[] | undefined; - - /** - *

- * A description of the flow. - *

- */ - description?: string; } export namespace UpdateFlowRequest { diff --git a/clients/client-appflow/protocols/Aws_restJson1.ts b/clients/client-appflow/protocols/Aws_restJson1.ts index 3629102fffc0d..126bcac37c05d 100644 --- a/clients/client-appflow/protocols/Aws_restJson1.ts +++ b/clients/client-appflow/protocols/Aws_restJson1.ts @@ -143,6 +143,9 @@ import { TriggerProperties, TriggerType, UnsupportedOperationException, + UpsolverDestinationProperties, + UpsolverMetadata, + UpsolverS3OutputFormatConfig, ValidationException, VeevaConnectorProfileCredentials, VeevaConnectorProfileProperties, @@ -2529,6 +2532,9 @@ const serializeAws_restJson1DestinationConnectorProperties = ( ...(input.Snowflake !== undefined && { Snowflake: serializeAws_restJson1SnowflakeDestinationProperties(input.Snowflake, context), }), + ...(input.Upsolver !== undefined && { + Upsolver: serializeAws_restJson1UpsolverDestinationProperties(input.Upsolver, context), + }), }; }; @@ -3112,6 +3118,34 @@ const serializeAws_restJson1TriggerProperties = (input: TriggerProperties, conte }; }; +const serializeAws_restJson1UpsolverDestinationProperties = ( + input: UpsolverDestinationProperties, + context: __SerdeContext +): any => { + return { + ...(input.bucketName !== undefined && { bucketName: input.bucketName }), + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.s3OutputFormatConfig !== undefined && { + s3OutputFormatConfig: serializeAws_restJson1UpsolverS3OutputFormatConfig(input.s3OutputFormatConfig, context), + }), + }; +}; + +const serializeAws_restJson1UpsolverS3OutputFormatConfig = ( + input: UpsolverS3OutputFormatConfig, + context: __SerdeContext +): any => { + return { + ...(input.aggregationConfig !== undefined && { + aggregationConfig: serializeAws_restJson1AggregationConfig(input.aggregationConfig, context), + }), + ...(input.fileType !== undefined && { fileType: input.fileType }), + ...(input.prefixConfig !== undefined && { + prefixConfig: serializeAws_restJson1PrefixConfig(input.prefixConfig, context), + }), + }; +}; + const serializeAws_restJson1VeevaConnectorProfileCredentials = ( input: VeevaConnectorProfileCredentials, context: __SerdeContext @@ -3364,6 +3398,10 @@ const deserializeAws_restJson1ConnectorMetadata = (output: any, context: __Serde output.Trendmicro !== undefined && output.Trendmicro !== null ? deserializeAws_restJson1TrendmicroMetadata(output.Trendmicro, context) : undefined, + Upsolver: + output.Upsolver !== undefined && output.Upsolver !== null + ? deserializeAws_restJson1UpsolverMetadata(output.Upsolver, context) + : undefined, Veeva: output.Veeva !== undefined && output.Veeva !== null ? deserializeAws_restJson1VeevaMetadata(output.Veeva, context) @@ -3555,6 +3593,10 @@ const deserializeAws_restJson1DestinationConnectorProperties = ( output.Snowflake !== undefined && output.Snowflake !== null ? deserializeAws_restJson1SnowflakeDestinationProperties(output.Snowflake, context) : undefined, + Upsolver: + output.Upsolver !== undefined && output.Upsolver !== null + ? deserializeAws_restJson1UpsolverDestinationProperties(output.Upsolver, context) + : undefined, } as any; }; @@ -4347,6 +4389,41 @@ const deserializeAws_restJson1TriggerTypeList = (output: any, context: __SerdeCo return (output || []).map((entry: any) => entry); }; +const deserializeAws_restJson1UpsolverDestinationProperties = ( + output: any, + context: __SerdeContext +): UpsolverDestinationProperties => { + return { + bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + s3OutputFormatConfig: + output.s3OutputFormatConfig !== undefined && output.s3OutputFormatConfig !== null + ? deserializeAws_restJson1UpsolverS3OutputFormatConfig(output.s3OutputFormatConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1UpsolverMetadata = (output: any, context: __SerdeContext): UpsolverMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1UpsolverS3OutputFormatConfig = ( + output: any, + context: __SerdeContext +): UpsolverS3OutputFormatConfig => { + return { + aggregationConfig: + output.aggregationConfig !== undefined && output.aggregationConfig !== null + ? deserializeAws_restJson1AggregationConfig(output.aggregationConfig, context) + : undefined, + fileType: output.fileType !== undefined && output.fileType !== null ? output.fileType : undefined, + prefixConfig: + output.prefixConfig !== undefined && output.prefixConfig !== null + ? deserializeAws_restJson1PrefixConfig(output.prefixConfig, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1VeevaConnectorProfileProperties = ( output: any, context: __SerdeContext diff --git a/clients/client-application-insights/ApplicationInsights.ts b/clients/client-application-insights/ApplicationInsights.ts index 9c09a3b7c9f7b..b04ef11639a8f 100644 --- a/clients/client-application-insights/ApplicationInsights.ts +++ b/clients/client-application-insights/ApplicationInsights.ts @@ -133,14 +133,14 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - * Amazon CloudWatch Application Insights for .NET and SQL Server - *

Amazon CloudWatch Application Insights for .NET and SQL Server is a service that - * helps you detect common problems with your .NET and SQL Server-based applications. It + * Amazon CloudWatch Application Insights + *

Amazon CloudWatch Application Insights is a service that + * helps you detect common problems with your applications. It * enables you to pinpoint the source of issues in your applications (built with technologies * such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into * detected problems.

- *

After you onboard your application, CloudWatch Application Insights for .NET and SQL - * Server identifies, recommends, and sets up metrics and logs. It continuously analyzes and + *

After you onboard your application, CloudWatch Application Insights identifies, + * recommends, and sets up metrics and logs. It continuously analyzes and * correlates your metrics and logs for unusual behavior to surface actionable problems with * your application. For example, if your application is slow and unresponsive and leading to * HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you diff --git a/clients/client-application-insights/ApplicationInsightsClient.ts b/clients/client-application-insights/ApplicationInsightsClient.ts index 0c159be485dd9..4cbde13df17e5 100644 --- a/clients/client-application-insights/ApplicationInsightsClient.ts +++ b/clients/client-application-insights/ApplicationInsightsClient.ts @@ -269,14 +269,14 @@ export type ApplicationInsightsClientResolvedConfig = __SmithyResolvedConfigurat HostHeaderResolvedConfig; /** - * Amazon CloudWatch Application Insights for .NET and SQL Server - *

Amazon CloudWatch Application Insights for .NET and SQL Server is a service that - * helps you detect common problems with your .NET and SQL Server-based applications. It + * Amazon CloudWatch Application Insights + *

Amazon CloudWatch Application Insights is a service that + * helps you detect common problems with your applications. It * enables you to pinpoint the source of issues in your applications (built with technologies * such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into * detected problems.

- *

After you onboard your application, CloudWatch Application Insights for .NET and SQL - * Server identifies, recommends, and sets up metrics and logs. It continuously analyzes and + *

After you onboard your application, CloudWatch Application Insights identifies, + * recommends, and sets up metrics and logs. It continuously analyzes and * correlates your metrics and logs for unusual behavior to surface actionable problems with * your application. For example, if your application is slow and unresponsive and leading to * HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you diff --git a/clients/client-application-insights/models/models_0.ts b/clients/client-application-insights/models/models_0.ts index 98d658a9c95fd..186c453e3c3fc 100644 --- a/clients/client-application-insights/models/models_0.ts +++ b/clients/client-application-insights/models/models_0.ts @@ -1,7 +1,38 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; -export type Tier = "DEFAULT" | "DOT_NET_CORE" | "DOT_NET_WEB" | "DOT_NET_WORKER" | "SQL_SERVER"; +/** + *

+ * User does not have permissions to perform this action. + *

+ */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message?: string; +} + +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +export type Tier = + | "CUSTOM" + | "DEFAULT" + | "DOT_NET_CORE" + | "DOT_NET_WEB" + | "DOT_NET_WEB_TIER" + | "DOT_NET_WORKER" + | "JAVA_JMX" + | "MYSQL" + | "ORACLE" + | "POSTGRESQL" + | "SQL_SERVER" + | "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP"; + +export type OsType = "LINUX" | "WINDOWS"; /** *

Describes a standalone resource or similarly grouped resources that the application is made @@ -14,19 +45,40 @@ export interface ApplicationComponent { ComponentName?: string; /** - *

The stack tier of the application component.

+ *

+ * If logging is supported for the resource type, indicates whether the component has configured logs to be monitored. + *

*/ - Tier?: Tier | string; + ComponentRemarks?: string; /** *

The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.

*/ ResourceType?: string; + /** + *

+ * The operating system of the component. + *

+ */ + OsType?: OsType | string; + + /** + *

The stack tier of the application component.

+ */ + Tier?: Tier | string; + /** *

Indicates whether the application component is monitored.

*/ Monitor?: boolean; + + /** + *

+ * Workloads detected in the application component. + *

+ */ + DetectedWorkload?: { [key: string]: { [key: string]: string } }; } export namespace ApplicationComponent { @@ -44,6 +96,19 @@ export interface ApplicationInfo { */ ResourceGroupName?: string; + /** + *

The lifecycle of the application.

+ */ + LifeCycle?: string; + + /** + *

+ * The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications + * for opsItem updates. + *

+ */ + OpsItemSNSTopicArn?: string; + /** *

* Indicates whether Application Insights will create opsItems for any problem detected by Application @@ -52,6 +117,13 @@ export interface ApplicationInfo { */ OpsCenterEnabled?: boolean; + /** + *

+ * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. + *

+ */ + CWEMonitorEnabled?: boolean; + /** *

The issues on the user side that block Application Insights from successfully monitoring * an application. Example remarks include:

@@ -65,26 +137,6 @@ export interface ApplicationInfo { * */ Remarks?: string; - - /** - *

- * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. - *

- */ - CWEMonitorEnabled?: boolean; - - /** - *

- * The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications - * for opsItem updates. - *

- */ - OpsItemSNSTopicArn?: string; - - /** - *

The lifecycle of the application.

- */ - LifeCycle?: string; } export namespace ApplicationInfo { @@ -108,9 +160,13 @@ export namespace BadRequestException { }); } -export type CloudWatchEventSource = "CODE_DEPLOY" | "EC2" | "HEALTH"; +export type CloudWatchEventSource = "CODE_DEPLOY" | "EC2" | "HEALTH" | "RDS"; -export type ConfigurationEventResourceType = "CLOUDFORMATION" | "CLOUDWATCH_ALARM" | "SSM_ASSOCIATION"; +export type ConfigurationEventResourceType = + | "CLOUDFORMATION" + | "CLOUDWATCH_ALARM" + | "CLOUDWATCH_LOG" + | "SSM_ASSOCIATION"; export type ConfigurationEventStatus = "ERROR" | "INFO" | "WARN"; @@ -122,10 +178,17 @@ export type ConfigurationEventStatus = "ERROR" | "INFO" | "WARN"; export interface ConfigurationEvent { /** *

- * The name of the resource Application Insights attempted to configure. + * The resource monitored by Application Insights. *

*/ - EventResourceName?: string; + MonitoredResourceARN?: string; + + /** + *

+ * The status of the configuration update event. Possible values include INFO, WARN, and ERROR. + *

+ */ + EventStatus?: ConfigurationEventStatus | string; /** *

@@ -150,17 +213,10 @@ export interface ConfigurationEvent { /** *

- * The resource monitored by Application Insights. - *

- */ - MonitoredResourceARN?: string; - - /** - *

- * The status of the configuration update event. Possible values include INFO, WARN, and ERROR. + * The name of the resource Application Insights attempted to configure. *

*/ - EventStatus?: ConfigurationEventStatus | string; + EventResourceName?: string; } export namespace ConfigurationEvent { @@ -197,18 +253,18 @@ export namespace ConfigurationEvent { * */ export interface Tag { + /** + *

One part of a key-value pair that defines a tag. The maximum length of a tag key is + * 128 characters. The minimum length is 1 character.

+ */ + Key: string | undefined; + /** *

The optional part of a key-value pair that defines a tag. The maximum length of a tag * value is 256 characters. The minimum length is 0 characters. If you don't want an * application to have a specific tag value, don't specify a value for this parameter.

*/ Value: string | undefined; - - /** - *

One part of a key-value pair that defines a tag. The maximum length of a tag key is - * 128 characters. The minimum length is 1 character.

- */ - Key: string | undefined; } export namespace Tag { @@ -219,11 +275,9 @@ export namespace Tag { export interface CreateApplicationRequest { /** - *

- * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. - *

+ *

The name of the resource group.

*/ - CWEMonitorEnabled?: boolean; + ResourceGroupName: string | undefined; /** *

@@ -234,16 +288,18 @@ export interface CreateApplicationRequest { /** *

- * The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to - * receive notifications for updates to the opsItem. + * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. *

*/ - OpsItemSNSTopicArn?: string; + CWEMonitorEnabled?: boolean; /** - *

The name of the resource group.

+ *

+ * The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to + * receive notifications for updates to the opsItem. + *

*/ - ResourceGroupName: string | undefined; + OpsItemSNSTopicArn?: string; /** *

List of tags to add to the application. @@ -350,14 +406,14 @@ export namespace ValidationException { export interface CreateComponentRequest { /** - *

The name of the component.

+ *

The name of the resource group.

*/ - ComponentName: string | undefined; + ResourceGroupName: string | undefined; /** - *

The name of the resource group.

+ *

The name of the component.

*/ - ResourceGroupName: string | undefined; + ComponentName: string | undefined; /** *

The list of resource ARNs that belong to the component.

@@ -381,9 +437,9 @@ export namespace CreateComponentResponse { export interface CreateLogPatternRequest { /** - *

The log pattern.

+ *

The name of the resource group.

*/ - Pattern: string | undefined; + ResourceGroupName: string | undefined; /** *

The name of the log pattern set.

@@ -391,19 +447,21 @@ export interface CreateLogPatternRequest { PatternSetName: string | undefined; /** - *

Rank of the log pattern.

+ *

The name of the log pattern.

*/ - Rank: number | undefined; + PatternName: string | undefined; /** - *

The name of the log pattern.

+ *

The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

*/ - PatternName: string | undefined; + Pattern: string | undefined; /** - *

The name of the resource group.

+ *

Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. + * Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns. + *

*/ - ResourceGroupName: string | undefined; + Rank: number | undefined; } export namespace CreateLogPatternRequest { @@ -417,27 +475,29 @@ export namespace CreateLogPatternRequest { */ export interface LogPattern { /** - *

The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot - * be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

+ *

The name of the log pattern. A log pattern name can contain as many as 30 characters, and it cannot + * be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.

*/ - PatternName?: string; + PatternSetName?: string; /** - *

Rank of the log pattern.

+ *

The name of the log pattern. A log pattern name can contain as many as 50 characters, and it cannot + * be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.

*/ - Rank?: number; + PatternName?: string; /** - *

A regular expression that defines the log pattern. A log pattern can contains at many as 50 characters, and it cannot - * be empty.

+ *

A regular expression that defines the log pattern. A log pattern can contain as many as 50 characters, and it cannot + * be empty. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

*/ Pattern?: string; /** - *

The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot - * be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

+ *

Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. + * Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns. + *

*/ - PatternSetName?: string; + Rank?: number; } export namespace LogPattern { @@ -512,6 +572,11 @@ export namespace DeleteComponentResponse { } export interface DeleteLogPatternRequest { + /** + *

The name of the resource group.

+ */ + ResourceGroupName: string | undefined; + /** *

The name of the log pattern set.

*/ @@ -521,11 +586,6 @@ export interface DeleteLogPatternRequest { *

The name of the log pattern.

*/ PatternName: string | undefined; - - /** - *

The name of the resource group.

- */ - ResourceGroupName: string | undefined; } export namespace DeleteLogPatternRequest { @@ -587,16 +647,16 @@ export namespace DescribeComponentRequest { } export interface DescribeComponentResponse { - /** - *

The list of resource ARNs that belong to the component.

- */ - ResourceList?: string[]; - /** *

Describes a standalone resource or similarly grouped resources that the application is made * up of.

*/ ApplicationComponent?: ApplicationComponent; + + /** + *

The list of resource ARNs that belong to the component.

+ */ + ResourceList?: string[]; } export namespace DescribeComponentResponse { @@ -624,11 +684,6 @@ export namespace DescribeComponentConfigurationRequest { } export interface DescribeComponentConfigurationResponse { - /** - *

The configuration settings of the component. The value is the escaped JSON of the configuration.

- */ - ComponentConfiguration?: string; - /** *

Indicates whether the application component is monitored.

*/ @@ -641,6 +696,11 @@ export interface DescribeComponentConfigurationResponse { *

*/ Tier?: Tier | string; + + /** + *

The configuration settings of the component. The value is the escaped JSON of the configuration.

+ */ + ComponentConfiguration?: string; } export namespace DescribeComponentConfigurationResponse { @@ -650,13 +710,6 @@ export namespace DescribeComponentConfigurationResponse { } export interface DescribeComponentConfigurationRecommendationRequest { - /** - *

The tier of the application component. Supported tiers include - * DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, - * and DEFAULT.

- */ - Tier: Tier | string | undefined; - /** *

The name of the resource group.

*/ @@ -666,6 +719,13 @@ export interface DescribeComponentConfigurationRecommendationRequest { *

The name of the component.

*/ ComponentName: string | undefined; + + /** + *

The tier of the application component. Supported tiers include + * DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, + * and DEFAULT.

+ */ + Tier: Tier | string | undefined; } export namespace DescribeComponentConfigurationRecommendationRequest { @@ -688,6 +748,11 @@ export namespace DescribeComponentConfigurationRecommendationResponse { } export interface DescribeLogPatternRequest { + /** + *

The name of the resource group.

+ */ + ResourceGroupName: string | undefined; + /** *

The name of the log pattern set.

*/ @@ -697,11 +762,6 @@ export interface DescribeLogPatternRequest { *

The name of the log pattern.

*/ PatternName: string | undefined; - - /** - *

The name of the resource group.

- */ - ResourceGroupName: string | undefined; } export namespace DescribeLogPatternRequest { @@ -748,199 +808,276 @@ export type LogFilter = "ERROR" | "INFO" | "WARN"; */ export interface Observation { /** - *

The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

+ *

The ID of the observation type.

*/ - LineTime?: Date; + Id?: string; /** - *

The service to which the AWS Health Event belongs, such as EC2.

+ *

The time when the observation was first detected, in epoch seconds.

*/ - HealthService?: string; + StartTime?: Date; /** - *

- * The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. - *

+ *

The time when the observation ended, in epoch seconds.

*/ - CodeDeployState?: string; + EndTime?: Date; /** - *

The deployment ID of the CodeDeploy-based observation related to the detected problem.

+ *

The source type of the observation.

*/ - CodeDeployDeploymentId?: string; + SourceType?: string; /** - *

- * The X-Ray request fault percentage for this node. - *

+ *

The source resource ARN of the observation.

*/ - XRayFaultPercent?: number; + SourceARN?: string; /** - *

The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

+ *

The log group name.

*/ - HealthEventArn?: string; + LogGroup?: string; /** - *

The name of the observation metric.

+ *

The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

*/ - MetricName?: string; + LineTime?: Date; /** - *

- * The X-Ray request count for this node. - *

+ *

The log text of the observation.

*/ - XRayRequestCount?: number; + LogText?: string; /** - *

The detail type of the CloudWatch Event-based observation, for example, EC2 - * Instance State-change Notification.

+ *

The log filter of the observation.

*/ - CloudWatchEventDetailType?: string; + LogFilter?: LogFilter | string; /** - *

The source type of the observation.

+ *

The namespace of the observation metric.

*/ - SourceType?: string; + MetricNamespace?: string; /** - *

- * The X-Ray request error percentage for this node. - *

+ *

The name of the observation metric.

*/ - XRayErrorPercent?: number; + MetricName?: string; + + /** + *

The unit of the source observation metric.

+ */ + Unit?: string; + + /** + *

The value of the source observation metric.

+ */ + Value?: number; + + /** + *

The ID of the CloudWatch Event-based observation related to the detected problem.

+ */ + CloudWatchEventId?: string; + + /** + *

The source of the CloudWatch Event.

+ */ + CloudWatchEventSource?: CloudWatchEventSource | string; + + /** + *

The detail type of the CloudWatch Event-based observation, for example, EC2 + * Instance State-change Notification.

+ */ + CloudWatchEventDetailType?: string; + + /** + *

The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

+ */ + HealthEventArn?: string; + + /** + *

The service to which the AWS Health Event belongs, such as EC2.

+ */ + HealthService?: string; + + /** + *

The type of the AWS Health event, for example, + * AWS_EC2_POWER_CONNECTIVITY_ISSUE.

+ */ + HealthEventTypeCode?: string; /** *

The category of the AWS Health event, such as issue.

*/ HealthEventTypeCategory?: string; + /** + *

The description of the AWS Health event provided by the service, such as Amazon EC2.

+ */ + HealthEventDescription?: string; + + /** + *

The deployment ID of the CodeDeploy-based observation related to the detected problem.

+ */ + CodeDeployDeploymentId?: string; + /** *

- * The X-Ray node request average latency for this node. + * The deployment group to which the CodeDeploy deployment belongs. *

*/ - XRayRequestAverageLatency?: number; + CodeDeployDeploymentGroup?: string; /** - *

The namespace of the observation metric.

+ *

+ * The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. + *

*/ - MetricNamespace?: string; + CodeDeployState?: string; /** *

- * The state of the instance, such as STOPPING or TERMINATING. + * The CodeDeploy application to which the deployment belongs. *

*/ - Ec2State?: string; + CodeDeployApplication?: string; /** - *

The ID of the CloudWatch Event-based observation related to the detected problem.

+ *

+ * The instance group to which the CodeDeploy instance belongs. + *

*/ - CloudWatchEventId?: string; + CodeDeployInstanceGroupId?: string; /** *

- * The X-Ray request throttle percentage for this node. + * The state of the instance, such as STOPPING or TERMINATING. *

*/ - XRayThrottlePercent?: number; + Ec2State?: string; /** - *

The time when the observation was first detected, in epoch seconds.

+ *

+ * The category of an RDS event. + *

*/ - StartTime?: Date; + RdsEventCategories?: string; /** - *

The value of the source observation metric.

+ *

+ * The message of an RDS event. + *

*/ - Value?: number; + RdsEventMessage?: string; /** *

- * The type of the X-Ray node.

+ * The name of the S3 CloudWatch Event-based observation. + *

*/ - XRayNodeType?: string; + S3EventName?: string; /** - *

The source resource ARN of the observation.

+ *

+ * The Amazon Resource Name (ARN) of the step function execution-based observation. + *

*/ - SourceARN?: string; + StatesExecutionArn?: string; /** - *

The log text of the observation.

+ *

+ * The Amazon Resource Name (ARN) of the step function-based observation. + *

*/ - LogText?: string; + StatesArn?: string; /** - *

The ID of the observation type.

+ *

+ * The status of the step function-related observation. + *

*/ - Id?: string; + StatesStatus?: string; /** - *

The description of the AWS Health event provided by the service, such as Amazon EC2.

+ *

+ * The input to the step function-based observation. + *

*/ - HealthEventDescription?: string; + StatesInput?: string; /** - *

The type of the AWS Health event, for example, - * AWS_EC2_POWER_CONNECTIVITY_ISSUE.

+ *

+ * The type of EBS CloudWatch event, such as createVolume, deleteVolume or attachVolume. + *

*/ - HealthEventTypeCode?: string; + EbsEvent?: string; /** *

- * The name of the X-Ray node. + * The result of an EBS CloudWatch event, such as failed or succeeded. *

*/ - XRayNodeName?: string; + EbsResult?: string; /** - *

The time when the observation ended, in epoch seconds.

+ *

+ * The cause of an EBS CloudWatch event. + *

*/ - EndTime?: Date; + EbsCause?: string; /** - *

The unit of the source observation metric.

+ *

+ * The request ID of an EBS CloudWatch event. + *

*/ - Unit?: string; + EbsRequestId?: string; /** *

- * The CodeDeploy application to which the deployment belongs. + * The X-Ray request fault percentage for this node. *

*/ - CodeDeployApplication?: string; + XRayFaultPercent?: number; /** - *

The log filter of the observation.

+ *

+ * The X-Ray request throttle percentage for this node. + *

*/ - LogFilter?: LogFilter | string; + XRayThrottlePercent?: number; /** *

- * The instance group to which the CodeDeploy instance belongs. + * The X-Ray request error percentage for this node. *

*/ - CodeDeployInstanceGroupId?: string; + XRayErrorPercent?: number; /** - *

The source of the CloudWatch Event.

+ *

+ * The X-Ray request count for this node. + *

*/ - CloudWatchEventSource?: CloudWatchEventSource | string; + XRayRequestCount?: number; /** - *

The log group name.

+ *

+ * The X-Ray node request average latency for this node. + *

*/ - LogGroup?: string; + XRayRequestAverageLatency?: number; /** *

- * The deployment group to which the CodeDeploy deployment belongs. + * The name of the X-Ray node. *

*/ - CodeDeployDeploymentGroup?: string; + XRayNodeName?: string; + + /** + *

+ * The type of the X-Ray node.

+ */ + XRayNodeType?: string; } export namespace Observation { @@ -988,19 +1125,19 @@ export type Status = "IGNORE" | "PENDING" | "RESOLVED"; */ export interface Problem { /** - *

The name of the problem.

+ *

The ID of the problem.

*/ - Title?: string; + Id?: string; /** - *

A measure of the level of impact of the problem.

+ *

The name of the problem.

*/ - SeverityLevel?: SeverityLevel | string; + Title?: string; /** - *

The name of the resource group affected by the problem.

+ *

A detailed analysis of the problem using machine learning.

*/ - ResourceGroupName?: string; + Insights?: string; /** *

The status of the problem.

@@ -1008,34 +1145,34 @@ export interface Problem { Status?: Status | string; /** - *

The time when the problem ended, in epoch seconds.

+ *

The resource affected by the problem.

*/ - EndTime?: Date; + AffectedResource?: string; /** - *

The ID of the problem.

+ *

The time when the problem started, in epoch seconds.

*/ - Id?: string; + StartTime?: Date; /** - *

A detailed analysis of the problem using machine learning.

+ *

The time when the problem ended, in epoch seconds.

*/ - Insights?: string; + EndTime?: Date; /** - *

Feedback provided by the user about the problem.

+ *

A measure of the level of impact of the problem.

*/ - Feedback?: { [key: string]: FeedbackValue | string }; + SeverityLevel?: SeverityLevel | string; /** - *

The time when the problem started, in epoch seconds.

+ *

The name of the resource group affected by the problem.

*/ - StartTime?: Date; + ResourceGroupName?: string; /** - *

The resource affected by the problem.

+ *

Feedback provided by the user about the problem.

*/ - AffectedResource?: string; + Feedback?: { [key: string]: FeedbackValue | string }; } export namespace Problem { @@ -1100,16 +1237,16 @@ export namespace DescribeProblemObservationsResponse { } export interface ListApplicationsRequest { - /** - *

The token to request the next page of results.

- */ - NextToken?: string; - /** *

The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned NextToken value.

*/ MaxResults?: number; + + /** + *

The token to request the next page of results.

+ */ + NextToken?: string; } export namespace ListApplicationsRequest { @@ -1139,9 +1276,9 @@ export namespace ListApplicationsResponse { export interface ListComponentsRequest { /** - *

The token to request the next page of results.

+ *

The name of the resource group.

*/ - NextToken?: string; + ResourceGroupName: string | undefined; /** *

The maximum number of results to return in a single call. To retrieve the remaining @@ -1150,9 +1287,9 @@ export interface ListComponentsRequest { MaxResults?: number; /** - *

The name of the resource group.

+ *

The token to request the next page of results.

*/ - ResourceGroupName: string | undefined; + NextToken?: string; } export namespace ListComponentsRequest { @@ -1163,14 +1300,14 @@ export namespace ListComponentsRequest { export interface ListComponentsResponse { /** - *

The token to request the next page of results.

+ *

The list of application components.

*/ - NextToken?: string; + ApplicationComponentList?: ApplicationComponent[]; /** - *

The list of application components.

+ *

The token to request the next page of results.

*/ - ApplicationComponentList?: ApplicationComponent[]; + NextToken?: string; } export namespace ListComponentsResponse { @@ -1181,18 +1318,25 @@ export namespace ListComponentsResponse { export interface ListConfigurationHistoryRequest { /** - *

The NextToken value returned from a previous paginated ListConfigurationHistory request where - * MaxResults was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the NextToken value. This - * value is null when there are no more results to return.

+ *

Resource group to which the application belongs.

*/ - NextToken?: string; + ResourceGroupName?: string; /** *

The start time of the event.

*/ StartTime?: Date; + /** + *

The end time of the event.

+ */ + EndTime?: Date; + + /** + *

The status of the configuration update event. Possible values include INFO, WARN, and ERROR.

+ */ + EventStatus?: ConfigurationEventStatus | string; + /** *

The maximum number of results returned by ListConfigurationHistory in * paginated output. When this parameter is used, ListConfigurationHistory @@ -1205,19 +1349,12 @@ export interface ListConfigurationHistoryRequest { MaxResults?: number; /** - *

The end time of the event.

- */ - EndTime?: Date; - - /** - *

The status of the configuration update event. Possible values include INFO, WARN, and ERROR.

- */ - EventStatus?: ConfigurationEventStatus | string; - - /** - *

Resource group to which the application belongs.

+ *

The NextToken value returned from a previous paginated ListConfigurationHistory request where + * MaxResults was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the NextToken value. This + * value is null when there are no more results to return.

*/ - ResourceGroupName?: string; + NextToken?: string; } export namespace ListConfigurationHistoryRequest { @@ -1227,6 +1364,11 @@ export namespace ListConfigurationHistoryRequest { } export interface ListConfigurationHistoryResponse { + /** + *

The list of configuration events and their corresponding details.

+ */ + EventList?: ConfigurationEvent[]; + /** *

The NextToken value to include in a future * ListConfigurationHistory request. When the results of a @@ -1235,11 +1377,6 @@ export interface ListConfigurationHistoryResponse { * there are no more results to return.

*/ NextToken?: string; - - /** - *

The list of configuration events and their corresponding details.

- */ - EventList?: ConfigurationEvent[]; } export namespace ListConfigurationHistoryResponse { @@ -1250,14 +1387,14 @@ export namespace ListConfigurationHistoryResponse { export interface ListLogPatternsRequest { /** - *

The token to request the next page of results.

+ *

The name of the resource group.

*/ - NextToken?: string; + ResourceGroupName: string | undefined; /** - *

The name of the resource group.

+ *

The name of the log pattern set.

*/ - ResourceGroupName: string | undefined; + PatternSetName?: string; /** *

The maximum number of results to return in a single call. To retrieve the remaining @@ -1266,9 +1403,9 @@ export interface ListLogPatternsRequest { MaxResults?: number; /** - *

The name of the log pattern set.

+ *

The token to request the next page of results.

*/ - PatternSetName?: string; + NextToken?: string; } export namespace ListLogPatternsRequest { @@ -1284,15 +1421,15 @@ export interface ListLogPatternsResponse { ResourceGroupName?: string; /** - *

The token used to retrieve the next page of results. This value is null - * when there are no more results to return.

+ *

The list of log patterns.

*/ - NextToken?: string; + LogPatterns?: LogPattern[]; /** - *

The list of log patterns.

+ *

The token used to retrieve the next page of results. This value is null + * when there are no more results to return.

*/ - LogPatterns?: LogPattern[]; + NextToken?: string; } export namespace ListLogPatternsResponse { @@ -1303,9 +1440,9 @@ export namespace ListLogPatternsResponse { export interface ListLogPatternSetsRequest { /** - *

The token to request the next page of results.

+ *

The name of the resource group.

*/ - NextToken?: string; + ResourceGroupName: string | undefined; /** *

The maximum number of results to return in a single call. To retrieve the remaining @@ -1314,9 +1451,9 @@ export interface ListLogPatternSetsRequest { MaxResults?: number; /** - *

The name of the resource group.

+ *

The token to request the next page of results.

*/ - ResourceGroupName: string | undefined; + NextToken?: string; } export namespace ListLogPatternSetsRequest { @@ -1332,15 +1469,15 @@ export interface ListLogPatternSetsResponse { ResourceGroupName?: string; /** - *

The token used to retrieve the next page of results. This value is null - * when there are no more results to return.

+ *

The list of log pattern sets.

*/ - NextToken?: string; + LogPatternSets?: string[]; /** - *

The list of log pattern sets.

+ *

The token used to retrieve the next page of results. This value is null + * when there are no more results to return.

*/ - LogPatternSets?: string[]; + NextToken?: string; } export namespace ListLogPatternSetsResponse { @@ -1350,17 +1487,6 @@ export namespace ListLogPatternSetsResponse { } export interface ListProblemsRequest { - /** - *

The token to request the next page of results.

- */ - NextToken?: string; - - /** - *

The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

- */ - MaxResults?: number; - /** *

The name of the resource group.

*/ @@ -1377,6 +1503,17 @@ export interface ListProblemsRequest { * past seven days are returned.

*/ EndTime?: Date; + + /** + *

The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

+ */ + MaxResults?: number; + + /** + *

The token to request the next page of results.

+ */ + NextToken?: string; } export namespace ListProblemsRequest { @@ -1434,6 +1571,11 @@ export namespace ListTagsForResourceResponse { } export interface TagResourceRequest { + /** + *

The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

+ */ + ResourceARN: string | undefined; + /** *

A list of tags that to add to the application. A tag consists of a required * tag key (Key) and an associated tag value (Value). The maximum @@ -1441,11 +1583,6 @@ export interface TagResourceRequest { * characters.

*/ Tags: Tag[] | undefined; - - /** - *

The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

- */ - ResourceARN: string | undefined; } export namespace TagResourceRequest { @@ -1513,6 +1650,11 @@ export namespace UntagResourceResponse { } export interface UpdateApplicationRequest { + /** + *

The name of the resource group.

+ */ + ResourceGroupName: string | undefined; + /** *

* When set to true, creates opsItems for any problems detected on an application. @@ -1520,6 +1662,13 @@ export interface UpdateApplicationRequest { */ OpsCenterEnabled?: boolean; + /** + *

+ * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. + *

+ */ + CWEMonitorEnabled?: boolean; + /** *

* The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to @@ -1532,18 +1681,6 @@ export interface UpdateApplicationRequest { * Disassociates the SNS topic from the opsItem created for detected problems.

*/ RemoveSNSTopic?: boolean; - - /** - *

- * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. - *

- */ - CWEMonitorEnabled?: boolean; - - /** - *

The name of the resource group.

- */ - ResourceGroupName: string | undefined; } export namespace UpdateApplicationRequest { @@ -1567,14 +1704,14 @@ export namespace UpdateApplicationResponse { export interface UpdateComponentRequest { /** - *

The name of the component.

+ *

The name of the resource group.

*/ - ComponentName: string | undefined; + ResourceGroupName: string | undefined; /** - *

The list of resource ARNs that belong to the component.

+ *

The name of the component.

*/ - ResourceList?: string[]; + ComponentName: string | undefined; /** *

The new name of the component.

@@ -1582,9 +1719,9 @@ export interface UpdateComponentRequest { NewComponentName?: string; /** - *

The name of the resource group.

+ *

The list of resource ARNs that belong to the component.

*/ - ResourceGroupName: string | undefined; + ResourceList?: string[]; } export namespace UpdateComponentRequest { @@ -1602,6 +1739,11 @@ export namespace UpdateComponentResponse { } export interface UpdateComponentConfigurationRequest { + /** + *

The name of the resource group.

+ */ + ResourceGroupName: string | undefined; + /** *

The name of the component.

*/ @@ -1612,14 +1754,6 @@ export interface UpdateComponentConfigurationRequest { */ Monitor?: boolean; - /** - *

The configuration settings of the component. The value is the escaped JSON of the configuration. For - * more information about the JSON format, see Working with JSON. - * You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete - * format of the component configuration file, see Component Configuration.

- */ - ComponentConfiguration?: string; - /** *

The tier of the application component. Supported tiers include DOT_NET_WORKER, * DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

@@ -1627,9 +1761,12 @@ export interface UpdateComponentConfigurationRequest { Tier?: Tier | string; /** - *

The name of the resource group.

+ *

The configuration settings of the component. The value is the escaped JSON of the configuration. For + * more information about the JSON format, see Working with JSON. + * You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete + * format of the component configuration file, see Component Configuration.

*/ - ResourceGroupName: string | undefined; + ComponentConfiguration?: string; } export namespace UpdateComponentConfigurationRequest { @@ -1653,24 +1790,26 @@ export interface UpdateLogPatternRequest { ResourceGroupName: string | undefined; /** - *

Rank of the log pattern.

+ *

The name of the log pattern set.

*/ - Rank?: number; + PatternSetName: string | undefined; /** - *

The log pattern.

+ *

The name of the log pattern.

*/ - Pattern?: string; + PatternName: string | undefined; /** - *

The name of the log pattern.

+ *

The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

*/ - PatternName: string | undefined; + Pattern?: string; /** - *

The name of the log pattern set.

+ *

Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. + * Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns. + *

*/ - PatternSetName: string | undefined; + Rank?: number; } export namespace UpdateLogPatternRequest { @@ -1681,14 +1820,14 @@ export namespace UpdateLogPatternRequest { export interface UpdateLogPatternResponse { /** - *

The successfully created log pattern.

+ *

The name of the resource group.

*/ - LogPattern?: LogPattern; + ResourceGroupName?: string; /** - *

The name of the resource group.

+ *

The successfully created log pattern.

*/ - ResourceGroupName?: string; + LogPattern?: LogPattern; } export namespace UpdateLogPatternResponse { diff --git a/clients/client-application-insights/protocols/Aws_json1_1.ts b/clients/client-application-insights/protocols/Aws_json1_1.ts index b0f83c64e039e..b398ac21b4006 100644 --- a/clients/client-application-insights/protocols/Aws_json1_1.ts +++ b/clients/client-application-insights/protocols/Aws_json1_1.ts @@ -50,6 +50,7 @@ import { } from "../commands/UpdateComponentConfigurationCommand"; import { UpdateLogPatternCommandInput, UpdateLogPatternCommandOutput } from "../commands/UpdateLogPatternCommand"; import { + AccessDeniedException, ApplicationComponent, ApplicationInfo, BadRequestException, @@ -109,6 +110,7 @@ import { TagResourceRequest, TagResourceResponse, TagsAlreadyExistException, + Tier, TooManyTagsException, UntagResourceRequest, UntagResourceResponse, @@ -513,6 +515,14 @@ const deserializeAws_json1_1CreateApplicationCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.applicationinsights#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerException": case "com.amazonaws.applicationinsights#InternalServerException": response = { @@ -2440,6 +2450,21 @@ const deserializeAws_json1_1UpdateLogPatternCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_json1_1AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1AccessDeniedException(body, context); + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1BadRequestExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -2825,11 +2850,24 @@ const serializeAws_json1_1UpdateLogPatternRequest = (input: UpdateLogPatternRequ }; }; +const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1ApplicationComponent = (output: any, context: __SerdeContext): ApplicationComponent => { return { ComponentName: output.ComponentName !== undefined && output.ComponentName !== null ? output.ComponentName : undefined, + ComponentRemarks: + output.ComponentRemarks !== undefined && output.ComponentRemarks !== null ? output.ComponentRemarks : undefined, + DetectedWorkload: + output.DetectedWorkload !== undefined && output.DetectedWorkload !== null + ? deserializeAws_json1_1DetectedWorkload(output.DetectedWorkload, context) + : undefined, Monitor: output.Monitor !== undefined && output.Monitor !== null ? output.Monitor : undefined, + OsType: output.OsType !== undefined && output.OsType !== null ? output.OsType : undefined, ResourceType: output.ResourceType !== undefined && output.ResourceType !== null ? output.ResourceType : undefined, Tier: output.Tier !== undefined && output.Tier !== null ? output.Tier : undefined, } as any; @@ -3062,6 +3100,19 @@ const deserializeAws_json1_1DescribeProblemResponse = ( } as any; }; +const deserializeAws_json1_1DetectedWorkload = ( + output: any, + context: __SerdeContext +): { [key: string]: { [key: string]: string } } => { + return Object.entries(output).reduce( + (acc: { [key: string]: { [key: string]: string } }, [key, value]: [Tier | string, any]) => ({ + ...acc, + [key]: deserializeAws_json1_1WorkloadMetaData(value, context), + }), + {} + ); +}; + const deserializeAws_json1_1Feedback = ( output: any, context: __SerdeContext @@ -3226,6 +3277,10 @@ const deserializeAws_json1_1Observation = (output: any, context: __SerdeContext) : undefined, CodeDeployState: output.CodeDeployState !== undefined && output.CodeDeployState !== null ? output.CodeDeployState : undefined, + EbsCause: output.EbsCause !== undefined && output.EbsCause !== null ? output.EbsCause : undefined, + EbsEvent: output.EbsEvent !== undefined && output.EbsEvent !== null ? output.EbsEvent : undefined, + EbsRequestId: output.EbsRequestId !== undefined && output.EbsRequestId !== null ? output.EbsRequestId : undefined, + EbsResult: output.EbsResult !== undefined && output.EbsResult !== null ? output.EbsResult : undefined, Ec2State: output.Ec2State !== undefined && output.Ec2State !== null ? output.Ec2State : undefined, EndTime: output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, @@ -3256,12 +3311,26 @@ const deserializeAws_json1_1Observation = (output: any, context: __SerdeContext) MetricName: output.MetricName !== undefined && output.MetricName !== null ? output.MetricName : undefined, MetricNamespace: output.MetricNamespace !== undefined && output.MetricNamespace !== null ? output.MetricNamespace : undefined, + RdsEventCategories: + output.RdsEventCategories !== undefined && output.RdsEventCategories !== null + ? output.RdsEventCategories + : undefined, + RdsEventMessage: + output.RdsEventMessage !== undefined && output.RdsEventMessage !== null ? output.RdsEventMessage : undefined, + S3EventName: output.S3EventName !== undefined && output.S3EventName !== null ? output.S3EventName : undefined, SourceARN: output.SourceARN !== undefined && output.SourceARN !== null ? output.SourceARN : undefined, SourceType: output.SourceType !== undefined && output.SourceType !== null ? output.SourceType : undefined, StartTime: output.StartTime !== undefined && output.StartTime !== null ? new Date(Math.round(output.StartTime * 1000)) : undefined, + StatesArn: output.StatesArn !== undefined && output.StatesArn !== null ? output.StatesArn : undefined, + StatesExecutionArn: + output.StatesExecutionArn !== undefined && output.StatesExecutionArn !== null + ? output.StatesExecutionArn + : undefined, + StatesInput: output.StatesInput !== undefined && output.StatesInput !== null ? output.StatesInput : undefined, + StatesStatus: output.StatesStatus !== undefined && output.StatesStatus !== null ? output.StatesStatus : undefined, Unit: output.Unit !== undefined && output.Unit !== null ? output.Unit : undefined, Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, XRayErrorPercent: @@ -3429,6 +3498,16 @@ const deserializeAws_json1_1ValidationException = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1WorkloadMetaData = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-auto-scaling/AutoScaling.ts b/clients/client-auto-scaling/AutoScaling.ts index b49397095e093..f5133401c7dff 100644 --- a/clients/client-auto-scaling/AutoScaling.ts +++ b/clients/client-auto-scaling/AutoScaling.ts @@ -331,15 +331,16 @@ export class AutoScaling extends AutoScalingClient { /** * - *

To attach an Application Load Balancer or a Network Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead.

+ *

To attach an Application Load Balancer, Network Load Balancer, or Gateway Load + * Balancer, use the AttachLoadBalancerTargetGroups API operation + * instead.

*
*

Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling * registers the running instances with these Classic Load Balancers.

*

To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling * group, call the DetachLoadBalancers API.

- *

For more information, see Attaching a load - * balancer to your Auto Scaling group in the - * Amazon EC2 Auto Scaling User Guide.

+ *

For more information, see Elastic Load Balancing and + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ public attachLoadBalancers( args: AttachLoadBalancersCommandInput, @@ -372,13 +373,24 @@ export class AutoScaling extends AutoScalingClient { /** *

Attaches one or more target groups to the specified Auto Scaling group.

+ *

This operation is used with the following load balancer types:

+ * *

To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from * the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

- *

With Application Load Balancers and Network Load Balancers, instances are registered - * as targets with a target group. With Classic Load Balancers, instances are registered - * with the load balancer. For more information, see Attaching a load - * balancer to your Auto Scaling group in the - * Amazon EC2 Auto Scaling User Guide.

+ *

For more information, see Elastic Load Balancing and + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ public attachLoadBalancerTargetGroups( args: AttachLoadBalancerTargetGroupsCommandInput, @@ -1278,7 +1290,7 @@ export class AutoScaling extends AutoScalingClient { /** *

Describes the load balancers for the specified Auto Scaling group.

*

This operation describes only Classic Load Balancers. If you have Application Load - * Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

+ * Balancers, Network Load Balancers, or Gateway Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

*/ public describeLoadBalancers( args: DescribeLoadBalancersCommandInput, @@ -1653,7 +1665,7 @@ export class AutoScaling extends AutoScalingClient { /** *

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

*

This operation detaches only Classic Load Balancers. If you have Application Load - * Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

+ * Balancers, Network Load Balancers, or Gateway Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

*

When you detach a load balancer, it enters the Removing state while * deregistering the instances in the group. When all instances are deregistered, then you * can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

diff --git a/clients/client-auto-scaling/commands/AttachLoadBalancerTargetGroupsCommand.ts b/clients/client-auto-scaling/commands/AttachLoadBalancerTargetGroupsCommand.ts index 51ad86ec12dae..f72b8cb023c0f 100644 --- a/clients/client-auto-scaling/commands/AttachLoadBalancerTargetGroupsCommand.ts +++ b/clients/client-auto-scaling/commands/AttachLoadBalancerTargetGroupsCommand.ts @@ -22,13 +22,24 @@ export type AttachLoadBalancerTargetGroupsCommandOutput = AttachLoadBalancerTarg /** *

Attaches one or more target groups to the specified Auto Scaling group.

+ *

This operation is used with the following load balancer types:

+ * *

To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from * the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

- *

With Application Load Balancers and Network Load Balancers, instances are registered - * as targets with a target group. With Classic Load Balancers, instances are registered - * with the load balancer. For more information, see Attaching a load - * balancer to your Auto Scaling group in the - * Amazon EC2 Auto Scaling User Guide.

+ *

For more information, see Elastic Load Balancing and + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ export class AttachLoadBalancerTargetGroupsCommand extends $Command< AttachLoadBalancerTargetGroupsCommandInput, diff --git a/clients/client-auto-scaling/commands/AttachLoadBalancersCommand.ts b/clients/client-auto-scaling/commands/AttachLoadBalancersCommand.ts index 99fe89fa1fda0..12b4f95a97a18 100644 --- a/clients/client-auto-scaling/commands/AttachLoadBalancersCommand.ts +++ b/clients/client-auto-scaling/commands/AttachLoadBalancersCommand.ts @@ -22,15 +22,16 @@ export type AttachLoadBalancersCommandOutput = AttachLoadBalancersResultType & _ /** * - *

To attach an Application Load Balancer or a Network Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead.

+ *

To attach an Application Load Balancer, Network Load Balancer, or Gateway Load + * Balancer, use the AttachLoadBalancerTargetGroups API operation + * instead.

*
*

Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling * registers the running instances with these Classic Load Balancers.

*

To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling * group, call the DetachLoadBalancers API.

- *

For more information, see Attaching a load - * balancer to your Auto Scaling group in the - * Amazon EC2 Auto Scaling User Guide.

+ *

For more information, see Elastic Load Balancing and + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ export class AttachLoadBalancersCommand extends $Command< AttachLoadBalancersCommandInput, diff --git a/clients/client-auto-scaling/commands/DescribeLoadBalancersCommand.ts b/clients/client-auto-scaling/commands/DescribeLoadBalancersCommand.ts index 6f68b723c7981..24fdcc145fe84 100644 --- a/clients/client-auto-scaling/commands/DescribeLoadBalancersCommand.ts +++ b/clients/client-auto-scaling/commands/DescribeLoadBalancersCommand.ts @@ -23,7 +23,7 @@ export type DescribeLoadBalancersCommandOutput = DescribeLoadBalancersResponse & /** *

Describes the load balancers for the specified Auto Scaling group.

*

This operation describes only Classic Load Balancers. If you have Application Load - * Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

+ * Balancers, Network Load Balancers, or Gateway Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

*/ export class DescribeLoadBalancersCommand extends $Command< DescribeLoadBalancersCommandInput, diff --git a/clients/client-auto-scaling/commands/DetachLoadBalancersCommand.ts b/clients/client-auto-scaling/commands/DetachLoadBalancersCommand.ts index cac0a93e3a01d..dbaa0558c13cc 100644 --- a/clients/client-auto-scaling/commands/DetachLoadBalancersCommand.ts +++ b/clients/client-auto-scaling/commands/DetachLoadBalancersCommand.ts @@ -23,7 +23,7 @@ export type DetachLoadBalancersCommandOutput = DetachLoadBalancersResultType & _ /** *

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

*

This operation detaches only Classic Load Balancers. If you have Application Load - * Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

+ * Balancers, Network Load Balancers, or Gateway Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

*

When you detach a load balancer, it enters the Removing state while * deregistering the instances in the group. When all instances are deregistered, then you * can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

diff --git a/clients/client-auto-scaling/models/models_0.ts b/clients/client-auto-scaling/models/models_0.ts index 66230e366ff6d..99055ef76f410 100644 --- a/clients/client-auto-scaling/models/models_0.ts +++ b/clients/client-auto-scaling/models/models_0.ts @@ -279,7 +279,7 @@ export interface AttachLoadBalancerTargetGroupsType { /** *

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target - * groups.

+ * groups. To get the ARN of a target group, use the Elastic Load Balancing DescribeTargetGroups API operation.

*/ TargetGroupARNs: string[] | undefined; } @@ -544,15 +544,17 @@ export namespace CompleteLifecycleActionType { export interface LaunchTemplateSpecification { /** *

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created - * using the Amazon EC2 CreateLaunchTemplate API. You must specify either a - * LaunchTemplateId or a LaunchTemplateName.

+ * using the Amazon EC2 CreateLaunchTemplate API.

+ *

Conditional: You must specify either a LaunchTemplateId or a + * LaunchTemplateName.

*/ LaunchTemplateId?: string; /** *

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created - * using the Amazon EC2 CreateLaunchTemplate API. You must specify either a - * LaunchTemplateId or a LaunchTemplateName.

+ * using the Amazon EC2 CreateLaunchTemplate API.

+ *

Conditional: You must specify either a LaunchTemplateId or a + * LaunchTemplateName.

*/ LaunchTemplateName?: string; @@ -715,29 +717,28 @@ export interface InstancesDistribution { /** *

Indicates how to allocate instances across Spot Instance pools. If the allocation - * strategy is lowest-price, the Auto Scaling group launches instances using the Spot - * pools with the lowest price, and evenly allocates your instances across the number of - * Spot pools that you specify. If the allocation strategy is - * capacity-optimized, the Auto Scaling group launches instances using Spot pools - * that are optimally chosen based on the available Spot capacity. Defaults to + * strategy is capacity-optimized (recommended), the Auto Scaling group launches + * instances using Spot pools that are optimally chosen based on the available Spot + * capacity. If the allocation strategy is lowest-price, the Auto Scaling group + * launches instances using the Spot pools with the lowest price, and evenly allocates your + * instances across the number of Spot pools that you specify. Defaults to * lowest-price if not specified.

*/ SpotAllocationStrategy?: string; /** *

The number of Spot Instance pools across which to allocate your Spot Instances. The - * Spot pools are determined from the different instance types in the overrides. Defaults - * to 2 if not specified. Valid only when the Spot allocation strategy is - * lowest-price.

- *

Valid Range: Minimum value of 1. Maximum value of 20.

+ * Spot pools are determined from the different instance types in the overrides. Valid only + * when the Spot allocation strategy is lowest-price. Value must be in the + * range of 1 to 20. Defaults to 2 if not specified.

*/ SpotInstancePools?: number; /** *

The maximum price per unit hour that you are willing to pay for a Spot Instance. If - * you leave the value of this parameter blank (which is the default), the maximum Spot - * price is set at the On-Demand price. To remove a value that you previously set, include - * the parameter but leave the value blank.

+ * you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the + * maximum Spot price. To remove a value that you previously set, include the property but + * specify an empty string ("") for the value.

*/ SpotMaxPrice?: string; } @@ -769,8 +770,8 @@ export interface LaunchTemplateOverrides { * fulfilled, even if this results in an overage. For example, if there are 2 units * remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a * WeightedCapacity of 5 units, the instance is provisioned, and the - * desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

- *

Valid Range: Minimum value of 1. Maximum value of 999.

+ * desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. + * Value must be in the range of 1 to 999.

*/ WeightedCapacity?: string; @@ -930,9 +931,6 @@ export interface CreateAutoScalingGroupType { * Auto Scaling groups with multiple * instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide.

- *

Conditional: You must specify either a launch template (LaunchTemplate or - * MixedInstancesPolicy) or a launch configuration - * (LaunchConfigurationName or InstanceId).

*/ MixedInstancesPolicy?: MixedInstancesPolicy; @@ -990,16 +988,16 @@ export interface CreateAutoScalingGroupType { /** *

A list of Classic Load Balancers associated with this Auto Scaling group. For - * Application Load Balancers and Network Load Balancers, specify - * TargetGroupARNs instead.

+ * Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify + * the TargetGroupARNs property instead.

*/ LoadBalancerNames?: string[]; /** *

The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group. * Instances are registered as targets in a target group, and traffic is routed to the - * target group. For more information, see Elastic Load - * Balancing and Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

+ * target group. For more information, see Elastic Load Balancing and + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ TargetGroupARNs?: string[]; @@ -1488,7 +1486,7 @@ export interface CreateLaunchConfigurationType { * parameter to dedicated.

*

If you specify PlacementTenancy, you must specify at least one subnet for * VPCZoneIdentifier when you create your group.

- *

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the + *

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the * Amazon EC2 Auto Scaling User Guide.

*

Valid Values: default | dedicated *

@@ -2803,11 +2801,10 @@ export namespace DescribeLoadBalancersRequest { * balancer is InService.

*

If you attach a load balancer to an existing Auto Scaling group, the initial state is * Adding. The state transitions to Added after all instances - * in the group are registered with the load balancer. If Elastic Load Balancing health - * checks are enabled for the load balancer, the state transitions to - * InService after at least one instance in the group passes the health - * check. If EC2 health checks are enabled instead, the load balancer remains in the - * Added state.

+ * in the group are registered with the load balancer. If Elastic Load Balancing health checks are enabled + * for the load balancer, the state transitions to InService after at least + * one instance in the group passes the health check. If EC2 health checks are enabled + * instead, the load balancer remains in the Added state.

*/ export interface LoadBalancerState { /** @@ -2836,9 +2833,8 @@ export interface LoadBalancerState { *
  • *

    * Removing - The instances in the group are being deregistered from - * the load balancer. If connection draining is enabled, Elastic Load Balancing - * waits for in-flight requests to complete before deregistering the - * instances.

    + * the load balancer. If connection draining is enabled, Elastic Load Balancing waits for in-flight + * requests to complete before deregistering the instances.

    *
  • *
  • *

    @@ -2906,10 +2902,10 @@ export namespace DescribeLoadBalancerTargetGroupsRequest { *

    Describes the state of a target group.

    *

    If you attach a target group to an existing Auto Scaling group, the initial state is * Adding. The state transitions to Added after all Auto Scaling - * instances are registered with the target group. If Elastic Load Balancing health checks - * are enabled, the state transitions to InService after at least one Auto Scaling - * instance passes the health check. If EC2 health checks are enabled instead, the target - * group remains in the Added state.

    + * instances are registered with the target group. If Elastic Load Balancing health checks are enabled, the + * state transitions to InService after at least one Auto Scaling instance passes the + * health check. If EC2 health checks are enabled instead, the target group remains in the + * Added state.

    */ export interface LoadBalancerTargetGroupState { /** @@ -2938,8 +2934,8 @@ export interface LoadBalancerTargetGroupState { *
  • *

    * Removing - The Auto Scaling instances are being deregistered from the - * target group. If connection draining is enabled, Elastic Load Balancing waits - * for in-flight requests to complete before deregistering the instances.

    + * target group. If connection draining is enabled, Elastic Load Balancing waits for in-flight + * requests to complete before deregistering the instances.

    *
  • *
  • *

    diff --git a/clients/client-batch/Batch.ts b/clients/client-batch/Batch.ts index 728b9362effba..496c344d2c476 100644 --- a/clients/client-batch/Batch.ts +++ b/clients/client-batch/Batch.ts @@ -83,23 +83,22 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

    AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for * developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the - * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar - * to users of traditional batch computing software. This service can efficiently provision resources in response to - * jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results - * quickly.

    + * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to + * users of traditional batch computing software. This service can efficiently provision resources in response to jobs + * submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

    *

    As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing * workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution - * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch - * computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces - * operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and - * engineers to run their batch jobs in the AWS Cloud.

    + * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing + * software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational + * complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run + * their batch jobs in the AWS Cloud.

    */ export class Batch extends BatchClient { /** *

    Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or * RUNNABLE state are cancelled. Jobs that have progressed to STARTING or - * RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); - * these jobs must be terminated with the TerminateJob operation.

    + * RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these + * jobs must be terminated with the TerminateJob operation.

    */ public cancelJob(args: CancelJobCommandInput, options?: __HttpHandlerOptions): Promise; public cancelJob(args: CancelJobCommandInput, cb: (err: any, data?: CancelJobCommandOutput) => void): void; @@ -129,9 +128,9 @@ export class Batch extends BatchClient { * environments.

    *

    In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources * within the environment. This is based on the compute resource specification that you define or the launch template that you - * specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances - * in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch - * when the Spot Instance price is below a specified percentage of the On-Demand price.

    + * specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in + * your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the + * Spot Instance price is below a specified percentage of the On-Demand price.

    * *

    Multi-node parallel jobs are not supported on Spot Instances.

    *
    @@ -139,9 +138,9 @@ export class Batch extends BatchClient { * resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS * container instance AMI specification. For more information, see Container Instance AMIs in the * Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the - * DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. - * Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon - * ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

    + * DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, + * manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS + * Container Instance in the Amazon Elastic Container Service Developer Guide.

    * *

    AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer * version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating @@ -193,11 +192,11 @@ export class Batch extends BatchClient { } /** - *

    Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to - * the queue and assign an order of preference for the compute environments.

    + *

    Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the + * queue and assign an order of preference for the compute environments.

    *

    You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs - * onto its associated compute environments. For example, if a compute environment is associated with more than one - * job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute + * onto its associated compute environments. For example, if a compute environment is associated with more than one job + * queue, the job queue with a higher priority is given preference for scheduling jobs to that compute * environment.

    */ public createJobQueue( @@ -365,8 +364,8 @@ export class Batch extends BatchClient { } /** - *

    Describes a list of job definitions. You can specify a status (such as ACTIVE) to - * only return job definitions that match that status.

    + *

    Describes a list of job definitions. You can specify a status (such as ACTIVE) to only + * return job definitions that match that status.

    */ public describeJobDefinitions( args: DescribeJobDefinitionsCommandInput, @@ -592,8 +591,8 @@ export class Batch extends BatchClient { /** *

    Associates the specified tags to a resource with the specified resourceArn. If existing tags on a - * resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags - * associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags + * associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

    */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; diff --git a/clients/client-batch/BatchClient.ts b/clients/client-batch/BatchClient.ts index 722c79aec88ca..3258bedd3ab25 100644 --- a/clients/client-batch/BatchClient.ts +++ b/clients/client-batch/BatchClient.ts @@ -247,16 +247,15 @@ export type BatchClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHand /** *

    AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for * developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the - * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar - * to users of traditional batch computing software. This service can efficiently provision resources in response to - * jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results - * quickly.

    + * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to + * users of traditional batch computing software. This service can efficiently provision resources in response to jobs + * submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

    *

    As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing * workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution - * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch - * computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces - * operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and - * engineers to run their batch jobs in the AWS Cloud.

    + * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing + * software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational + * complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run + * their batch jobs in the AWS Cloud.

    */ export class BatchClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-batch/commands/CancelJobCommand.ts b/clients/client-batch/commands/CancelJobCommand.ts index 96400bf1945c0..52b6932f6714d 100644 --- a/clients/client-batch/commands/CancelJobCommand.ts +++ b/clients/client-batch/commands/CancelJobCommand.ts @@ -23,8 +23,8 @@ export type CancelJobCommandOutput = CancelJobResponse & __MetadataBearer; /** *

    Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or * RUNNABLE state are cancelled. Jobs that have progressed to STARTING or - * RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); - * these jobs must be terminated with the TerminateJob operation.

    + * RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these + * jobs must be terminated with the TerminateJob operation.

    */ export class CancelJobCommand extends $Command< CancelJobCommandInput, diff --git a/clients/client-batch/commands/CreateComputeEnvironmentCommand.ts b/clients/client-batch/commands/CreateComputeEnvironmentCommand.ts index 97d97572ea7c0..97e79dcd9441b 100644 --- a/clients/client-batch/commands/CreateComputeEnvironmentCommand.ts +++ b/clients/client-batch/commands/CreateComputeEnvironmentCommand.ts @@ -25,9 +25,9 @@ export type CreateComputeEnvironmentCommandOutput = CreateComputeEnvironmentResp * environments.

    *

    In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources * within the environment. This is based on the compute resource specification that you define or the launch template that you - * specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances - * in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch - * when the Spot Instance price is below a specified percentage of the On-Demand price.

    + * specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in + * your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the + * Spot Instance price is below a specified percentage of the On-Demand price.

    * *

    Multi-node parallel jobs are not supported on Spot Instances.

    *
    @@ -35,9 +35,9 @@ export type CreateComputeEnvironmentCommandOutput = CreateComputeEnvironmentResp * resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS * container instance AMI specification. For more information, see Container Instance AMIs in the * Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the - * DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. - * Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon - * ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

    + * DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, + * manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS + * Container Instance in the Amazon Elastic Container Service Developer Guide.

    * *

    AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer * version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating diff --git a/clients/client-batch/commands/CreateJobQueueCommand.ts b/clients/client-batch/commands/CreateJobQueueCommand.ts index fc323cb50dc66..7308ec986aef0 100644 --- a/clients/client-batch/commands/CreateJobQueueCommand.ts +++ b/clients/client-batch/commands/CreateJobQueueCommand.ts @@ -21,11 +21,11 @@ export type CreateJobQueueCommandInput = CreateJobQueueRequest; export type CreateJobQueueCommandOutput = CreateJobQueueResponse & __MetadataBearer; /** - *

    Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to - * the queue and assign an order of preference for the compute environments.

    + *

    Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the + * queue and assign an order of preference for the compute environments.

    *

    You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs - * onto its associated compute environments. For example, if a compute environment is associated with more than one - * job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute + * onto its associated compute environments. For example, if a compute environment is associated with more than one job + * queue, the job queue with a higher priority is given preference for scheduling jobs to that compute * environment.

    */ export class CreateJobQueueCommand extends $Command< diff --git a/clients/client-batch/commands/DescribeJobDefinitionsCommand.ts b/clients/client-batch/commands/DescribeJobDefinitionsCommand.ts index 37375ddeac75e..f8f72d8fe2be9 100644 --- a/clients/client-batch/commands/DescribeJobDefinitionsCommand.ts +++ b/clients/client-batch/commands/DescribeJobDefinitionsCommand.ts @@ -21,8 +21,8 @@ export type DescribeJobDefinitionsCommandInput = DescribeJobDefinitionsRequest; export type DescribeJobDefinitionsCommandOutput = DescribeJobDefinitionsResponse & __MetadataBearer; /** - *

    Describes a list of job definitions. You can specify a status (such as ACTIVE) to - * only return job definitions that match that status.

    + *

    Describes a list of job definitions. You can specify a status (such as ACTIVE) to only + * return job definitions that match that status.

    */ export class DescribeJobDefinitionsCommand extends $Command< DescribeJobDefinitionsCommandInput, diff --git a/clients/client-batch/commands/TagResourceCommand.ts b/clients/client-batch/commands/TagResourceCommand.ts index 9c0b3a121ed38..e66ebe8726bd8 100644 --- a/clients/client-batch/commands/TagResourceCommand.ts +++ b/clients/client-batch/commands/TagResourceCommand.ts @@ -22,8 +22,8 @@ export type TagResourceCommandOutput = TagResourceResponse & __MetadataBearer; /** *

    Associates the specified tags to a resource with the specified resourceArn. If existing tags on a - * resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags - * associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags + * associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

    */ export class TagResourceCommand extends $Command< diff --git a/clients/client-batch/models/models_0.ts b/clients/client-batch/models/models_0.ts index dafcb33171f0f..7f9075b72d08b 100644 --- a/clients/client-batch/models/models_0.ts +++ b/clients/client-batch/models/models_0.ts @@ -55,15 +55,15 @@ export namespace ArrayPropertiesDetail { */ export interface ArrayPropertiesSummary { /** - *

    The job index within the array that is associated with this job. This parameter is returned for children of - * array jobs.

    + *

    The size of the array job. This parameter is returned for parent array jobs.

    */ - index?: number; + size?: number; /** - *

    The size of the array job. This parameter is returned for parent array jobs.

    + *

    The job index within the array that is associated with this job. This parameter is returned for children of + * array jobs.

    */ - size?: number; + index?: number; } export namespace ArrayPropertiesSummary { @@ -76,11 +76,6 @@ export namespace ArrayPropertiesSummary { *

    An object representing the elastic network interface for a multi-node parallel job node.

    */ export interface NetworkInterface { - /** - *

    The private IPv4 address for the network interface.

    - */ - privateIpv4Address?: string; - /** *

    The attachment ID for the network interface.

    */ @@ -90,6 +85,11 @@ export interface NetworkInterface { *

    The private IPv6 address for the network interface.

    */ ipv6Address?: string; + + /** + *

    The private IPv4 address for the network interface.

    + */ + privateIpv4Address?: string; } export namespace NetworkInterface { @@ -103,15 +103,15 @@ export namespace NetworkInterface { */ export interface AttemptContainerDetail { /** - *

    The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a - * task ARN when they reach the STARTING status.

    + *

    The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

    */ - taskArn?: string; + containerInstanceArn?: string; /** - *

    The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

    + *

    The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a task + * ARN when they reach the STARTING status.

    */ - containerInstanceArn?: string; + taskArn?: string; /** *

    The exit code for the job attempt. A non-zero exit code is considered a failure.

    @@ -148,28 +148,26 @@ export namespace AttemptContainerDetail { */ export interface AttemptDetail { /** - *

    A short, human-readable string to provide additional details about the current status of the job - * attempt.

    + *

    Details about the container in this job attempt.

    */ - statusReason?: string; + container?: AttemptContainerDetail; /** - *

    The Unix timestamp (in milliseconds) for when the attempt was stopped (when the attempt transitioned from the - * RUNNING state to a terminal state, such as SUCCEEDED or - * FAILED).

    + *

    The Unix timestamp (in milliseconds) for when the attempt was started (when the attempt transitioned from the + * STARTING state to the RUNNING state).

    */ - stoppedAt?: number; + startedAt?: number; /** - *

    Details about the container in this job attempt.

    + *

    The Unix timestamp (in milliseconds) for when the attempt was stopped (when the attempt transitioned from the + * RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

    */ - container?: AttemptContainerDetail; + stoppedAt?: number; /** - *

    The Unix timestamp (in milliseconds) for when the attempt was started (when the attempt transitioned from the - * STARTING state to the RUNNING state).

    + *

    A short, human-readable string to provide additional details about the current status of the job attempt.

    */ - startedAt?: number; + statusReason?: string; } export namespace AttemptDetail { @@ -179,17 +177,17 @@ export namespace AttemptDetail { } export interface CancelJobRequest { + /** + *

    The AWS Batch job ID of the job to cancel.

    + */ + jobId: string | undefined; + /** *

    A message to attach to the job that explains the reason for canceling it. This message is returned by future * DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity * logs.

    */ reason: string | undefined; - - /** - *

    The AWS Batch job ID of the job to cancel.

    - */ - jobId: string | undefined; } export namespace CancelJobRequest { @@ -207,8 +205,8 @@ export namespace CancelJobResponse { } /** - *

    These errors are usually caused by a client action, such as using an action or resource on behalf of a user - * that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

    + *

    These errors are usually caused by a client action, such as using an action or resource on behalf of a user that + * doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

    */ export interface ClientException extends __SmithyException, $MetadataBearer { name: "ClientException"; @@ -244,17 +242,65 @@ export enum CRAllocationStrategy { } /** - *

    An object representing a launch template associated with a compute resource. You must specify either the - * launch template ID or launch template name in the request, but not both.

    + *

    Provides information used to select Amazon Machine Images (AMIs) for instances in the compute environment. If + * the Ec2Configuration is not specified, the default is ECS_AL1.

    + */ +export interface Ec2Configuration { + /** + *

    The image type to match with the instance type to pick an AMI. If the imageIdOverride parameter is + * not specified, then a recent Amazon ECS-optimized AMI will be used.

    + *
    + *
    ECS_AL2
    + *
    + *

    + * Amazon Linux + * 2− Default for all AWS Graviton-based instance + * families (for example, + * C6g, M6g, R6g, and T4g) and can be used for all non-GPU + * instance types.

    + *
    + *
    ECS_AL2_NVIDIA
    + *
    + *

    + * Amazon Linux + * 2 (GPU)−Default for all GPU instance + * families (for example + * P4 and G4) and can be used for all non-AWS Graviton-based instance types.

    + *
    + *
    ECS_AL1
    + *
    + *

    + * Amazon + * Linux−Default for all non-GPU, non-AWS-Graviton instance + * families. Amazon Linux is + * reaching the end-of-life of standard support. For more information, see Amazon Linux AMI.

    + *
    + *
    + */ + imageType: string | undefined; + + /** + *

    The AMI ID used for instances launched in the compute environment that match the image type. This setting + * overrides the imageId set in the computeResource object.

    + */ + imageIdOverride?: string; +} + +export namespace Ec2Configuration { + export const filterSensitiveLog = (obj: Ec2Configuration): any => ({ + ...obj, + }); +} + +/** + *

    An object representing a launch template associated with a compute resource. You must specify either the launch + * template ID or launch template name in the request, but not both.

    */ export interface LaunchTemplateSpecification { /** - *

    The version number of the launch template, $Latest, or $Default.

    - *

    If the value is $Latest, the latest version of the launch template is used. If the value is - * $Default, the default version of the launch template is used.

    - *

    Default: $Default.

    + *

    The ID of the launch template.

    */ - version?: string; + launchTemplateId?: string; /** *

    The name of the launch template.

    @@ -262,9 +308,12 @@ export interface LaunchTemplateSpecification { launchTemplateName?: string; /** - *

    The ID of the launch template.

    + *

    The version number of the launch template, $Latest, or $Default.

    + *

    If the value is $Latest, the latest version of the launch template is used. If the value is + * $Default, the default version of the launch template is used.

    + *

    Default: $Default.

    */ - launchTemplateId?: string; + version?: string; } export namespace LaunchTemplateSpecification { @@ -282,45 +331,36 @@ export enum CRType { *

    An object representing an AWS Batch compute resource.

    */ export interface ComputeResource { - /** - *

    The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

    - */ - imageId?: string; - /** *

    The type of compute environment: EC2 or SPOT.

    */ type: CRType | string | undefined; /** - *

    The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment. - * This role is required if the allocation - * strategy set to BEST_FIT or if the allocation strategy is not specified. For more - * information, see Amazon EC2 Spot - * Fleet Role in the AWS Batch User Guide.

    + *

    The allocation strategy to use for the compute resource in case not enough instances of the best fitting + * instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If this is + * not specified, the default is BEST_FIT, which will use only the best fitting instance type, waiting for + * additional capacity if it's not available. This allocation strategy keeps costs lower but can limit scaling. If you + * are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified. + * BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the + * requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU. + * SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select + * additional instance types that are large enough to meet the requirements of the jobs in the queue, with a preference + * for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in the + * AWS Batch User Guide.

    */ - spotIamFleetRole?: string; + allocationStrategy?: CRAllocationStrategy | string; /** - *

    The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name - * or full Amazon Resource Name (ARN) of an instance profile. For example, - * - * ecsInstanceRole - * or - * arn:aws:iam:::instance-profile/ecsInstanceRole - * . - * For more information, see Amazon ECS Instance - * Role in the AWS Batch User Guide.

    + *

    The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is + * DISABLED).

    */ - instanceRole: string | undefined; + minvCpus: number | undefined; /** - *

    The instances types that may be launched. You can specify instance families to launch any instance type within - * those families (for example, c5 or p3), or you can specify specific sizes within a - * family (such as c5.8xlarge). You can also choose optimal to pick instance types (from - * the C, M, and R instance families) on the fly that match the demand of your job queues.

    + *

    The maximum number of Amazon EC2 vCPUs that an environment can reach.

    */ - instanceTypes: string[] | undefined; + maxvCpus: number | undefined; /** *

    The desired number of Amazon EC2 vCPUS in the compute environment.

    @@ -328,42 +368,33 @@ export interface ComputeResource { desiredvCpus?: number; /** - *

    The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security - * groups must be specified, either in securityGroupIds or using a launch template referenced in - * launchTemplate. If security groups are specified using both securityGroupIds and - * launchTemplate, the values in securityGroupIds will be used.

    + *

    The instances types that may be launched. You can specify instance families to launch any instance type within + * those families (for example, c5 or p3), or you can specify specific sizes within a family + * (such as c5.8xlarge). You can also choose optimal to pick instance types (from the C, M, + * and R instance families) on the fly that match the demand of your job queues.

    */ - securityGroupIds?: string[]; + instanceTypes: string[] | undefined; /** - *

    The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is - * DISABLED).

    + *

    The Amazon Machine Image (AMI) ID used for instances launched in the compute + * environment. This parameter is overridden by + * the imageIdOverride member of the Ec2Configuration structure.

    */ - minvCpus: number | undefined; + imageId?: string; /** - *

    The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that - * instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price - * must be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price - * and never more than your maximum percentage. If you leave this field empty, the default value is 100% of the - * On-Demand price.

    + *

    The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the Amazon + * VPC User Guide.

    */ - bidPercentage?: number; + subnets: string[] | undefined; /** - *

    The allocation strategy to use for the compute resource in case not enough instances of the best fitting - * instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If - * this is not specified, the default is BEST_FIT, which will use only the best fitting instance type, - * waiting for additional capacity if it's not available. This allocation strategy keeps costs lower but can limit - * scaling. If you are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified. - * BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the - * requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU. - * SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select - * additional instance types that are large enough to meet the requirements of the jobs in the queue, with a - * preference for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in - * the AWS Batch User Guide.

    + *

    The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security + * groups must be specified, either in securityGroupIds or using a launch template referenced in + * launchTemplate. If security groups are specified using both securityGroupIds and + * launchTemplate, the values in securityGroupIds will be used.

    */ - allocationStrategy?: CRAllocationStrategy | string; + securityGroupIds?: string[]; /** *

    The Amazon EC2 key pair that is used for instances launched in the compute environment.

    @@ -371,44 +402,68 @@ export interface ComputeResource { ec2KeyPair?: string; /** - *

    Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, - * these take the form of "String1": "String2", where String1 is the tag key and String2 is the tag value—for - * example, { "Name": "AWS Batch Instance - C4OnDemand" - * }. These tags can not be updated or removed - * after the compute environment has been created; any changes require creating a new compute environment and - * removing the old compute environment. These tags are not seen when using the AWS Batch ListTagsForResource API - * operation.

    + *

    The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name + * or full Amazon Resource Name (ARN) of an instance profile. For example, + * + * ecsInstanceRole + * or + * arn:aws:iam:::instance-profile/ecsInstanceRole + * . + * For more information, see Amazon ECS Instance + * Role in the AWS Batch User Guide.

    + */ + instanceRole: string | undefined; + + /** + *

    Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, these + * take the form of "String1": "String2", where String1 is the tag key and String2 is the tag value—for example, { + * "Name": "AWS Batch Instance - C4OnDemand" }. + * These tags can not be updated or removed after the compute environment has been created; any changes require creating + * a new compute environment and removing the old compute environment. These tags are not seen when using the AWS Batch + * ListTagsForResource API operation.

    */ tags?: { [key: string]: string }; /** - *

    The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node - * parallel jobs to your compute environment, you should consider creating a cluster placement group and associate it - * with your compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a - * single Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide - * for Linux Instances.

    + *

    The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node parallel + * jobs to your compute environment, you should consider creating a cluster placement group and associate it with your + * compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a single + * Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide for + * Linux Instances.

    */ placementGroup?: string; /** - *

    The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the - * Amazon VPC User Guide.

    + *

    The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that + * instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price must + * be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price and + * never more than your maximum percentage. If you leave this field empty, the default value is 100% of the On-Demand + * price.

    */ - subnets: string[] | undefined; + bidPercentage?: number; + + /** + *

    The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment. + * This role is required if the allocation + * strategy set to BEST_FIT or if the allocation strategy is not specified. For more + * information, see Amazon EC2 Spot Fleet + * Role in the AWS Batch User Guide.

    + */ + spotIamFleetRole?: string; /** - *

    The launch template to use for your compute resources. Any other compute resource parameters that you specify - * in a CreateComputeEnvironment API operation override the same parameters in the launch template. - * You must specify either the launch template ID or launch template name in the request, but not both. For more + *

    The launch template to use for your compute resources. Any other compute resource parameters that you specify in + * a CreateComputeEnvironment API operation override the same parameters in the launch template. You + * must specify either the launch template ID or launch template name in the request, but not both. For more * information, see Launch Template * Support in the AWS Batch User Guide.

    */ launchTemplate?: LaunchTemplateSpecification; /** - *

    The maximum number of Amazon EC2 vCPUs that an environment can reach.

    + *

    Provides additional details used to selecting the AMI to use for instances in a compute environment.

    */ - maxvCpus: number | undefined; + ec2Configuration?: Ec2Configuration[]; } export namespace ComputeResource { @@ -428,16 +483,6 @@ export enum CEType { } export interface CreateComputeEnvironmentRequest { - /** - *

    The tags that you apply to the compute environment to help you categorize and organize your resources. Each - * tag consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General - * Reference.

    - * - *

    These tags can be updated or removed using the TagResource and UntagResource API operations. These tags do not - * propagate to the underlying compute resources.

    - */ - tags?: { [key: string]: string }; - /** *

    The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and * underscores are allowed.

    @@ -450,6 +495,12 @@ export interface CreateComputeEnvironmentRequest { */ type: CEType | string | undefined; + /** + *

    The state of the compute environment. If the state is ENABLED, then the compute environment accepts + * jobs from a queue and can scale out automatically based on queues.

    + */ + state?: CEState | string; + /** *

    Details of the compute resources managed by the compute environment. This parameter is required for managed * compute environments. For more information, see Compute Environments in the @@ -463,19 +514,23 @@ export interface CreateComputeEnvironmentRequest { *

    If your specified role has a path other than /, then you must either specify the full role ARN * (this is recommended) or prefix the role name with the path.

    * - *

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role - * path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the - * service-role path prefix. Because of this, we recommend that you specify the full ARN of your - * service role when you create compute environments.

    + *

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role path + * prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the + * service-role path prefix. Because of this, we recommend that you specify the full ARN of your service + * role when you create compute environments.

    *
    */ serviceRole: string | undefined; /** - *

    The state of the compute environment. If the state is ENABLED, then the compute environment - * accepts jobs from a queue and can scale out automatically based on queues.

    + *

    The tags that you apply to the compute environment to help you categorize and organize your resources. Each tag + * consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

    + * + *

    These tags can be updated or removed using the TagResource and UntagResource API operations. These tags do not + * propagate to the underlying compute resources.

    */ - state?: CEState | string; + tags?: { [key: string]: string }; } export namespace CreateComputeEnvironmentRequest { @@ -509,14 +564,14 @@ export namespace CreateComputeEnvironmentResponse { */ export interface ComputeEnvironmentOrder { /** - *

    The Amazon Resource Name (ARN) of the compute environment.

    + *

    The order of the compute environment.

    */ - computeEnvironment: string | undefined; + order: number | undefined; /** - *

    The order of the compute environment.

    + *

    The Amazon Resource Name (ARN) of the compute environment.

    */ - order: number | undefined; + computeEnvironment: string | undefined; } export namespace ComputeEnvironmentOrder { @@ -531,6 +586,11 @@ export enum JQState { } export interface CreateJobQueueRequest { + /** + *

    The name of the job queue.

    + */ + jobQueueName: string | undefined; + /** *

    The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs. If the * job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already in the queue can @@ -538,33 +598,28 @@ export interface CreateJobQueueRequest { */ state?: JQState | string; - /** - *

    The tags that you apply to the job queue to help you categorize and organize your resources. Each tag consists - * of a key and an optional value. For more information, see Tagging AWS Resources in AWS General - * Reference.

    - */ - tags?: { [key: string]: string }; - /** *

    The priority of the job queue. Job queues with a higher priority (or a higher integer value for the - * priority parameter) are evaluated first when associated with the same compute environment. Priority - * is determined in descending order, for example, a job queue with a priority value of 10 is given - * scheduling preference over a job queue with a priority value of 1.

    + * priority parameter) are evaluated first when associated with the same compute environment. Priority is + * determined in descending order, for example, a job queue with a priority value of 10 is given scheduling + * preference over a job queue with a priority value of 1.

    */ priority: number | undefined; /** - *

    The name of the job queue.

    + *

    The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler + * uses this parameter to determine which compute environment should execute a given job. Compute environments must be + * in the VALID state before you can associate them with a job queue. You can associate up to three compute + * environments with a job queue.

    */ - jobQueueName: string | undefined; + computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; /** - *

    The set of compute environments mapped to a job queue and their order relative to each other. The job - * scheduler uses this parameter to determine which compute environment should execute a given job. Compute - * environments must be in the VALID state before you can associate them with a job queue. You can - * associate up to three compute environments with a job queue.

    + *

    The tags that you apply to the job queue to help you categorize and organize your resources. Each tag consists + * of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

    */ - computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; + tags?: { [key: string]: string }; } export namespace CreateJobQueueRequest { @@ -635,8 +690,7 @@ export namespace DeleteJobQueueResponse { export interface DeregisterJobDefinitionRequest { /** - *

    The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to - * deregister.

    + *

    The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to deregister.

    */ jobDefinition: string | undefined; } @@ -656,6 +710,22 @@ export namespace DeregisterJobDefinitionResponse { } export interface DescribeComputeEnvironmentsRequest { + /** + *

    A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.

    + */ + computeEnvironments?: string[]; + + /** + *

    The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. + * When this parameter is used, DescribeComputeEnvironments only returns maxResults results in + * a single page along with a nextToken response element. The remaining results of the initial request can + * be seen by sending another DescribeComputeEnvironments request with the returned nextToken + * value. This value can be between 1 and 100. If this parameter is not used, then + * DescribeComputeEnvironments returns up to 100 results and a nextToken + * value if applicable.

    + */ + maxResults?: number; + /** *

    The nextToken value returned from a previous paginated DescribeComputeEnvironments * request where maxResults was used and the results exceeded the value of that parameter. Pagination @@ -667,22 +737,6 @@ export interface DescribeComputeEnvironmentsRequest { * */ nextToken?: string; - - /** - *

    The maximum number of cluster results returned by DescribeComputeEnvironments in paginated - * output. When this parameter is used, DescribeComputeEnvironments only returns maxResults - * results in a single page along with a nextToken response element. The remaining results of the - * initial request can be seen by sending another DescribeComputeEnvironments request with the returned - * nextToken value. This value can be between 1 and 100. If this - * parameter is not used, then DescribeComputeEnvironments returns up to 100 results - * and a nextToken value if applicable.

    - */ - maxResults?: number; - - /** - *

    A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.

    - */ - computeEnvironments?: string[]; } export namespace DescribeComputeEnvironmentsRequest { @@ -705,40 +759,15 @@ export enum CEStatus { */ export interface ComputeEnvironmentDetail { /** - *

    A short, human-readable string to provide additional details about the current status of the compute - * environment.

    - */ - statusReason?: string; - - /** - *

    The service role associated with the compute environment that allows AWS Batch to make calls to AWS API - * operations on your behalf.

    + *

    The name of the compute environment.

    */ - serviceRole?: string; + computeEnvironmentName: string | undefined; /** *

    The Amazon Resource Name (ARN) of the compute environment.

    */ computeEnvironmentArn: string | undefined; - /** - *

    The state of the compute environment. The valid values are ENABLED or - * DISABLED.

    - *

    If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated - * job queue on the compute resources within the environment. If the compute environment is managed, then it can - * scale its instances out or in automatically, based on the job queue demand.

    - *

    If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the - * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed - * compute environments in the DISABLED state do not scale out. However, they scale in to - * minvCpus value after instances become idle.

    - */ - state?: CEState | string; - - /** - *

    The compute resources defined for the compute environment.

    - */ - computeResources?: ComputeResource; - /** *

    The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the compute environment.

    */ @@ -749,21 +778,44 @@ export interface ComputeEnvironmentDetail { */ tags?: { [key: string]: string }; - /** - *

    The current status of the compute environment (for example, CREATING or - * VALID).

    - */ - status?: CEStatus | string; - /** *

    The type of the compute environment.

    */ type?: CEType | string; /** - *

    The name of the compute environment.

    - */ - computeEnvironmentName: string | undefined; + *

    The state of the compute environment. The valid values are ENABLED or DISABLED.

    + *

    If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated + * job queue on the compute resources within the environment. If the compute environment is managed, then it can scale + * its instances out or in automatically, based on the job queue demand.

    + *

    If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the + * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed + * compute environments in the DISABLED state do not scale out. However, they scale in to + * minvCpus value after instances become idle.

    + */ + state?: CEState | string; + + /** + *

    The current status of the compute environment (for example, CREATING or VALID).

    + */ + status?: CEStatus | string; + + /** + *

    A short, human-readable string to provide additional details about the current status of the compute + * environment.

    + */ + statusReason?: string; + + /** + *

    The compute resources defined for the compute environment.

    + */ + computeResources?: ComputeResource; + + /** + *

    The service role associated with the compute environment that allows AWS Batch to make calls to AWS API + * operations on your behalf.

    + */ + serviceRole?: string; } export namespace ComputeEnvironmentDetail { @@ -774,17 +826,17 @@ export namespace ComputeEnvironmentDetail { export interface DescribeComputeEnvironmentsResponse { /** - *

    The nextToken value to include in a future DescribeComputeEnvironments request. When - * the results of a DescribeJobDefinitions request exceed maxResults, this value can be - * used to retrieve the next page of results. This value is null when there are no more results to - * return.

    + *

    The list of compute environments.

    */ - nextToken?: string; + computeEnvironments?: ComputeEnvironmentDetail[]; /** - *

    The list of compute environments.

    + *

    The nextToken value to include in a future DescribeComputeEnvironments request. When + * the results of a DescribeJobDefinitions request exceed maxResults, this value can be used + * to retrieve the next page of results. This value is null when there are no more results to + * return.

    */ - computeEnvironments?: ComputeEnvironmentDetail[]; + nextToken?: string; } export namespace DescribeComputeEnvironmentsResponse { @@ -795,25 +847,18 @@ export namespace DescribeComputeEnvironmentsResponse { export interface DescribeJobDefinitionsRequest { /** - *

    The nextToken value returned from a previous paginated DescribeJobDefinitions - * request where maxResults was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the nextToken value. This value is - * null when there are no more results to return.

    - * - *

    This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

    - *
    + *

    A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

    */ - nextToken?: string; + jobDefinitions?: string[]; /** *

    The maximum number of results returned by DescribeJobDefinitions in paginated output. When this - * parameter is used, DescribeJobDefinitions only returns maxResults results in a single - * page along with a nextToken response element. The remaining results of the initial request can be - * seen by sending another DescribeJobDefinitions request with the returned nextToken - * value. This value can be between 1 and 100. If this parameter is not used, then - * DescribeJobDefinitions returns up to 100 results and a nextToken - * value if applicable.

    + * parameter is used, DescribeJobDefinitions only returns maxResults results in a single page + * along with a nextToken response element. The remaining results of the initial request can be seen by + * sending another DescribeJobDefinitions request with the returned nextToken value. This + * value can be between 1 and 100. If this parameter is not used, then + * DescribeJobDefinitions returns up to 100 results and a nextToken value + * if applicable.

    */ maxResults?: number; @@ -828,9 +873,16 @@ export interface DescribeJobDefinitionsRequest { status?: string; /** - *

    A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

    + *

    The nextToken value returned from a previous paginated DescribeJobDefinitions request + * where maxResults was used and the results exceeded the value of that parameter. Pagination continues + * from the end of the previous results that returned the nextToken value. This value is null + * when there are no more results to return.

    + * + *

    This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

    + *
    */ - jobDefinitions?: string[]; + nextToken?: string; } export namespace DescribeJobDefinitionsRequest { @@ -844,8 +896,7 @@ export namespace DescribeJobDefinitionsRequest { */ export interface KeyValuePair { /** - *

    The name of the key-value pair. For environment variables, this is the name of the environment - * variable.

    + *

    The name of the key-value pair. For environment variables, this is the name of the environment variable.

    */ name?: string; @@ -873,21 +924,21 @@ export enum DeviceCgroupPermission { */ export interface Device { /** - *

    The explicit permissions to provide to the container for the device. By default, the container has permissions - * for read, write, and mknod for the device.

    + *

    The path for the device on the host container instance.

    */ - permissions?: (DeviceCgroupPermission | string)[]; + hostPath: string | undefined; /** - *

    The path inside the container at which to expose the host device. By default the hostPath value - * is used.

    + *

    The path inside the container at which to expose the host device. By default the hostPath value is + * used.

    */ containerPath?: string; /** - *

    The path for the device on the host container instance.

    + *

    The explicit permissions to provide to the container for the device. By default, the container has permissions + * for read, write, and mknod for the device.

    */ - hostPath: string | undefined; + permissions?: (DeviceCgroupPermission | string)[]; } export namespace Device { @@ -900,6 +951,16 @@ export namespace Device { *

    The container path, mount options, and size of the tmpfs mount.

    */ export interface Tmpfs { + /** + *

    The absolute file path in the container where the tmpfs volume is to be mounted.

    + */ + containerPath: string | undefined; + + /** + *

    The size (in MiB) of the tmpfs volume.

    + */ + size: number | undefined; + /** *

    The list of tmpfs volume mount options.

    *

    Valid values: "defaults" | "ro" | "rw" | "suid" | @@ -912,16 +973,6 @@ export interface Tmpfs { * "gid" | "nr_inodes" | "nr_blocks" | "mpol"

    */ mountOptions?: string[]; - - /** - *

    The size (in MiB) of the tmpfs volume.

    - */ - size: number | undefined; - - /** - *

    The absolute file path in the container where the tmpfs volume is to be mounted.

    - */ - containerPath: string | undefined; } export namespace Tmpfs { @@ -935,57 +986,58 @@ export namespace Tmpfs { */ export interface LinuxParameters { /** - *

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the - * --tmpfs option to docker run.

    + *

    Any host devices to expose to the container. This parameter maps to Devices in the + * Create a container section of the Docker Remote API and the --device option to docker run.

    */ - tmpfs?: Tmpfs[]; + devices?: Device[]; /** - *

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the - * --shm-size option to docker run.

    + *

    If true, run an init process inside the container that forwards signals and reaps processes. This + * parameter maps to the --init option to docker run. + * This parameter requires version 1.25 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

    */ - sharedMemorySize?: number; + initProcessEnabled?: boolean; /** - *

    Any host devices to expose to the container. This parameter maps to Devices in the - * Create a container section of the Docker Remote API and the --device option to docker run.

    + *

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the + * --shm-size option to docker run.

    */ - devices?: Device[]; + sharedMemorySize?: number; /** - *

    This allows you to tune a container's memory swappiness behavior. A swappiness value of - * 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of - * 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between - * 0 and 100. If the swappiness parameter is not specified, a default value - * of 60 is used. If a value is not specified for maxSwap then this parameter is ignored. - * This parameter maps to the --memory-swappiness option to docker - * run.

    + *

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the + * --tmpfs option to docker run.

    */ - swappiness?: number; + tmpfs?: Tmpfs[]; /** *

    The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the - * --memory-swap option to docker run where the value - * would be the sum of the container memory plus the maxSwap value. For more information, + * --memory-swap option to docker run where the value would be + * the sum of the container memory plus the maxSwap + * value. For more information, * see * --memory-swap details in the Docker * documentation.

    - *

    If a maxSwap value of 0 is specified, the container will not use swap. Accepted - * values are 0 or any positive integer. If the maxSwap parameter is omitted, the container - * will use the swap configuration for the container instance it is running on. A maxSwap value must be - * set for the swappiness parameter to be used.

    + *

    If a maxSwap value of 0 is specified, the container will not use swap. Accepted values + * are 0 or any positive integer. If the maxSwap parameter is omitted, the container will use + * the swap configuration for the container instance it is running on. A maxSwap value must be set for the + * swappiness parameter to be used.

    */ maxSwap?: number; /** - *

    If true, run an init process inside the container that forwards signals and reaps processes. This - * parameter maps to the --init option to docker run. - * This parameter requires version 1.25 of the Docker Remote API or greater on your - * container instance. To check the Docker Remote API version on your container instance, log into your - * container instance and run the following command: sudo docker version | grep "Server API version" - *

    + *

    This allows you to tune a container's memory swappiness behavior. A swappiness value of + * 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of + * 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between + * 0 and 100. If the swappiness parameter is not specified, a default value of + * 60 is used. If a value is not specified for maxSwap then this parameter is ignored. This + * parameter maps to the --memory-swappiness option to docker + * run.

    */ - initProcessEnabled?: boolean; + swappiness?: number; } export namespace LinuxParameters { @@ -1009,33 +1061,33 @@ export enum LogDriver { * following ways:

    *
      *
    • - *

      To inject sensitive data into your containers as environment variables, use the secrets - * container definition parameter.

      + *

      To inject sensitive data into your containers as environment variables, use the secrets container + * definition parameter.

      *
    • *
    • - *

      To reference sensitive information in the log configuration of a container, use the - * secretOptions container definition parameter.

      + *

      To reference sensitive information in the log configuration of a container, use the secretOptions + * container definition parameter.

      *
    • *
    *

    For more information, see Specifying Sensitive Data in the * Amazon Elastic Container Service Developer Guide.

    */ export interface Secret { + /** + *

    The name of the secret.

    + */ + name: string | undefined; + /** *

    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the * full ARN of the parameter in the AWS Systems Manager Parameter Store.

    * *

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you are launching, then you can - * use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full - * ARN must be specified.

    + * use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN + * must be specified.

    *
    */ valueFrom: string | undefined; - - /** - *

    The name of the secret.

    - */ - name: string | undefined; } export namespace Secret { @@ -1048,12 +1100,6 @@ export namespace Secret { *

    Log configuration options to send to a custom log driver for the container.

    */ export interface LogConfiguration { - /** - *

    The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the - * AWS Batch User Guide.

    - */ - secretOptions?: Secret[]; - /** *

    The log driver to use for the container. The valid values listed for this parameter are log drivers that the * Amazon ECS container agent can communicate with by default.

    @@ -1102,9 +1148,9 @@ export interface LogConfiguration { * * *

    If you have a custom driver that is not listed earlier that you would like to work with the Amazon ECS container - * agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that - * driver. We encourage you to submit pull requests for changes that you would like to have included. However, - * Amazon Web Services does not currently support running modified copies of this software.

    + * agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests + * for changes that you would like to have included. However, Amazon Web Services does not currently support running modified + * copies of this software.

    *
    *

    This parameter requires version 1.18 of the Docker Remote API or greater on your * container instance. To check the Docker Remote API version on your container instance, log into your @@ -1120,6 +1166,12 @@ export interface LogConfiguration { *

    */ options?: { [key: string]: string }; + + /** + *

    The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the + * AWS Batch User Guide.

    + */ + secretOptions?: Secret[]; } export namespace LogConfiguration { @@ -1166,17 +1218,17 @@ export enum ResourceType { * GPU.

    */ export interface ResourceRequirement { - /** - *

    The type of resource to assign to a container. Currently, the only supported resource type is - * GPU.

    - */ - type: ResourceType | string | undefined; - /** *

    The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a * job should not exceed the number of available GPUs on the compute resource that the job is launched on.

    */ value: string | undefined; + + /** + *

    The type of resource to assign to a container. Currently, the only supported resource type is + * GPU.

    + */ + type: ResourceType | string | undefined; } export namespace ResourceRequirement { @@ -1190,9 +1242,9 @@ export namespace ResourceRequirement { */ export interface Ulimit { /** - *

    The soft limit for the ulimit type.

    + *

    The hard limit for the ulimit type.

    */ - softLimit: number | undefined; + hardLimit: number | undefined; /** *

    The type of the ulimit.

    @@ -1200,9 +1252,9 @@ export interface Ulimit { name: string | undefined; /** - *

    The hard limit for the ulimit type.

    + *

    The soft limit for the ulimit type.

    */ - hardLimit: number | undefined; + softLimit: number | undefined; } export namespace Ulimit { @@ -1213,16 +1265,16 @@ export namespace Ulimit { /** *

    Determine whether your data volume persists on the host container instance and where it is stored. If this - * parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not - * guaranteed to persist after the containers associated with it stop running.

    + * parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed + * to persist after the containers associated with it stop running.

    */ export interface Host { /** - *

    The path on the host container instance that is presented to the container. If this parameter is empty, then - * the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data - * volume persists at the specified location on the host container instance until you delete it manually. If the - * source path location does not exist on the host container instance, the Docker daemon creates it. If the location - * does exist, the contents of the source path folder are exported.

    + *

    The path on the host container instance that is presented to the container. If this parameter is empty, then the + * Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume + * persists at the specified location on the host container instance until you delete it manually. If the source path + * location does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the + * contents of the source path folder are exported.

    */ sourcePath?: string; } @@ -1237,20 +1289,20 @@ export namespace Host { *

    A data volume used in a job's container properties.

    */ export interface Volume { + /** + *

    The contents of the host parameter determine whether your data volume persists on the host + * container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path + * for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop + * running.

    + */ + host?: Host; + /** *

    The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed. This name is referenced in the sourceVolume * parameter of container definition mountPoints.

    */ name?: string; - - /** - *

    The contents of the host parameter determine whether your data volume persists on the host - * container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host - * path for your data volume. However, the data is not guaranteed to persist after the containers associated with it - * stop running.

    - */ - host?: Host; } export namespace Volume { @@ -1264,78 +1316,15 @@ export namespace Volume { * job.

    */ export interface ContainerProperties { - /** - *

    A list of ulimits to set in the container. This parameter maps to Ulimits in the - * Create a container section of the Docker Remote API and the --ulimit option to docker run.

    - */ - ulimits?: Ulimit[]; - - /** - *

    The type and amount of a resource to assign to a container. Currently, the only supported resource is - * GPU.

    - */ - resourceRequirements?: ResourceRequirement[]; - - /** - *

    When this parameter is true, the container is given elevated privileges on the host container instance - * (similar to the root user). This parameter maps to Privileged in the - * Create a container section of the Docker Remote API and the --privileged option to - * docker run.

    - */ - privileged?: boolean; - - /** - *

    When this parameter is true, the container is given read-only access to its root file system. This parameter - * maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and - * the --read-only option to docker run.

    - */ - readonlyRootFilesystem?: boolean; - - /** - *

    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

    - */ - executionRoleArn?: string; - - /** - *

    The mount points for data volumes in your container. This parameter maps to Volumes in the - * Create a container section of the Docker Remote API and the --volume option to docker run.

    - */ - mountPoints?: MountPoint[]; - - /** - *

    Linux-specific modifications that are applied to the container, such as details for device mappings.

    - */ - linuxParameters?: LinuxParameters; - - /** - *

    The user name to use inside the container. This parameter maps to User in the - * Create a container section of the Docker Remote API and the --user option to docker run.

    - */ - user?: string; - - /** - *

    The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory - * specified here, the container is killed. This parameter maps to Memory in the - * Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job. This is required but can be specified - * in several places for multi-node parallel (MNP) jobs; it must be specified for each node at least - * once.

    - * - *

    If you are trying to maximize your resource utilization by providing your jobs as much memory as possible - * for a particular instance type, see Memory - * Management in the AWS Batch User Guide.

    - *
    - */ - memory?: number; - /** *

    The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker * Hub registry are available by default. Other repositories are specified with * * repository-url/image:tag * . - * Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, - * periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section - * of the Docker Remote API and the IMAGE parameter of docker + * Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, + * periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of + * the Docker Remote API and the IMAGE parameter of docker * run.

    *
      *
    • @@ -1359,63 +1348,50 @@ export interface ContainerProperties { image?: string; /** - *

      The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

      + *

      The number of vCPUs reserved for the container. This parameter maps to CpuShares in the + * Create a container section of the Docker Remote API and the --cpu-shares option to + * docker run. Each vCPU is equivalent to 1,024 CPU shares. You must + * specify at least one vCPU. This is required + * but can be specified in several places for multi-node parallel (MNP) jobs; it must be specified for each node at + * least once.

      */ - jobRoleArn?: string; + vcpus?: number; /** - *

      A list of data volumes used in a job.

      + *

      The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory + * specified here, the container is killed. This parameter maps to Memory in the + * Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a + * job. This is required but can be specified in + * several places for multi-node parallel (MNP) jobs; it must be specified for each node at least + * once.

      + * + *

      If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a + * particular instance type, see Memory + * Management in the AWS Batch User Guide.

      + *
      */ - volumes?: Volume[]; + memory?: number; /** - *

      The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job - * must use the same instance type. This parameter is not valid for single-node container jobs.

      + *

      The command that is passed to the container. This parameter maps to Cmd in the + * Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

      */ - instanceType?: string; + command?: string[]; /** - *

      The log configuration specification for the container.

      - *

      This parameter maps to LogConfig in the Create a container section of the - * Docker Remote API and the --log-driver option to docker - * run. By default, containers use the same logging driver that the Docker daemon uses. However the - * container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter - * in the container definition. To use a different logging driver for a container, the log system must be configured - * properly on the container instance (or on a different log server for remote logging options). For more information - * on the options for different supported log drivers, see Configure logging drivers in the Docker - * documentation.

      - * - *

      AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

      - *
      - *

      This parameter requires version 1.18 of the Docker Remote API or greater on your - * container instance. To check the Docker Remote API version on your container instance, log into your - * container instance and run the following command: sudo docker version | grep "Server API version" - *

      - * - *

      The Amazon ECS container agent running on a container instance must register the logging drivers available on - * that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed - * on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the - * Amazon Elastic Container Service Developer Guide.

      - *
      + *

      The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

      */ - logConfiguration?: LogConfiguration; + jobRoleArn?: string; /** - *

      The command that is passed to the container. This parameter maps to Cmd in the - * Create a container section of the Docker Remote API and the COMMAND parameter to - * docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

      + *

      The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

      */ - command?: string[]; + executionRoleArn?: string; /** - *

      The number of vCPUs reserved for the container. This parameter maps to CpuShares in the - * Create a container section of the Docker Remote API and the --cpu-shares option to - * docker run. Each vCPU is equivalent to 1,024 CPU shares. You must - * specify at least one vCPU. This is required - * but can be specified in several places for multi-node parallel (MNP) jobs; it must be specified for each node at - * least once.

      + *

      A list of data volumes used in a job.

      */ - vcpus?: number; + volumes?: Volume[]; /** *

      The environment variables to pass to a container. This parameter maps to Env in the @@ -1431,6 +1407,82 @@ export interface ContainerProperties { */ environment?: KeyValuePair[]; + /** + *

      The mount points for data volumes in your container. This parameter maps to Volumes in the + * Create a container section of the Docker Remote API and the --volume option to docker run.

      + */ + mountPoints?: MountPoint[]; + + /** + *

      When this parameter is true, the container is given read-only access to its root file system. This parameter + * maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and + * the --read-only option to docker run.

      + */ + readonlyRootFilesystem?: boolean; + + /** + *

      When this parameter is true, the container is given elevated privileges on the host container instance (similar + * to the root user). This parameter maps to Privileged in the + * Create a container section of the Docker Remote API and the --privileged option to + * docker run.

      + */ + privileged?: boolean; + + /** + *

      A list of ulimits to set in the container. This parameter maps to Ulimits in the + * Create a container section of the Docker Remote API and the --ulimit option to docker run.

      + */ + ulimits?: Ulimit[]; + + /** + *

      The user name to use inside the container. This parameter maps to User in the + * Create a container section of the Docker Remote API and the --user option to docker run.

      + */ + user?: string; + + /** + *

      The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job + * must use the same instance type. This parameter is not valid for single-node container jobs.

      + */ + instanceType?: string; + + /** + *

      The type and amount of a resource to assign to a container. Currently, the only supported resource is + * GPU.

      + */ + resourceRequirements?: ResourceRequirement[]; + + /** + *

      Linux-specific modifications that are applied to the container, such as details for device mappings.

      + */ + linuxParameters?: LinuxParameters; + + /** + *

      The log configuration specification for the container.

      + *

      This parameter maps to LogConfig in the Create a container section of the + * Docker Remote API and the --log-driver option to docker run. + * By default, containers use the same logging driver that the Docker daemon uses. However the container may use a + * different logging driver than the Docker daemon by specifying a log driver with this parameter in the container + * definition. To use a different logging driver for a container, the log system must be configured properly on the + * container instance (or on a different log server for remote logging options). For more information on the options for + * different supported log drivers, see Configure + * logging drivers in the Docker documentation.

      + * + *

      AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

      + *
      + *

      This parameter requires version 1.18 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

      + * + *

      The Amazon ECS container agent running on a container instance must register the logging drivers available on that + * instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that + * instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the + * Amazon Elastic Container Service Developer Guide.

      + *
      + */ + logConfiguration?: LogConfiguration; + /** *

      The secrets for the container. For more information, see Specifying Sensitive Data in the * Amazon Elastic Container Service Developer Guide.

      @@ -1449,19 +1501,18 @@ export namespace ContainerProperties { */ export interface NodeRangeProperty { /** - *

      The container details for the node range.

      + *

      The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of + * 0 through 3. If the starting range value is omitted (:n), then 0 + * is used to start the range. If the ending range value is omitted (n:), then the highest possible node + * index is used to end the range. Your accumulative node ranges must account for all nodes (0:n). You may nest node + * ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10 properties.

      */ - container?: ContainerProperties; + targetNodes: string | undefined; /** - *

      The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of - * 0 through 3. If the starting range value is omitted (:n), then - * 0 is used to start the range. If the ending range value is omitted (n:), then the - * highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes - * (0:n). You may nest node ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the - * 0:10 properties.

      + *

      The container details for the node range.

      */ - targetNodes: string | undefined; + container?: ContainerProperties; } export namespace NodeRangeProperty { @@ -1474,11 +1525,6 @@ export namespace NodeRangeProperty { *

      An object representing the node properties of a multi-node parallel job.

      */ export interface NodeProperties { - /** - *

      A list of node ranges and their properties associated with a multi-node parallel job.

      - */ - nodeRangeProperties: NodeRangeProperty[] | undefined; - /** *

      The number of nodes associated with a multi-node parallel job.

      */ @@ -1489,6 +1535,11 @@ export interface NodeProperties { * than the number of nodes.

      */ mainNode: number | undefined; + + /** + *

      A list of node ranges and their properties associated with a multi-node parallel job.

      + */ + nodeRangeProperties: NodeRangeProperty[] | undefined; } export namespace NodeProperties { @@ -1508,17 +1559,11 @@ export enum RetryAction { */ export interface EvaluateOnExit { /** - *

      Contains a glob pattern to match against the decimal representation of the ExitCode returned for a - * job. The patten can be up to 512 characters long, can contain only numbers, and can optionally end with an asterisk - * (*) so that only the start of the string needs to be an exact match.

      - */ - onExitCode?: string; - - /** - *

      Specifies the action to take if all of the specified conditions (onStatusReason, - * onReason, and onExitCode) are met.

      + *

      Contains a glob pattern to match against the StatusReason returned for a job. The patten can be up + * to 512 characters long, can contain letters, numbers, periods (.), colons (:), and whitespace (spaces, tabs). and can + * optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.

      */ - action: RetryAction | string | undefined; + onStatusReason?: string; /** *

      Contains a glob pattern to match against the Reason returned for a job. The patten can be up to 512 @@ -1528,11 +1573,17 @@ export interface EvaluateOnExit { onReason?: string; /** - *

      Contains a glob pattern to match against the StatusReason returned for a job. The patten can be up - * to 512 characters long, can contain letters, numbers, periods (.), colons (:), and whitespace (spaces, tabs). and can - * optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.

      + *

      Contains a glob pattern to match against the decimal representation of the ExitCode returned for a + * job. The patten can be up to 512 characters long, can contain only numbers, and can optionally end with an asterisk + * (*) so that only the start of the string needs to be an exact match.

      */ - onStatusReason?: string; + onExitCode?: string; + + /** + *

      Specifies the action to take if all of the specified conditions (onStatusReason, + * onReason, and onExitCode) are met.

      + */ + action: RetryAction | string | undefined; } export namespace EvaluateOnExit { @@ -1547,8 +1598,8 @@ export namespace EvaluateOnExit { export interface RetryStrategy { /** *

      The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 - * attempts. If the value of attempts is greater than one, the job is retried on failure the same number - * of attempts as the value.

      + * attempts. If the value of attempts is greater than one, the job is retried on failure the same number of + * attempts as the value.

      */ attempts?: number; @@ -1588,14 +1639,14 @@ export namespace JobTimeout { */ export interface JobDefinition { /** - *

      The retry strategy to use for failed jobs that are submitted with this job definition.

      + *

      The name of the job definition.

      */ - retryStrategy?: RetryStrategy; + jobDefinitionName: string | undefined; /** - *

      The type of job definition.

      + *

      The Amazon Resource Name (ARN) for the job definition.

      */ - type: string | undefined; + jobDefinitionArn: string | undefined; /** *

      The revision of the job definition.

      @@ -1603,48 +1654,48 @@ export interface JobDefinition { revision: number | undefined; /** - *

      The tags applied to the job definition.

      + *

      The status of the job definition.

      */ - tags?: { [key: string]: string }; + status?: string; /** - *

      The status of the job definition.

      + *

      The type of job definition.

      */ - status?: string; + type: string | undefined; /** - *

      An object with various properties specific to multi-node parallel jobs.

      + *

      Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are + * specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding + * parameter defaults from the job definition. For more information about specifying parameters, see Job Definition Parameters + * in the AWS Batch User Guide.

      */ - nodeProperties?: NodeProperties; + parameters?: { [key: string]: string }; /** - *

      The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout - * duration after which AWS Batch terminates your jobs if they have not finished.

      + *

      The retry strategy to use for failed jobs that are submitted with this job definition.

      */ - timeout?: JobTimeout; + retryStrategy?: RetryStrategy; /** - *

      Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are - * specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding - * parameter defaults from the job definition. For more information about specifying parameters, see Job Definition - * Parameters in the AWS Batch User Guide.

      + *

      An object with various properties specific to container-based jobs.

      */ - parameters?: { [key: string]: string }; + containerProperties?: ContainerProperties; /** - *

      The Amazon Resource Name (ARN) for the job definition.

      + *

      The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout + * duration after which AWS Batch terminates your jobs if they have not finished.

      */ - jobDefinitionArn: string | undefined; + timeout?: JobTimeout; /** - *

      The name of the job definition.

      + *

      An object with various properties specific to multi-node parallel jobs.

      */ - jobDefinitionName: string | undefined; + nodeProperties?: NodeProperties; /** - *

      An object with various properties specific to container-based jobs.

      + *

      The tags applied to the job definition.

      */ - containerProperties?: ContainerProperties; + tags?: { [key: string]: string }; } export namespace JobDefinition { @@ -1655,17 +1706,16 @@ export namespace JobDefinition { export interface DescribeJobDefinitionsResponse { /** - *

      The nextToken value to include in a future DescribeJobDefinitions request. When the - * results of a DescribeJobDefinitions request exceed maxResults, this value can be used to - * retrieve the next page of results. This value is null when there are no more results to - * return.

      + *

      The list of job definitions.

      */ - nextToken?: string; + jobDefinitions?: JobDefinition[]; /** - *

      The list of job definitions.

      + *

      The nextToken value to include in a future DescribeJobDefinitions request. When the + * results of a DescribeJobDefinitions request exceed maxResults, this value can be used to + * retrieve the next page of results. This value is null when there are no more results to return.

      */ - jobDefinitions?: JobDefinition[]; + nextToken?: string; } export namespace DescribeJobDefinitionsResponse { @@ -1675,33 +1725,32 @@ export namespace DescribeJobDefinitionsResponse { } export interface DescribeJobQueuesRequest { + /** + *

      A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

      + */ + jobQueues?: string[]; + /** *

      The maximum number of results returned by DescribeJobQueues in paginated output. When this - * parameter is used, DescribeJobQueues only returns maxResults results in a single page - * along with a nextToken response element. The remaining results of the initial request can be seen by - * sending another DescribeJobQueues request with the returned nextToken value. This value - * can be between 1 and 100. If this parameter is not used, then - * DescribeJobQueues returns up to 100 results and a nextToken value if - * applicable.

      + * parameter is used, DescribeJobQueues only returns maxResults results in a single page along + * with a nextToken response element. The remaining results of the initial request can be seen by sending + * another DescribeJobQueues request with the returned nextToken value. This value can be + * between 1 and 100. If this parameter is not used, then DescribeJobQueues + * returns up to 100 results and a nextToken value if applicable.

      */ maxResults?: number; /** - *

      The nextToken value returned from a previous paginated DescribeJobQueues request - * where maxResults was used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken value. This value is - * null when there are no more results to return.

      + *

      The nextToken value returned from a previous paginated DescribeJobQueues request where + * maxResults was used and the results exceeded the value of that parameter. Pagination continues from the + * end of the previous results that returned the nextToken value. This value is null when + * there are no more results to return.

      * *

      This token should be treated as an opaque identifier that is only used to * retrieve the next items in a list and not for other programmatic purposes.

      *
      */ nextToken?: string; - - /** - *

      A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

      - */ - jobQueues?: string[]; } export namespace DescribeJobQueuesRequest { @@ -1724,26 +1773,15 @@ export enum JQStatus { */ export interface JobQueueDetail { /** - *

      The compute environments that are attached to the job queue and the order in which job placement is preferred. - * Compute environments are selected for job placement in ascending order.

      - */ - computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; - - /** - *

      A short, human-readable string to provide additional details about the current status of the job queue.

      + *

      The name of the job queue.

      */ - statusReason?: string; + jobQueueName: string | undefined; /** *

      The Amazon Resource Name (ARN) of the job queue.

      */ jobQueueArn: string | undefined; - /** - *

      The name of the job queue.

      - */ - jobQueueName: string | undefined; - /** *

      Describes the ability of the queue to accept new jobs. If the job queue state is ENABLED, it is * able to accept jobs. If the job queue state is DISABLED, new jobs cannot be added to the queue, but jobs @@ -1751,20 +1789,31 @@ export interface JobQueueDetail { */ state: JQState | string | undefined; + /** + *

      The status of the job queue (for example, CREATING or VALID).

      + */ + status?: JQStatus | string; + + /** + *

      A short, human-readable string to provide additional details about the current status of the job queue.

      + */ + statusReason?: string; + /** *

      The priority of the job queue.

      */ priority: number | undefined; /** - *

      The tags applied to the job queue.

      + *

      The compute environments that are attached to the job queue and the order in which job placement is preferred. + * Compute environments are selected for job placement in ascending order.

      */ - tags?: { [key: string]: string }; + computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; /** - *

      The status of the job queue (for example, CREATING or VALID).

      + *

      The tags applied to the job queue.

      */ - status?: JQStatus | string; + tags?: { [key: string]: string }; } export namespace JobQueueDetail { @@ -1780,10 +1829,9 @@ export interface DescribeJobQueuesResponse { jobQueues?: JobQueueDetail[]; /** - *

      The nextToken value to include in a future DescribeJobQueues request. When the - * results of a DescribeJobQueues request exceed maxResults, this value can be used to - * retrieve the next page of results. This value is null when there are no more results to - * return.

      + *

      The nextToken value to include in a future DescribeJobQueues request. When the results + * of a DescribeJobQueues request exceed maxResults, this value can be used to retrieve the + * next page of results. This value is null when there are no more results to return.

      */ nextToken?: string; } @@ -1812,63 +1860,48 @@ export namespace DescribeJobsRequest { */ export interface ContainerDetail { /** - *

      The type and amount of a resource to assign to a container. Currently, the only supported resource is - * GPU.

      + *

      The image used to start the container.

      */ - resourceRequirements?: ResourceRequirement[]; + image?: string; /** - *

      When this parameter is true, the container is given elevated privileges on the host container instance - * (similar to the root user).

      + *

      The number of VCPUs allocated for the job. This is a required parameter.

      */ - privileged?: boolean; + vcpus?: number; /** - *

      The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

      + *

      The number of MiB of memory reserved for the job. This is a required parameter.

      */ - executionRoleArn?: string; + memory?: number; /** - *

      The number of VCPUs allocated for the job. This is a required parameter.

      + *

      The command that is passed to the container.

      */ - vcpus?: number; + command?: string[]; /** - *

      When this parameter is true, the container is given read-only access to its root file system.

      + *

      The Amazon Resource Name (ARN) associated with the job upon execution.

      */ - readonlyRootFilesystem?: boolean; + jobRoleArn?: string; /** - *

      A list of ulimit values to set in the container.

      + *

      The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

      */ - ulimits?: Ulimit[]; + executionRoleArn?: string; /** - *

      The log configuration specification for the container.

      - *

      This parameter maps to LogConfig in the Create a container section of the - * Docker Remote API and the --log-driver option to docker - * run. By default, containers use the same logging driver that the Docker daemon uses. However the - * container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter - * in the container definition. To use a different logging driver for a container, the log system must be configured - * properly on the container instance (or on a different log server for remote logging options). For more information - * on the options for different supported log drivers, see Configure logging drivers in the Docker - * documentation.

      - * - *

      AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the - * Amazon ECS container agent.

      - *
      - *

      This parameter requires version 1.18 of the Docker Remote API or greater on your - * container instance. To check the Docker Remote API version on your container instance, log into your - * container instance and run the following command: sudo docker version | grep "Server API version" - *

      + *

      A list of volumes associated with the job.

      + */ + volumes?: Volume[]; + + /** + *

      The environment variables to pass to a container.

      * - *

      The Amazon ECS container agent running on a container instance must register the logging drivers available on - * that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed - * on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the - * Amazon Elastic Container Service Developer Guide.

      + *

      Environment variables must not start with AWS_BATCH; this naming + * convention is reserved for variables that are set by the AWS Batch service.

      *
      */ - logConfiguration?: LogConfiguration; + environment?: KeyValuePair[]; /** *

      The mount points for data volumes in your container.

      @@ -1876,19 +1909,20 @@ export interface ContainerDetail { mountPoints?: MountPoint[]; /** - *

      A list of volumes associated with the job.

      + *

      When this parameter is true, the container is given read-only access to its root file system.

      */ - volumes?: Volume[]; + readonlyRootFilesystem?: boolean; /** - *

      Linux-specific modifications that are applied to the container, such as details for device mappings.

      + *

      A list of ulimit values to set in the container.

      */ - linuxParameters?: LinuxParameters; + ulimits?: Ulimit[]; /** - *

      The Amazon Resource Name (ARN) of the container instance on which the container is running.

      + *

      When this parameter is true, the container is given elevated privileges on the host container instance (similar + * to the root user).

      */ - containerInstanceArn?: string; + privileged?: boolean; /** *

      The user name to use inside the container.

      @@ -1896,19 +1930,9 @@ export interface ContainerDetail { user?: string; /** - *

      The network interfaces associated with the job.

      - */ - networkInterfaces?: NetworkInterface[]; - - /** - *

      The number of MiB of memory reserved for the job. This is a required parameter.

      - */ - memory?: number; - - /** - *

      The image used to start the container.

      + *

      The exit code to return upon completion.

      */ - image?: string; + exitCode?: number; /** *

      A short (255 max characters) human-readable string to provide additional details about a running or stopped @@ -1917,14 +1941,9 @@ export interface ContainerDetail { reason?: string; /** - *

      The exit code to return upon completion.

      - */ - exitCode?: number; - - /** - *

      The Amazon Resource Name (ARN) associated with the job upon execution.

      + *

      The Amazon Resource Name (ARN) of the container instance on which the container is running.

      */ - jobRoleArn?: string; + containerInstanceArn?: string; /** *

      The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a @@ -1932,37 +1951,66 @@ export interface ContainerDetail { */ taskArn?: string; + /** + *

      The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is + * /aws/batch/job. Each container attempt receives a log stream name when they reach the + * RUNNING status.

      + */ + logStreamName?: string; + /** *

      The instance type of the underlying host infrastructure of a multi-node parallel job.

      */ instanceType?: string; /** - *

      The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is - * /aws/batch/job. Each container attempt receives a log stream name when they reach the - * RUNNING status.

      + *

      The network interfaces associated with the job.

      */ - logStreamName?: string; + networkInterfaces?: NetworkInterface[]; /** - *

      The command that is passed to the container.

      + *

      The type and amount of a resource to assign to a container. Currently, the only supported resource is + * GPU.

      */ - command?: string[]; + resourceRequirements?: ResourceRequirement[]; /** - *

      The secrets to pass to the container. For more information, see Specifying Sensitive Data in the - * Amazon Elastic Container Service Developer Guide.

      + *

      Linux-specific modifications that are applied to the container, such as details for device mappings.

      */ - secrets?: Secret[]; + linuxParameters?: LinuxParameters; /** - *

      The environment variables to pass to a container.

      + *

      The log configuration specification for the container.

      + *

      This parameter maps to LogConfig in the Create a container section of the + * Docker Remote API and the --log-driver option to docker run. + * By default, containers use the same logging driver that the Docker daemon uses. However the container may use a + * different logging driver than the Docker daemon by specifying a log driver with this parameter in the container + * definition. To use a different logging driver for a container, the log system must be configured properly on the + * container instance (or on a different log server for remote logging options). For more information on the options for + * different supported log drivers, see Configure + * logging drivers in the Docker documentation.

      * - *

      Environment variables must not start with AWS_BATCH; this naming - * convention is reserved for variables that are set by the AWS Batch service.

      + *

      AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS + * container agent.

      + *
      + *

      This parameter requires version 1.18 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

      + * + *

      The Amazon ECS container agent running on a container instance must register the logging drivers available on that + * instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that + * instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the + * Amazon Elastic Container Service Developer Guide.

      *
      */ - environment?: KeyValuePair[]; + logConfiguration?: LogConfiguration; + + /** + *

      The secrets to pass to the container. For more information, see Specifying Sensitive Data in the + * Amazon Elastic Container Service Developer Guide.

      + */ + secrets?: Secret[]; } export namespace ContainerDetail { @@ -1997,15 +2045,15 @@ export namespace JobDependency { */ export interface NodeDetails { /** - *

      Specifies whether the current node is the main node for a multi-node parallel job.

      + *

      The node index for the node. Node index numbering begins at zero. This index is also available on the node with + * the AWS_BATCH_JOB_NODE_INDEX environment variable.

      */ - isMainNode?: boolean; + nodeIndex?: number; /** - *

      The node index for the node. Node index numbering begins at zero. This index is also available on the node - * with the AWS_BATCH_JOB_NODE_INDEX environment variable.

      + *

      Specifies whether the current node is the main node for a multi-node parallel job.

      */ - nodeIndex?: number; + isMainNode?: boolean; } export namespace NodeDetails { @@ -2029,21 +2077,19 @@ export enum JobStatus { */ export interface JobDetail { /** - *

      An object representing the node properties of a multi-node parallel job.

      + *

      The Amazon Resource Name (ARN) of the job.

      */ - nodeProperties?: NodeProperties; + jobArn?: string; /** - *

      The Unix timestamp (in milliseconds) for when the job was started (when the job transitioned from the - * STARTING state to the RUNNING state). This parameter is not provided for - * child jobs of array jobs or multi-node parallel jobs.

      + *

      The name of the job.

      */ - startedAt: number | undefined; + jobName: string | undefined; /** - *

      The Amazon Resource Name (ARN) of the job.

      + *

      The ID for the job.

      */ - jobArn?: string; + jobId: string | undefined; /** *

      The Amazon Resource Name (ARN) of the job queue with which the job is associated.

      @@ -2051,93 +2097,96 @@ export interface JobDetail { jobQueue: string | undefined; /** - *

      An object representing the details of the container that is associated with the job.

      + *

      The current status for the job.

      + * + *

      If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status in + * the troubleshooting section of the AWS Batch User Guide.

      + *
      */ - container?: ContainerDetail; + status: JobStatus | string | undefined; /** - *

      The job definition that is used by this job.

      + *

      A list of job attempts associated with this job.

      */ - jobDefinition: string | undefined; + attempts?: AttemptDetail[]; /** - *

      The ID for the job.

      + *

      A short, human-readable string to provide additional details about the current status of the job.

      */ - jobId: string | undefined; + statusReason?: string; /** - *

      Additional parameters passed to the job that replace parameter substitution placeholders or override any - * corresponding parameter defaults from the job definition.

      + *

      The Unix timestamp (in milliseconds) for when the job was created. For non-array jobs and parent array jobs, + * this is when the job entered the SUBMITTED state (at the time SubmitJob was called). + * For array child jobs, this is when the child job was spawned by its parent and entered the PENDING + * state.

      */ - parameters?: { [key: string]: string }; + createdAt?: number; /** - *

      An object representing the details of a node that is associated with a multi-node parallel job.

      + *

      The retry strategy to use for this job if an attempt fails.

      */ - nodeDetails?: NodeDetails; + retryStrategy?: RetryStrategy; /** - *

      A list of job IDs on which this job depends.

      + *

      The Unix timestamp (in milliseconds) for when the job was started (when the job transitioned from the + * STARTING state to the RUNNING + * state). This parameter is not provided for + * child jobs of array jobs or multi-node parallel jobs.

      */ - dependsOn?: JobDependency[]; + startedAt: number | undefined; /** - *

      The retry strategy to use for this job if an attempt fails.

      + *

      The Unix timestamp (in milliseconds) for when the job was stopped (when the job transitioned from the + * RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

      */ - retryStrategy?: RetryStrategy; + stoppedAt?: number; /** - *

      The Unix timestamp (in milliseconds) for when the job was created. For non-array jobs and parent array jobs, - * this is when the job entered the SUBMITTED state (at the time SubmitJob - * was called). For array child jobs, this is when the child job was spawned by its parent and entered the - * PENDING state.

      + *

      A list of job IDs on which this job depends.

      */ - createdAt?: number; + dependsOn?: JobDependency[]; /** - *

      The current status for the job.

      - * - *

      If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status - * in the troubleshooting section of the AWS Batch User Guide.

      - *
      + *

      The job definition that is used by this job.

      */ - status: JobStatus | string | undefined; + jobDefinition: string | undefined; /** - *

      A list of job attempts associated with this job.

      + *

      Additional parameters passed to the job that replace parameter substitution placeholders or override any + * corresponding parameter defaults from the job definition.

      */ - attempts?: AttemptDetail[]; + parameters?: { [key: string]: string }; /** - *

      The tags applied to the job.

      + *

      An object representing the details of the container that is associated with the job.

      */ - tags?: { [key: string]: string }; + container?: ContainerDetail; /** - *

      The name of the job.

      + *

      An object representing the details of a node that is associated with a multi-node parallel job.

      */ - jobName: string | undefined; + nodeDetails?: NodeDetails; /** - *

      A short, human-readable string to provide additional details about the current status of the job.

      + *

      An object representing the node properties of a multi-node parallel job.

      */ - statusReason?: string; + nodeProperties?: NodeProperties; /** - *

      The timeout configuration for the job.

      + *

      The array properties of the job, if it is an array job.

      */ - timeout?: JobTimeout; + arrayProperties?: ArrayPropertiesDetail; /** - *

      The Unix timestamp (in milliseconds) for when the job was stopped (when the job transitioned from the - * RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

      + *

      The timeout configuration for the job.

      */ - stoppedAt?: number; + timeout?: JobTimeout; /** - *

      The array properties of the job, if it is an array job.

      + *

      The tags applied to the job.

      */ - arrayProperties?: ArrayPropertiesDetail; + tags?: { [key: string]: string }; } export namespace JobDetail { @@ -2161,49 +2210,49 @@ export namespace DescribeJobsResponse { export interface ListJobsRequest { /** - *

      The nextToken value returned from a previous paginated ListJobs request where - * maxResults was used and the results exceeded the value of that parameter. Pagination continues from - * the end of the previous results that returned the nextToken value. This value is null - * when there are no more results to return.

      - * - *

      This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

      - *
      + *

      The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

      */ - nextToken?: string; + jobQueue?: string; /** - *

      The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within - * the specified array.

      + *

      The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the + * specified array.

      */ arrayJobId?: string; /** - *

      The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists - * all nodes that are associated with the specified job.

      + *

      The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists all + * nodes that are associated with the specified job.

      */ multiNodeJobId?: string; + /** + *

      The job status with which to filter jobs in the specified queue. If you do not specify a status, only + * RUNNING jobs are returned.

      + */ + jobStatus?: JobStatus | string; + /** *

      The maximum number of results returned by ListJobs in paginated output. When this parameter is * used, ListJobs only returns maxResults results in a single page along with a - * nextToken response element. The remaining results of the initial request can be seen by sending - * another ListJobs request with the returned nextToken value. This value can be between + * nextToken response element. The remaining results of the initial request can be seen by sending another + * ListJobs request with the returned nextToken value. This value can be between * 1 and 100. If this parameter is not used, then ListJobs returns up to * 100 results and a nextToken value if applicable.

      */ maxResults?: number; /** - *

      The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

      - */ - jobQueue?: string; - - /** - *

      The job status with which to filter jobs in the specified queue. If you do not specify a status, only - * RUNNING jobs are returned.

      + *

      The nextToken value returned from a previous paginated ListJobs request where + * maxResults was used and the results exceeded the value of that parameter. Pagination continues from the + * end of the previous results that returned the nextToken value. This value is null when + * there are no more results to return.

      + * + *

      This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

      + *
      */ - jobStatus?: JobStatus | string; + nextToken?: string; } export namespace ListJobsRequest { @@ -2217,15 +2266,15 @@ export namespace ListJobsRequest { */ export interface ContainerSummary { /** - *

      A short (255 max characters) human-readable string to provide additional details about a running or stopped - * container.

      + *

      The exit code to return upon completion.

      */ - reason?: string; + exitCode?: number; /** - *

      The exit code to return upon completion.

      + *

      A short (255 max characters) human-readable string to provide additional details about a running or stopped + * container.

      */ - exitCode?: number; + reason?: string; } export namespace ContainerSummary { @@ -2238,12 +2287,6 @@ export namespace ContainerSummary { *

      An object representing the properties of a node that is associated with a multi-node parallel job.

      */ export interface NodePropertiesSummary { - /** - *

      The node index for the node. Node index numbering begins at zero. This index is also available on the node - * with the AWS_BATCH_JOB_NODE_INDEX environment variable.

      - */ - nodeIndex?: number; - /** *

      Specifies whether the current node is the main node for a multi-node parallel job.

      */ @@ -2253,6 +2296,12 @@ export interface NodePropertiesSummary { *

      The number of nodes associated with a multi-node parallel job.

      */ numNodes?: number; + + /** + *

      The node index for the node. Node index numbering begins at zero. This index is also available on the node with + * the AWS_BATCH_JOB_NODE_INDEX environment variable.

      + */ + nodeIndex?: number; } export namespace NodePropertiesSummary { @@ -2266,63 +2315,63 @@ export namespace NodePropertiesSummary { */ export interface JobSummary { /** - *

      The node properties for a single node in a job summary list.

      + *

      The Amazon Resource Name (ARN) of the job.

      */ - nodeProperties?: NodePropertiesSummary; + jobArn?: string; /** - *

      The Unix timestamp for when the job was started (when the job transitioned from the STARTING - * state to the RUNNING state).

      + *

      The ID of the job.

      */ - startedAt?: number; + jobId: string | undefined; /** - *

      The ID of the job.

      + *

      The name of the job.

      */ - jobId: string | undefined; + jobName: string | undefined; /** - *

      An object representing the details of the container that is associated with the job.

      + *

      The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the job + * entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs, + * this is when the child job was spawned by its parent and entered the PENDING state.

      */ - container?: ContainerSummary; + createdAt?: number; /** - *

      The Unix timestamp for when the job was stopped (when the job transitioned from the RUNNING state - * to a terminal state, such as SUCCEEDED or FAILED).

      + *

      The current status for the job.

      */ - stoppedAt?: number; + status?: JobStatus | string; /** - *

      The array properties of the job, if it is an array job.

      + *

      A short, human-readable string to provide additional details about the current status of the job.

      */ - arrayProperties?: ArrayPropertiesSummary; + statusReason?: string; /** - *

      The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the - * job entered the SUBMITTED state (at the time SubmitJob was called). For array child - * jobs, this is when the child job was spawned by its parent and entered the PENDING state.

      + *

      The Unix timestamp for when the job was started (when the job transitioned from the STARTING state + * to the RUNNING state).

      */ - createdAt?: number; + startedAt?: number; /** - *

      A short, human-readable string to provide additional details about the current status of the job.

      + *

      The Unix timestamp for when the job was stopped (when the job transitioned from the RUNNING state + * to a terminal state, such as SUCCEEDED or FAILED).

      */ - statusReason?: string; + stoppedAt?: number; /** - *

      The current status for the job.

      + *

      An object representing the details of the container that is associated with the job.

      */ - status?: JobStatus | string; + container?: ContainerSummary; /** - *

      The name of the job.

      + *

      The array properties of the job, if it is an array job.

      */ - jobName: string | undefined; + arrayProperties?: ArrayPropertiesSummary; /** - *

      The Amazon Resource Name (ARN) of the job.

      + *

      The node properties for a single node in a job summary list.

      */ - jobArn?: string; + nodeProperties?: NodePropertiesSummary; } export namespace JobSummary { @@ -2339,8 +2388,8 @@ export interface ListJobsResponse { /** *

      The nextToken value to include in a future ListJobs request. When the results of a - * ListJobs request exceed maxResults, this value can be used to retrieve the next page - * of results. This value is null when there are no more results to return.

      + * ListJobs request exceed maxResults, this value can be used to retrieve the next page of + * results. This value is null when there are no more results to return.

      */ nextToken?: string; } @@ -2385,32 +2434,29 @@ export enum JobDefinitionType { export interface RegisterJobDefinitionRequest { /** - *

      The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates - * your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value - * for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob - * operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the - * Amazon Elastic Container Service Developer Guide.

      + *

      The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and + * underscores are allowed.

      */ - timeout?: JobTimeout; + jobDefinitionName: string | undefined; /** - *

      Default parameter substitution placeholders to set in the job definition. Parameters are specified as a - * key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter - * defaults from the job definition.

      + *

      The type of job definition.

      */ - parameters?: { [key: string]: string }; + type: JobDefinitionType | string | undefined; /** - *

      The type of job definition.

      + *

      Default parameter substitution placeholders to set in the job definition. Parameters are specified as a + * key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults + * from the job definition.

      */ - type: JobDefinitionType | string | undefined; + parameters?: { [key: string]: string }; /** - *

      The tags that you apply to the job definition to help you categorize and organize your resources. Each tag - * consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General - * Reference.

      + *

      An object with various properties specific to single-node container-based jobs. If the job definition's + * type parameter is container, then you must specify either containerProperties + * or nodeProperties.

      */ - tags?: { [key: string]: string }; + containerProperties?: ContainerProperties; /** *

      An object with various properties specific to multi-node parallel jobs. If you specify node properties for a @@ -2421,13 +2467,6 @@ export interface RegisterJobDefinitionRequest { */ nodeProperties?: NodeProperties; - /** - *

      An object with various properties specific to single-node container-based jobs. If the job definition's - * type parameter is container, then you must specify either - * containerProperties or nodeProperties.

      - */ - containerProperties?: ContainerProperties; - /** *

      The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that * is specified during a SubmitJob operation overrides the retry strategy defined here. If a job is @@ -2436,10 +2475,20 @@ export interface RegisterJobDefinitionRequest { retryStrategy?: RetryStrategy; /** - *

      The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and - * underscores are allowed.

      + *

      The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates + * your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value + * for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob + * operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the + * Amazon Elastic Container Service Developer Guide.

      */ - jobDefinitionName: string | undefined; + timeout?: JobTimeout; + + /** + *

      The tags that you apply to the job definition to help you categorize and organize your resources. Each tag + * consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

      + */ + tags?: { [key: string]: string }; } export namespace RegisterJobDefinitionRequest { @@ -2476,27 +2525,22 @@ export namespace RegisterJobDefinitionResponse { */ export interface ContainerOverrides { /** - *

      The number of MiB of memory reserved for the job. This value overrides the value set in the job + *

      The number of vCPUs to reserve for the container. This value overrides the value set in the job * definition.

      */ - memory?: number; + vcpus?: number; /** - *

      The type and amount of a resource to assign to a container. This value overrides the value set in the job - * definition. Currently, the only supported resource is GPU.

      + *

      The number of MiB of memory reserved for the job. This value overrides the value set in the job + * definition.

      */ - resourceRequirements?: ResourceRequirement[]; + memory?: number; /** - *

      The environment variables to send to the container. You can add new environment variables, which are added to - * the container at launch, or you can override the existing environment variables from the Docker image or the job + *

      The command to send to the container that overrides the default command from the Docker image or the job * definition.

      - * - *

      Environment variables must not start with AWS_BATCH; this naming - * convention is reserved for variables that are set by the AWS Batch service.

      - *
      */ - environment?: KeyValuePair[]; + command?: string[]; /** *

      The instance type to use for a multi-node parallel job. This parameter is not valid for single-node container @@ -2505,16 +2549,21 @@ export interface ContainerOverrides { instanceType?: string; /** - *

      The command to send to the container that overrides the default command from the Docker image or the job + *

      The environment variables to send to the container. You can add new environment variables, which are added to + * the container at launch, or you can override the existing environment variables from the Docker image or the job * definition.

      + * + *

      Environment variables must not start with AWS_BATCH; this naming + * convention is reserved for variables that are set by the AWS Batch service.

      + *
      */ - command?: string[]; + environment?: KeyValuePair[]; /** - *

      The number of vCPUs to reserve for the container. This value overrides the value set in the job - * definition.

      + *

      The type and amount of a resource to assign to a container. This value overrides the value set in the job + * definition. Currently, the only supported resource is GPU.

      */ - vcpus?: number; + resourceRequirements?: ResourceRequirement[]; } export namespace ContainerOverrides { @@ -2529,17 +2578,17 @@ export namespace ContainerOverrides { */ export interface NodePropertyOverride { /** - *

      The overrides that should be sent to a node range.

      + *

      The range of nodes, using node index values, with which to override. A range of 0:3 indicates nodes + * with index values of 0 through 3. If the starting range value is omitted (:n), + * then 0 is used to start the range. If the ending range value is omitted (n:), then the + * highest possible node index is used to end the range.

      */ - containerOverrides?: ContainerOverrides; + targetNodes: string | undefined; /** - *

      The range of nodes, using node index values, with which to override. A range of 0:3 indicates - * nodes with index values of 0 through 3. If the starting range value is omitted - * (:n), then 0 is used to start the range. If the ending range value is omitted - * (n:), then the highest possible node index is used to end the range.

      + *

      The overrides that should be sent to a node range.

      */ - targetNodes: string | undefined; + containerOverrides?: ContainerOverrides; } export namespace NodePropertyOverride { @@ -2553,11 +2602,6 @@ export namespace NodePropertyOverride { * operation.

      */ export interface NodeOverrides { - /** - *

      The node property overrides for the job.

      - */ - nodePropertyOverrides?: NodePropertyOverride[]; - /** *

      The number of nodes to use with a multi-node parallel job. This value overrides the number of nodes that are * specified in the job definition. To use this override:

      @@ -2567,16 +2611,21 @@ export interface NodeOverrides { * : or n:).

      *
    • *
    • - *

      The lower boundary of the node range specified in the job definition must be fewer than the number of - * nodes specified in the override.

      + *

      The lower boundary of the node range specified in the job definition must be fewer than the number of nodes + * specified in the override.

      *
    • *
    • - *

      The main node index specified in the job definition must be fewer than the number of nodes specified in - * the override.

      + *

      The main node index specified in the job definition must be fewer than the number of nodes specified in the + * override.

      *
    • *
    */ numNodes?: number; + + /** + *

    The node property overrides for the job.

    + */ + nodePropertyOverrides?: NodePropertyOverride[]; } export namespace NodeOverrides { @@ -2586,6 +2635,12 @@ export namespace NodeOverrides { } export interface SubmitJobRequest { + /** + *

    The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase), + * numbers, hyphens, and underscores are allowed.

    + */ + jobName: string | undefined; + /** *

    The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the * queue.

    @@ -2593,35 +2648,43 @@ export interface SubmitJobRequest { jobQueue: string | undefined; /** - *

    The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and - * lowercase), numbers, hyphens, and underscores are allowed.

    + *

    The array properties for the submitted job, such as the size of the array. The array size can be between 2 and + * 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the + * AWS Batch User Guide.

    */ - jobName: string | undefined; + arrayProperties?: ArrayProperties; + + /** + *

    A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a + * SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job + * completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a job + * ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each + * dependency to complete before it can begin.

    + */ + dependsOn?: JobDependency[]; /** - *

    The job definition used by this job. This value can be one of name, name:revision, - * or the Amazon Resource Name (ARN) for the job definition. If - * name is specified without a revision then the latest active revision is - * used.

    + *

    The job definition used by this job. This value can be one of name, name:revision, or + * the Amazon Resource Name (ARN) for the job definition. If + * name is specified without a revision then the latest active revision is used.

    */ jobDefinition: string | undefined; /** - *

    The timeout configuration for this SubmitJob operation. You can specify a timeout duration - * after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is - * not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout - * configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as - * the parent job. For more information, see Job Timeouts in the - * Amazon Elastic Container Service Developer Guide.

    + *

    Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job + * definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request + * override any corresponding parameter defaults from the job definition.

    */ - timeout?: JobTimeout; + parameters?: { [key: string]: string }; /** - *

    Additional parameters passed to the job that replace parameter substitution placeholders that are set in the - * job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob - * request override any corresponding parameter defaults from the job definition.

    + *

    A list of container overrides in JSON format that specify the name of a container in the specified job + * definition and the overrides it should receive. You can override the default command for a container (that is + * specified in the job definition or the Docker image) with a command override. You can also override + * existing environment variables (that are specified in the job definition or Docker image) on a container or add new + * environment variables to it with an environment override.

    */ - parameters?: { [key: string]: string }; + containerOverrides?: ContainerOverrides; /** *

    A list of node overrides in JSON format that specify the node range to target and the container overrides for @@ -2630,42 +2693,27 @@ export interface SubmitJobRequest { nodeOverrides?: NodeOverrides; /** - *

    The retry strategy to use for failed jobs from this SubmitJob operation. When a retry - * strategy is specified here, it overrides the retry strategy defined in the job definition.

    + *

    The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy + * is specified here, it overrides the retry strategy defined in the job definition.

    */ retryStrategy?: RetryStrategy; /** - *

    The array properties for the submitted job, such as the size of the array. The array size can be between 2 and - * 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the - * AWS Batch User Guide.

    + *

    The timeout configuration for this SubmitJob operation. You can specify a timeout duration + * after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is + * not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration + * specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. + * For more information, see Job + * Timeouts in the Amazon Elastic Container Service Developer Guide.

    */ - arrayProperties?: ArrayProperties; + timeout?: JobTimeout; /** - *

    The tags that you apply to the job request to help you categorize and organize your resources. Each tag - * consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General - * Reference.

    + *

    The tags that you apply to the job request to help you categorize and organize your resources. Each tag consists + * of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

    */ tags?: { [key: string]: string }; - - /** - *

    A list of container overrides in JSON format that specify the name of a container in the specified job - * definition and the overrides it should receive. You can override the default command for a container (that is - * specified in the job definition or the Docker image) with a command override. You can also override - * existing environment variables (that are specified in the job definition or Docker image) on a container or add - * new environment variables to it with an environment override.

    - */ - containerOverrides?: ContainerOverrides; - - /** - *

    A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a - * SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job - * completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a - * job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of - * each dependency to complete before it can begin.

    - */ - dependsOn?: JobDependency[]; } export namespace SubmitJobRequest { @@ -2675,6 +2723,11 @@ export namespace SubmitJobRequest { } export interface SubmitJobResponse { + /** + *

    The Amazon Resource Name (ARN) for the job.

    + */ + jobArn?: string; + /** *

    The name of the job.

    */ @@ -2684,11 +2737,6 @@ export interface SubmitJobResponse { *

    The unique identifier for the job.

    */ jobId: string | undefined; - - /** - *

    The Amazon Resource Name (ARN) for the job.

    - */ - jobArn?: string; } export namespace SubmitJobResponse { @@ -2698,18 +2746,18 @@ export namespace SubmitJobResponse { } export interface TagResourceRequest { - /** - *

    The tags that you apply to the resource to help you categorize and organize your resources. Each tag consists - * of a key and an optional value. For more information, see Tagging AWS Resources in AWS General - * Reference.

    - */ - tags: { [key: string]: string } | undefined; - /** *

    The Amazon Resource Name (ARN) of the resource to which to add tags. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

    */ resourceArn: string | undefined; + + /** + *

    The tags that you apply to the resource to help you categorize and organize your resources. Each tag consists of + * a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

    + */ + tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -2809,18 +2857,9 @@ export namespace ComputeResourceUpdate { export interface UpdateComputeEnvironmentRequest { /** - *

    The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your - * behalf.

    - *

    If your specified role has a path other than /, then you must either specify the full role ARN - * (this is recommended) or prefix the role name with the path.

    - * - *

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role - * path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the - * service-role path prefix. Because of this, we recommend that you specify the full ARN of your - * service role when you create compute environments.

    - *
    + *

    The name or full Amazon Resource Name (ARN) of the compute environment to update.

    */ - serviceRole?: string; + computeEnvironment: string | undefined; /** *

    The state of the compute environment. Compute environments in the ENABLED state can accept jobs @@ -2835,9 +2874,18 @@ export interface UpdateComputeEnvironmentRequest { computeResources?: ComputeResourceUpdate; /** - *

    The name or full Amazon Resource Name (ARN) of the compute environment to update.

    + *

    The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your + * behalf.

    + *

    If your specified role has a path other than /, then you must either specify the full role ARN + * (this is recommended) or prefix the role name with the path.

    + * + *

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role path + * prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the + * service-role path prefix. Because of this, we recommend that you specify the full ARN of your service + * role when you create compute environments.

    + *
    */ - computeEnvironment: string | undefined; + serviceRole?: string; } export namespace UpdateComputeEnvironmentRequest { @@ -2848,14 +2896,14 @@ export namespace UpdateComputeEnvironmentRequest { export interface UpdateComputeEnvironmentResponse { /** - *

    The Amazon Resource Name (ARN) of the compute environment.

    + *

    The name of the compute environment.

    */ - computeEnvironmentArn?: string; + computeEnvironmentName?: string; /** - *

    The name of the compute environment.

    + *

    The Amazon Resource Name (ARN) of the compute environment.

    */ - computeEnvironmentName?: string; + computeEnvironmentArn?: string; } export namespace UpdateComputeEnvironmentResponse { @@ -2865,6 +2913,11 @@ export namespace UpdateComputeEnvironmentResponse { } export interface UpdateJobQueueRequest { + /** + *

    The name or the Amazon Resource Name (ARN) of the job queue.

    + */ + jobQueue: string | undefined; + /** *

    Describes the queue's ability to accept new jobs. If the job queue state is ENABLED, it is able to * accept jobs. If the job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already @@ -2872,25 +2925,20 @@ export interface UpdateJobQueueRequest { */ state?: JQState | string; - /** - *

    Details the set of compute environments mapped to a job queue and their order relative to each other. This is - * one of the parameters used by the job scheduler to determine which compute environment should execute a given - * job.

    - */ - computeEnvironmentOrder?: ComputeEnvironmentOrder[]; - /** *

    The priority of the job queue. Job queues with a higher priority (or a higher integer value for the - * priority parameter) are evaluated first when associated with the same compute environment. Priority - * is determined in descending order, for example, a job queue with a priority value of 10 is given - * scheduling preference over a job queue with a priority value of 1.

    + * priority parameter) are evaluated first when associated with the same compute environment. Priority is + * determined in descending order, for example, a job queue with a priority value of 10 is given scheduling + * preference over a job queue with a priority value of 1.

    */ priority?: number; /** - *

    The name or the Amazon Resource Name (ARN) of the job queue.

    + *

    Details the set of compute environments mapped to a job queue and their order relative to each other. This is + * one of the parameters used by the job scheduler to determine which compute environment should execute a given + * job.

    */ - jobQueue: string | undefined; + computeEnvironmentOrder?: ComputeEnvironmentOrder[]; } export namespace UpdateJobQueueRequest { diff --git a/clients/client-batch/protocols/Aws_restJson1.ts b/clients/client-batch/protocols/Aws_restJson1.ts index 70199607c59e7..989b8ed183029 100644 --- a/clients/client-batch/protocols/Aws_restJson1.ts +++ b/clients/client-batch/protocols/Aws_restJson1.ts @@ -58,6 +58,7 @@ import { ContainerSummary, Device, DeviceCgroupPermission, + Ec2Configuration, EvaluateOnExit, Host, JobDefinition, @@ -1940,6 +1941,9 @@ const serializeAws_restJson1ComputeResource = (input: ComputeResource, context: ...(input.allocationStrategy !== undefined && { allocationStrategy: input.allocationStrategy }), ...(input.bidPercentage !== undefined && { bidPercentage: input.bidPercentage }), ...(input.desiredvCpus !== undefined && { desiredvCpus: input.desiredvCpus }), + ...(input.ec2Configuration !== undefined && { + ec2Configuration: serializeAws_restJson1Ec2ConfigurationList(input.ec2Configuration, context), + }), ...(input.ec2KeyPair !== undefined && { ec2KeyPair: input.ec2KeyPair }), ...(input.imageId !== undefined && { imageId: input.imageId }), ...(input.instanceRole !== undefined && { instanceRole: input.instanceRole }), @@ -2039,6 +2043,17 @@ const serializeAws_restJson1DevicesList = (input: Device[], context: __SerdeCont return input.map((entry) => serializeAws_restJson1Device(entry, context)); }; +const serializeAws_restJson1Ec2Configuration = (input: Ec2Configuration, context: __SerdeContext): any => { + return { + ...(input.imageIdOverride !== undefined && { imageIdOverride: input.imageIdOverride }), + ...(input.imageType !== undefined && { imageType: input.imageType }), + }; +}; + +const serializeAws_restJson1Ec2ConfigurationList = (input: Ec2Configuration[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Ec2Configuration(entry, context)); +}; + const serializeAws_restJson1EnvironmentVariables = (input: KeyValuePair[], context: __SerdeContext): any => { return input.map((entry) => serializeAws_restJson1KeyValuePair(entry, context)); }; @@ -2430,6 +2445,10 @@ const deserializeAws_restJson1ComputeResource = (output: any, context: __SerdeCo bidPercentage: output.bidPercentage !== undefined && output.bidPercentage !== null ? output.bidPercentage : undefined, desiredvCpus: output.desiredvCpus !== undefined && output.desiredvCpus !== null ? output.desiredvCpus : undefined, + ec2Configuration: + output.ec2Configuration !== undefined && output.ec2Configuration !== null + ? deserializeAws_restJson1Ec2ConfigurationList(output.ec2Configuration, context) + : undefined, ec2KeyPair: output.ec2KeyPair !== undefined && output.ec2KeyPair !== null ? output.ec2KeyPair : undefined, imageId: output.imageId !== undefined && output.imageId !== null ? output.imageId : undefined, instanceRole: output.instanceRole !== undefined && output.instanceRole !== null ? output.instanceRole : undefined, @@ -2614,6 +2633,18 @@ const deserializeAws_restJson1DevicesList = (output: any, context: __SerdeContex return (output || []).map((entry: any) => deserializeAws_restJson1Device(entry, context)); }; +const deserializeAws_restJson1Ec2Configuration = (output: any, context: __SerdeContext): Ec2Configuration => { + return { + imageIdOverride: + output.imageIdOverride !== undefined && output.imageIdOverride !== null ? output.imageIdOverride : undefined, + imageType: output.imageType !== undefined && output.imageType !== null ? output.imageType : undefined, + } as any; +}; + +const deserializeAws_restJson1Ec2ConfigurationList = (output: any, context: __SerdeContext): Ec2Configuration[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Ec2Configuration(entry, context)); +}; + const deserializeAws_restJson1EnvironmentVariables = (output: any, context: __SerdeContext): KeyValuePair[] => { return (output || []).map((entry: any) => deserializeAws_restJson1KeyValuePair(entry, context)); }; diff --git a/clients/client-cloudformation/models/models_0.ts b/clients/client-cloudformation/models/models_0.ts index b3bff1a7f6f53..4e7392300ee0c 100644 --- a/clients/client-cloudformation/models/models_0.ts +++ b/clients/client-cloudformation/models/models_0.ts @@ -18,12 +18,6 @@ export type AccountGateStatus = "FAILED" | "SKIPPED" | "SUCCEEDED"; * target account gate.

    */ export interface AccountGateResult { - /** - *

    The reason for the account gate status assigned to this account and Region for the - * stack set operation.

    - */ - StatusReason?: string; - /** *

    The status of the account gate function.

    *
      @@ -68,6 +62,12 @@ export interface AccountGateResult { *
    */ Status?: AccountGateStatus | string; + + /** + *

    The reason for the account gate status assigned to this account and Region for the + * stack set operation.

    + */ + StatusReason?: string; } export namespace AccountGateResult { @@ -135,14 +135,14 @@ export namespace AlreadyExistsException { */ export interface AutoDeployment { /** - *

    If set to true, stack resources are retained when an account is removed from a target organization or OU. If set to false, stack resources are deleted. Specify only if Enabled is set to True.

    + *

    If set to true, StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.

    */ - RetainStacksOnAccountRemoval?: boolean; + Enabled?: boolean; /** - *

    If set to true, StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.

    + *

    If set to true, stack resources are retained when an account is removed from a target organization or OU. If set to false, stack resources are deleted. Specify only if Enabled is set to True.

    */ - Enabled?: boolean; + RetainStacksOnAccountRemoval?: boolean; } export namespace AutoDeployment { @@ -155,6 +155,11 @@ export namespace AutoDeployment { *

    The input for the CancelUpdateStack action.

    */ export interface CancelUpdateStackInput { + /** + *

    The name or the unique stack ID that is associated with the stack.

    + */ + StackName: string | undefined; + /** *

    A unique identifier for this CancelUpdateStack request. Specify this * token if you plan to retry requests so that AWS CloudFormation knows that you're not @@ -163,11 +168,6 @@ export interface CancelUpdateStackInput { * received them.

    */ ClientRequestToken?: string; - - /** - *

    The name or the unique stack ID that is associated with the stack.

    - */ - StackName: string | undefined; } export namespace CancelUpdateStackInput { @@ -253,15 +253,6 @@ export enum RequiresRecreation { * property, and whether the resource will be recreated.

    */ export interface ResourceTargetDefinition { - /** - *

    If the Attribute value is Properties, indicates whether a - * change to this property causes the resource to be recreated. The value can be - * Never, Always, or Conditionally. To determine the - * conditions for a Conditionally recreation, see the update behavior for that - * property in the AWS CloudFormation User Guide.

    - */ - RequiresRecreation?: RequiresRecreation | string; - /** *

    Indicates which resource attribute is triggering this update, such as a change in the * resource attribute's Metadata, Properties, or @@ -274,6 +265,15 @@ export interface ResourceTargetDefinition { * property. For all other attributes, the value is null.

    */ Name?: string; + + /** + *

    If the Attribute value is Properties, indicates whether a + * change to this property causes the resource to be recreated. The value can be + * Never, Always, or Conditionally. To determine the + * conditions for a Conditionally recreation, see the update behavior for that + * property in the AWS CloudFormation User Guide.

    + */ + RequiresRecreation?: RequiresRecreation | string; } export namespace ResourceTargetDefinition { @@ -288,6 +288,30 @@ export namespace ResourceTargetDefinition { * to that resource.

    */ export interface ResourceChangeDetail { + /** + *

    A ResourceTargetDefinition structure that describes the field that AWS + * CloudFormation will change and whether the resource will be recreated.

    + */ + Target?: ResourceTargetDefinition; + + /** + *

    Indicates whether AWS CloudFormation can determine the target value, and whether the + * target value will change before you execute a change set.

    + *

    For Static evaluations, AWS CloudFormation can determine that the target + * value will change, and its value. For example, if you directly modify the + * InstanceType property of an EC2 instance, AWS CloudFormation knows that + * this property value will change, and its value, so this is a Static + * evaluation.

    + *

    For Dynamic evaluations, cannot determine the target value because it + * depends on the result of an intrinsic function, such as a Ref or + * Fn::GetAtt intrinsic function, when the stack is updated. For example, if + * your template includes a reference to a resource that is conditionally recreated, the value + * of the reference (the physical ID of the resource) might change, depending on if the + * resource is recreated. If the resource is recreated, it will have a new physical ID, so all + * references to that resource will also be updated.

    + */ + Evaluation?: EvaluationType | string; + /** *

    The group to which the CausingEntity value belongs. There are five * entity groups:

    @@ -328,30 +352,6 @@ export interface ResourceChangeDetail { */ ChangeSource?: ChangeSource | string; - /** - *

    Indicates whether AWS CloudFormation can determine the target value, and whether the - * target value will change before you execute a change set.

    - *

    For Static evaluations, AWS CloudFormation can determine that the target - * value will change, and its value. For example, if you directly modify the - * InstanceType property of an EC2 instance, AWS CloudFormation knows that - * this property value will change, and its value, so this is a Static - * evaluation.

    - *

    For Dynamic evaluations, cannot determine the target value because it - * depends on the result of an intrinsic function, such as a Ref or - * Fn::GetAtt intrinsic function, when the stack is updated. For example, if - * your template includes a reference to a resource that is conditionally recreated, the value - * of the reference (the physical ID of the resource) might change, depending on if the - * resource is recreated. If the resource is recreated, it will have a new physical ID, so all - * references to that resource will also be updated.

    - */ - Evaluation?: EvaluationType | string; - - /** - *

    A ResourceTargetDefinition structure that describes the field that AWS - * CloudFormation will change and whether the resource will be recreated.

    - */ - Target?: ResourceTargetDefinition; - /** *

    The identity of the entity that triggered this change. This entity is a member of the * group that is specified by the ChangeSource field. For example, if you @@ -370,6 +370,37 @@ export namespace ResourceChangeDetail { }); } +/** + *

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    + *

    For more information on modules, see Using modules to encapsulate and reuse resource configurations in the CloudFormation User Guide.

    + */ +export interface ModuleInfo { + /** + *

    A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by /.

    + *

    In the following example, the resource was created from a module of type AWS::First::Example::MODULE, that is nested inside a parent module of type AWS::Second::Example::MODULE.

    + *

    + * AWS::First::Example::MODULE/AWS::Second::Example::MODULE + *

    + */ + TypeHierarchy?: string; + + /** + *

    A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by /.

    + *

    In the following example, the resource was created from a module, moduleA, that is nested inside a parent module, moduleB.

    + *

    + * moduleA/moduleB + *

    + *

    For more information, see Referencing resources in a module in the CloudFormation User Guide.

    + */ + LogicalIdHierarchy?: string; +} + +export namespace ModuleInfo { + export const filterSensitiveLog = (obj: ModuleInfo): any => ({ + ...obj, + }); +} + export enum Replacement { Conditional = "Conditional", False = "False", @@ -381,6 +412,31 @@ export enum Replacement { * AWS CloudFormation will perform on it if you execute this change set.

    */ export interface ResourceChange { + /** + *

    The action that AWS CloudFormation takes on the resource, such as Add + * (adds a new resource), Modify (changes a resource), Remove + * (deletes a resource), Import (imports a resource), or Dynamic + * (exact action for the resource cannot be determined).

    + */ + Action?: ChangeAction | string; + + /** + *

    The resource's logical ID, which is defined in the stack's template.

    + */ + LogicalResourceId?: string; + + /** + *

    The resource's physical ID (resource name). Resources that you are adding don't have + * physical IDs because they haven't been created.

    + */ + PhysicalResourceId?: string; + + /** + *

    The type of AWS CloudFormation resource, such as + * AWS::S3::Bucket.

    + */ + ResourceType?: string; + /** *

    For the Modify action, indicates whether AWS CloudFormation will replace * the resource by creating a new one and deleting the old one. This value depends on the @@ -398,25 +454,6 @@ export interface ResourceChange { */ Replacement?: Replacement | string; - /** - *

    The resource's physical ID (resource name). Resources that you are adding don't have - * physical IDs because they haven't been created.

    - */ - PhysicalResourceId?: string; - - /** - *

    The resource's logical ID, which is defined in the stack's template.

    - */ - LogicalResourceId?: string; - - /** - *

    The action that AWS CloudFormation takes on the resource, such as Add - * (adds a new resource), Modify (changes a resource), Remove - * (deletes a resource), Import (imports a resource), or Dynamic - * (exact action for the resource cannot be determined).

    - */ - Action?: ChangeAction | string; - /** *

    For the Modify action, indicates which resource attribute is triggering * this update, such as a change in the resource attribute's Metadata, @@ -432,15 +469,14 @@ export interface ResourceChange { Details?: ResourceChangeDetail[]; /** - *

    The type of AWS CloudFormation resource, such as - * AWS::S3::Bucket.

    + *

    The change set ID of the nested change set.

    */ - ResourceType?: string; + ChangeSetId?: string; /** - *

    The change set ID of the nested change set.

    + *

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    */ - ChangeSetId?: string; + ModuleInfo?: ModuleInfo; } export namespace ResourceChange { @@ -519,35 +555,39 @@ export enum ExecutionStatus { */ export interface ChangeSetSummary { /** - *

    Descriptive information about the change set.

    + *

    The ID of the stack with which the change set is associated.

    */ - Description?: string; + StackId?: string; /** - *

    The state of the change set, such as CREATE_IN_PROGRESS, - * CREATE_COMPLETE, or FAILED.

    + *

    The name of the stack with which the change set is associated.

    */ - Status?: ChangeSetStatus | string; + StackName?: string; /** - *

    The name of the change set.

    + *

    The ID of the change set.

    */ - ChangeSetName?: string; + ChangeSetId?: string; /** - *

    The name of the stack with which the change set is associated.

    + *

    The name of the change set.

    */ - StackName?: string; + ChangeSetName?: string; /** - *

    The start time when the change set was created, in UTC.

    + *

    If the change set execution status is AVAILABLE, you can execute the + * change set. If you can’t execute the change set, the status indicates why. For example, a + * change set might be in an UNAVAILABLE state because AWS CloudFormation is + * still creating it or in an OBSOLETE state because the stack was already + * updated.

    */ - CreationTime?: Date; + ExecutionStatus?: ExecutionStatus | string; /** - *

    The ID of the stack with which the change set is associated.

    + *

    The state of the change set, such as CREATE_IN_PROGRESS, + * CREATE_COMPLETE, or FAILED.

    */ - StackId?: string; + Status?: ChangeSetStatus | string; /** *

    A description of the change set's status. For example, if your change set is in the @@ -556,34 +596,30 @@ export interface ChangeSetSummary { StatusReason?: string; /** - *

    The parent change set ID.

    + *

    The start time when the change set was created, in UTC.

    */ - ParentChangeSetId?: string; + CreationTime?: Date; /** - *

    If the change set execution status is AVAILABLE, you can execute the - * change set. If you can’t execute the change set, the status indicates why. For example, a - * change set might be in an UNAVAILABLE state because AWS CloudFormation is - * still creating it or in an OBSOLETE state because the stack was already - * updated.

    + *

    Descriptive information about the change set.

    */ - ExecutionStatus?: ExecutionStatus | string; + Description?: string; /** - *

    The ID of the change set.

    + *

    Specifies the current setting of IncludeNestedStacks for the change + * set.

    */ - ChangeSetId?: string; + IncludeNestedStacks?: boolean; /** - *

    The root change set ID.

    + *

    The parent change set ID.

    */ - RootChangeSetId?: string; + ParentChangeSetId?: string; /** - *

    Specifies the current setting of IncludeNestedStacks for the change - * set.

    + *

    The root change set ID.

    */ - IncludeNestedStacks?: boolean; + RootChangeSetId?: string; } export namespace ChangeSetSummary { @@ -603,13 +639,29 @@ export enum ChangeSetType { */ export interface ContinueUpdateRollbackInput { /** - *

    A unique identifier for this ContinueUpdateRollback request. Specify - * this token if you plan to retry requests so that AWS CloudFormation knows that you're not - * attempting to continue the rollback to a stack with the same name. You might retry - * ContinueUpdateRollback requests to ensure that AWS CloudFormation - * successfully received them.

    + *

    The name or the unique ID of the stack that you want to continue rolling + * back.

    + * + *

    Don't specify the name of a nested stack (a stack that was created by using the + * AWS::CloudFormation::Stack resource). Instead, use this operation on the + * parent stack (the stack that contains the AWS::CloudFormation::Stack + * resource).

    + *
    */ - ClientRequestToken?: string; + StackName: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role + * that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's + * credentials to make calls on your behalf. AWS CloudFormation always uses this role for all + * future operations on the stack. As long as users have permission to operate on the stack, + * AWS CloudFormation uses this role even if the users don't have permission to pass it. + * Ensure that the role grants least privilege.

    + *

    If you don't specify a value, AWS CloudFormation uses the role that was previously + * associated with the stack. If no role is available, AWS CloudFormation uses a temporary + * session that is generated from your user credentials.

    + */ + RoleARN?: string; /** *

    A list of the logical IDs of the resources that AWS CloudFormation skips during the @@ -645,29 +697,13 @@ export interface ContinueUpdateRollbackInput { ResourcesToSkip?: string[]; /** - *

    The name or the unique ID of the stack that you want to continue rolling - * back.

    - * - *

    Don't specify the name of a nested stack (a stack that was created by using the - * AWS::CloudFormation::Stack resource). Instead, use this operation on the - * parent stack (the stack that contains the AWS::CloudFormation::Stack - * resource).

    - *
    - */ - StackName: string | undefined; - - /** - *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role - * that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's - * credentials to make calls on your behalf. AWS CloudFormation always uses this role for all - * future operations on the stack. As long as users have permission to operate on the stack, - * AWS CloudFormation uses this role even if the users don't have permission to pass it. - * Ensure that the role grants least privilege.

    - *

    If you don't specify a value, AWS CloudFormation uses the role that was previously - * associated with the stack. If no role is available, AWS CloudFormation uses a temporary - * session that is generated from your user credentials.

    + *

    A unique identifier for this ContinueUpdateRollback request. Specify + * this token if you plan to retry requests so that AWS CloudFormation knows that you're not + * attempting to continue the rollback to a stack with the same name. You might retry + * ContinueUpdateRollback requests to ensure that AWS CloudFormation + * successfully received them.

    */ - RoleARN?: string; + ClientRequestToken?: string; } export namespace ContinueUpdateRollbackInput { @@ -692,30 +728,30 @@ export namespace ContinueUpdateRollbackOutput { */ export interface Parameter { /** - *

    During a stack update, use the existing parameter value that the stack is using for a - * given parameter key. If you specify true, do not specify a parameter - * value.

    + *

    The key associated with the parameter. If you don't specify a key and value for a + * particular parameter, AWS CloudFormation uses the default value that is specified in your + * template.

    */ - UsePreviousValue?: boolean; + ParameterKey?: string; /** *

    The input value associated with the parameter.

    */ ParameterValue?: string; + /** + *

    During a stack update, use the existing parameter value that the stack is using for a + * given parameter key. If you specify true, do not specify a parameter + * value.

    + */ + UsePreviousValue?: boolean; + /** *

    Read-only. The value that corresponds to a Systems Manager parameter key. This field * is returned only for * SSM parameter types in the template.

    */ ResolvedValue?: string; - - /** - *

    The key associated with the parameter. If you don't specify a key and value for a - * particular parameter, AWS CloudFormation uses the default value that is specified in your - * template.

    - */ - ParameterKey?: string; } export namespace Parameter { @@ -728,13 +764,6 @@ export namespace Parameter { *

    Describes the target resource of an import operation.

    */ export interface ResourceToImport { - /** - *

    A key-value pair that identifies the target resource. The key is an identifier property - * (for example, BucketName for AWS::S3::Bucket resources) and the - * value is the actual property value (for example, MyS3Bucket).

    - */ - ResourceIdentifier: { [key: string]: string } | undefined; - /** *

    The type of resource to import into your stack, such as AWS::S3::Bucket. For a list of supported resource types, see Resources that support import operations in the AWS CloudFormation User Guide.

    */ @@ -744,6 +773,13 @@ export interface ResourceToImport { *

    The logical ID of the target resource as specified in the template.

    */ LogicalResourceId: string | undefined; + + /** + *

    A key-value pair that identifies the target resource. The key is an identifier property + * (for example, BucketName for AWS::S3::Bucket resources) and the + * value is the actual property value (for example, MyS3Bucket).

    + */ + ResourceIdentifier: { [key: string]: string } | undefined; } export namespace ResourceToImport { @@ -843,13 +879,6 @@ export namespace RollbackConfiguration { * information about an AWS CloudFormation stack.

    */ export interface Tag { - /** - *

    - * Required. A string containing the value for this tag. You can specify - * a maximum of 256 characters for a tag value.

    - */ - Value: string | undefined; - /** *

    * Required. A string used to identify this tag. You can specify a @@ -857,6 +886,13 @@ export interface Tag { * reserved prefix: aws:.

    */ Key: string | undefined; + + /** + *

    + * Required. A string containing the value for this tag. You can specify + * a maximum of 256 characters for a tag value.

    + */ + Value: string | undefined; } export namespace Tag { @@ -870,32 +906,31 @@ export namespace Tag { */ export interface CreateChangeSetInput { /** - *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

    - */ - RollbackConfiguration?: RollbackConfiguration; - - /** - *

    The name of the change set. The name must be unique among all change sets that are - * associated with the specified stack.

    - *

    A change set name can contain only alphanumeric, case sensitive characters and - * hyphens. It must start with an alphabetic character and cannot exceed 128 - * characters.

    + *

    The name or the unique ID of the stack for which you are creating a change set. AWS + * CloudFormation generates the change set by comparing this stack's information with the + * information that you submit, such as a modified template or different parameter input + * values.

    */ - ChangeSetName: string | undefined; + StackName: string | undefined; /** - *

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates - * these tags to resources in the stack. You can specify a maximum of 50 tags.

    + *

    A structure that contains the body of the revised template, with a minimum length of + * 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by + * comparing this template with the template of the stack that you specified.

    + *

    Conditional: You must specify only TemplateBody or + * TemplateURL.

    */ - Tags?: Tag[]; + TemplateBody?: string; /** - *

    The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) - * topics that AWS CloudFormation associates with the stack. To remove all associated - * notification topics, specify an empty list.

    + *

    The location of the file that contains the revised template. The URL must point to a + * template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation + * generates the change set by comparing this template with the stack that you + * specified.

    + *

    Conditional: You must specify only TemplateBody or + * TemplateURL.

    */ - NotificationARNs?: string[]; + TemplateURL?: string; /** *

    Whether to reuse the template that is associated with the stack to create the change @@ -903,76 +938,12 @@ export interface CreateChangeSetInput { */ UsePreviousTemplate?: boolean; - /** - *

    A description to help you identify this change set.

    - */ - Description?: string; - /** *

    A list of Parameter structures that specify input parameters for the * change set. For more information, see the Parameter data type.

    */ Parameters?: Parameter[]; - /** - *

    The template resource types that you have permissions to work with if you execute - * this change set, such as AWS::EC2::Instance, AWS::EC2::*, or - * Custom::MyCustomInstance.

    - *

    If the list of resource types doesn't include a resource type that you're updating, - * the stack update fails. By default, AWS CloudFormation grants permissions to all resource - * types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in - * IAM policies for AWS CloudFormation. For more information, see Controlling Access with - * AWS Identity and Access Management in the AWS CloudFormation User - * Guide.

    - */ - ResourceTypes?: string[]; - - /** - *

    A unique identifier for this CreateChangeSet request. Specify this token - * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting - * to create another change set with the same name. You might retry - * CreateChangeSet requests to ensure that AWS CloudFormation successfully - * received them.

    - */ - ClientToken?: string; - - /** - *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role - * that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the - * role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all - * future operations on the stack. As long as users have permission to operate on the stack, - * AWS CloudFormation uses this role even if the users don't have permission to pass it. - * Ensure that the role grants least privilege.

    - *

    If you don't specify a value, AWS CloudFormation uses the role that was previously - * associated with the stack. If no role is available, AWS CloudFormation uses a temporary - * session that is generated from your user credentials.

    - */ - RoleARN?: string; - - /** - *

    The type of change set operation. To create a change set for a new stack, specify - * CREATE. To create a change set for an existing stack, specify - * UPDATE. To create a change set for an import operation, specify - * IMPORT.

    - *

    If you create a change set for a new stack, AWS Cloudformation creates a stack with a - * unique stack ID, but no template or resources. The stack will be in the - * REVIEW_IN_PROGRESS - * state until you execute the change - * set.

    - *

    By default, AWS CloudFormation specifies UPDATE. You can't use the - * UPDATE type to create a change set for a new stack or the - * CREATE type to create a change set for an existing stack.

    - */ - ChangeSetType?: ChangeSetType | string; - - /** - *

    The name or the unique ID of the stack for which you are creating a change set. AWS - * CloudFormation generates the change set by comparing this stack's information with the - * information that you submit, such as a modified template or different parameter input - * values.

    - */ - StackName: string | undefined; - /** *

    In some cases, you must explicitly acknowledge that your stack template contains certain * capabilities in order for AWS CloudFormation to create the stack.

    @@ -1078,63 +1049,128 @@ export interface CreateChangeSetInput { Capabilities?: (Capability | string)[]; /** - *

    A structure that contains the body of the revised template, with a minimum length of - * 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by - * comparing this template with the template of the stack that you specified.

    - *

    Conditional: You must specify only TemplateBody or - * TemplateURL.

    + *

    The template resource types that you have permissions to work with if you execute + * this change set, such as AWS::EC2::Instance, AWS::EC2::*, or + * Custom::MyCustomInstance.

    + *

    If the list of resource types doesn't include a resource type that you're updating, + * the stack update fails. By default, AWS CloudFormation grants permissions to all resource + * types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in + * IAM policies for AWS CloudFormation. For more information, see Controlling Access with + * AWS Identity and Access Management in the AWS CloudFormation User + * Guide.

    */ - TemplateBody?: string; + ResourceTypes?: string[]; /** - *

    The location of the file that contains the revised template. The URL must point to a - * template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation - * generates the change set by comparing this template with the stack that you - * specified.

    - *

    Conditional: You must specify only TemplateBody or - * TemplateURL.

    + *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role + * that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the + * role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all + * future operations on the stack. As long as users have permission to operate on the stack, + * AWS CloudFormation uses this role even if the users don't have permission to pass it. + * Ensure that the role grants least privilege.

    + *

    If you don't specify a value, AWS CloudFormation uses the role that was previously + * associated with the stack. If no role is available, AWS CloudFormation uses a temporary + * session that is generated from your user credentials.

    */ - TemplateURL?: string; + RoleARN?: string; /** - *

    Creates a change set for the all nested stacks specified in the template. The default - * behavior of this action is set to False. To include nested sets in a change - * set, specify True.

    + *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

    */ - IncludeNestedStacks?: boolean; + RollbackConfiguration?: RollbackConfiguration; /** - *

    The resources to import into your stack.

    + *

    The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) + * topics that AWS CloudFormation associates with the stack. To remove all associated + * notification topics, specify an empty list.

    */ - ResourcesToImport?: ResourceToImport[]; -} + NotificationARNs?: string[]; -export namespace CreateChangeSetInput { - export const filterSensitiveLog = (obj: CreateChangeSetInput): any => ({ - ...obj, - }); -} + /** + *

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates + * these tags to resources in the stack. You can specify a maximum of 50 tags.

    + */ + Tags?: Tag[]; -/** - *

    The output for the CreateChangeSet action.

    - */ -export interface CreateChangeSetOutput { /** - *

    The unique ID of the stack.

    + *

    The name of the change set. The name must be unique among all change sets that are + * associated with the specified stack.

    + *

    A change set name can contain only alphanumeric, case sensitive characters and + * hyphens. It must start with an alphabetic character and cannot exceed 128 + * characters.

    */ - StackId?: string; + ChangeSetName: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the change set.

    + *

    A unique identifier for this CreateChangeSet request. Specify this token + * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting + * to create another change set with the same name. You might retry + * CreateChangeSet requests to ensure that AWS CloudFormation successfully + * received them.

    */ - Id?: string; -} + ClientToken?: string; -export namespace CreateChangeSetOutput { - export const filterSensitiveLog = (obj: CreateChangeSetOutput): any => ({ - ...obj, - }); -} + /** + *

    A description to help you identify this change set.

    + */ + Description?: string; + + /** + *

    The type of change set operation. To create a change set for a new stack, specify + * CREATE. To create a change set for an existing stack, specify + * UPDATE. To create a change set for an import operation, specify + * IMPORT.

    + *

    If you create a change set for a new stack, AWS Cloudformation creates a stack with a + * unique stack ID, but no template or resources. The stack will be in the + * REVIEW_IN_PROGRESS + * state until you execute the change + * set.

    + *

    By default, AWS CloudFormation specifies UPDATE. You can't use the + * UPDATE type to create a change set for a new stack or the + * CREATE type to create a change set for an existing stack.

    + */ + ChangeSetType?: ChangeSetType | string; + + /** + *

    The resources to import into your stack.

    + */ + ResourcesToImport?: ResourceToImport[]; + + /** + *

    Creates a change set for the all nested stacks specified in the template. The default + * behavior of this action is set to False. To include nested sets in a change + * set, specify True.

    + */ + IncludeNestedStacks?: boolean; +} + +export namespace CreateChangeSetInput { + export const filterSensitiveLog = (obj: CreateChangeSetInput): any => ({ + ...obj, + }); +} + +/** + *

    The output for the CreateChangeSet action.

    + */ +export interface CreateChangeSetOutput { + /** + *

    The Amazon Resource Name (ARN) of the change set.

    + */ + Id?: string; + + /** + *

    The unique ID of the stack.

    + */ + StackId?: string; +} + +export namespace CreateChangeSetOutput { + export const filterSensitiveLog = (obj: CreateChangeSetOutput): any => ({ + ...obj, + }); +} /** *

    The template contains resources with capabilities that weren't specified in the @@ -1179,6 +1215,17 @@ export enum OnFailure { *

    The input for CreateStack action.

    */ export interface CreateStackInput { + /** + *

    The name that is associated with the stack. The name must be unique in the Region in + * which you are creating the stack.

    + * + *

    A stack name can contain only alphanumeric characters (case sensitive) and + * hyphens. It must start with an alphabetic character and cannot be longer than 128 + * characters.

    + *
    + */ + StackName: string | undefined; + /** *

    Structure containing the template body with a minimum length of 1 byte and a maximum * length of 51,200 bytes. For more information, go to Template Anatomy @@ -1189,30 +1236,14 @@ export interface CreateStackInput { TemplateBody?: string; /** - *

    Structure containing the stack policy body. For more information, go to Prevent Updates - * to Stack Resources in the AWS CloudFormation User Guide. - * You can specify either the StackPolicyBody or the StackPolicyURL - * parameter, but not both.

    - */ - StackPolicyBody?: string; - - /** - *

    The template resource types that you have permissions to work with for this create - * stack action, such as AWS::EC2::Instance, AWS::EC2::*, or - * Custom::MyCustomInstance. Use the following syntax to describe template - * resource types: AWS::* (for all AWS resource), Custom::* (for all - * custom resources), Custom::logical_ID - * (for a specific custom resource), - * AWS::service_name::* (for all resources of a - * particular AWS service), and - * AWS::service_name::resource_logical_ID - * (for a specific AWS resource).

    - *

    If the list of resource types doesn't include a resource that you're creating, the - * stack creation fails. By default, AWS CloudFormation grants permissions to all resource - * types. AWS Identity and Access Management (IAM) uses this parameter for AWS - * CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

    + *

    Location of file containing the template body. The URL must point to a template (max + * size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to + * the Template Anatomy + * in the AWS CloudFormation User Guide.

    + *

    Conditional: You must specify either the TemplateBody or the + * TemplateURL parameter, but not both.

    */ - ResourceTypes?: string[]; + TemplateURL?: string; /** *

    A list of Parameter structures that specify input parameters for the @@ -1221,27 +1252,6 @@ export interface CreateStackInput { */ Parameters?: Parameter[]; - /** - *

    Whether to enable termination protection on the specified stack. If a user attempts - * to delete a stack with termination protection enabled, the operation fails and the stack - * remains unchanged. For more information, see Protecting a Stack From Being - * Deleted in the AWS CloudFormation User Guide. Termination protection is - * disabled on stacks by default.

    - *

    For nested stacks, - * termination protection is set on the root stack and cannot be changed directly on the - * nested stack.

    - */ - EnableTerminationProtection?: boolean; - - /** - *

    Determines what action will be taken if stack creation fails. This must be one of: - * DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or - * DisableRollback, but not both.

    - *

    Default: ROLLBACK - *

    - */ - OnFailure?: OnFailure | string; - /** *

    Set to true to disable rollback of the stack if stack creation failed. * You can specify either DisableRollback or OnFailure, but not @@ -1252,22 +1262,10 @@ export interface CreateStackInput { DisableRollback?: boolean; /** - *

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates - * these tags to the resources created in the stack. A maximum number of 50 tags can be - * specified.

    - */ - Tags?: Tag[]; - - /** - *

    The name that is associated with the stack. The name must be unique in the Region in - * which you are creating the stack.

    - * - *

    A stack name can contain only alphanumeric characters (case sensitive) and - * hyphens. It must start with an alphabetic character and cannot be longer than 128 - * characters.

    - *
    + *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

    */ - StackName: string | undefined; + RollbackConfiguration?: RollbackConfiguration; /** *

    The amount of time that can pass before the stack status becomes CREATE_FAILED; if @@ -1276,31 +1274,6 @@ export interface CreateStackInput { */ TimeoutInMinutes?: number; - /** - *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

    - */ - RollbackConfiguration?: RollbackConfiguration; - - /** - *

    A unique identifier for this CreateStack request. Specify this token if - * you plan to retry requests so that AWS CloudFormation knows that you're not attempting to - * create a stack with the same name. You might retry CreateStack requests to - * ensure that AWS CloudFormation successfully received them.

    - *

    All events triggered by a given stack operation are assigned the same client request - * token, which you can use to track operations. For example, if you execute a - * CreateStack operation with the token token1, then all the - * StackEvents generated by that operation will have - * ClientRequestToken set as token1.

    - *

    In the console, stack operations display the client request token on the Events tab. - * Stack operations that are initiated from the console use the token format - * Console-StackOperation-ID, which helps you easily identify the - * stack operation . For example, if you create a stack using the console, each stack event - * would be assigned the same token in the following format: - * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    - */ - ClientRequestToken?: string; - /** *

    The Simple Notification Service (SNS) topic ARNs to publish stack related events. You * can find your SNS topic ARNs using the SNS console or your Command Line Interface @@ -1415,22 +1388,22 @@ export interface CreateStackInput { Capabilities?: (Capability | string)[]; /** - *

    Location of file containing the template body. The URL must point to a template (max - * size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to - * the Template Anatomy - * in the AWS CloudFormation User Guide.

    - *

    Conditional: You must specify either the TemplateBody or the - * TemplateURL parameter, but not both.

    - */ - TemplateURL?: string; - - /** - *

    Location of a file containing the stack policy. The URL must point to a policy - * (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can - * specify either the StackPolicyBody or the StackPolicyURL - * parameter, but not both.

    + *

    The template resource types that you have permissions to work with for this create + * stack action, such as AWS::EC2::Instance, AWS::EC2::*, or + * Custom::MyCustomInstance. Use the following syntax to describe template + * resource types: AWS::* (for all AWS resource), Custom::* (for all + * custom resources), Custom::logical_ID + * (for a specific custom resource), + * AWS::service_name::* (for all resources of a + * particular AWS service), and + * AWS::service_name::resource_logical_ID + * (for a specific AWS resource).

    + *

    If the list of resource types doesn't include a resource that you're creating, the + * stack creation fails. By default, AWS CloudFormation grants permissions to all resource + * types. AWS Identity and Access Management (IAM) uses this parameter for AWS + * CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

    */ - StackPolicyURL?: string; + ResourceTypes?: string[]; /** *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role @@ -1444,6 +1417,69 @@ export interface CreateStackInput { * session that is generated from your user credentials.

    */ RoleARN?: string; + + /** + *

    Determines what action will be taken if stack creation fails. This must be one of: + * DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or + * DisableRollback, but not both.

    + *

    Default: ROLLBACK + *

    + */ + OnFailure?: OnFailure | string; + + /** + *

    Structure containing the stack policy body. For more information, go to Prevent Updates + * to Stack Resources in the AWS CloudFormation User Guide. + * You can specify either the StackPolicyBody or the StackPolicyURL + * parameter, but not both.

    + */ + StackPolicyBody?: string; + + /** + *

    Location of a file containing the stack policy. The URL must point to a policy + * (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can + * specify either the StackPolicyBody or the StackPolicyURL + * parameter, but not both.

    + */ + StackPolicyURL?: string; + + /** + *

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates + * these tags to the resources created in the stack. A maximum number of 50 tags can be + * specified.

    + */ + Tags?: Tag[]; + + /** + *

    A unique identifier for this CreateStack request. Specify this token if + * you plan to retry requests so that AWS CloudFormation knows that you're not attempting to + * create a stack with the same name. You might retry CreateStack requests to + * ensure that AWS CloudFormation successfully received them.

    + *

    All events triggered by a given stack operation are assigned the same client request + * token, which you can use to track operations. For example, if you execute a + * CreateStack operation with the token token1, then all the + * StackEvents generated by that operation will have + * ClientRequestToken set as token1.

    + *

    In the console, stack operations display the client request token on the Events tab. + * Stack operations that are initiated from the console use the token format + * Console-StackOperation-ID, which helps you easily identify the + * stack operation . For example, if you create a stack using the console, each stack event + * would be assigned the same token in the following format: + * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    + */ + ClientRequestToken?: string; + + /** + *

    Whether to enable termination protection on the specified stack. If a user attempts + * to delete a stack with termination protection enabled, the operation fails and the stack + * remains unchanged. For more information, see Protecting a Stack From Being + * Deleted in the AWS CloudFormation User Guide. Termination protection is + * disabled on stacks by default.

    + *

    For nested stacks, + * termination protection is set on the root stack and cannot be changed directly on the + * nested stack.

    + */ + EnableTerminationProtection?: boolean; } export namespace CreateStackInput { @@ -1469,19 +1505,19 @@ export namespace CreateStackOutput { } /** - *

    [Service-managed permissions] The AWS Organizations accounts to which StackSets deploys. StackSets does not deploy stack instances to the organization master account, even if the master account is in your organization or in an OU in your organization.

    + *

    [Service-managed permissions] The AWS Organizations accounts to which StackSets deploys. StackSets does not deploy stack instances to the organization management account, even if the organization management account is in your organization or in an OU in your organization.

    *

    For update operations, you can specify either Accounts or OrganizationalUnitIds. For create and delete operations, specify OrganizationalUnitIds.

    */ export interface DeploymentTargets { /** - *

    The organization root ID or organizational unit (OU) IDs to which StackSets deploys.

    + *

    The names of one or more AWS accounts for which you want to deploy stack set updates.

    */ - OrganizationalUnitIds?: string[]; + Accounts?: string[]; /** - *

    The names of one or more AWS accounts for which you want to deploy stack set updates.

    + *

    The organization root ID or organizational unit (OU) IDs to which StackSets deploys.

    */ - Accounts?: string[]; + OrganizationalUnitIds?: string[]; } export namespace DeploymentTargets { @@ -1501,21 +1537,6 @@ export interface StackSetOperationPreferences { */ RegionOrder?: string[]; - /** - *

    The maximum percentage of accounts in which to perform this operation at one - * time.

    - *

    When calculating the number of accounts based on the specified percentage, AWS - * CloudFormation rounds down to the next whole number. This is true except in cases where - * rounding down would result is zero. In this case, CloudFormation sets the number as one - * instead.

    - *

    Note that this setting lets you specify the maximum for - * operations. For large deployments, under certain circumstances the actual number of - * accounts acted upon concurrently may be lower due to service throttling.

    - *

    Conditional: You must specify either MaxConcurrentCount or - * MaxConcurrentPercentage, but not both.

    - */ - MaxConcurrentPercentage?: number; - /** *

    The number of accounts, per Region, for which this operation can fail before AWS * CloudFormation stops the operation in that Region. If the operation is stopped in a Region, @@ -1549,6 +1570,21 @@ export interface StackSetOperationPreferences { * MaxConcurrentPercentage, but not both.

    */ MaxConcurrentCount?: number; + + /** + *

    The maximum percentage of accounts in which to perform this operation at one + * time.

    + *

    When calculating the number of accounts based on the specified percentage, AWS + * CloudFormation rounds down to the next whole number. This is true except in cases where + * rounding down would result is zero. In this case, CloudFormation sets the number as one + * instead.

    + *

    Note that this setting lets you specify the maximum for + * operations. For large deployments, under certain circumstances the actual number of + * accounts acted upon concurrently may be lower due to service throttling.

    + *

    Conditional: You must specify either MaxConcurrentCount or + * MaxConcurrentPercentage, but not both.

    + */ + MaxConcurrentPercentage?: number; } export namespace StackSetOperationPreferences { @@ -1558,6 +1594,25 @@ export namespace StackSetOperationPreferences { } export interface CreateStackInstancesInput { + /** + *

    The name or unique ID of the stack set that you want to create stack instances + * from.

    + */ + StackSetName: string | undefined; + + /** + *

    [Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the + * specified Region(s) for.

    + *

    You can specify Accounts or DeploymentTargets, but not both.

    + */ + Accounts?: string[]; + + /** + *

    [Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

    + *

    You can specify Accounts or DeploymentTargets, but not both.

    + */ + DeploymentTargets?: DeploymentTargets; + /** *

    The names of one or more Regions where you want to create stack instances using the * specified AWS account(s).

    @@ -1610,13 +1665,6 @@ export interface CreateStackInstancesInput { */ OperationPreferences?: StackSetOperationPreferences; - /** - *

    [Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the - * specified Region(s) for.

    - *

    You can specify Accounts or DeploymentTargets, but not both.

    - */ - Accounts?: string[]; - /** *

    The unique identifier for this stack set operation.

    *

    The operation ID also functions as an idempotency token, to ensure that AWS @@ -1628,18 +1676,6 @@ export interface CreateStackInstancesInput { * instances whose status is OUTDATED.

    */ OperationId?: string; - - /** - *

    The name or unique ID of the stack set that you want to create stack instances - * from.

    - */ - StackSetName: string | undefined; - - /** - *

    [Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

    - *

    You can specify Accounts or DeploymentTargets, but not both.

    - */ - DeploymentTargets?: DeploymentTargets; } export namespace CreateStackInstancesInput { @@ -1757,24 +1793,30 @@ export type PermissionModels = "SELF_MANAGED" | "SERVICE_MANAGED"; export interface CreateStackSetInput { /** - *

    The structure that contains the template body, with a minimum length of 1 byte and a - * maximum length of 51,200 bytes. For more information, see Template Anatomy - * in the AWS CloudFormation User Guide.

    - *

    Conditional: You must specify either the TemplateBody or the TemplateURL parameter, - * but not both.

    + *

    The name to associate with the stack set. The name must be unique in the Region where + * you create your stack set.

    + * + *

    A stack name can contain only alphanumeric characters (case-sensitive) and + * hyphens. It must start with an alphabetic character and can't be longer than 128 + * characters.

    + *
    */ - TemplateBody?: string; + StackSetName: string | undefined; /** - *

    The key-value pairs to associate with this stack set and the stacks created from it. - * AWS CloudFormation also propagates these tags to supported resources that are created in - * the stacks. A maximum number of 50 tags can be specified.

    - *

    If you specify tags as part of a CreateStackSet action, AWS - * CloudFormation checks to see if you have the required IAM permission to tag resources. If - * you don't, the entire CreateStackSet action fails with an access - * denied error, and the stack set is not created.

    + *

    A description of the stack set. You can use the description to identify the stack + * set's purpose or other important information.

    + */ + Description?: string; + + /** + *

    The structure that contains the template body, with a minimum length of 1 byte and a + * maximum length of 51,200 bytes. For more information, see Template Anatomy + * in the AWS CloudFormation User Guide.

    + *

    Conditional: You must specify either the TemplateBody or the TemplateURL parameter, + * but not both.

    */ - Tags?: Tag[]; + TemplateBody?: string; /** *

    The location of the file that contains the template body. The URL must point to a @@ -1791,19 +1833,6 @@ export interface CreateStackSetInput { */ Parameters?: Parameter[]; - /** - *

    Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

    - *
      - *
    • - *

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      - *
    • - *
    • - *

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      - *
    • - *
    - */ - PermissionModel?: PermissionModels | string; - /** *

    In some cases, you must explicitly acknowledge that your stack set template contains * certain capabilities in order for AWS CloudFormation to create the stack set and related stack @@ -1903,15 +1932,25 @@ export interface CreateStackSetInput { Capabilities?: (Capability | string)[]; /** - *

    A description of the stack set. You can use the description to identify the stack - * set's purpose or other important information.

    + *

    The key-value pairs to associate with this stack set and the stacks created from it. + * AWS CloudFormation also propagates these tags to supported resources that are created in + * the stacks. A maximum number of 50 tags can be specified.

    + *

    If you specify tags as part of a CreateStackSet action, AWS + * CloudFormation checks to see if you have the required IAM permission to tag resources. If + * you don't, the entire CreateStackSet action fails with an access + * denied error, and the stack set is not created.

    */ - Description?: string; + Tags?: Tag[]; /** - *

    Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

    + *

    The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

    + *

    Specify an IAM role only if you are using customized administrator roles to control + * which users or groups can manage specific stack sets within the same administrator account. + * For more information, see Prerequisites: + * Granting Permissions for Stack Set Operations in the + * AWS CloudFormation User Guide.

    */ - AutoDeployment?: AutoDeployment; + AdministrationRoleARN?: string; /** *

    The name of the IAM execution role to use to create the stack set. If you do not specify @@ -1924,6 +1963,24 @@ export interface CreateStackSetInput { */ ExecutionRoleName?: string; + /** + *

    Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

    + *
      + *
    • + *

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      + *
    • + *
    • + *

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      + *
    • + *
    + */ + PermissionModel?: PermissionModels | string; + + /** + *

    Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

    + */ + AutoDeployment?: AutoDeployment; + /** *

    A unique identifier for this CreateStackSet request. Specify this token * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting @@ -1933,27 +1990,6 @@ export interface CreateStackSetInput { *

    */ ClientRequestToken?: string; - - /** - *

    The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

    - *

    Specify an IAM role only if you are using customized administrator roles to control - * which users or groups can manage specific stack sets within the same administrator account. - * For more information, see Prerequisites: - * Granting Permissions for Stack Set Operations in the - * AWS CloudFormation User Guide.

    - */ - AdministrationRoleARN?: string; - - /** - *

    The name to associate with the stack set. The name must be unique in the Region where - * you create your stack set.

    - * - *

    A stack name can contain only alphanumeric characters (case-sensitive) and - * hyphens. It must start with an alphabetic character and can't be longer than 128 - * characters.

    - *
    - */ - StackSetName: string | undefined; } export namespace CreateStackSetInput { @@ -1994,17 +2030,17 @@ export namespace NameAlreadyExistsException { *

    The input for the DeleteChangeSet action.

    */ export interface DeleteChangeSetInput { - /** - *

    If you specified the name of a change set to delete, specify the stack name or ID - * (ARN) that is associated with it.

    - */ - StackName?: string; - /** *

    The name or Amazon Resource Name (ARN) of the change set that you want to * delete.

    */ ChangeSetName: string | undefined; + + /** + *

    If you specified the name of a change set to delete, specify the stack name or ID + * (ARN) that is associated with it.

    + */ + StackName?: string; } export namespace DeleteChangeSetInput { @@ -2045,6 +2081,11 @@ export namespace InvalidChangeSetStatusException { *

    The input for DeleteStack action.

    */ export interface DeleteStackInput { + /** + *

    The name or the unique stack ID that is associated with the stack.

    + */ + StackName: string | undefined; + /** *

    For stacks in the DELETE_FAILED state, a list of resource logical IDs * that are associated with the resources you want to retain. During deletion, AWS @@ -2082,11 +2123,6 @@ export interface DeleteStackInput { * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    */ ClientRequestToken?: string; - - /** - *

    The name or the unique stack ID that is associated with the stack.

    - */ - StackName: string | undefined; } export namespace DeleteStackInput { @@ -2097,32 +2133,32 @@ export namespace DeleteStackInput { export interface DeleteStackInstancesInput { /** - *

    The Regions where you want to delete stack set instances.

    + *

    The name or unique ID of the stack set that you want to delete stack instances + * for.

    */ - Regions: string[] | undefined; + StackSetName: string | undefined; /** - *

    The unique identifier for this stack set operation.

    - *

    If you don't specify an operation ID, the SDK generates one automatically.

    - *

    The operation ID also functions as an idempotency token, to ensure that AWS - * CloudFormation performs the stack set operation only once, even if you retry the request - * multiple times. You can retry stack set operation requests to ensure that AWS - * CloudFormation successfully received them.

    - *

    Repeating this stack set operation with a new operation ID retries all stack - * instances whose status is OUTDATED.

    + *

    [Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

    + *

    You can specify Accounts or DeploymentTargets, but not both.

    */ - OperationId?: string; + Accounts?: string[]; /** - *

    Preferences for how AWS CloudFormation performs this stack set operation.

    + *

    [Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

    + *

    You can specify Accounts or DeploymentTargets, but not both.

    */ - OperationPreferences?: StackSetOperationPreferences; + DeploymentTargets?: DeploymentTargets; /** - *

    [Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

    - *

    You can specify Accounts or DeploymentTargets, but not both.

    + *

    The Regions where you want to delete stack set instances.

    */ - Accounts?: string[]; + Regions: string[] | undefined; + + /** + *

    Preferences for how AWS CloudFormation performs this stack set operation.

    + */ + OperationPreferences?: StackSetOperationPreferences; /** *

    Removes the stack instances from the specified stack set, but doesn't delete the @@ -2133,16 +2169,16 @@ export interface DeleteStackInstancesInput { RetainStacks: boolean | undefined; /** - *

    The name or unique ID of the stack set that you want to delete stack instances - * for.

    - */ - StackSetName: string | undefined; - - /** - *

    [Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

    - *

    You can specify Accounts or DeploymentTargets, but not both.

    + *

    The unique identifier for this stack set operation.

    + *

    If you don't specify an operation ID, the SDK generates one automatically.

    + *

    The operation ID also functions as an idempotency token, to ensure that AWS + * CloudFormation performs the stack set operation only once, even if you retry the request + * multiple times. You can retry stack set operation requests to ensure that AWS + * CloudFormation successfully received them.

    + *

    Repeating this stack set operation with a new operation ID retries all stack + * instances whose status is OUTDATED.

    */ - DeploymentTargets?: DeploymentTargets; + OperationId?: string; } export namespace DeleteStackInstancesInput { @@ -2203,13 +2239,14 @@ export namespace StackSetNotEmptyException { }); } -export type RegistryType = "RESOURCE"; +export type RegistryType = "MODULE" | "RESOURCE"; export interface DeregisterTypeInput { /** - *

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    + *

    The Amazon Resource Name (ARN) of the type.

    + *

    Conditional: You must specify either TypeName and Type, or Arn.

    */ - VersionId?: string; + Arn?: string; /** *

    The kind of type.

    @@ -2225,10 +2262,9 @@ export interface DeregisterTypeInput { TypeName?: string; /** - *

    The Amazon Resource Name (ARN) of the type.

    - *

    Conditional: You must specify either TypeName and Type, or Arn.

    + *

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    */ - Arn?: string; + VersionId?: string; } export namespace DeregisterTypeInput { @@ -2280,17 +2316,17 @@ export namespace DescribeAccountLimitsInput { *

    The output for the DescribeAccountLimits action.

    */ export interface DescribeAccountLimitsOutput { - /** - *

    If the output exceeds 1 MB in size, a string that identifies the next page of limits. - * If no additional page exists, this value is null.

    - */ - NextToken?: string; - /** *

    An account limit structure that contain a list of AWS CloudFormation account limits * and their values.

    */ AccountLimits?: AccountLimit[]; + + /** + *

    If the output exceeds 1 MB in size, a string that identifies the next page of limits. + * If no additional page exists, this value is null.

    + */ + NextToken?: string; } export namespace DescribeAccountLimitsOutput { @@ -2309,17 +2345,17 @@ export interface DescribeChangeSetInput { */ ChangeSetName: string | undefined; - /** - *

    A string (provided by the DescribeChangeSet response output) that - * identifies the next page of information that you want to retrieve.

    - */ - NextToken?: string; - /** *

    If you specified the name of a change set, specify the stack name or ID (ARN) of the * change set you want to describe.

    */ StackName?: string; + + /** + *

    A string (provided by the DescribeChangeSet response output) that + * identifies the next page of information that you want to retrieve.

    + */ + NextToken?: string; } export namespace DescribeChangeSetInput { @@ -2333,49 +2369,29 @@ export namespace DescribeChangeSetInput { */ export interface DescribeChangeSetOutput { /** - *

    A list of Change structures that describes the resources AWS - * CloudFormation changes if you execute the change set.

    - */ - Changes?: Change[]; - - /** - *

    Information about the change set.

    - */ - Description?: string; - - /** - *

    The current status of the change set, such as CREATE_IN_PROGRESS, - * CREATE_COMPLETE, or FAILED.

    - */ - Status?: ChangeSetStatus | string; - - /** - *

    The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be - * associated with the stack if you execute the change set.

    + *

    The name of the change set.

    */ - NotificationARNs?: string[]; + ChangeSetName?: string; /** - *

    If the output exceeds 1 MB, a string that identifies the next page of changes. If - * there is no additional page, this value is null.

    + *

    The ARN of the change set.

    */ - NextToken?: string; + ChangeSetId?: string; /** - *

    Verifies if IncludeNestedStacks is set to True.

    + *

    The ARN of the stack that is associated with the change set.

    */ - IncludeNestedStacks?: boolean; + StackId?: string; /** - *

    If you execute the change set, the list of capabilities that were explicitly - * acknowledged when the change set was created.

    + *

    The name of the stack that is associated with the change set.

    */ - Capabilities?: (Capability | string)[]; + StackName?: string; /** - *

    The name of the change set.

    + *

    Information about the change set.

    */ - ChangeSetName?: string; + Description?: string; /** *

    A list of Parameter structures that describes the input parameters and @@ -2384,10 +2400,9 @@ export interface DescribeChangeSetOutput { Parameters?: Parameter[]; /** - *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

    + *

    The start time when the change set was created, in UTC.

    */ - RollbackConfiguration?: RollbackConfiguration; + CreationTime?: Date; /** *

    If the change set execution status is AVAILABLE, you can execute the @@ -2399,46 +2414,67 @@ export interface DescribeChangeSetOutput { ExecutionStatus?: ExecutionStatus | string; /** - *

    Specifies the change set ID of the parent change set in the current nested change set hierarchy.

    + *

    The current status of the change set, such as CREATE_IN_PROGRESS, + * CREATE_COMPLETE, or FAILED.

    */ - ParentChangeSetId?: string; + Status?: ChangeSetStatus | string; /** - *

    The ARN of the change set.

    + *

    A description of the change set's status. For example, if your attempt to create a + * change set failed, AWS CloudFormation shows the error message.

    */ - ChangeSetId?: string; + StatusReason?: string; + + /** + *

    The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be + * associated with the stack if you execute the change set.

    + */ + NotificationARNs?: string[]; + + /** + *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

    + */ + RollbackConfiguration?: RollbackConfiguration; + + /** + *

    If you execute the change set, the list of capabilities that were explicitly + * acknowledged when the change set was created.

    + */ + Capabilities?: (Capability | string)[]; /** - *

    Specifies the change set ID of the root change set in the current nested change set hierarchy.

    + *

    If you execute the change set, the tags that will be associated with the + * stack.

    */ - RootChangeSetId?: string; + Tags?: Tag[]; /** - *

    The name of the stack that is associated with the change set.

    + *

    A list of Change structures that describes the resources AWS + * CloudFormation changes if you execute the change set.

    */ - StackName?: string; + Changes?: Change[]; /** - *

    A description of the change set's status. For example, if your attempt to create a - * change set failed, AWS CloudFormation shows the error message.

    + *

    If the output exceeds 1 MB, a string that identifies the next page of changes. If + * there is no additional page, this value is null.

    */ - StatusReason?: string; + NextToken?: string; /** - *

    The ARN of the stack that is associated with the change set.

    + *

    Verifies if IncludeNestedStacks is set to True.

    */ - StackId?: string; + IncludeNestedStacks?: boolean; /** - *

    If you execute the change set, the tags that will be associated with the - * stack.

    + *

    Specifies the change set ID of the parent change set in the current nested change set hierarchy.

    */ - Tags?: Tag[]; + ParentChangeSetId?: string; /** - *

    The start time when the change set was created, in UTC.

    + *

    Specifies the change set ID of the root change set in the current nested change set hierarchy.

    */ - CreationTime?: Date; + RootChangeSetId?: string; } export namespace DescribeChangeSetOutput { @@ -2478,16 +2514,9 @@ export enum StackDriftStatus { export interface DescribeStackDriftDetectionStatusOutput { /** - *

    Total number of stack resources that have drifted. This is NULL until the drift - * detection operation reaches a status of DETECTION_COMPLETE. This value will be - * 0 for stacks whose drift status is IN_SYNC.

    - */ - DriftedStackResourceCount?: number; - - /** - *

    The reason the stack drift detection operation has its current status.

    + *

    The ID of the stack.

    */ - DetectionStatusReason?: string; + StackId: string | undefined; /** *

    The ID of the drift detection results of this operation.

    @@ -2498,9 +2527,31 @@ export interface DescribeStackDriftDetectionStatusOutput { StackDriftDetectionId: string | undefined; /** - *

    Time at which the stack drift detection operation was initiated.

    + *

    Status of the stack's actual configuration compared to its expected configuration.

    + *
      + *
    • + *

      + * DRIFTED: The stack differs from its expected template + * configuration. A stack is considered to have drifted if one or more of its resources + * have drifted.

      + *
    • + *
    • + *

      + * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its + * expected template configuration.

      + *
    • + *
    • + *

      + * IN_SYNC: The stack's actual configuration matches its expected + * template configuration.

      + *
    • + *
    • + *

      + * UNKNOWN: This value is reserved for future use.

      + *
    • + *
    */ - Timestamp: Date | undefined; + StackDriftStatus?: StackDriftStatus | string; /** *

    The status of the stack drift detection operation.

    @@ -2530,36 +2581,21 @@ export interface DescribeStackDriftDetectionStatusOutput { DetectionStatus: StackDriftDetectionStatus | string | undefined; /** - *

    Status of the stack's actual configuration compared to its expected configuration.

    - *
      - *
    • - *

      - * DRIFTED: The stack differs from its expected template - * configuration. A stack is considered to have drifted if one or more of its resources - * have drifted.

      - *
    • - *
    • - *

      - * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its - * expected template configuration.

      - *
    • - *
    • - *

      - * IN_SYNC: The stack's actual configuration matches its expected - * template configuration.

      - *
    • - *
    • - *

      - * UNKNOWN: This value is reserved for future use.

      - *
    • - *
    + *

    The reason the stack drift detection operation has its current status.

    */ - StackDriftStatus?: StackDriftStatus | string; + DetectionStatusReason?: string; /** - *

    The ID of the stack.

    + *

    Total number of stack resources that have drifted. This is NULL until the drift + * detection operation reaches a status of DETECTION_COMPLETE. This value will be + * 0 for stacks whose drift status is IN_SYNC.

    */ - StackId: string | undefined; + DriftedStackResourceCount?: number; + + /** + *

    Time at which the stack drift detection operation was initiated.

    + */ + Timestamp: Date | undefined; } export namespace DescribeStackDriftDetectionStatusOutput { @@ -2624,30 +2660,24 @@ export enum ResourceStatus { */ export interface StackEvent { /** - *

    Time the status was updated.

    + *

    The unique ID name of the instance of the stack.

    */ - Timestamp: Date | undefined; + StackId: string | undefined; /** - *

    Success/failure message associated with the resource.

    + *

    The unique ID of this event.

    */ - ResourceStatusReason?: string; + EventId: string | undefined; /** - *

    The token passed to the operation that generated this event.

    - *

    All events triggered by a given stack operation are assigned the same client request - * token, which you can use to track operations. For example, if you execute a - * CreateStack operation with the token token1, then all the - * StackEvents generated by that operation will have - * ClientRequestToken set as token1.

    - *

    In the console, stack operations display the client request token on the Events tab. - * Stack operations that are initiated from the console use the token format - * Console-StackOperation-ID, which helps you easily identify the - * stack operation . For example, if you create a stack using the console, each stack event - * would be assigned the same token in the following format: - * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    + *

    The name associated with a stack.

    */ - ClientRequestToken?: string; + StackName: string | undefined; + + /** + *

    The logical name of the resource specified in the template.

    + */ + LogicalResourceId?: string; /** *

    The name or unique identifier associated with the physical instance of the @@ -2656,14 +2686,15 @@ export interface StackEvent { PhysicalResourceId?: string; /** - *

    BLOB of the properties used to create the resource.

    + *

    Type of resource. (For more information, go to AWS + * Resource Types Reference in the AWS CloudFormation User Guide.)

    */ - ResourceProperties?: string; + ResourceType?: string; /** - *

    The name associated with a stack.

    + *

    Time the status was updated.

    */ - StackName: string | undefined; + Timestamp: Date | undefined; /** *

    Current status of the resource.

    @@ -2671,25 +2702,30 @@ export interface StackEvent { ResourceStatus?: ResourceStatus | string; /** - *

    The logical name of the resource specified in the template.

    - */ - LogicalResourceId?: string; - - /** - *

    Type of resource. (For more information, go to AWS - * Resource Types Reference in the AWS CloudFormation User Guide.)

    + *

    Success/failure message associated with the resource.

    */ - ResourceType?: string; + ResourceStatusReason?: string; /** - *

    The unique ID of this event.

    + *

    BLOB of the properties used to create the resource.

    */ - EventId: string | undefined; + ResourceProperties?: string; /** - *

    The unique ID name of the instance of the stack.

    + *

    The token passed to the operation that generated this event.

    + *

    All events triggered by a given stack operation are assigned the same client request + * token, which you can use to track operations. For example, if you execute a + * CreateStack operation with the token token1, then all the + * StackEvents generated by that operation will have + * ClientRequestToken set as token1.

    + *

    In the console, stack operations display the client request token on the Events tab. + * Stack operations that are initiated from the console use the token format + * Console-StackOperation-ID, which helps you easily identify the + * stack operation . For example, if you create a stack using the console, each stack event + * would be assigned the same token in the following format: + * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    */ - StackId: string | undefined; + ClientRequestToken?: string; } export namespace StackEvent { @@ -2703,15 +2739,15 @@ export namespace StackEvent { */ export interface DescribeStackEventsOutput { /** - *

    If the output exceeds 1 MB in size, a string that identifies the next page of events. - * If no additional page exists, this value is null.

    + *

    A list of StackEvents structures.

    */ - NextToken?: string; + StackEvents?: StackEvent[]; /** - *

    A list of StackEvents structures.

    + *

    If the output exceeds 1 MB in size, a string that identifies the next page of events. + * If no additional page exists, this value is null.

    */ - StackEvents?: StackEvent[]; + NextToken?: string; } export namespace DescribeStackEventsOutput { @@ -2721,11 +2757,6 @@ export namespace DescribeStackEventsOutput { } export interface DescribeStackInstanceInput { - /** - *

    The name of a Region that's associated with this stack instance.

    - */ - StackInstanceRegion: string | undefined; - /** *

    The name or the unique stack ID of the stack set that you want to get stack instance * information for.

    @@ -2736,6 +2767,11 @@ export interface DescribeStackInstanceInput { *

    The ID of an AWS account that's associated with this stack instance.

    */ StackInstanceAccount: string | undefined; + + /** + *

    The name of a Region that's associated with this stack instance.

    + */ + StackInstanceRegion: string | undefined; } export namespace DescribeStackInstanceInput { @@ -2801,22 +2837,32 @@ export type StackInstanceStatus = "CURRENT" | "INOPERABLE" | "OUTDATED"; */ export interface StackInstance { /** - *

    A list of parameters from the stack set template whose values have been overridden in - * this stack instance.

    + *

    The name or unique ID of the stack set that the stack instance is associated + * with.

    */ - ParameterOverrides?: Parameter[]; + StackSetId?: string; /** - *

    The explanation for the specific status code that is assigned to this stack - * instance.

    + *

    The name of the AWS Region that the stack instance is associated with.

    */ - StatusReason?: string; + Region?: string; + + /** + *

    [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

    + */ + Account?: string; /** *

    The ID of the stack instance.

    */ StackId?: string; + /** + *

    A list of parameters from the stack set template whose values have been overridden in + * this stack instance.

    + */ + ParameterOverrides?: Parameter[]; + /** *

    The status of the stack instance, in terms of its synchronization with its associated * stack set.

    @@ -2856,14 +2902,15 @@ export interface StackInstance { Status?: StackInstanceStatus | string; /** - *

    The name of the AWS Region that the stack instance is associated with.

    + *

    The detailed status of the stack instance.

    */ - Region?: string; + StackInstanceStatus?: StackInstanceComprehensiveStatus; /** - *

    The detailed status of the stack instance.

    + *

    The explanation for the specific status code that is assigned to this stack + * instance.

    */ - StackInstanceStatus?: StackInstanceComprehensiveStatus; + StatusReason?: string; /** *

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    @@ -2899,17 +2946,6 @@ export interface StackInstance { */ DriftStatus?: StackDriftStatus | string; - /** - *

    The name or unique ID of the stack set that the stack instance is associated - * with.

    - */ - StackSetId?: string; - - /** - *

    [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

    - */ - Account?: string; - /** *

    Most recent time when CloudFormation performed a drift detection operation on the stack * instance. This value will be NULL for any stack instance on which drift @@ -2997,12 +3033,6 @@ export enum StackResourceDriftStatus { * has drifted, from its expected configuration.

    */ export interface StackResourceDriftInformation { - /** - *

    When AWS CloudFormation last checked if the resource had drifted from its expected - * configuration.

    - */ - LastCheckTimestamp?: Date; - /** *

    Status of the resource's actual configuration compared to its expected * configuration

    @@ -3032,6 +3062,12 @@ export interface StackResourceDriftInformation { * */ StackResourceDriftStatus: StackResourceDriftStatus | string | undefined; + + /** + *

    When AWS CloudFormation last checked if the resource had drifted from its expected + * configuration.

    + */ + LastCheckTimestamp?: Date; } export namespace StackResourceDriftInformation { @@ -3040,19 +3076,30 @@ export namespace StackResourceDriftInformation { }); } -/** - *

    Contains detailed information about the specified stack resource.

    - */ -export interface StackResourceDetail { +/** + *

    Contains detailed information about the specified stack resource.

    + */ +export interface StackResourceDetail { + /** + *

    The name associated with the stack.

    + */ + StackName?: string; + + /** + *

    Unique identifier of the stack.

    + */ + StackId?: string; + /** - *

    User defined description associated with the resource.

    + *

    The logical name of the resource specified in the template.

    */ - Description?: string; + LogicalResourceId: string | undefined; /** - *

    Time the status was updated.

    + *

    The name or unique identifier that corresponds to a physical instance ID of a + * resource supported by AWS CloudFormation.

    */ - LastUpdatedTimestamp: Date | undefined; + PhysicalResourceId?: string; /** *

    Type of resource. ((For more information, go to AWS @@ -3061,15 +3108,25 @@ export interface StackResourceDetail { ResourceType: string | undefined; /** - *

    Success/failure message associated with the resource.

    + *

    Time the status was updated.

    */ - ResourceStatusReason?: string; + LastUpdatedTimestamp: Date | undefined; /** *

    Current status of the resource.

    */ ResourceStatus: ResourceStatus | string | undefined; + /** + *

    Success/failure message associated with the resource.

    + */ + ResourceStatusReason?: string; + + /** + *

    User defined description associated with the resource.

    + */ + Description?: string; + /** *

    The content of the Metadata attribute declared for the resource. For * more information, see Metadata @@ -3077,12 +3134,6 @@ export interface StackResourceDetail { */ Metadata?: string; - /** - *

    The name or unique identifier that corresponds to a physical instance ID of a - * resource supported by AWS CloudFormation.

    - */ - PhysicalResourceId?: string; - /** *

    Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack @@ -3092,19 +3143,9 @@ export interface StackResourceDetail { DriftInformation?: StackResourceDriftInformation; /** - *

    The logical name of the resource specified in the template.

    - */ - LogicalResourceId: string | undefined; - - /** - *

    Unique identifier of the stack.

    - */ - StackId?: string; - - /** - *

    The name associated with the stack.

    + *

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    */ - StackName?: string; + ModuleInfo?: ModuleInfo; } export namespace StackResourceDetail { @@ -3136,11 +3177,6 @@ export interface DescribeStackResourceDriftsInput { */ StackName: string | undefined; - /** - *

    A string that identifies the next page of stack resource drift results.

    - */ - NextToken?: string; - /** *

    The resource drift status values to use as filters for the resource drift results * returned.

    @@ -3168,6 +3204,11 @@ export interface DescribeStackResourceDriftsInput { */ StackResourceDriftStatusFilters?: (StackResourceDriftStatus | string)[]; + /** + *

    A string that identifies the next page of stack resource drift results.

    + */ + NextToken?: string; + /** *

    The maximum number of results to be returned with a single call. If the number of * available results exceeds this maximum, the response includes a NextToken @@ -3226,6 +3267,17 @@ export interface PropertyDifference { */ PropertyPath: string | undefined; + /** + *

    The expected property value of the resource property, as defined in the stack + * template and any values specified as template parameters.

    + */ + ExpectedValue: string | undefined; + + /** + *

    The actual property value of the resource property.

    + */ + ActualValue: string | undefined; + /** *

    The type of property difference.

    *
      @@ -3248,17 +3300,6 @@ export interface PropertyDifference { *
    */ DifferenceType: DifferenceType | string | undefined; - - /** - *

    The actual property value of the resource property.

    - */ - ActualValue: string | undefined; - - /** - *

    The expected property value of the resource property, as defined in the stack - * template and any values specified as template parameters.

    - */ - ExpectedValue: string | undefined; } export namespace PropertyDifference { @@ -3282,12 +3323,9 @@ export namespace PropertyDifference { */ export interface StackResourceDrift { /** - *

    A collection of the resource properties whose actual values differ from their - * expected values. These will be present only for resources whose - * StackResourceDriftStatus is MODIFIED. - *

    + *

    The ID of the stack.

    */ - PropertyDifferences?: PropertyDifference[]; + StackId: string | undefined; /** *

    The logical name of the resource specified in the template.

    @@ -3295,9 +3333,31 @@ export interface StackResourceDrift { LogicalResourceId: string | undefined; /** - *

    Time at which AWS CloudFormation performed drift detection on the stack resource.

    + *

    The name or unique identifier that corresponds to a physical instance ID of a + * resource supported by AWS CloudFormation.

    */ - Timestamp: Date | undefined; + PhysicalResourceId?: string; + + /** + *

    Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses + * context key-value pairs in cases where a resource's logical and physical IDs are not enough + * to uniquely identify that resource. Each context key-value pair specifies a unique resource + * that contains the targeted resource.

    + */ + PhysicalResourceIdContext?: PhysicalResourceIdContextKeyValuePair[]; + + /** + *

    The type of the resource.

    + */ + ResourceType: string | undefined; + + /** + *

    A JSON structure containing the expected property values of the stack resource, as + * defined in the stack template and any values specified as template parameters.

    + *

    For resources whose StackResourceDriftStatus is DELETED, + * this structure will not be present.

    + */ + ExpectedProperties?: string; /** *

    A JSON structure containing the actual property values of the stack @@ -3308,9 +3368,12 @@ export interface StackResourceDrift { ActualProperties?: string; /** - *

    The ID of the stack.

    + *

    A collection of the resource properties whose actual values differ from their + * expected values. These will be present only for resources whose + * StackResourceDriftStatus is MODIFIED. + *

    */ - StackId: string | undefined; + PropertyDifferences?: PropertyDifference[]; /** *

    Status of the resource's actual configuration compared to its expected @@ -3341,31 +3404,14 @@ export interface StackResourceDrift { StackResourceDriftStatus: StackResourceDriftStatus | string | undefined; /** - *

    The name or unique identifier that corresponds to a physical instance ID of a - * resource supported by AWS CloudFormation.

    - */ - PhysicalResourceId?: string; - - /** - *

    A JSON structure containing the expected property values of the stack resource, as - * defined in the stack template and any values specified as template parameters.

    - *

    For resources whose StackResourceDriftStatus is DELETED, - * this structure will not be present.

    - */ - ExpectedProperties?: string; - - /** - *

    Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses - * context key-value pairs in cases where a resource's logical and physical IDs are not enough - * to uniquely identify that resource. Each context key-value pair specifies a unique resource - * that contains the targeted resource.

    + *

    Time at which AWS CloudFormation performed drift detection on the stack resource.

    */ - PhysicalResourceIdContext?: PhysicalResourceIdContextKeyValuePair[]; + Timestamp: Date | undefined; /** - *

    The type of the resource.

    + *

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    */ - ResourceType: string | undefined; + ModuleInfo?: ModuleInfo; } export namespace StackResourceDrift { @@ -3407,19 +3453,6 @@ export namespace DescribeStackResourceDriftsOutput { *

    The input for DescribeStackResources action.

    */ export interface DescribeStackResourcesInput { - /** - *

    The name or unique identifier that corresponds to a physical instance ID of a - * resource supported by AWS CloudFormation.

    - *

    For example, for an Amazon Elastic Compute Cloud (EC2) instance, - * PhysicalResourceId corresponds to the InstanceId. You can pass - * the EC2 InstanceId to DescribeStackResources to find which stack - * the instance belongs to and what other resources are part of the stack.

    - *

    Required: Conditional. If you do not specify PhysicalResourceId, you - * must specify StackName.

    - *

    Default: There is no default value.

    - */ - PhysicalResourceId?: string; - /** *

    The name or the unique stack ID that is associated with the stack, which are not * always interchangeable:

    @@ -3443,6 +3476,19 @@ export interface DescribeStackResourcesInput { *

    Default: There is no default value.

    */ LogicalResourceId?: string; + + /** + *

    The name or unique identifier that corresponds to a physical instance ID of a + * resource supported by AWS CloudFormation.

    + *

    For example, for an Amazon Elastic Compute Cloud (EC2) instance, + * PhysicalResourceId corresponds to the InstanceId. You can pass + * the EC2 InstanceId to DescribeStackResources to find which stack + * the instance belongs to and what other resources are part of the stack.

    + *

    Required: Conditional. If you do not specify PhysicalResourceId, you + * must specify StackName.

    + *

    Default: There is no default value.

    + */ + PhysicalResourceId?: string; } export namespace DescribeStackResourcesInput { @@ -3456,29 +3502,36 @@ export namespace DescribeStackResourcesInput { */ export interface StackResource { /** - *

    User defined description associated with the resource.

    + *

    The name associated with the stack.

    */ - Description?: string; + StackName?: string; /** - *

    Success/failure message associated with the resource.

    + *

    Unique identifier of the stack.

    */ - ResourceStatusReason?: string; + StackId?: string; /** - *

    Time the status was updated.

    + *

    The logical name of the resource specified in the template.

    */ - Timestamp: Date | undefined; + LogicalResourceId: string | undefined; /** - *

    The name associated with the stack.

    + *

    The name or unique identifier that corresponds to a physical instance ID of a + * resource supported by AWS CloudFormation.

    */ - StackName?: string; + PhysicalResourceId?: string; /** - *

    Unique identifier of the stack.

    + *

    Type of resource. (For more information, go to AWS + * Resource Types Reference in the AWS CloudFormation User Guide.)

    */ - StackId?: string; + ResourceType: string | undefined; + + /** + *

    Time the status was updated.

    + */ + Timestamp: Date | undefined; /** *

    Current status of the resource.

    @@ -3486,15 +3539,14 @@ export interface StackResource { ResourceStatus: ResourceStatus | string | undefined; /** - *

    The logical name of the resource specified in the template.

    + *

    Success/failure message associated with the resource.

    */ - LogicalResourceId: string | undefined; + ResourceStatusReason?: string; /** - *

    Type of resource. (For more information, go to AWS - * Resource Types Reference in the AWS CloudFormation User Guide.)

    + *

    User defined description associated with the resource.

    */ - ResourceType: string | undefined; + Description?: string; /** *

    Information about whether the resource's actual configuration differs, or has @@ -3505,10 +3557,9 @@ export interface StackResource { DriftInformation?: StackResourceDriftInformation; /** - *

    The name or unique identifier that corresponds to a physical instance ID of a - * resource supported by AWS CloudFormation.

    + *

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    */ - PhysicalResourceId?: string; + ModuleInfo?: ModuleInfo; } export namespace StackResource { @@ -3622,6 +3673,11 @@ export interface Output { */ OutputKey?: string; + /** + *

    The value associated with the output.

    + */ + OutputValue?: string; + /** *

    User defined description associated with the output.

    */ @@ -3631,11 +3687,6 @@ export interface Output { *

    The name of the export associated with the output.

    */ ExportName?: string; - - /** - *

    The value associated with the output.

    - */ - OutputValue?: string; } export namespace Output { @@ -3673,54 +3724,15 @@ export enum StackStatus { *

    The Stack data type.

    */ export interface Stack { - /** - *

    The name associated with the stack.

    - */ - StackName: string | undefined; - /** *

    Unique identifier of the stack.

    */ - StackId?: string; - - /** - *

    A list of output structures.

    - */ - Outputs?: Output[]; - - /** - *

    A list of Parameter structures.

    - */ - Parameters?: Parameter[]; - - /** - *

    Information on whether a stack's actual configuration differs, or has - * drifted, from it's expected configuration, as defined in the stack - * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration - * Changes to Stacks and Resources.

    - */ - DriftInformation?: StackDriftInformation; - - /** - *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role - * that is associated with the stack. During a stack operation, AWS CloudFormation uses this - * role's credentials to make calls on your behalf.

    - */ - RoleARN?: string; - - /** - *

    For nested stacks--stacks created as resources for another stack--the stack ID of the - * direct parent of this stack. For the first level of nested stacks, the root stack is also - * the parent stack.

    - *

    For more information, see Working with Nested Stacks in the - * AWS CloudFormation User Guide.

    - */ - ParentId?: string; + StackId?: string; /** - *

    SNS topic ARNs to which stack related events are published.

    + *

    The name associated with the stack.

    */ - NotificationARNs?: string[]; + StackName: string | undefined; /** *

    The unique ID of the change set.

    @@ -3728,14 +3740,24 @@ export interface Stack { ChangeSetId?: string; /** - *

    The capabilities allowed in the stack.

    + *

    A user-defined description associated with the stack.

    */ - Capabilities?: (Capability | string)[]; + Description?: string; /** - *

    The amount of time within which stack creation should complete.

    + *

    A list of Parameter structures.

    */ - TimeoutInMinutes?: number; + Parameters?: Parameter[]; + + /** + *

    The time at which the stack was created.

    + */ + CreationTime: Date | undefined; + + /** + *

    The time the stack was deleted.

    + */ + DeletionTime?: Date; /** *

    The time the stack was last updated. This field will only be returned if the stack @@ -3743,6 +3765,17 @@ export interface Stack { */ LastUpdatedTime?: Date; + /** + *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

    + */ + RollbackConfiguration?: RollbackConfiguration; + + /** + *

    Current status of the stack.

    + */ + StackStatus: StackStatus | string | undefined; + /** *

    Success/failure message associated with the stack status.

    */ @@ -3764,35 +3797,36 @@ export interface Stack { DisableRollback?: boolean; /** - *

    A list of Tags that specify information about the stack.

    + *

    SNS topic ARNs to which stack related events are published.

    */ - Tags?: Tag[]; + NotificationARNs?: string[]; /** - *

    The time at which the stack was created.

    + *

    The amount of time within which stack creation should complete.

    */ - CreationTime: Date | undefined; + TimeoutInMinutes?: number; /** - *

    Current status of the stack.

    + *

    The capabilities allowed in the stack.

    */ - StackStatus: StackStatus | string | undefined; + Capabilities?: (Capability | string)[]; /** - *

    A user-defined description associated with the stack.

    + *

    A list of output structures.

    */ - Description?: string; + Outputs?: Output[]; /** - *

    The time the stack was deleted.

    + *

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role + * that is associated with the stack. During a stack operation, AWS CloudFormation uses this + * role's credentials to make calls on your behalf.

    */ - DeletionTime?: Date; + RoleARN?: string; /** - *

    The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

    + *

    A list of Tags that specify information about the stack.

    */ - RollbackConfiguration?: RollbackConfiguration; + Tags?: Tag[]; /** *

    Whether termination protection is enabled for the stack.

    @@ -3803,6 +3837,15 @@ export interface Stack { */ EnableTerminationProtection?: boolean; + /** + *

    For nested stacks--stacks created as resources for another stack--the stack ID of the + * direct parent of this stack. For the first level of nested stacks, the root stack is also + * the parent stack.

    + *

    For more information, see Working with Nested Stacks in the + * AWS CloudFormation User Guide.

    + */ + ParentId?: string; + /** *

    For nested stacks--stacks created as resources for another stack--the stack ID of the * top-level stack to which the nested stack ultimately belongs.

    @@ -3810,6 +3853,14 @@ export interface Stack { * AWS CloudFormation User Guide.

    */ RootId?: string; + + /** + *

    Information on whether a stack's actual configuration differs, or has + * drifted, from it's expected configuration, as defined in the stack + * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration + * Changes to Stacks and Resources.

    + */ + DriftInformation?: StackDriftInformation; } export namespace Stack { @@ -3823,15 +3874,15 @@ export namespace Stack { */ export interface DescribeStacksOutput { /** - *

    If the output exceeds 1 MB in size, a string that identifies the next page of stacks. - * If no additional page exists, this value is null.

    + *

    A list of stack structures.

    */ - NextToken?: string; + Stacks?: Stack[]; /** - *

    A list of stack structures.

    + *

    If the output exceeds 1 MB in size, a string that identifies the next page of stacks. + * If no additional page exists, this value is null.

    */ - Stacks?: Stack[]; + NextToken?: string; } export namespace DescribeStacksOutput { @@ -3878,29 +3929,6 @@ export enum StackSetDriftStatus { * Changes in Stack Sets in the AWS CloudFormation User Guide.

    */ export interface StackSetDriftDetectionDetails { - /** - *

    The number of stack instances which match the expected template and parameter - * configuration of the stack set.

    - */ - InSyncStackInstancesCount?: number; - - /** - *

    The number of stack instances for which the drift detection operation failed.

    - */ - FailedStackInstancesCount?: number; - - /** - *

    Most recent time when CloudFormation performed a drift detection operation on the stack - * set. This value will be NULL for any stack set on which drift detection has - * not yet been performed.

    - */ - LastDriftCheckTimestamp?: Date; - - /** - *

    The number of stack instances that are currently being checked for drift.

    - */ - InProgressStackInstancesCount?: number; - /** *

    Status of the stack set's actual configuration compared to its expected template and * parameter configuration. A stack set is considered to have drifted if one or more of its @@ -3927,34 +3955,6 @@ export interface StackSetDriftDetectionDetails { */ DriftStatus?: StackSetDriftStatus | string; - /** - *

    The number of stack instances that have drifted from the expected template and parameter - * configuration of the stack set. A stack instance is considered to have drifted if one or - * more of the resources in the associated stack do not match their expected - * configuration.

    - */ - DriftedStackInstancesCount?: number; - - /** - *

    The total number of stack instances belonging to this stack set.

    - *

    The total number of stack instances is equal to the total of:

    - *
      - *
    • - *

      Stack instances that match the stack set configuration.

      - *
    • - *
    • - *

      Stack instances that have drifted from the stack set configuration.

      - *
    • - *
    • - *

      Stack instances where the drift detection operation has failed.

      - *
    • - *
    • - *

      Stack instances currently being checked for drift.

      - *
    • - *
    - */ - TotalStackInstancesCount?: number; - /** *

    The status of the stack set drift detection operation.

    *
      @@ -3985,6 +3985,57 @@ export interface StackSetDriftDetectionDetails { *
    */ DriftDetectionStatus?: StackSetDriftDetectionStatus | string; + + /** + *

    Most recent time when CloudFormation performed a drift detection operation on the stack + * set. This value will be NULL for any stack set on which drift detection has + * not yet been performed.

    + */ + LastDriftCheckTimestamp?: Date; + + /** + *

    The total number of stack instances belonging to this stack set.

    + *

    The total number of stack instances is equal to the total of:

    + *
      + *
    • + *

      Stack instances that match the stack set configuration.

      + *
    • + *
    • + *

      Stack instances that have drifted from the stack set configuration.

      + *
    • + *
    • + *

      Stack instances where the drift detection operation has failed.

      + *
    • + *
    • + *

      Stack instances currently being checked for drift.

      + *
    • + *
    + */ + TotalStackInstancesCount?: number; + + /** + *

    The number of stack instances that have drifted from the expected template and parameter + * configuration of the stack set. A stack instance is considered to have drifted if one or + * more of the resources in the associated stack do not match their expected + * configuration.

    + */ + DriftedStackInstancesCount?: number; + + /** + *

    The number of stack instances which match the expected template and parameter + * configuration of the stack set.

    + */ + InSyncStackInstancesCount?: number; + + /** + *

    The number of stack instances that are currently being checked for drift.

    + */ + InProgressStackInstancesCount?: number; + + /** + *

    The number of stack instances for which the drift detection operation failed.

    + */ + FailedStackInstancesCount?: number; } export namespace StackSetDriftDetectionDetails { @@ -4003,15 +4054,20 @@ export type StackSetStatus = "ACTIVE" | "DELETED"; */ export interface StackSet { /** - *

    A description of the stack set that you specify when the stack set is created or - * updated.

    + *

    The name that's associated with the stack set.

    */ - Description?: string; + StackSetName?: string; /** - *

    The name that's associated with the stack set.

    + *

    The ID of the stack set.

    */ - StackSetName?: string; + StackSetId?: string; + + /** + *

    A description of the stack set that you specify when the stack set is created or + * updated.

    + */ + Description?: string; /** *

    The status of the stack set.

    @@ -4019,14 +4075,15 @@ export interface StackSet { Status?: StackSetStatus | string; /** - *

    A list of input parameters for a stack set.

    + *

    The structure that contains the body of the template that was used to create or + * update the stack set.

    */ - Parameters?: Parameter[]; + TemplateBody?: string; /** - *

    The Amazon Resource Number (ARN) of the stack set.

    + *

    A list of input parameters for a stack set.

    */ - StackSetARN?: string; + Parameters?: Parameter[]; /** *

    The capabilities that are allowed in the stack set. Some stack set templates might @@ -4036,6 +4093,17 @@ export interface StackSet { */ Capabilities?: (Capability | string)[]; + /** + *

    A list of tags that specify information about the stack set. A maximum number of 50 + * tags can be specified.

    + */ + Tags?: Tag[]; + + /** + *

    The Amazon Resource Number (ARN) of the stack set.

    + */ + StackSetARN?: string; + /** *

    The Amazon Resource Number (ARN) of the IAM role used to create or update the stack * set.

    @@ -4045,11 +4113,6 @@ export interface StackSet { */ AdministrationRoleARN?: string; - /** - *

    The ID of the stack set.

    - */ - StackSetId?: string; - /** *

    The name of the IAM execution role used to create or update the stack set.

    *

    Use customized execution roles to control which stack resources users and groups can @@ -4059,14 +4122,17 @@ export interface StackSet { ExecutionRoleName?: string; /** - *

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

    + *

    Detailed information about the drift status of the stack set.

    + *

    For stack sets, contains information about the last completed drift + * operation performed on the stack set. Information about drift operations currently in + * progress is not included.

    */ - AutoDeployment?: AutoDeployment; + StackSetDriftDetectionDetails?: StackSetDriftDetectionDetails; /** - *

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    + *

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

    */ - OrganizationalUnitIds?: string[]; + AutoDeployment?: AutoDeployment; /** *

    Describes how the IAM roles required for stack set operations are created.

    @@ -4076,30 +4142,15 @@ export interface StackSet { *
  • *
  • *

    With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

    - *
  • - * - */ - PermissionModel?: PermissionModels | string; - - /** - *

    The structure that contains the body of the template that was used to create or - * update the stack set.

    - */ - TemplateBody?: string; - - /** - *

    A list of tags that specify information about the stack set. A maximum number of 50 - * tags can be specified.

    + * + * */ - Tags?: Tag[]; + PermissionModel?: PermissionModels | string; /** - *

    Detailed information about the drift status of the stack set.

    - *

    For stack sets, contains information about the last completed drift - * operation performed on the stack set. Information about drift operations currently in - * progress is not included.

    + *

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    */ - StackSetDriftDetectionDetails?: StackSetDriftDetectionDetails; + OrganizationalUnitIds?: string[]; } export namespace StackSet { @@ -4152,6 +4203,20 @@ export interface StackSetOperation { */ OperationId?: string; + /** + *

    The ID of the stack set.

    + */ + StackSetId?: string; + + /** + *

    The type of stack set operation: CREATE, UPDATE, or + * DELETE. Create and delete operations affect only the specified stack set + * instances that are associated with the specified stack set. Update operations affect both + * the stack set itself, as well as all associated stack set + * instances.

    + */ + Action?: StackSetOperationAction | string; + /** *

    The status of the operation.

    * */ public getRepositoryEndpoint( diff --git a/clients/client-codeartifact/CodeartifactClient.ts b/clients/client-codeartifact/CodeartifactClient.ts index baee77bcf4c6e..124827f693b60 100644 --- a/clients/client-codeartifact/CodeartifactClient.ts +++ b/clients/client-codeartifact/CodeartifactClient.ts @@ -333,7 +333,7 @@ export type CodeartifactClientResolvedConfig = __SmithyResolvedConfiguration<__H /** *

    AWS CodeArtifact is a fully managed artifact repository compatible with language-native - * package managers and build tools such as npm, Apache Maven, and pip. You can use CodeArtifact to + * package managers and build tools such as npm, Apache Maven, NuGet, and pip. You can use CodeArtifact to * share packages with development teams and pull packages. Packages can be pulled from both * public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact * repository and another repository, which effectively merges their contents from the point of @@ -353,7 +353,10 @@ export type CodeartifactClientResolvedConfig = __SmithyResolvedConfiguration<__H * repository exposes endpoints for fetching and publishing packages using tools like the * * npm - * CLI, the Maven CLI ( + * CLI, the + * NuGet + * CLI, + * the Maven CLI ( * mvn * ), and * pip @@ -379,7 +382,7 @@ export type CodeartifactClientResolvedConfig = __SmithyResolvedConfiguration<__H *

  • *

    * Package: A package is a bundle of software and the metadata required to - * resolve dependencies and install the software. CodeArtifact supports npm, PyPI, and Maven package formats.

    + * resolve dependencies and install the software. CodeArtifact supports npm, PyPI, Maven, and NuGet package formats.

    *

    In CodeArtifact, a package consists of:

    *
      *
    • @@ -532,6 +535,11 @@ export type CodeartifactClientResolvedConfig = __SmithyResolvedConfiguration<__H * maven *

      *
    • + *
    • + *

      + * nuget + *

      + *
    • *
    *
  • *
  • @@ -572,6 +580,10 @@ export type CodeartifactClientResolvedConfig = __SmithyResolvedConfiguration<__H *
  • *
  • *

    + * ListTagsForResource: Returns a list of the tags associated with a resource.

    + *
  • + *
  • + *

    * PutDomainPermissionsPolicy: Attaches a resource policy to a domain.

    *
  • *
  • @@ -581,6 +593,14 @@ export type CodeartifactClientResolvedConfig = __SmithyResolvedConfiguration<__H *
  • *
  • *

    + * TagResource: Adds or updates tags for a resource.

    + *
  • + *
  • + *

    + * UntagResource: Removes a tag from a resource.

    + *
  • + *
  • + *

    * UpdatePackageVersionsStatus: Updates the status of one or more versions of a package.

    *
  • *
  • diff --git a/clients/client-codeartifact/commands/GetRepositoryEndpointCommand.ts b/clients/client-codeartifact/commands/GetRepositoryEndpointCommand.ts index 3bb9d1db9a5b0..f75ddc2c52810 100644 --- a/clients/client-codeartifact/commands/GetRepositoryEndpointCommand.ts +++ b/clients/client-codeartifact/commands/GetRepositoryEndpointCommand.ts @@ -41,6 +41,11 @@ export type GetRepositoryEndpointCommandOutput = GetRepositoryEndpointResult & _ * maven *

    *
  • + *
  • + *

    + * nuget + *

    + *
  • * */ export class GetRepositoryEndpointCommand extends $Command< diff --git a/clients/client-codeartifact/models/models_0.ts b/clients/client-codeartifact/models/models_0.ts index 6c67a000ebaef..ea506cffbd176 100644 --- a/clients/client-codeartifact/models/models_0.ts +++ b/clients/client-codeartifact/models/models_0.ts @@ -34,17 +34,17 @@ export enum HashAlgorithm { export interface AssetSummary { /** *

    - * The size of the asset. - *

    + * The name of the asset. + *

    */ - size?: number; + name: string | undefined; /** *

    - * The name of the asset. - *

    + * The size of the asset. + *

    */ - name: string | undefined; + size?: number; /** *

    @@ -61,6 +61,26 @@ export namespace AssetSummary { } export interface AssociateExternalConnectionRequest { + /** + *

    The name of the domain that contains the repository.

    + */ + domain: string | undefined; + + /** + *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    + */ + domainOwner?: string; + + /** + *

    + * The name of the repository to which the external connection is added. + *

    + */ + repository: string | undefined; + /** *

    * The name of the external connection to add to the repository. The following values are supported: @@ -96,29 +116,14 @@ export interface AssociateExternalConnectionRequest { * public:maven-commonsware - for the CommonsWare Android repository. *

    * + *
  • + *

    + * public:nuget-org - for the NuGet Gallery. + *

    + *
  • * */ externalConnection: string | undefined; - - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - - /** - *

    The name of the domain that contains the repository.

    - */ - domain: string | undefined; - - /** - *

    - * The name of the repository to which the external connection is added. - *

    - */ - repository: string | undefined; } export namespace AssociateExternalConnectionRequest { @@ -130,6 +135,7 @@ export namespace AssociateExternalConnectionRequest { export enum PackageFormat { MAVEN = "maven", NPM = "npm", + NUGET = "nuget", PYPI = "pypi", } @@ -143,6 +149,11 @@ export enum ExternalConnectionStatus { *

    */ export interface RepositoryExternalConnectionInfo { + /** + *

    The name of the external connection associated with a repository.

    + */ + externalConnectionName?: string; + /** *

    * The package format associated with a repository's external connection. The valid package formats are: @@ -163,15 +174,15 @@ export interface RepositoryExternalConnectionInfo { * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. *

    * + *
  • + *

    + * nuget: A NuGet package. + *

    + *
  • * */ packageFormat?: PackageFormat | string; - /** - *

    The name of the external connection associated with a repository.

    - */ - externalConnectionName?: string; - /** *

    * The status of the external connection of a repository. There is one valid value, Available. @@ -215,17 +226,15 @@ export namespace UpstreamRepositoryInfo { export interface RepositoryDescription { /** *

    - * A text description of the repository. - *

    + * The name of the repository. + *

    */ - description?: string; + name?: string; /** - *

    A list of upstream repositories to associate with the repository. The order of the upstream repositories - * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more - * information, see Working with upstream repositories.

    + *

    The 12-digit account number of the AWS account that manages the repository.

    */ - upstreams?: UpstreamRepositoryInfo[]; + administratorAccount?: string; /** *

    @@ -243,28 +252,30 @@ export interface RepositoryDescription { domainOwner?: string; /** - *

    - * An array of external connections associated with the repository. - *

    + *

    The Amazon Resource Name (ARN) of the repository.

    */ - externalConnections?: RepositoryExternalConnectionInfo[]; + arn?: string; /** - *

    The 12-digit account number of the AWS account that manages the repository.

    + *

    + * A text description of the repository. + *

    */ - administratorAccount?: string; + description?: string; /** - *

    The Amazon Resource Name (ARN) of the repository.

    + *

    A list of upstream repositories to associate with the repository. The order of the upstream repositories + * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more + * information, see Working with upstream repositories.

    */ - arn?: string; + upstreams?: UpstreamRepositoryInfo[]; /** *

    - * The name of the repository. - *

    + * An array of external connections associated with the repository. + *

    */ - name?: string; + externalConnections?: RepositoryExternalConnectionInfo[]; } export namespace RepositoryDescription { @@ -304,20 +315,20 @@ export enum ResourceType { export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; + message: string | undefined; /** *

    - * The type of AWS resource. + * The ID of the resource. *

    */ - resourceType?: ResourceType | string; + resourceId?: string; - message: string | undefined; /** *

    - * The ID of the resource. + * The type of AWS resource. *

    */ - resourceId?: string; + resourceType?: ResourceType | string; } export namespace ConflictException { @@ -349,6 +360,7 @@ export namespace InternalServerException { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; + message: string | undefined; /** *

    * The ID of the resource. @@ -356,7 +368,6 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB */ resourceId?: string; - message: string | undefined; /** *

    * The type of AWS resource. @@ -379,6 +390,7 @@ export namespace ResourceNotFoundException { export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { name: "ServiceQuotaExceededException"; $fault: "client"; + message: string | undefined; /** *

    * The ID of the resource. @@ -386,7 +398,6 @@ export interface ServiceQuotaExceededException extends __SmithyException, $Metad */ resourceId?: string; - message: string | undefined; /** *

    * The type of AWS resource. @@ -440,14 +451,13 @@ export enum ValidationExceptionReason { export interface ValidationException extends __SmithyException, $MetadataBearer { name: "ValidationException"; $fault: "client"; + message: string | undefined; /** *

    * *

    */ reason?: ValidationExceptionReason | string; - - message: string | undefined; } export namespace ValidationException { @@ -457,13 +467,6 @@ export namespace ValidationException { } export interface CopyPackageVersionsRequest { - /** - *

    - * The name of the repository that contains the package versions to copy. - *

    - */ - sourceRepository: string | undefined; - /** *

    * The name of the domain that contains the source and destination repositories. @@ -471,42 +474,27 @@ export interface CopyPackageVersionsRequest { */ domain: string | undefined; - /** - *

    Set to true to copy packages from repositories that are upstream from the source - * repository to the destination repository. The default setting is false. For more information, - * see Working with - * upstream repositories.

    - */ - includeFromUpstream?: boolean; - /** *

    - * The name of the package that is copied. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - package: string | undefined; + domainOwner?: string; /** *

    - * The versions of the package to copy. - *

    - * - *

    - * You must specify versions or versionRevisions. You cannot specify both. - *

    - *
    + * The name of the repository that contains the package versions to copy. + *

    */ - versions?: string[]; + sourceRepository: string | undefined; /** *

    - * Set to true to overwrite a package version that already exists in the destination repository. - * If set to false and the package version already exists in the destination repository, - * the package version is returned in the failedVersions field of the response with - * an ALREADY_EXISTS error code. - *

    + * The name of the repository into which package versions are copied. + *

    */ - allowOverwrite?: boolean; + destinationRepository: string | undefined; /** *

    @@ -528,31 +516,15 @@ export interface CopyPackageVersionsRequest { * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. *

    * + *
  • + *

    + * nuget: A NuGet package. + *

    + *
  • * */ format: PackageFormat | string | undefined; - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - - /** - *

    - * A list of key-value pairs. The keys are package versions and the values are package version revisions. A CopyPackageVersion operation - * succeeds if the specified versions in the source repository match the specified package version revision. - *

    - * - *

    - * You must specify versions or versionRevisions. You cannot specify both. - *

    - *
    - */ - versionRevisions?: { [key: string]: string }; - /** *

    * The namespace of the package. The package component that specifies its @@ -575,16 +547,65 @@ export interface CopyPackageVersionsRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The name of the repository into which package versions are copied. + * The name of the package that is copied. *

    */ - destinationRepository: string | undefined; + package: string | undefined; + + /** + *

    + * The versions of the package to copy. + *

    + * + *

    + * You must specify versions or versionRevisions. You cannot specify both. + *

    + *
    + */ + versions?: string[]; + + /** + *

    + * A list of key-value pairs. The keys are package versions and the values are package version revisions. A CopyPackageVersion operation + * succeeds if the specified versions in the source repository match the specified package version revision. + *

    + * + *

    + * You must specify versions or versionRevisions. You cannot specify both. + *

    + *
    + */ + versionRevisions?: { [key: string]: string }; + + /** + *

    + * Set to true to overwrite a package version that already exists in the destination repository. + * If set to false and the package version already exists in the destination repository, + * the package version is returned in the failedVersions field of the response with + * an ALREADY_EXISTS error code. + *

    + */ + allowOverwrite?: boolean; + + /** + *

    Set to true to copy packages from repositories that are upstream from the source + * repository to the destination repository. The default setting is false. For more information, + * see Working with + * upstream repositories.

    + */ + includeFromUpstream?: boolean; } export namespace CopyPackageVersionsRequest { @@ -608,13 +629,6 @@ export enum PackageVersionErrorCode { *

    */ export interface PackageVersionError { - /** - *

    - * The error message associated with the error. - *

    - */ - errorMessage?: string; - /** *

    The error code associated with the error. Valid error codes are:

    *
      @@ -651,6 +665,13 @@ export interface PackageVersionError { *
    */ errorCode?: PackageVersionErrorCode | string; + + /** + *

    + * The error message associated with the error. + *

    + */ + errorMessage?: string; } export namespace PackageVersionError { @@ -782,12 +803,12 @@ export namespace CopyPackageVersionsResult { */ export interface Tag { /** - *

    The tag's key.

    + *

    The tag key.

    */ key: string | undefined; /** - *

    The tag's value.

    + *

    The tag value.

    */ value: string | undefined; } @@ -846,24 +867,12 @@ export enum DomainStatus { *

    */ export interface DomainDescription { - /** - *

    The Amazon Resource Name (ARN) of the domain.

    - */ - arn?: string; - - /** - *

    - * A timestamp that represents the date and time the domain was created. - *

    - */ - createdTime?: Date; - /** *

    - * The total size of all assets in the domain. - *

    + * The name of the domain. + *

    */ - assetSizeBytes?: number; + name?: string; /** *

    The AWS account ID that owns the domain.

    @@ -871,21 +880,9 @@ export interface DomainDescription { owner?: string; /** - *

    The ARN of an AWS Key Management Service (AWS KMS) key associated with a domain.

    - */ - encryptionKey?: string; - - /** - *

    The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to store package assets in the domain.

    - */ - s3BucketArn?: string; - - /** - *

    - * The number of repositories in the domain. - *

    + *

    The Amazon Resource Name (ARN) of the domain.

    */ - repositoryCount?: number; + arn?: string; /** *

    The current status of a domain. The valid values are

    @@ -906,10 +903,34 @@ export interface DomainDescription { /** *

    - * The name of the domain. - *

    + * A timestamp that represents the date and time the domain was created. + *

    */ - name?: string; + createdTime?: Date; + + /** + *

    The ARN of an AWS Key Management Service (AWS KMS) key associated with a domain.

    + */ + encryptionKey?: string; + + /** + *

    + * The number of repositories in the domain. + *

    + */ + repositoryCount?: number; + + /** + *

    + * The total size of all assets in the domain. + *

    + */ + assetSizeBytes?: number; + + /** + *

    The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to store package assets in the domain.

    + */ + s3BucketArn?: string; } export namespace DomainDescription { @@ -959,14 +980,11 @@ export namespace UpstreamRepository { export interface CreateRepositoryRequest { /** - *

    The name of the repository to create.

    - */ - repository: string | undefined; - - /** - *

    One or more tag key-value pairs for the repository.

    + *

    + * The domain that contains the created repository. + *

    */ - tags?: Tag[]; + domain: string | undefined; /** *

    @@ -976,12 +994,17 @@ export interface CreateRepositoryRequest { */ domainOwner?: string; + /** + *

    The name of the repository to create.

    + */ + repository: string | undefined; + /** *

    - * The domain that contains the created repository. - *

    + * A description of the created repository. + *

    */ - domain: string | undefined; + description?: string; /** *

    A list of upstream repositories to associate with the repository. The order of the upstream repositories @@ -991,11 +1014,9 @@ export interface CreateRepositoryRequest { upstreams?: UpstreamRepository[]; /** - *

    - * A description of the created repository. - *

    + *

    One or more tag key-value pairs for the repository.

    */ - description?: string; + tags?: Tag[]; } export namespace CreateRepositoryRequest { @@ -1022,18 +1043,18 @@ export namespace CreateRepositoryResult { export interface DeleteDomainRequest { /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    + * The name of the domain to delete. + *

    */ - domainOwner?: string; + domain: string | undefined; /** *

    - * The name of the domain to delete. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - domain: string | undefined; + domainOwner?: string; } export namespace DeleteDomainRequest { @@ -1060,11 +1081,10 @@ export namespace DeleteDomainResult { export interface DeleteDomainPermissionsPolicyRequest { /** *

    - * The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which - * prevents others from overwriting your changes to the domain's resource policy. + * The name of the domain associated with the resource policy to be deleted. *

    */ - policyRevision?: string; + domain: string | undefined; /** *

    @@ -1076,10 +1096,11 @@ export interface DeleteDomainPermissionsPolicyRequest { /** *

    - * The name of the domain associated with the resource policy to be deleted. + * The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which + * prevents others from overwriting your changes to the domain's resource policy. *

    */ - domain: string | undefined; + policyRevision?: string; } export namespace DeleteDomainPermissionsPolicyRequest { @@ -1096,17 +1117,17 @@ export namespace DeleteDomainPermissionsPolicyRequest { export interface ResourcePolicy { /** *

    - * The current revision of the resource policy. + * The ARN of the resource associated with the resource policy *

    */ - revision?: string; + resourceArn?: string; /** *

    - * The ARN of the resource associated with the resource policy + * The current revision of the resource policy. *

    */ - resourceArn?: string; + revision?: string; /** *

    @@ -1140,17 +1161,18 @@ export namespace DeleteDomainPermissionsPolicyResult { export interface DeletePackageVersionsRequest { /** *

    - * An array of strings that specify the versions of the package to delete. + * The name of the domain that contains the package to delete. *

    */ - versions: string[] | undefined; + domain: string | undefined; /** *

    - * The name of the package with the versions to delete. + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. *

    */ - package: string | undefined; + domainOwner?: string; /** *

    @@ -1161,102 +1183,112 @@ export interface DeletePackageVersionsRequest { /** *

    - * The namespace of the package. The package component that specifies its - * namespace depends on its type. For example: - *

    + * The format of the package versions to delete. The valid values are: + *

    *
      *
    • *

      - * The namespace of a Maven package is its groupId. - *

      + * npm + *

      *
    • *
    • *

      - * The namespace of an npm package is its scope. - *

      + * pypi + *

      *
    • *
    • *

      - * A Python package does not contain a corresponding component, so - * Python packages do not have a namespace. - *

      + * maven + *

      + *
    • + *
    • + *

      + * nuget + *

      *
    • *
    */ - namespace?: string; + format: PackageFormat | string | undefined; /** *

    - * The expected status of the package version to delete. Valid values are: - *

    + * The namespace of the package. The package component that specifies its + * namespace depends on its type. For example: + *

    *
      *
    • *

      - * Published - *

      - *
    • - *
    • - *

      - * Unfinished - *

      + * The namespace of a Maven package is its groupId. + *

      *
    • *
    • *

      - * Unlisted - *

      + * The namespace of an npm package is its scope. + *

      *
    • *
    • *

      - * Archived - *

      + * A Python package does not contain a corresponding component, so + * Python packages do not have a namespace. + *

      *
    • *
    • *

      - * Disposed - *

      + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

      *
    • *
    */ - expectedStatus?: PackageVersionStatus | string; + namespace?: string; /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. + * The name of the package with the versions to delete. *

    */ - domainOwner?: string; + package: string | undefined; /** *

    - * The name of the domain that contains the package to delete. + * An array of strings that specify the versions of the package to delete. *

    */ - domain: string | undefined; + versions: string[] | undefined; /** *

    - * The format of the package versions to delete. The valid values are: + * The expected status of the package version to delete. Valid values are: *

    *
      *
    • *

      - * npm + * Published *

      *
    • *
    • *

      - * pypi + * Unfinished *

      *
    • *
    • *

      - * maven + * Unlisted + *

      + *
    • + *
    • + *

      + * Archived + *

      + *
    • + *
    • + *

      + * Disposed *

      *
    • *
    */ - format: PackageFormat | string | undefined; + expectedStatus?: PackageVersionStatus | string; } export namespace DeletePackageVersionsRequest { @@ -1323,18 +1355,18 @@ export namespace DeletePackageVersionsResult { export interface DeleteRepositoryRequest { /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    + * The name of the domain that contains the repository to delete. + *

    */ - domainOwner?: string; + domain: string | undefined; /** *

    - * The name of the domain that contains the repository to delete. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - domain: string | undefined; + domainOwner?: string; /** *

    The name of the repository to delete.

    @@ -1366,33 +1398,33 @@ export namespace DeleteRepositoryResult { export interface DeleteRepositoryPermissionsPolicyRequest { /** *

    - * The name of the repository that is associated with the resource policy to be deleted - *

    + * The name of the domain that contains the repository associated with the resource policy to be deleted. + *

    */ - repository: string | undefined; + domain: string | undefined; /** *

    - * The revision of the repository's resource policy to be deleted. This revision is used for optimistic locking, which - * prevents others from accidentally overwriting your changes to the repository's resource policy. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - policyRevision?: string; + domainOwner?: string; /** *

    - * The name of the domain that contains the repository associated with the resource policy to be deleted. - *

    + * The name of the repository that is associated with the resource policy to be deleted + *

    */ - domain: string | undefined; + repository: string | undefined; /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    + * The revision of the repository's resource policy to be deleted. This revision is used for optimistic locking, which + * prevents others from accidentally overwriting your changes to the repository's resource policy. + *

    */ - domainOwner?: string; + policyRevision?: string; } export namespace DeleteRepositoryPermissionsPolicyRequest { @@ -1419,18 +1451,18 @@ export namespace DeleteRepositoryPermissionsPolicyResult { export interface DescribeDomainRequest { /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    + * A string that specifies the name of the requested domain. + *

    */ - domainOwner?: string; + domain: string | undefined; /** *

    - * A string that specifies the name of the requested domain. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - domain: string | undefined; + domainOwner?: string; } export namespace DescribeDomainRequest { @@ -1465,15 +1497,16 @@ export interface DescribePackageVersionRequest { /** *

    - * A string that contains the package version (for example, 3.5.2). - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - packageVersion: string | undefined; + domainOwner?: string; /** - *

    The name of the requested package version.

    + *

    The name of the repository that contains the package version.

    */ - package: string | undefined; + repository: string | undefined; /** *

    @@ -1495,18 +1528,15 @@ export interface DescribePackageVersionRequest { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format: PackageFormat | string | undefined; - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - /** *

    * The namespace of the package. The package component that specifies its @@ -1529,14 +1559,27 @@ export interface DescribePackageVersionRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** - *

    The name of the repository that contains the package version.

    + *

    The name of the requested package version.

    */ - repository: string | undefined; + package: string | undefined; + + /** + *

    + * A string that contains the package version (for example, 3.5.2). + *

    + */ + packageVersion: string | undefined; } export namespace DescribePackageVersionRequest { @@ -1553,17 +1596,17 @@ export namespace DescribePackageVersionRequest { export interface LicenseInfo { /** *

    - * The URL for license data. + * Name of the license. *

    */ - url?: string; + name?: string; /** *

    - * Name of the license. + * The URL for license data. *

    */ - name?: string; + url?: string; } export namespace LicenseInfo { @@ -1578,45 +1621,6 @@ export namespace LicenseInfo { *

    */ export interface PackageVersionDescription { - /** - *

    - * A timestamp that contains the date and time the package version was published. - *

    - */ - publishedTime?: Date; - - /** - *

    - * The name of the package that is displayed. The displayName varies depending - * on the package version's format. For example, if an npm package is named ui, - * is in the namespace vue, and has the format npm, then - * the displayName is @vue/ui. - *

    - */ - displayName?: string; - - /** - *

    - * The version of the package. - *

    - */ - version?: string; - - /** - *

    - * A summary of the package version. The summary is extracted from the package. The information in and - * detail level of the summary depends on the package version's format. - *

    - */ - summary?: string; - - /** - *

    - * The revision of the package version. - *

    - */ - revision?: string; - /** *

    * The format of the package version. The valid package formats are: @@ -1637,17 +1641,15 @@ export interface PackageVersionDescription { * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. *

    * + *
  • + *

    + * nuget: A NuGet package. + *

    + *
  • * */ format?: PackageFormat | string; - /** - *

    - * The name of the requested package. - *

    - */ - packageName?: string; - /** *

    * The namespace of the package. The package component that specifies its @@ -1670,10 +1672,83 @@ export interface PackageVersionDescription { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; + /** + *

    + * The name of the requested package. + *

    + */ + packageName?: string; + + /** + *

    + * The name of the package that is displayed. The displayName varies depending + * on the package version's format. For example, if an npm package is named ui, + * is in the namespace vue, and has the format npm, then + * the displayName is @vue/ui. + *

    + */ + displayName?: string; + + /** + *

    + * The version of the package. + *

    + */ + version?: string; + + /** + *

    + * A summary of the package version. The summary is extracted from the package. The information in and + * detail level of the summary depends on the package version's format. + *

    + */ + summary?: string; + + /** + *

    + * The homepage associated with the package. + *

    + */ + homePage?: string; + + /** + *

    + * The repository for the source code in the package version, or the source code used to build it. + *

    + */ + sourceCodeRepository?: string; + + /** + *

    + * A timestamp that contains the date and time the package version was published. + *

    + */ + publishedTime?: Date; + + /** + *

    + * Information about licenses associated with the package version. + *

    + */ + licenses?: LicenseInfo[]; + + /** + *

    + * The revision of the package version. + *

    + */ + revision?: string; + /** *

    * A string that contains the status of the package version. It can be one of the following: @@ -1707,27 +1782,6 @@ export interface PackageVersionDescription { * */ status?: PackageVersionStatus | string; - - /** - *

    - * The homepage associated with the package. - *

    - */ - homePage?: string; - - /** - *

    - * Information about licenses associated with the package version. - *

    - */ - licenses?: LicenseInfo[]; - - /** - *

    - * The repository for the source code in the package version, or the source code used to build it. - *

    - */ - sourceCodeRepository?: string; } export namespace PackageVersionDescription { @@ -1800,16 +1854,6 @@ export namespace DescribeRepositoryResult { } export interface DisassociateExternalConnectionRequest { - /** - *

    The name of the repository from which the external connection will be removed.

    - */ - repository: string | undefined; - - /** - *

    The name of the external connection to be removed from the repository.

    - */ - externalConnection: string | undefined; - /** *

    The name of the domain that contains the repository from which to remove the external * repository.

    @@ -1823,6 +1867,16 @@ export interface DisassociateExternalConnectionRequest { *

    */ domainOwner?: string; + + /** + *

    The name of the repository from which the external connection will be removed.

    + */ + repository: string | undefined; + + /** + *

    The name of the external connection to be removed from the repository.

    + */ + externalConnection: string | undefined; } export namespace DisassociateExternalConnectionRequest { @@ -1847,6 +1901,21 @@ export namespace DisassociateExternalConnectionResult { } export interface DisposePackageVersionsRequest { + /** + *

    + * The name of the domain that contains the repository you want to dispose. + *

    + */ + domain: string | undefined; + + /** + *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    + */ + domainOwner?: string; + /** *

    * The name of the repository that contains the package versions you want to dispose. @@ -1854,6 +1923,35 @@ export interface DisposePackageVersionsRequest { */ repository: string | undefined; + /** + *

    + * A format that specifies the type of package versions you want to dispose. The valid values are: + *

    + *
      + *
    • + *

      + * npm + *

      + *
    • + *
    • + *

      + * pypi + *

      + *
    • + *
    • + *

      + * maven + *

      + *
    • + *
    • + *

      + * nuget + *

      + *
    • + *
    + */ + format: PackageFormat | string | undefined; + /** *

    * The namespace of the package. The package component that specifies its @@ -1876,10 +1974,23 @@ export interface DisposePackageVersionsRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; + /** + *

    + * The name of the package with the versions you want to dispose. + *

    + */ + package: string | undefined; + /** *

    * The versions of the package you want to dispose. @@ -1889,10 +2000,10 @@ export interface DisposePackageVersionsRequest { /** *

    - * The name of the package with the versions you want to dispose. + * The revisions of the package versions you want to dispose. *

    */ - package: string | undefined; + versionRevisions?: { [key: string]: string }; /** *

    @@ -1927,52 +2038,6 @@ export interface DisposePackageVersionsRequest { * */ expectedStatus?: PackageVersionStatus | string; - - /** - *

    - * The revisions of the package versions you want to dispose. - *

    - */ - versionRevisions?: { [key: string]: string }; - - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - - /** - *

    - * A format that specifies the type of package versions you want to dispose. The valid values are: - *

    - *
      - *
    • - *

      - * npm - *

      - *
    • - *
    • - *

      - * pypi - *

      - *
    • - *
    • - *

      - * maven - *

      - *
    • - *
    - */ - format: PackageFormat | string | undefined; - - /** - *

    - * The name of the domain that contains the repository you want to dispose. - *

    - */ - domain: string | undefined; } export namespace DisposePackageVersionsRequest { @@ -2036,7 +2101,14 @@ export namespace DisposePackageVersionsResult { }); } -export interface GetAuthorizationTokenRequest { +export interface GetAuthorizationTokenRequest { + /** + *

    + * The name of the domain that is in scope for the generated authorization token. + *

    + */ + domain: string | undefined; + /** *

    * The 12-digit account number of the AWS account that owns the domain. It does not include @@ -2045,13 +2117,6 @@ export interface GetAuthorizationTokenRequest { */ domainOwner?: string; - /** - *

    - * The name of the domain that is in scope for the generated authorization token. - *

    - */ - domain: string | undefined; - /** *

    The time, in seconds, that the generated authorization token is valid. Valid values are * 0 and any number between 900 (15 minutes) and 43200 (12 hours). @@ -2070,17 +2135,17 @@ export namespace GetAuthorizationTokenRequest { export interface GetAuthorizationTokenResult { /** *

    - * A timestamp that specifies the date and time the authorization token expires. - *

    + * The returned authentication token. + *

    */ - expiration?: Date; + authorizationToken?: string; /** *

    - * The returned authentication token. - *

    + * A timestamp that specifies the date and time the authorization token expires. + *

    */ - authorizationToken?: string; + expiration?: Date; } export namespace GetAuthorizationTokenResult { @@ -2145,10 +2210,10 @@ export interface GetPackageVersionAssetRequest { /** *

    - * The name of the package version revision that contains the requested asset. + * The repository that contains the package version with the requested asset. *

    */ - packageVersionRevision?: string; + repository: string | undefined; /** *

    @@ -2170,31 +2235,15 @@ export interface GetPackageVersionAssetRequest { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format: PackageFormat | string | undefined; - /** - *

    - * The repository that contains the package version with the requested asset. - *

    - */ - repository: string | undefined; - - /** - *

    - * The name of the package that contains the requested asset. - *

    - */ - package: string | undefined; - - /** - *

    - * A string that contains the package version (for example, 3.5.2). - *

    - */ - packageVersion: string | undefined; - /** *

    * The namespace of the package. The package component that specifies its @@ -2217,16 +2266,43 @@ export interface GetPackageVersionAssetRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; + /** + *

    + * The name of the package that contains the requested asset. + *

    + */ + package: string | undefined; + + /** + *

    + * A string that contains the package version (for example, 3.5.2). + *

    + */ + packageVersion: string | undefined; + /** *

    * The name of the requested asset. *

    */ asset: string | undefined; + + /** + *

    + * The name of the package version revision that contains the requested asset. + *

    + */ + packageVersionRevision?: string; } export namespace GetPackageVersionAssetRequest { @@ -2236,13 +2312,6 @@ export namespace GetPackageVersionAssetRequest { } export interface GetPackageVersionAssetResult { - /** - *

    - * The name of the package version revision that contains the downloaded asset. - *

    - */ - packageVersionRevision?: string; - /** *

    The binary file, or asset, that is downloaded.

    */ @@ -2261,6 +2330,13 @@ export interface GetPackageVersionAssetResult { *

    */ packageVersion?: string; + + /** + *

    + * The name of the package version revision that contains the downloaded asset. + *

    + */ + packageVersionRevision?: string; } export namespace GetPackageVersionAssetResult { @@ -2272,10 +2348,18 @@ export namespace GetPackageVersionAssetResult { export interface GetPackageVersionReadmeRequest { /** *

    - * The name of the package version that contains the requested readme file. + * The name of the domain that contains the repository that contains the package version with the requested readme file. *

    */ - package: string | undefined; + domain: string | undefined; + + /** + *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    + */ + domainOwner?: string; /** *

    @@ -2286,10 +2370,32 @@ export interface GetPackageVersionReadmeRequest { /** *

    - * The name of the domain that contains the repository that contains the package version with the requested readme file. + * A format that specifies the type of the package version with the requested readme file. The valid values are: *

    + *
      + *
    • + *

      + * npm + *

      + *
    • + *
    • + *

      + * pypi + *

      + *
    • + *
    • + *

      + * maven + *

      + *
    • + *
    • + *

      + * nuget + *

      + *
    • + *
    */ - domain: string | undefined; + format: PackageFormat | string | undefined; /** *

    @@ -2313,17 +2419,22 @@ export interface GetPackageVersionReadmeRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    + * The name of the package version that contains the requested readme file. + *

    */ - domainOwner?: string; + package: string | undefined; /** *

    @@ -2331,30 +2442,6 @@ export interface GetPackageVersionReadmeRequest { *

    */ packageVersion: string | undefined; - - /** - *

    - * A format that specifies the type of the package version with the requested readme file. The valid values are: - *

    - *
      - *
    • - *

      - * npm - *

      - *
    • - *
    • - *

      - * pypi - *

      - *
    • - *
    • - *

      - * maven - *

      - *
    • - *
    - */ - format: PackageFormat | string | undefined; } export namespace GetPackageVersionReadmeRequest { @@ -2384,6 +2471,11 @@ export interface GetPackageVersionReadmeResult { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format?: PackageFormat | string; @@ -2410,16 +2502,22 @@ export interface GetPackageVersionReadmeResult { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The text of the returned readme file. + * The name of the package that contains the returned readme file. *

    */ - readme?: string; + package?: string; /** *

    @@ -2437,10 +2535,10 @@ export interface GetPackageVersionReadmeResult { /** *

    - * The name of the package that contains the returned readme file. + * The text of the returned readme file. *

    */ - package?: string; + readme?: string; } export namespace GetPackageVersionReadmeResult { @@ -2450,6 +2548,13 @@ export namespace GetPackageVersionReadmeResult { } export interface GetRepositoryEndpointRequest { + /** + *

    + * The name of the domain that contains the repository. + *

    + */ + domain: string | undefined; + /** *

    * The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include @@ -2458,6 +2563,13 @@ export interface GetRepositoryEndpointRequest { */ domainOwner?: string; + /** + *

    + * The name of the repository. + *

    + */ + repository: string | undefined; + /** *

    * Returns which endpoint of a repository to return. A repository has one endpoint for each @@ -2479,23 +2591,14 @@ export interface GetRepositoryEndpointRequest { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format: PackageFormat | string | undefined; - - /** - *

    - * The name of the repository. - *

    - */ - repository: string | undefined; - - /** - *

    - * The name of the domain that contains the repository. - *

    - */ - domain: string | undefined; } export namespace GetRepositoryEndpointRequest { @@ -2522,18 +2625,18 @@ export namespace GetRepositoryEndpointResult { export interface GetRepositoryPermissionsPolicyRequest { /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. + * The name of the domain containing the repository whose associated resource policy is to be retrieved. *

    */ - domainOwner?: string; + domain: string | undefined; /** *

    - * The name of the domain containing the repository whose associated resource policy is to be retrieved. + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. *

    */ - domain: string | undefined; + domainOwner?: string; /** *

    @@ -2594,6 +2697,13 @@ export namespace ListDomainsRequest { * objects.

    */ export interface DomainSummary { + /** + *

    + * The name of the domain. + *

    + */ + name?: string; + /** *

    * The 12-digit account number of the AWS account that owns the domain. It does not include @@ -2609,20 +2719,6 @@ export interface DomainSummary { */ arn?: string; - /** - *

    - * The name of the domain. - *

    - */ - name?: string; - - /** - *

    - * The key used to encrypt the domain. - *

    - */ - encryptionKey?: string; - /** *

    * A string that contains the status of the domain. The valid values are: @@ -2648,6 +2744,13 @@ export interface DomainSummary { *

    */ createdTime?: Date; + + /** + *

    + * The key used to encrypt the domain. + *

    + */ + encryptionKey?: string; } export namespace DomainSummary { @@ -2680,7 +2783,22 @@ export namespace ListDomainsResult { }); } -export interface ListPackagesRequest { +export interface ListPackagesRequest { + /** + *

    + * The domain that contains the repository that contains the requested list of packages. + *

    + */ + domain: string | undefined; + + /** + *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    + */ + domainOwner?: string; + /** *

    * The name of the repository from which packages are to be listed. @@ -2688,6 +2806,35 @@ export interface ListPackagesRequest { */ repository: string | undefined; + /** + *

    + * The format of the packages. The valid package types are: + *

    + *
      + *
    • + *

      + * npm: A Node Package Manager (npm) package. + *

      + *
    • + *
    • + *

      + * pypi: A Python Package Index (PyPI) package. + *

      + *
    • + *
    • + *

      + * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. + *

      + *
    • + *
    • + *

      + * nuget: A NuGet package. + *

      + *
    • + *
    + */ + format?: PackageFormat | string; + /** *

    * The namespace of the package. The package component that specifies its @@ -2710,21 +2857,20 @@ export interface ListPackagesRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The domain that contains the repository that contains the requested list of packages. - *

    - */ - domain: string | undefined; - - /** - *

    - * A prefix used to filter returned repositories. Only repositories with names that start with - * repositoryPrefix are returned. + * A prefix used to filter returned packages. Only packages with names that start with + * packagePrefix are returned. *

    */ packagePrefix?: string; @@ -2742,38 +2888,6 @@ export interface ListPackagesRequest { *

    */ nextToken?: string; - - /** - *

    - * The format of the packages. The valid package types are: - *

    - *
      - *
    • - *

      - * npm: A Node Package Manager (npm) package. - *

      - *
    • - *
    • - *

      - * pypi: A Python Package Index (PyPI) package. - *

      - *
    • - *
    • - *

      - * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. - *

      - *
    • - *
    - */ - format?: PackageFormat | string; - - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; } export namespace ListPackagesRequest { @@ -2812,6 +2926,11 @@ export interface PackageSummary { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format?: PackageFormat | string; @@ -2838,6 +2957,12 @@ export interface PackageSummary { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; @@ -2882,6 +3007,28 @@ export namespace ListPackagesResult { } export interface ListPackageVersionAssetsRequest { + /** + *

    + * The name of the domain that contains the repository associated with the package version assets. + *

    + */ + domain: string | undefined; + + /** + *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    + */ + domainOwner?: string; + + /** + *

    + * The name of the repository that contains the package that contains the returned package version assets. + *

    + */ + repository: string | undefined; + /** *

    * The format of the package that contains the returned package version assets. The valid package types are: @@ -2902,18 +3049,15 @@ export interface ListPackageVersionAssetsRequest { * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. *

    * + *
  • + *

    + * nuget: A NuGet package. + *

    + *
  • * */ format: PackageFormat | string | undefined; - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - /** *

    * The namespace of the package. The package component that specifies its @@ -2936,30 +3080,22 @@ export interface ListPackageVersionAssetsRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. - *

    - */ - nextToken?: string; - - /** - *

    - * The name of the repository that contains the package that contains the returned package version assets. - *

    - */ - repository: string | undefined; - - /** - *

    - * The maximum number of results to return per page. + * The name of the package that contains the returned package version assets. *

    */ - maxResults?: number; + package: string | undefined; /** *

    @@ -2970,17 +3106,17 @@ export interface ListPackageVersionAssetsRequest { /** *

    - * The name of the package that contains the returned package version assets. + * The maximum number of results to return per page. *

    */ - package: string | undefined; + maxResults?: number; /** *

    - * The name of the domain that contains the repository associated with the package version assets. + * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. *

    */ - domain: string | undefined; + nextToken?: string; } export namespace ListPackageVersionAssetsRequest { @@ -2992,26 +3128,10 @@ export namespace ListPackageVersionAssetsRequest { export interface ListPackageVersionAssetsResult { /** *

    - * The name of the package that contains the returned package version assets. - *

    - */ - package?: string; - - /** - *

    - * The returned list of - * AssetSummary - * objects. - *

    - */ - assets?: AssetSummary[]; - - /** - *

    - * The version of the package associated with the returned assets. + * The format of the package that contains the returned package version assets. *

    */ - version?: string; + format?: PackageFormat | string; /** *

    @@ -3035,23 +3155,36 @@ export interface ListPackageVersionAssetsResult { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The current revision associated with the package version. + * The name of the package that contains the returned package version assets. *

    */ - versionRevision?: string; + package?: string; /** *

    - * The format of the package that contains the returned package version assets. + * The version of the package associated with the returned assets. *

    */ - format?: PackageFormat | string; + version?: string; + + /** + *

    + * The current revision associated with the package version. + *

    + */ + versionRevision?: string; /** *

    @@ -3059,6 +3192,15 @@ export interface ListPackageVersionAssetsResult { *

    */ nextToken?: string; + + /** + *

    + * The returned list of + * AssetSummary + * objects. + *

    + */ + assets?: AssetSummary[]; } export namespace ListPackageVersionAssetsResult { @@ -3068,13 +3210,6 @@ export namespace ListPackageVersionAssetsResult { } export interface ListPackageVersionDependenciesRequest { - /** - *

    - * A string that contains the package version (for example, 3.5.2). - *

    - */ - packageVersion: string | undefined; - /** *

    * The domain that contains the repository that contains the requested package version dependencies. @@ -3092,10 +3227,10 @@ export interface ListPackageVersionDependenciesRequest { /** *

    - * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. - *

    + * The name of the repository that contains the requested package version. + *

    */ - nextToken?: string; + repository: string | undefined; /** *

    @@ -3117,24 +3252,15 @@ export interface ListPackageVersionDependenciesRequest { * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. *

    * + *
  • + *

    + * nuget: A NuGet package. + *

    + *
  • * */ format: PackageFormat | string | undefined; - /** - *

    - * The name of the repository that contains the requested package version. - *

    - */ - repository: string | undefined; - - /** - *

    - * The name of the package versions' package. - *

    - */ - package: string | undefined; - /** *

    * The namespace of the package. The package component that specifies its @@ -3157,9 +3283,36 @@ export interface ListPackageVersionDependenciesRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ - namespace?: string; + namespace?: string; + + /** + *

    + * The name of the package versions' package. + *

    + */ + package: string | undefined; + + /** + *

    + * A string that contains the package version (for example, 3.5.2). + *

    + */ + packageVersion: string | undefined; + + /** + *

    + * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. + *

    + */ + nextToken?: string; } export namespace ListPackageVersionDependenciesRequest { @@ -3174,20 +3327,6 @@ export namespace ListPackageVersionDependenciesRequest { *

    */ export interface PackageDependency { - /** - *

    The type of a package dependency. The possible values depend on the package type. - * Example types are compile, runtime, and test for Maven - * packages, and dev, prod, and optional for npm packages.

    - */ - dependencyType?: string; - - /** - *

    - * The name of the package that this package depends on. - *

    - */ - package?: string; - /** *

    * The namespace of the package. The package component that specifies its @@ -3210,10 +3349,30 @@ export interface PackageDependency { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; + /** + *

    + * The name of the package that this package depends on. + *

    + */ + package?: string; + + /** + *

    The type of a package dependency. The possible values depend on the package type. + * Example types are compile, runtime, and test for Maven + * packages, and dev, prod, and optional for npm packages.

    + */ + dependencyType?: string; + /** *

    * The required version, or version range, of the package that this package depends on. The version format @@ -3251,6 +3410,11 @@ export interface ListPackageVersionDependenciesResult { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format?: PackageFormat | string; @@ -3277,16 +3441,22 @@ export interface ListPackageVersionDependenciesResult { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; /** *

    - * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. - *

    + * The name of the package that contains the returned package versions dependencies. + *

    */ - nextToken?: string; + package?: string; /** *

    @@ -3297,17 +3467,17 @@ export interface ListPackageVersionDependenciesResult { /** *

    - * The name of the package that contains the returned package versions dependencies. + * The current revision associated with the package version. *

    */ - package?: string; + versionRevision?: string; /** *

    - * The current revision associated with the package version. - *

    + * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. + *

    */ - versionRevision?: string; + nextToken?: string; /** *

    @@ -3339,10 +3509,11 @@ export interface ListPackageVersionsRequest { /** *

    - * The name of the package for which you want to return a list of package versions. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - package: string | undefined; + domainOwner?: string; /** *

    @@ -3351,13 +3522,6 @@ export interface ListPackageVersionsRequest { */ repository: string | undefined; - /** - *

    - * How to sort the returned list of package versions. - *

    - */ - sortBy?: PackageVersionSortType | string; - /** *

    * The format of the returned packages. The valid package types are: @@ -3378,31 +3542,53 @@ export interface ListPackageVersionsRequest { * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. *

    * + *
  • + *

    + * nuget: A NuGet package. + *

    + *
  • * */ format: PackageFormat | string | undefined; /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - - /** - *

    - * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. - *

    + * The namespace of the package. The package component that specifies its + * namespace depends on its type. For example: + *

    + *
      + *
    • + *

      + * The namespace of a Maven package is its groupId. + *

      + *
    • + *
    • + *

      + * The namespace of an npm package is its scope. + *

      + *
    • + *
    • + *

      + * A Python package does not contain a corresponding component, so + * Python packages do not have a namespace. + *

      + *
    • + *
    • + *

      + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

      + *
    • + *
    */ - nextToken?: string; + namespace?: string; /** *

    - * The maximum number of results to return per page. - *

    + * The name of the package for which you want to return a list of package versions. + *

    */ - maxResults?: number; + package: string | undefined; /** *

    @@ -3440,29 +3626,24 @@ export interface ListPackageVersionsRequest { /** *

    - * The namespace of the package. The package component that specifies its - * namespace depends on its type. For example: + * How to sort the returned list of package versions. *

    - *
      - *
    • - *

      - * The namespace of a Maven package is its groupId. - *

      - *
    • - *
    • - *

      - * The namespace of an npm package is its scope. - *

      - *
    • - *
    • - *

      - * A Python package does not contain a corresponding component, so - * Python packages do not have a namespace. - *

      - *
    • - *
    */ - namespace?: string; + sortBy?: PackageVersionSortType | string; + + /** + *

    + * The maximum number of results to return per page. + *

    + */ + maxResults?: number; + + /** + *

    + * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. + *

    + */ + nextToken?: string; } export namespace ListPackageVersionsRequest { @@ -3481,6 +3662,13 @@ export namespace ListPackageVersionsRequest { *

    */ export interface PackageVersionSummary { + /** + *

    + * Information about a package version. + *

    + */ + version: string | undefined; + /** *

    * The revision associated with a package version. @@ -3521,13 +3709,6 @@ export interface PackageVersionSummary { * */ status: PackageVersionStatus | string | undefined; - - /** - *

    - * Information about a package version. - *

    - */ - version: string | undefined; } export namespace PackageVersionSummary { @@ -3539,14 +3720,23 @@ export namespace PackageVersionSummary { export interface ListPackageVersionsResult { /** *

    - * The returned list of - * - * PackageVersionSummary - * - * objects. - *

    + * The default package version to display. This depends on the package format: + *

    + *
      + *
    • + *

      + * For Maven and PyPI packages, it's the most recently published package version. + *

      + *
    • + *
    • + *

      + * For npm packages, it's the version referenced by the + * latest tag. If the latest tag is not set, it's the most recently published package version. + *

      + *
    • + *
    */ - versions?: PackageVersionSummary[]; + defaultDisplayVersion?: string; /** *

    @@ -3568,36 +3758,14 @@ export interface ListPackageVersionsResult { * maven *

    * - * - */ - format?: PackageFormat | string; - - /** - *

    - * If there are additional results, this is the token for the next set of results. - *

    - */ - nextToken?: string; - - /** - *

    - * The default package version to display. This depends on the package format: - *

    - *
      - *
    • - *

      - * For Maven and PyPI packages, it's the most recently published package version. - *

      - *
    • *
    • *

      - * For npm packages, it's the version referenced by the - * latest tag. If the latest tag is not set, it's the most recently published package version. - *

      + * nuget + *

      *
    • *
    */ - defaultDisplayVersion?: string; + format?: PackageFormat | string; /** *

    @@ -3621,6 +3789,12 @@ export interface ListPackageVersionsResult { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; @@ -3631,6 +3805,24 @@ export interface ListPackageVersionsResult { *

    */ package?: string; + + /** + *

    + * The returned list of + * + * PackageVersionSummary + * + * objects. + *

    + */ + versions?: PackageVersionSummary[]; + + /** + *

    + * If there are additional results, this is the token for the next set of results. + *

    + */ + nextToken?: string; } export namespace ListPackageVersionsResult { @@ -3641,24 +3833,24 @@ export namespace ListPackageVersionsResult { export interface ListRepositoriesRequest { /** - *

    - * The maximum number of results to return per page. - *

    + *

    A prefix used to filter returned repositories. Only repositories with names that start + * with repositoryPrefix are returned.

    */ - maxResults?: number; + repositoryPrefix?: string; /** *

    - * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. + * The maximum number of results to return per page. *

    */ - nextToken?: string; + maxResults?: number; /** - *

    A prefix used to filter returned repositories. Only repositories with names that start - * with repositoryPrefix are returned.

    + *

    + * The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. + *

    */ - repositoryPrefix?: string; + nextToken?: string; } export namespace ListRepositoriesRequest { @@ -3677,44 +3869,44 @@ export namespace ListRepositoriesRequest { export interface RepositorySummary { /** *

    - * The name of the domain that contains the repository. + * The name of the repository. *

    */ - domainName?: string; + name?: string; /** *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. + * The AWS account ID that manages the repository. *

    */ - domainOwner?: string; - - /** - *

    - * The description of the repository. - *

    - */ - description?: string; + administratorAccount?: string; /** *

    - * The name of the repository. + * The name of the domain that contains the repository. *

    */ - name?: string; + domainName?: string; /** *

    - * The AWS account ID that manages the repository. + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. *

    */ - administratorAccount?: string; + domainOwner?: string; /** *

    The ARN of the repository.

    */ arn?: string; + + /** + *

    + * The description of the repository. + *

    + */ + description?: string; } export namespace RepositorySummary { @@ -3724,13 +3916,6 @@ export namespace RepositorySummary { } export interface ListRepositoriesResult { - /** - *

    - * If there are additional results, this is the token for the next set of results. - *

    - */ - nextToken?: string; - /** *

    * The returned list of @@ -3740,6 +3925,13 @@ export interface ListRepositoriesResult { *

    */ repositories?: RepositorySummary[]; + + /** + *

    + * If there are additional results, this is the token for the next set of results. + *

    + */ + nextToken?: string; } export namespace ListRepositoriesResult { @@ -3751,17 +3943,25 @@ export namespace ListRepositoriesResult { export interface ListRepositoriesInDomainRequest { /** *

    - * Filter the list of repositories to only include those that are managed by the AWS account ID. + * The name of the domain that contains the returned list of repositories. *

    */ - administratorAccount?: string; + domain: string | undefined; /** *

    - * The name of the domain that contains the returned list of repositories. + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    + */ + domainOwner?: string; + + /** + *

    + * Filter the list of repositories to only include those that are managed by the AWS account ID. *

    */ - domain: string | undefined; + administratorAccount?: string; /** *

    @@ -3771,14 +3971,6 @@ export interface ListRepositoriesInDomainRequest { */ repositoryPrefix?: string; - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; - /** *

    * The maximum number of results to return per page. @@ -3803,17 +3995,17 @@ export namespace ListRepositoriesInDomainRequest { export interface ListRepositoriesInDomainResult { /** *

    - * If there are additional results, this is the token for the next set of results. - *

    + * The returned list of repositories. + *

    */ - nextToken?: string; + repositories?: RepositorySummary[]; /** *

    - * The returned list of repositories. - *

    + * If there are additional results, this is the token for the next set of results. + *

    */ - repositories?: RepositorySummary[]; + nextToken?: string; } export namespace ListRepositoriesInDomainResult { @@ -3851,11 +4043,10 @@ export namespace ListTagsForResourceResult { export interface PutDomainPermissionsPolicyRequest { /** *

    - * The current revision of the resource policy to be set. This revision is used for optimistic locking, which - * prevents others from overwriting your changes to the domain's resource policy. + * The name of the domain on which to set the resource policy. *

    */ - policyRevision?: string; + domain: string | undefined; /** *

    @@ -3866,17 +4057,18 @@ export interface PutDomainPermissionsPolicyRequest { domainOwner?: string; /** - *

    A valid displayable JSON Aspen policy string to be set as the access control resource - * policy on the provided domain.

    + *

    + * The current revision of the resource policy to be set. This revision is used for optimistic locking, which + * prevents others from overwriting your changes to the domain's resource policy. + *

    */ - policyDocument: string | undefined; + policyRevision?: string; /** - *

    - * The name of the domain on which to set the resource policy. - *

    + *

    A valid displayable JSON Aspen policy string to be set as the access control resource + * policy on the provided domain.

    */ - domain: string | undefined; + policyDocument: string | undefined; } export namespace PutDomainPermissionsPolicyRequest { @@ -3901,12 +4093,10 @@ export namespace PutDomainPermissionsPolicyResult { export interface PutRepositoryPermissionsPolicyRequest { /** *

    - * Sets the revision of the resource policy that specifies permissions to access the repository. - * This revision is used for optimistic locking, which prevents others from overwriting your - * changes to the repository's resource policy. + * The name of the domain containing the repository to set the resource policy on. *

    */ - policyRevision?: string; + domain: string | undefined; /** *

    @@ -3923,10 +4113,12 @@ export interface PutRepositoryPermissionsPolicyRequest { /** *

    - * The name of the domain containing the repository to set the resource policy on. + * Sets the revision of the resource policy that specifies permissions to access the repository. + * This revision is used for optimistic locking, which prevents others from overwriting your + * changes to the repository's resource policy. *

    */ - domain: string | undefined; + policyRevision?: string; /** *

    A valid displayable JSON Aspen policy string to be set as the access control resource @@ -3956,14 +4148,14 @@ export namespace PutRepositoryPermissionsPolicyResult { export interface TagResourceRequest { /** - *

    The tags you want to modify or add to the resource.

    + *

    The Amazon Resource Name (ARN) of the resource that you want to add or update tags for.

    */ - tags: Tag[] | undefined; + resourceArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.

    + *

    The tags you want to modify or add to the resource.

    */ - resourceArn: string | undefined; + tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -3982,7 +4174,7 @@ export namespace TagResourceResult { export interface UntagResourceRequest { /** - *

    The Amazon Resource Name (ARN) of the resource to which you want to remove tags.

    + *

    The Amazon Resource Name (ARN) of the resource that you want to remove tags from.

    */ resourceArn: string | undefined; @@ -4016,39 +4208,18 @@ export interface UpdatePackageVersionsStatusRequest { /** *

    - * An array of strings that specify the versions of the package with the statuses to update. - *

    - */ - versions: string[] | undefined; - - /** - *

    - * The name of the package with the version statuses to update. - *

    + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

    */ - package: string | undefined; + domainOwner?: string; /** *

    - * The status you want to change the package version status to. + * The repository that contains the package versions with the status you want to update. *

    */ - targetStatus: PackageVersionStatus | string | undefined; - - /** - *

    A map of package versions and package version revisions. The map key is the - * package version (for example, 3.5.2), and the map value is the - * package version revision.

    - */ - versionRevisions?: { [key: string]: string }; - - /** - *

    - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

    - */ - domainOwner?: string; + repository: string | undefined; /** *

    @@ -4070,25 +4241,15 @@ export interface UpdatePackageVersionsStatusRequest { * maven *

    * + *
  • + *

    + * nuget + *

    + *
  • * */ format: PackageFormat | string | undefined; - /** - *

    The package version’s expected status before it is updated. If - * expectedStatus is provided, the package version's status is updated only if its - * status at the time UpdatePackageVersionsStatus is called matches - * expectedStatus.

    - */ - expectedStatus?: PackageVersionStatus | string; - - /** - *

    - * The repository that contains the package versions with the status you want to update. - *

    - */ - repository: string | undefined; - /** *

    * The namespace of the package. The package component that specifies its @@ -4111,9 +4272,51 @@ export interface UpdatePackageVersionsStatusRequest { * Python packages do not have a namespace. *

    * + *
  • + *

    + * A NuGet package does not contain a corresponding component, so + * NuGet packages do not have a namespace. + *

    + *
  • * */ namespace?: string; + + /** + *

    + * The name of the package with the version statuses to update. + *

    + */ + package: string | undefined; + + /** + *

    + * An array of strings that specify the versions of the package with the statuses to update. + *

    + */ + versions: string[] | undefined; + + /** + *

    A map of package versions and package version revisions. The map key is the + * package version (for example, 3.5.2), and the map value is the + * package version revision.

    + */ + versionRevisions?: { [key: string]: string }; + + /** + *

    The package version’s expected status before it is updated. If + * expectedStatus is provided, the package version's status is updated only if its + * status at the time UpdatePackageVersionsStatus is called matches + * expectedStatus.

    + */ + expectedStatus?: PackageVersionStatus | string; + + /** + *

    + * The status you want to change the package version status to. + *

    + */ + targetStatus: PackageVersionStatus | string | undefined; } export namespace UpdatePackageVersionsStatusRequest { @@ -4123,12 +4326,6 @@ export namespace UpdatePackageVersionsStatusRequest { } export interface UpdatePackageVersionsStatusResult { - /** - *

    A list of SuccessfulPackageVersionInfo objects, one for each package version - * with a status that successfully updated.

    - */ - failedVersions?: { [key: string]: PackageVersionError }; - /** *

    * A list of PackageVersionError objects, one for each package version with @@ -4136,6 +4333,12 @@ export interface UpdatePackageVersionsStatusResult { *

    */ successfulVersions?: { [key: string]: SuccessfulPackageVersionInfo }; + + /** + *

    A list of SuccessfulPackageVersionInfo objects, one for each package version + * with a status that successfully updated.

    + */ + failedVersions?: { [key: string]: PackageVersionError }; } export namespace UpdatePackageVersionsStatusResult { @@ -4145,13 +4348,6 @@ export namespace UpdatePackageVersionsStatusResult { } export interface UpdateRepositoryRequest { - /** - *

    A list of upstream repositories to associate with the repository. The order of the upstream repositories - * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more - * information, see Working with upstream repositories.

    - */ - upstreams?: UpstreamRepository[]; - /** *

    * The name of the domain associated with the repository to update. @@ -4159,13 +4355,6 @@ export interface UpdateRepositoryRequest { */ domain: string | undefined; - /** - *

    - * An updated repository description. - *

    - */ - description?: string; - /** *

    * The 12-digit account number of the AWS account that owns the domain. It does not include @@ -4180,6 +4369,20 @@ export interface UpdateRepositoryRequest { *

    */ repository: string | undefined; + + /** + *

    + * An updated repository description. + *

    + */ + description?: string; + + /** + *

    A list of upstream repositories to associate with the repository. The order of the upstream repositories + * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more + * information, see Working with upstream repositories.

    + */ + upstreams?: UpstreamRepository[]; } export namespace UpdateRepositoryRequest { diff --git a/clients/client-codeartifact/protocols/Aws_restJson1.ts b/clients/client-codeartifact/protocols/Aws_restJson1.ts index f0f7ee4f8f2c5..24ead115efb4c 100644 --- a/clients/client-codeartifact/protocols/Aws_restJson1.ts +++ b/clients/client-codeartifact/protocols/Aws_restJson1.ts @@ -146,10 +146,10 @@ export const serializeAws_restJson1AssociateExternalConnectionCommand = async ( }; let resolvedPath = "/v1/repository/external-connection"; const query: any = { - ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -174,13 +174,13 @@ export const serializeAws_restJson1CopyPackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions/copy"; const query: any = { - ...(input.sourceRepository !== undefined && { "source-repository": input.sourceRepository }), ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), - ...(input.format !== undefined && { format: input.format }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.sourceRepository !== undefined && { "source-repository": input.sourceRepository }), ...(input.destinationRepository !== undefined && { "destination-repository": input.destinationRepository }), + ...(input.format !== undefined && { format: input.format }), + ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), }; let body: any; body = JSON.stringify({ @@ -244,9 +244,9 @@ export const serializeAws_restJson1CreateRepositoryCommand = async ( }; let resolvedPath = "/v1/repository"; const query: any = { - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; body = JSON.stringify({ @@ -278,8 +278,8 @@ export const serializeAws_restJson1DeleteDomainCommand = async ( }; let resolvedPath = "/v1/domain"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -304,9 +304,9 @@ export const serializeAws_restJson1DeleteDomainPermissionsPolicyCommand = async }; let resolvedPath = "/v1/domain/permissions/policy"; const query: any = { - ...(input.policyRevision !== undefined && { "policy-revision": input.policyRevision }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.policyRevision !== undefined && { "policy-revision": input.policyRevision }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -331,12 +331,12 @@ export const serializeAws_restJson1DeletePackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions/delete"; const query: any = { - ...(input.package !== undefined && { package: input.package }), - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.repository !== undefined && { repository: input.repository }), ...(input.format !== undefined && { format: input.format }), + ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), }; let body: any; body = JSON.stringify({ @@ -367,8 +367,8 @@ export const serializeAws_restJson1DeleteRepositoryCommand = async ( }; let resolvedPath = "/v1/repository"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; @@ -394,10 +394,10 @@ export const serializeAws_restJson1DeleteRepositoryPermissionsPolicyCommand = as }; let resolvedPath = "/v1/repository/permissions/policies"; const query: any = { - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.policyRevision !== undefined && { "policy-revision": input.policyRevision }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.repository !== undefined && { repository: input.repository }), + ...(input.policyRevision !== undefined && { "policy-revision": input.policyRevision }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -422,8 +422,8 @@ export const serializeAws_restJson1DescribeDomainCommand = async ( }; let resolvedPath = "/v1/domain"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -449,12 +449,12 @@ export const serializeAws_restJson1DescribePackageVersionCommand = async ( let resolvedPath = "/v1/package/version"; const query: any = { ...(input.domain !== undefined && { domain: input.domain }), - ...(input.packageVersion !== undefined && { version: input.packageVersion }), - ...(input.package !== undefined && { package: input.package }), - ...(input.format !== undefined && { format: input.format }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.format !== undefined && { format: input.format }), + ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -506,10 +506,10 @@ export const serializeAws_restJson1DisassociateExternalConnectionCommand = async }; let resolvedPath = "/v1/repository/external-connection"; const query: any = { - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.repository !== undefined && { repository: input.repository }), + ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -534,12 +534,12 @@ export const serializeAws_restJson1DisposePackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions/dispose"; const query: any = { + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.format !== undefined && { format: input.format }), ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.package !== undefined && { package: input.package }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.format !== undefined && { format: input.format }), - ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; body = JSON.stringify({ @@ -573,8 +573,8 @@ export const serializeAws_restJson1GetAuthorizationTokenCommand = async ( }; let resolvedPath = "/v1/authorization-token"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.durationSeconds !== undefined && { duration: input.durationSeconds.toString() }), }; let body: any; @@ -628,13 +628,13 @@ export const serializeAws_restJson1GetPackageVersionAssetCommand = async ( const query: any = { ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.packageVersionRevision !== undefined && { revision: input.packageVersionRevision }), - ...(input.format !== undefined && { format: input.format }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.format !== undefined && { format: input.format }), + ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.package !== undefined && { package: input.package }), ...(input.packageVersion !== undefined && { version: input.packageVersion }), - ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.asset !== undefined && { asset: input.asset }), + ...(input.packageVersionRevision !== undefined && { revision: input.packageVersionRevision }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -659,13 +659,13 @@ export const serializeAws_restJson1GetPackageVersionReadmeCommand = async ( }; let resolvedPath = "/v1/package/version/readme"; const query: any = { - ...(input.package !== undefined && { package: input.package }), - ...(input.repository !== undefined && { repository: input.repository }), ...(input.domain !== undefined && { domain: input.domain }), - ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.repository !== undefined && { repository: input.repository }), ...(input.format !== undefined && { format: input.format }), + ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -690,10 +690,10 @@ export const serializeAws_restJson1GetRepositoryEndpointCommand = async ( }; let resolvedPath = "/v1/repository/endpoint"; const query: any = { + ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.format !== undefined && { format: input.format }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.domain !== undefined && { domain: input.domain }), + ...(input.format !== undefined && { format: input.format }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -718,8 +718,8 @@ export const serializeAws_restJson1GetRepositoryPermissionsPolicyCommand = async }; let resolvedPath = "/v1/repository/permissions/policy"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; @@ -770,14 +770,14 @@ export const serializeAws_restJson1ListPackagesCommand = async ( }; let resolvedPath = "/v1/packages"; const query: any = { + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.format !== undefined && { format: input.format }), ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.domain !== undefined && { domain: input.domain }), ...(input.packagePrefix !== undefined && { "package-prefix": input.packagePrefix }), ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.format !== undefined && { format: input.format }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -802,15 +802,15 @@ export const serializeAws_restJson1ListPackageVersionAssetsCommand = async ( }; let resolvedPath = "/v1/package/version/assets"; const query: any = { - ...(input.format !== undefined && { format: input.format }), + ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.nextToken !== undefined && { "next-token": input.nextToken }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), - ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.format !== undefined && { format: input.format }), + ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.package !== undefined && { package: input.package }), - ...(input.domain !== undefined && { domain: input.domain }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), + ...(input.nextToken !== undefined && { "next-token": input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -835,14 +835,14 @@ export const serializeAws_restJson1ListPackageVersionDependenciesCommand = async }; let resolvedPath = "/v1/package/version/dependencies"; const query: any = { - ...(input.packageVersion !== undefined && { version: input.packageVersion }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.format !== undefined && { format: input.format }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.package !== undefined && { package: input.package }), + ...(input.format !== undefined && { format: input.format }), ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.nextToken !== undefined && { "next-token": input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -868,15 +868,15 @@ export const serializeAws_restJson1ListPackageVersionsCommand = async ( let resolvedPath = "/v1/package/versions"; const query: any = { ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.sortBy !== undefined && { sortBy: input.sortBy }), ...(input.format !== undefined && { format: input.format }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), - ...(input.status !== undefined && { status: input.status }), ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), + ...(input.status !== undefined && { status: input.status }), + ...(input.sortBy !== undefined && { sortBy: input.sortBy }), + ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), + ...(input.nextToken !== undefined && { "next-token": input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -901,9 +901,9 @@ export const serializeAws_restJson1ListRepositoriesCommand = async ( }; let resolvedPath = "/v1/repositories"; const query: any = { + ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -928,10 +928,10 @@ export const serializeAws_restJson1ListRepositoriesInDomainCommand = async ( }; let resolvedPath = "/v1/domain/repositories"; const query: any = { - ...(input.administratorAccount !== undefined && { "administrator-account": input.administratorAccount }), ...(input.domain !== undefined && { domain: input.domain }), - ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.administratorAccount !== undefined && { "administrator-account": input.administratorAccount }), + ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), ...(input.nextToken !== undefined && { "next-token": input.nextToken }), }; @@ -1010,9 +1010,9 @@ export const serializeAws_restJson1PutRepositoryPermissionsPolicyCommand = async }; let resolvedPath = "/v1/repository/permissions/policy"; const query: any = { + ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; body = JSON.stringify({ @@ -1098,11 +1098,11 @@ export const serializeAws_restJson1UpdatePackageVersionsStatusCommand = async ( let resolvedPath = "/v1/package/versions/update_status"; const query: any = { ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.format !== undefined && { format: input.format }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.format !== undefined && { format: input.format }), ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), }; let body: any; body = JSON.stringify({ @@ -2720,15 +2720,15 @@ export const deserializeAws_restJson1GetPackageVersionAssetCommand = async ( packageVersion: undefined, packageVersionRevision: undefined, }; - if (output.headers["x-packageversionrevision"] !== undefined) { - contents.packageVersionRevision = output.headers["x-packageversionrevision"]; - } if (output.headers["x-assetname"] !== undefined) { contents.assetName = output.headers["x-assetname"]; } if (output.headers["x-packageversion"] !== undefined) { contents.packageVersion = output.headers["x-packageversion"]; } + if (output.headers["x-packageversionrevision"] !== undefined) { + contents.packageVersionRevision = output.headers["x-packageversionrevision"]; + } const data: any = output.body; contents.asset = data; return Promise.resolve(contents); diff --git a/clients/client-codebuild/CodeBuild.ts b/clients/client-codebuild/CodeBuild.ts index 29d053899f395..2570e190a2613 100644 --- a/clients/client-codebuild/CodeBuild.ts +++ b/clients/client-codebuild/CodeBuild.ts @@ -89,6 +89,11 @@ import { DescribeTestCasesCommandInput, DescribeTestCasesCommandOutput, } from "./commands/DescribeTestCasesCommand"; +import { + GetReportGroupTrendCommand, + GetReportGroupTrendCommandInput, + GetReportGroupTrendCommandOutput, +} from "./commands/GetReportGroupTrendCommand"; import { GetResourcePolicyCommand, GetResourcePolicyCommandInput, @@ -980,6 +985,35 @@ export class CodeBuild extends CodeBuildClient { } } + public getReportGroupTrend( + args: GetReportGroupTrendCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getReportGroupTrend( + args: GetReportGroupTrendCommandInput, + cb: (err: any, data?: GetReportGroupTrendCommandOutput) => void + ): void; + public getReportGroupTrend( + args: GetReportGroupTrendCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetReportGroupTrendCommandOutput) => void + ): void; + public getReportGroupTrend( + args: GetReportGroupTrendCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetReportGroupTrendCommandOutput) => void), + cb?: (err: any, data?: GetReportGroupTrendCommandOutput) => void + ): Promise | void { + const command = new GetReportGroupTrendCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Gets a resource policy that is identified by its resource ARN.

    */ diff --git a/clients/client-codebuild/CodeBuildClient.ts b/clients/client-codebuild/CodeBuildClient.ts index e42a7be9551c2..6dec21c93f22b 100644 --- a/clients/client-codebuild/CodeBuildClient.ts +++ b/clients/client-codebuild/CodeBuildClient.ts @@ -31,6 +31,10 @@ import { DescribeCodeCoveragesCommandOutput, } from "./commands/DescribeCodeCoveragesCommand"; import { DescribeTestCasesCommandInput, DescribeTestCasesCommandOutput } from "./commands/DescribeTestCasesCommand"; +import { + GetReportGroupTrendCommandInput, + GetReportGroupTrendCommandOutput, +} from "./commands/GetReportGroupTrendCommand"; import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "./commands/GetResourcePolicyCommand"; import { ImportSourceCredentialsCommandInput, @@ -148,6 +152,7 @@ export type ServiceInputTypes = | DeleteWebhookCommandInput | DescribeCodeCoveragesCommandInput | DescribeTestCasesCommandInput + | GetReportGroupTrendCommandInput | GetResourcePolicyCommandInput | ImportSourceCredentialsCommandInput | InvalidateProjectCacheCommandInput @@ -193,6 +198,7 @@ export type ServiceOutputTypes = | DeleteWebhookCommandOutput | DescribeCodeCoveragesCommandOutput | DescribeTestCasesCommandOutput + | GetReportGroupTrendCommandOutput | GetResourcePolicyCommandOutput | ImportSourceCredentialsCommandOutput | InvalidateProjectCacheCommandOutput diff --git a/clients/client-codebuild/commands/GetReportGroupTrendCommand.ts b/clients/client-codebuild/commands/GetReportGroupTrendCommand.ts new file mode 100644 index 0000000000000..e2e0286329e11 --- /dev/null +++ b/clients/client-codebuild/commands/GetReportGroupTrendCommand.ts @@ -0,0 +1,85 @@ +import { CodeBuildClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeBuildClient"; +import { GetReportGroupTrendInput, GetReportGroupTrendOutput } from "../models/models_0"; +import { + deserializeAws_json1_1GetReportGroupTrendCommand, + serializeAws_json1_1GetReportGroupTrendCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetReportGroupTrendCommandInput = GetReportGroupTrendInput; +export type GetReportGroupTrendCommandOutput = GetReportGroupTrendOutput & __MetadataBearer; + +export class GetReportGroupTrendCommand extends $Command< + GetReportGroupTrendCommandInput, + GetReportGroupTrendCommandOutput, + CodeBuildClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetReportGroupTrendCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CodeBuildClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CodeBuildClient"; + const commandName = "GetReportGroupTrendCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetReportGroupTrendInput.filterSensitiveLog, + outputFilterSensitiveLog: GetReportGroupTrendOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetReportGroupTrendCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetReportGroupTrendCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetReportGroupTrendCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-codebuild/index.ts b/clients/client-codebuild/index.ts index ba171629aac51..c3b0e2fb5f1a6 100644 --- a/clients/client-codebuild/index.ts +++ b/clients/client-codebuild/index.ts @@ -20,6 +20,7 @@ export * from "./commands/DescribeCodeCoveragesCommand"; export * from "./pagination/DescribeCodeCoveragesPaginator"; export * from "./commands/DescribeTestCasesCommand"; export * from "./pagination/DescribeTestCasesPaginator"; +export * from "./commands/GetReportGroupTrendCommand"; export * from "./commands/GetResourcePolicyCommand"; export * from "./commands/ImportSourceCredentialsCommand"; export * from "./commands/InvalidateProjectCacheCommand"; diff --git a/clients/client-codebuild/models/models_0.ts b/clients/client-codebuild/models/models_0.ts index a59a7b21e3eba..612899a7e4f8c 100644 --- a/clients/client-codebuild/models/models_0.ts +++ b/clients/client-codebuild/models/models_0.ts @@ -4162,6 +4162,64 @@ export namespace DescribeTestCasesOutput { }); } +export enum ReportGroupTrendFieldType { + BRANCHES_COVERED = "BRANCHES_COVERED", + BRANCHES_MISSED = "BRANCHES_MISSED", + BRANCH_COVERAGE = "BRANCH_COVERAGE", + DURATION = "DURATION", + LINES_COVERED = "LINES_COVERED", + LINES_MISSED = "LINES_MISSED", + LINE_COVERAGE = "LINE_COVERAGE", + PASS_RATE = "PASS_RATE", + TOTAL = "TOTAL", +} + +export interface GetReportGroupTrendInput { + reportGroupArn: string | undefined; + numOfReports?: number; + trendField: ReportGroupTrendFieldType | string | undefined; +} + +export namespace GetReportGroupTrendInput { + export const filterSensitiveLog = (obj: GetReportGroupTrendInput): any => ({ + ...obj, + }); +} + +export interface ReportWithRawData { + reportArn?: string; + data?: string; +} + +export namespace ReportWithRawData { + export const filterSensitiveLog = (obj: ReportWithRawData): any => ({ + ...obj, + }); +} + +export interface ReportGroupTrendStats { + average?: string; + max?: string; + min?: string; +} + +export namespace ReportGroupTrendStats { + export const filterSensitiveLog = (obj: ReportGroupTrendStats): any => ({ + ...obj, + }); +} + +export interface GetReportGroupTrendOutput { + stats?: ReportGroupTrendStats; + rawData?: ReportWithRawData[]; +} + +export namespace GetReportGroupTrendOutput { + export const filterSensitiveLog = (obj: GetReportGroupTrendOutput): any => ({ + ...obj, + }); +} + export interface GetResourcePolicyInput { /** *

    The ARN of the resource that is associated with the resource policy.

    diff --git a/clients/client-codebuild/protocols/Aws_json1_1.ts b/clients/client-codebuild/protocols/Aws_json1_1.ts index da0046d1b475e..0c094497a2119 100644 --- a/clients/client-codebuild/protocols/Aws_json1_1.ts +++ b/clients/client-codebuild/protocols/Aws_json1_1.ts @@ -31,6 +31,10 @@ import { DescribeCodeCoveragesCommandOutput, } from "../commands/DescribeCodeCoveragesCommand"; import { DescribeTestCasesCommandInput, DescribeTestCasesCommandOutput } from "../commands/DescribeTestCasesCommand"; +import { + GetReportGroupTrendCommandInput, + GetReportGroupTrendCommandOutput, +} from "../commands/GetReportGroupTrendCommand"; import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "../commands/GetResourcePolicyCommand"; import { ImportSourceCredentialsCommandInput, @@ -139,6 +143,8 @@ import { EnvironmentPlatform, EnvironmentVariable, ExportedEnvironmentVariable, + GetReportGroupTrendInput, + GetReportGroupTrendOutput, GetResourcePolicyInput, GetResourcePolicyOutput, GitSubmodulesConfig, @@ -192,6 +198,8 @@ import { ReportExportConfig, ReportFilter, ReportGroup, + ReportGroupTrendStats, + ReportWithRawData, ResolvedArtifact, ResourceAlreadyExistsException, ResourceNotFoundException, @@ -469,6 +477,19 @@ export const serializeAws_json1_1DescribeTestCasesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetReportGroupTrendCommand = async ( + input: GetReportGroupTrendCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "CodeBuild_20161006.GetReportGroupTrend", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetReportGroupTrendInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetResourcePolicyCommand = async ( input: GetResourcePolicyCommandInput, context: __SerdeContext @@ -1872,6 +1893,69 @@ const deserializeAws_json1_1DescribeTestCasesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetReportGroupTrendCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetReportGroupTrendCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetReportGroupTrendOutput(data, context); + const response: GetReportGroupTrendCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetReportGroupTrendCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidInputException": + case "com.amazonaws.codebuild#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.codebuild#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1GetResourcePolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3719,6 +3803,17 @@ const serializeAws_json1_1FilterGroups = (input: WebhookFilter[][], context: __S return input.map((entry) => serializeAws_json1_1FilterGroup(entry, context)); }; +const serializeAws_json1_1GetReportGroupTrendInput = ( + input: GetReportGroupTrendInput, + context: __SerdeContext +): any => { + return { + ...(input.numOfReports !== undefined && { numOfReports: input.numOfReports }), + ...(input.reportGroupArn !== undefined && { reportGroupArn: input.reportGroupArn }), + ...(input.trendField !== undefined && { trendField: input.trendField }), + }; +}; + const serializeAws_json1_1GetResourcePolicyInput = (input: GetResourcePolicyInput, context: __SerdeContext): any => { return { ...(input.resourceArn !== undefined && { resourceArn: input.resourceArn }), @@ -5042,6 +5137,22 @@ const deserializeAws_json1_1FilterGroups = (output: any, context: __SerdeContext return (output || []).map((entry: any) => deserializeAws_json1_1FilterGroup(entry, context)); }; +const deserializeAws_json1_1GetReportGroupTrendOutput = ( + output: any, + context: __SerdeContext +): GetReportGroupTrendOutput => { + return { + rawData: + output.rawData !== undefined && output.rawData !== null + ? deserializeAws_json1_1ReportGroupTrendRawDataList(output.rawData, context) + : undefined, + stats: + output.stats !== undefined && output.stats !== null + ? deserializeAws_json1_1ReportGroupTrendStats(output.stats, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetResourcePolicyOutput = ( output: any, context: __SerdeContext @@ -5632,6 +5743,21 @@ const deserializeAws_json1_1ReportGroups = (output: any, context: __SerdeContext return (output || []).map((entry: any) => deserializeAws_json1_1ReportGroup(entry, context)); }; +const deserializeAws_json1_1ReportGroupTrendRawDataList = ( + output: any, + context: __SerdeContext +): ReportWithRawData[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ReportWithRawData(entry, context)); +}; + +const deserializeAws_json1_1ReportGroupTrendStats = (output: any, context: __SerdeContext): ReportGroupTrendStats => { + return { + average: output.average !== undefined && output.average !== null ? output.average : undefined, + max: output.max !== undefined && output.max !== null ? output.max : undefined, + min: output.min !== undefined && output.min !== null ? output.min : undefined, + } as any; +}; + const deserializeAws_json1_1Reports = (output: any, context: __SerdeContext): Report[] => { return (output || []).map((entry: any) => deserializeAws_json1_1Report(entry, context)); }; @@ -5646,6 +5772,13 @@ const deserializeAws_json1_1ReportStatusCounts = (output: any, context: __SerdeC ); }; +const deserializeAws_json1_1ReportWithRawData = (output: any, context: __SerdeContext): ReportWithRawData => { + return { + data: output.data !== undefined && output.data !== null ? output.data : undefined, + reportArn: output.reportArn !== undefined && output.reportArn !== null ? output.reportArn : undefined, + } as any; +}; + const deserializeAws_json1_1ResolvedArtifact = (output: any, context: __SerdeContext): ResolvedArtifact => { return { identifier: output.identifier !== undefined && output.identifier !== null ? output.identifier : undefined, diff --git a/clients/client-codestar-connections/CodeStarConnections.ts b/clients/client-codestar-connections/CodeStarConnections.ts index c5ce0ec65ec27..8dec4e0884f17 100644 --- a/clients/client-codestar-connections/CodeStarConnections.ts +++ b/clients/client-codestar-connections/CodeStarConnections.ts @@ -34,13 +34,11 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; +import { UpdateHostCommand, UpdateHostCommandInput, UpdateHostCommandOutput } from "./commands/UpdateHostCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * AWS CodeStar Connections - * - *

    The CodeStar Connections feature is in preview release and is subject to change.

    - *
    *

    This AWS CodeStar Connections API Reference provides descriptions and usage examples of * the operations and data types for the AWS CodeStar Connections API. You can use the * connections API to work with connections and installations.

    @@ -53,7 +51,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * associated with a unique ARN that is used to reference the connection.

    *

    When you create a connection, the console initiates a third-party connection handshake. * Installations are the apps that are used to conduct this handshake. For - * example, the installation for the Bitbucket provider type is the Bitbucket Cloud app. When you + * example, the installation for the Bitbucket provider type is the Bitbucket app. When you * create a connection, you can choose an existing installation or create one.

    *

    When you want to create a connection to an installed provider type such as GitHub * Enterprise Server, you create a host for your connections.

    @@ -457,4 +455,30 @@ export class CodeStarConnections extends CodeStarConnectionsClient { return this.send(command, optionsOrCb); } } + + /** + *

    Updates a specified host with the provided configurations.

    + */ + public updateHost(args: UpdateHostCommandInput, options?: __HttpHandlerOptions): Promise; + public updateHost(args: UpdateHostCommandInput, cb: (err: any, data?: UpdateHostCommandOutput) => void): void; + public updateHost( + args: UpdateHostCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateHostCommandOutput) => void + ): void; + public updateHost( + args: UpdateHostCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateHostCommandOutput) => void), + cb?: (err: any, data?: UpdateHostCommandOutput) => void + ): Promise | void { + const command = new UpdateHostCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-codestar-connections/CodeStarConnectionsClient.ts b/clients/client-codestar-connections/CodeStarConnectionsClient.ts index e08a89558ffc1..c438ecc40f9d8 100644 --- a/clients/client-codestar-connections/CodeStarConnectionsClient.ts +++ b/clients/client-codestar-connections/CodeStarConnectionsClient.ts @@ -12,6 +12,7 @@ import { } from "./commands/ListTagsForResourceCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { UpdateHostCommandInput, UpdateHostCommandOutput } from "./commands/UpdateHostCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -72,7 +73,8 @@ export type ServiceInputTypes = | ListHostsCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput - | UntagResourceCommandInput; + | UntagResourceCommandInput + | UpdateHostCommandInput; export type ServiceOutputTypes = | CreateConnectionCommandOutput @@ -85,7 +87,8 @@ export type ServiceOutputTypes = | ListHostsCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput - | UntagResourceCommandOutput; + | UntagResourceCommandOutput + | UpdateHostCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** @@ -201,9 +204,6 @@ export type CodeStarConnectionsClientResolvedConfig = __SmithyResolvedConfigurat /** * AWS CodeStar Connections - * - *

    The CodeStar Connections feature is in preview release and is subject to change.

    - *
    *

    This AWS CodeStar Connections API Reference provides descriptions and usage examples of * the operations and data types for the AWS CodeStar Connections API. You can use the * connections API to work with connections and installations.

    @@ -216,7 +216,7 @@ export type CodeStarConnectionsClientResolvedConfig = __SmithyResolvedConfigurat * associated with a unique ARN that is used to reference the connection.

    *

    When you create a connection, the console initiates a third-party connection handshake. * Installations are the apps that are used to conduct this handshake. For - * example, the installation for the Bitbucket provider type is the Bitbucket Cloud app. When you + * example, the installation for the Bitbucket provider type is the Bitbucket app. When you * create a connection, you can choose an existing installation or create one.

    *

    When you want to create a connection to an installed provider type such as GitHub * Enterprise Server, you create a host for your connections.

    diff --git a/clients/client-codestar-connections/commands/UpdateHostCommand.ts b/clients/client-codestar-connections/commands/UpdateHostCommand.ts new file mode 100644 index 0000000000000..107cdd630585b --- /dev/null +++ b/clients/client-codestar-connections/commands/UpdateHostCommand.ts @@ -0,0 +1,92 @@ +import { + CodeStarConnectionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../CodeStarConnectionsClient"; +import { UpdateHostInput, UpdateHostOutput } from "../models/models_0"; +import { + deserializeAws_json1_0UpdateHostCommand, + serializeAws_json1_0UpdateHostCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateHostCommandInput = UpdateHostInput; +export type UpdateHostCommandOutput = UpdateHostOutput & __MetadataBearer; + +/** + *

    Updates a specified host with the provided configurations.

    + */ +export class UpdateHostCommand extends $Command< + UpdateHostCommandInput, + UpdateHostCommandOutput, + CodeStarConnectionsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateHostCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CodeStarConnectionsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CodeStarConnectionsClient"; + const commandName = "UpdateHostCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateHostInput.filterSensitiveLog, + outputFilterSensitiveLog: UpdateHostOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateHostCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0UpdateHostCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0UpdateHostCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-codestar-connections/index.ts b/clients/client-codestar-connections/index.ts index 46604f7a3ff61..77260549bd9a1 100644 --- a/clients/client-codestar-connections/index.ts +++ b/clients/client-codestar-connections/index.ts @@ -13,5 +13,6 @@ export * from "./pagination/ListHostsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdateHostCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-codestar-connections/models/models_0.ts b/clients/client-codestar-connections/models/models_0.ts index 33a4c22f3c00c..daffe8378e879 100644 --- a/clients/client-codestar-connections/models/models_0.ts +++ b/clients/client-codestar-connections/models/models_0.ts @@ -13,14 +13,14 @@ export enum ProviderType { */ export interface Tag { /** - *

    The tag's value.

    + *

    The tag's key.

    */ - Value: string | undefined; + Key: string | undefined; /** - *

    The tag's key.

    + *

    The tag's value.

    */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -31,9 +31,10 @@ export namespace Tag { export interface CreateConnectionInput { /** - *

    The key-value pair to use when tagging the resource.

    + *

    The name of the external provider where your third-party code repository is + * configured.

    */ - Tags?: Tag[]; + ProviderType?: ProviderType | string; /** *

    The name of the connection to be created. The name must be unique in the calling AWS @@ -42,10 +43,9 @@ export interface CreateConnectionInput { ConnectionName: string | undefined; /** - *

    The name of the external provider where your third-party code repository is configured. - * The valid provider type is Bitbucket.

    + *

    The key-value pair to use when tagging the resource.

    */ - ProviderType?: ProviderType | string; + Tags?: Tag[]; /** *

    The Amazon Resource Name (ARN) of the host associated with the connection to be created.

    @@ -131,9 +131,10 @@ export namespace ResourceUnavailableException { */ export interface VpcConfiguration { /** - *

    The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

    + *

    The ID of the Amazon VPC connected to the infrastructure where your provider type is + * installed.

    */ - TlsCertificate?: string; + VpcId: string | undefined; /** *

    The ID of the subnet or subnets associated with the Amazon VPC connected to the @@ -148,10 +149,9 @@ export interface VpcConfiguration { SecurityGroupIds: string[] | undefined; /** - *

    The ID of the Amazon VPC connected to the infrastructure where your provider type is - * installed.

    + *

    The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

    */ - VpcId: string | undefined; + TlsCertificate?: string; } export namespace VpcConfiguration { @@ -161,6 +161,12 @@ export namespace VpcConfiguration { } export interface CreateHostInput { + /** + *

    The name of the host to be created. The name must be unique in the calling AWS + * account.

    + */ + Name: string | undefined; + /** *

    The name of the installed provider to be associated with your connection. The host * resource represents the infrastructure where your provider type is installed. The valid @@ -169,22 +175,16 @@ export interface CreateHostInput { ProviderType: ProviderType | string | undefined; /** - *

    The name of the host to be created. The name must be unique in the calling AWS - * account.

    + *

    The endpoint of the infrastructure to be represented by the host after it is + * created.

    */ - Name: string | undefined; + ProviderEndpoint: string | undefined; /** *

    The VPC configuration to be provisioned for the host. A VPC must be configured and the * infrastructure to be represented by the host must already be connected to the VPC.

    */ VpcConfiguration?: VpcConfiguration; - - /** - *

    The endpoint of the infrastructure to be represented by the host after it is - * created.

    - */ - ProviderEndpoint: string | undefined; } export namespace CreateHostInput { @@ -276,6 +276,11 @@ export enum ConnectionStatus { * connection in the console.

    */ export interface Connection { + /** + *

    The name of the connection. Connection names must be unique in an AWS user account.

    + */ + ConnectionName?: string; + /** *

    The Amazon Resource Name (ARN) of the connection. The ARN is used as the connection * reference when the connection is shared between AWS services.

    @@ -286,14 +291,16 @@ export interface Connection { ConnectionArn?: string; /** - *

    The name of the connection. Connection names must be unique in an AWS user account.

    + *

    The name of the external provider where your third-party code repository is + * configured.

    */ - ConnectionName?: string; + ProviderType?: ProviderType | string; /** - *

    The Amazon Resource Name (ARN) of the host associated with the connection.

    + *

    The identifier of the external provider where your third-party code repository is configured. + * For Bitbucket, this is the account ID of the owner of the Bitbucket repository.

    */ - HostArn?: string; + OwnerAccountId?: string; /** *

    The current status of the connection.

    @@ -301,16 +308,9 @@ export interface Connection { ConnectionStatus?: ConnectionStatus | string; /** - *

    The name of the external provider where your third-party code repository is configured. - * The valid provider type is Bitbucket.

    - */ - ProviderType?: ProviderType | string; - - /** - *

    The identifier of the external provider where your third-party code repository is configured. - * For Bitbucket, this is the account ID of the owner of the Bitbucket repository.

    + *

    The Amazon Resource Name (ARN) of the host associated with the connection.

    */ - OwnerAccountId?: string; + HostArn?: string; } export namespace Connection { @@ -347,14 +347,19 @@ export namespace GetHostInput { export interface GetHostOutput { /** - *

    The provider type of the requested host, such as GitHub Enterprise Server.

    + *

    The name of the requested host.

    */ - ProviderType?: ProviderType | string; + Name?: string; /** - *

    The name of the requested host.

    + *

    The status of the requested host.

    */ - Name?: string; + Status?: string; + + /** + *

    The provider type of the requested host, such as GitHub Enterprise Server.

    + */ + ProviderType?: ProviderType | string; /** *

    The endpoint of the infrastructure represented by the requested host.

    @@ -365,11 +370,6 @@ export interface GetHostOutput { *

    The VPC configuration of the requested host.

    */ VpcConfiguration?: VpcConfiguration; - - /** - *

    The status of the requested host.

    - */ - Status?: string; } export namespace GetHostOutput { @@ -385,6 +385,11 @@ export interface ListConnectionsInput { */ ProviderTypeFilter?: ProviderType | string; + /** + *

    Filters the list of connections to those associated with a specified host.

    + */ + HostArnFilter?: string; + /** *

    The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned nextToken value.

    @@ -396,11 +401,6 @@ export interface ListConnectionsInput { * can be used to return the next set of connections in the list.

    */ NextToken?: string; - - /** - *

    Filters the list of connections to those associated with a specified host.

    - */ - HostArnFilter?: string; } export namespace ListConnectionsInput { @@ -461,9 +461,14 @@ export namespace ListHostsInput { */ export interface Host { /** - *

    The status description for the host.

    + *

    The name of the host.

    */ - StatusMessage?: string; + Name?: string; + + /** + *

    The Amazon Resource Name (ARN) of the host.

    + */ + HostArn?: string; /** *

    The name of the installed provider to be associated with your connection. The host @@ -473,14 +478,9 @@ export interface Host { ProviderType?: ProviderType | string; /** - *

    The name of the host.

    - */ - Name?: string; - - /** - *

    The Amazon Resource Name (ARN) of the host.

    + *

    The endpoint of the infrastructure where your provider type is installed.

    */ - HostArn?: string; + ProviderEndpoint?: string; /** *

    The VPC configuration provisioned for the host.

    @@ -493,9 +493,9 @@ export interface Host { Status?: string; /** - *

    The endpoint of the infrastructure where your provider type is installed.

    + *

    The status description for the host.

    */ - ProviderEndpoint?: string; + StatusMessage?: string; } export namespace Host { @@ -602,3 +602,65 @@ export namespace UntagResourceOutput { ...obj, }); } + +/** + *

    Two conflicting operations have been made on the same resource.

    + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +/** + *

    The operation is not supported. Check the connection status and try again.

    + */ +export interface UnsupportedOperationException extends __SmithyException, $MetadataBearer { + name: "UnsupportedOperationException"; + $fault: "client"; + Message?: string; +} + +export namespace UnsupportedOperationException { + export const filterSensitiveLog = (obj: UnsupportedOperationException): any => ({ + ...obj, + }); +} + +export interface UpdateHostInput { + /** + *

    The Amazon Resource Name (ARN) of the host to be updated.

    + */ + HostArn: string | undefined; + + /** + *

    The URL or endpoint of the host to be updated.

    + */ + ProviderEndpoint?: string; + + /** + *

    The VPC configuration of the host to be updated. A VPC must be configured and the + * infrastructure to be represented by the host must already be connected to the VPC.

    + */ + VpcConfiguration?: VpcConfiguration; +} + +export namespace UpdateHostInput { + export const filterSensitiveLog = (obj: UpdateHostInput): any => ({ + ...obj, + }); +} + +export interface UpdateHostOutput {} + +export namespace UpdateHostOutput { + export const filterSensitiveLog = (obj: UpdateHostOutput): any => ({ + ...obj, + }); +} diff --git a/clients/client-codestar-connections/protocols/Aws_json1_0.ts b/clients/client-codestar-connections/protocols/Aws_json1_0.ts index 2851a9995bceb..997cdc3b3ccd6 100644 --- a/clients/client-codestar-connections/protocols/Aws_json1_0.ts +++ b/clients/client-codestar-connections/protocols/Aws_json1_0.ts @@ -12,7 +12,9 @@ import { } from "../commands/ListTagsForResourceCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { UpdateHostCommandInput, UpdateHostCommandOutput } from "../commands/UpdateHostCommand"; import { + ConflictException, Connection, CreateConnectionInput, CreateConnectionOutput, @@ -39,8 +41,11 @@ import { Tag, TagResourceInput, TagResourceOutput, + UnsupportedOperationException, UntagResourceInput, UntagResourceOutput, + UpdateHostInput, + UpdateHostOutput, VpcConfiguration, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -196,6 +201,19 @@ export const serializeAws_json1_0UntagResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_0UpdateHostCommand = async ( + input: UpdateHostCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "CodeStar_connections_20191201.UpdateHost", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0UpdateHostInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_0CreateConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -541,6 +559,14 @@ const deserializeAws_json1_0GetHostCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceUnavailableException": + case "com.amazonaws.codestarconnections#ResourceUnavailableException": + response = { + ...(await deserializeAws_json1_0ResourceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -825,6 +851,100 @@ const deserializeAws_json1_0UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_0UpdateHostCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0UpdateHostCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0UpdateHostOutput(data, context); + const response: UpdateHostCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0UpdateHostCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.codestarconnections#ConflictException": + response = { + ...(await deserializeAws_json1_0ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.codestarconnections#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceUnavailableException": + case "com.amazonaws.codestarconnections#ResourceUnavailableException": + response = { + ...(await deserializeAws_json1_0ResourceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.codestarconnections#UnsupportedOperationException": + response = { + ...(await deserializeAws_json1_0UnsupportedOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +const deserializeAws_json1_0ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_0LimitExceededExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -870,6 +990,21 @@ const deserializeAws_json1_0ResourceUnavailableExceptionResponse = async ( return contents; }; +const deserializeAws_json1_0UnsupportedOperationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0UnsupportedOperationException(body, context); + const contents: UnsupportedOperationException = { + name: "UnsupportedOperationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const serializeAws_json1_0CreateConnectionInput = (input: CreateConnectionInput, context: __SerdeContext): any => { return { ...(input.ConnectionName !== undefined && { ConnectionName: input.ConnectionName }), @@ -976,6 +1111,16 @@ const serializeAws_json1_0UntagResourceInput = (input: UntagResourceInput, conte }; }; +const serializeAws_json1_0UpdateHostInput = (input: UpdateHostInput, context: __SerdeContext): any => { + return { + ...(input.HostArn !== undefined && { HostArn: input.HostArn }), + ...(input.ProviderEndpoint !== undefined && { ProviderEndpoint: input.ProviderEndpoint }), + ...(input.VpcConfiguration !== undefined && { + VpcConfiguration: serializeAws_json1_0VpcConfiguration(input.VpcConfiguration, context), + }), + }; +}; + const serializeAws_json1_0VpcConfiguration = (input: VpcConfiguration, context: __SerdeContext): any => { return { ...(input.SecurityGroupIds !== undefined && { @@ -987,6 +1132,12 @@ const serializeAws_json1_0VpcConfiguration = (input: VpcConfiguration, context: }; }; +const deserializeAws_json1_0ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_0Connection = (output: any, context: __SerdeContext): Connection => { return { ConnectionArn: @@ -1154,10 +1305,23 @@ const deserializeAws_json1_0TagResourceOutput = (output: any, context: __SerdeCo return {} as any; }; +const deserializeAws_json1_0UnsupportedOperationException = ( + output: any, + context: __SerdeContext +): UnsupportedOperationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_0UntagResourceOutput = (output: any, context: __SerdeContext): UntagResourceOutput => { return {} as any; }; +const deserializeAws_json1_0UpdateHostOutput = (output: any, context: __SerdeContext): UpdateHostOutput => { + return {} as any; +}; + const deserializeAws_json1_0VpcConfiguration = (output: any, context: __SerdeContext): VpcConfiguration => { return { SecurityGroupIds: diff --git a/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts b/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts index dcb2b28768fce..7f02df90a257b 100644 --- a/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts +++ b/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts @@ -3148,7 +3148,9 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { * MFA factors are enabled and if any are preferred. Only one factor can be set as * preferred. The preferred MFA factor will be used to authenticate a user if multiple * factors are enabled. If multiple options are enabled and no preference is set, a - * challenge to choose an MFA option will be returned during sign in.

    + * challenge to choose an MFA option will be returned during sign in. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, + * unless device tracking is turned on and the device has been trusted. + * If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, disable MFA for users and turn on Adaptive Authentication for the user pool.

    */ public setUserMFAPreference( args: SetUserMFAPreferenceCommandInput, diff --git a/clients/client-cognito-identity-provider/commands/SetUserMFAPreferenceCommand.ts b/clients/client-cognito-identity-provider/commands/SetUserMFAPreferenceCommand.ts index 25786aeef4a88..6a3db9a3f2088 100644 --- a/clients/client-cognito-identity-provider/commands/SetUserMFAPreferenceCommand.ts +++ b/clients/client-cognito-identity-provider/commands/SetUserMFAPreferenceCommand.ts @@ -30,7 +30,9 @@ export type SetUserMFAPreferenceCommandOutput = SetUserMFAPreferenceResponse & _ * MFA factors are enabled and if any are preferred. Only one factor can be set as * preferred. The preferred MFA factor will be used to authenticate a user if multiple * factors are enabled. If multiple options are enabled and no preference is set, a - * challenge to choose an MFA option will be returned during sign in.

    + * challenge to choose an MFA option will be returned during sign in. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, + * unless device tracking is turned on and the device has been trusted. + * If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, disable MFA for users and turn on Adaptive Authentication for the user pool.

    */ export class SetUserMFAPreferenceCommand extends $Command< SetUserMFAPreferenceCommandInput, diff --git a/clients/client-cognito-identity-provider/commands/UntagResourceCommand.ts b/clients/client-cognito-identity-provider/commands/UntagResourceCommand.ts index 444175e3ef6c8..acb62ade7b57c 100644 --- a/clients/client-cognito-identity-provider/commands/UntagResourceCommand.ts +++ b/clients/client-cognito-identity-provider/commands/UntagResourceCommand.ts @@ -3,7 +3,7 @@ import { ServiceInputTypes, ServiceOutputTypes, } from "../CognitoIdentityProviderClient"; -import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_1"; import { deserializeAws_json1_1UntagResourceCommand, serializeAws_json1_1UntagResourceCommand, diff --git a/clients/client-cognito-identity-provider/commands/UpdateAuthEventFeedbackCommand.ts b/clients/client-cognito-identity-provider/commands/UpdateAuthEventFeedbackCommand.ts index ad948504b6361..0b1c7d941b504 100644 --- a/clients/client-cognito-identity-provider/commands/UpdateAuthEventFeedbackCommand.ts +++ b/clients/client-cognito-identity-provider/commands/UpdateAuthEventFeedbackCommand.ts @@ -3,7 +3,7 @@ import { ServiceInputTypes, ServiceOutputTypes, } from "../CognitoIdentityProviderClient"; -import { UpdateAuthEventFeedbackRequest, UpdateAuthEventFeedbackResponse } from "../models/models_0"; +import { UpdateAuthEventFeedbackRequest, UpdateAuthEventFeedbackResponse } from "../models/models_1"; import { deserializeAws_json1_1UpdateAuthEventFeedbackCommand, serializeAws_json1_1UpdateAuthEventFeedbackCommand, diff --git a/clients/client-cognito-identity-provider/models/models_0.ts b/clients/client-cognito-identity-provider/models/models_0.ts index 2aa74c064c1c3..6dd728751124c 100644 --- a/clients/client-cognito-identity-provider/models/models_0.ts +++ b/clients/client-cognito-identity-provider/models/models_0.ts @@ -56,6 +56,11 @@ export enum AccountTakeoverEventActionType { *

    Account takeover action type.

    */ export interface AccountTakeoverActionType { + /** + *

    Flag specifying whether to send a notification.

    + */ + Notify: boolean | undefined; + /** *

    The event action.

    *
      @@ -80,11 +85,6 @@ export interface AccountTakeoverActionType { *
    */ EventAction: AccountTakeoverEventActionType | string | undefined; - - /** - *

    Flag specifying whether to send a notification.

    - */ - Notify: boolean | undefined; } export namespace AccountTakeoverActionType { @@ -97,11 +97,6 @@ export namespace AccountTakeoverActionType { *

    Account takeover actions type.

    */ export interface AccountTakeoverActionsType { - /** - *

    Action to take for a high risk.

    - */ - HighAction?: AccountTakeoverActionType; - /** *

    Action to take for a low risk.

    */ @@ -111,6 +106,11 @@ export interface AccountTakeoverActionsType { *

    Action to take for a medium risk.

    */ MediumAction?: AccountTakeoverActionType; + + /** + *

    Action to take for a high risk.

    + */ + HighAction?: AccountTakeoverActionType; } export namespace AccountTakeoverActionsType { @@ -124,14 +124,14 @@ export namespace AccountTakeoverActionsType { */ export interface NotifyEmailType { /** - *

    The HTML body.

    + *

    The subject.

    */ - HtmlBody?: string; + Subject: string | undefined; /** - *

    The subject.

    + *

    The HTML body.

    */ - Subject: string | undefined; + HtmlBody?: string; /** *

    The text body.

    @@ -150,9 +150,15 @@ export namespace NotifyEmailType { */ export interface NotifyConfigurationType { /** - *

    The email template used when a detected risk event is allowed.

    + *

    The email address that is sending the email. It must be either individually verified + * with Amazon SES, or from a domain that has been verified with Amazon SES.

    */ - NoActionEmail?: NotifyEmailType; + From?: string; + + /** + *

    The destination to which the receiver of an email should reply to.

    + */ + ReplyTo?: string; /** *

    The Amazon Resource Name (ARN) of the identity that is associated with the sending @@ -162,25 +168,19 @@ export interface NotifyConfigurationType { SourceArn: string | undefined; /** - *

    The destination to which the receiver of an email should reply to.

    - */ - ReplyTo?: string; - - /** - *

    The MFA email template used when MFA is challenged as part of a detected risk.

    + *

    Email template used when a detected risk event is blocked.

    */ - MfaEmail?: NotifyEmailType; + BlockEmail?: NotifyEmailType; /** - *

    The email address that is sending the email. It must be either individually verified - * with Amazon SES, or from a domain that has been verified with Amazon SES.

    + *

    The email template used when a detected risk event is allowed.

    */ - From?: string; + NoActionEmail?: NotifyEmailType; /** - *

    Email template used when a detected risk event is blocked.

    + *

    The MFA email template used when MFA is challenged as part of a detected risk.

    */ - BlockEmail?: NotifyEmailType; + MfaEmail?: NotifyEmailType; } export namespace NotifyConfigurationType { @@ -195,14 +195,14 @@ export namespace NotifyConfigurationType { */ export interface AccountTakeoverRiskConfigurationType { /** - *

    Account takeover risk configuration actions

    + *

    The notify configuration used to construct email notifications.

    */ - Actions: AccountTakeoverActionsType | undefined; + NotifyConfiguration?: NotifyConfigurationType; /** - *

    The notify configuration used to construct email notifications.

    + *

    Account takeover risk configuration actions

    */ - NotifyConfiguration?: NotifyConfigurationType; + Actions: AccountTakeoverActionsType | undefined; } export namespace AccountTakeoverRiskConfigurationType { @@ -265,32 +265,15 @@ export namespace StringAttributeConstraintsType { */ export interface SchemaAttributeType { /** - *

    Specifies whether the value of the attribute can be changed.

    - *

    For any user pool attribute that's mapped to an identity provider attribute, you must - * set this parameter to true. Amazon Cognito updates mapped attributes when - * users sign in to your application through an identity provider. If an attribute is - * immutable, Amazon Cognito throws an error when it attempts to update the attribute. For - * more information, see Specifying Identity Provider Attribute Mappings for Your User - * Pool.

    - */ - Mutable?: boolean; - - /** - *

    Specifies the constraints for an attribute of the string type.

    + *

    A schema attribute of the name type.

    */ - StringAttributeConstraints?: StringAttributeConstraintsType; + Name?: string; /** *

    The attribute data type.

    */ AttributeDataType?: AttributeDataType | string; - /** - *

    Specifies whether a user pool attribute is required. If the attribute is required and - * the user does not provide a value, registration or sign-in will fail.

    - */ - Required?: boolean; - /** * *

    We recommend that you use WriteAttributes in the user pool client to control how attributes can @@ -306,14 +289,31 @@ export interface SchemaAttributeType { DeveloperOnlyAttribute?: boolean; /** - *

    A schema attribute of the name type.

    + *

    Specifies whether the value of the attribute can be changed.

    + *

    For any user pool attribute that's mapped to an identity provider attribute, you must + * set this parameter to true. Amazon Cognito updates mapped attributes when + * users sign in to your application through an identity provider. If an attribute is + * immutable, Amazon Cognito throws an error when it attempts to update the attribute. For + * more information, see Specifying Identity Provider Attribute Mappings for Your User + * Pool.

    */ - Name?: string; + Mutable?: boolean; + + /** + *

    Specifies whether a user pool attribute is required. If the attribute is required and + * the user does not provide a value, registration or sign-in will fail.

    + */ + Required?: boolean; /** *

    Specifies the constraints for an attribute of the number type.

    */ NumberAttributeConstraints?: NumberAttributeConstraintsType; + + /** + *

    Specifies the constraints for an attribute of the string type.

    + */ + StringAttributeConstraints?: StringAttributeConstraintsType; } export namespace SchemaAttributeType { @@ -327,14 +327,14 @@ export namespace SchemaAttributeType { */ export interface AddCustomAttributesRequest { /** - *

    An array of custom attributes, such as Mutable and Name.

    + *

    The user pool ID for the user pool where you want to add custom attributes.

    */ - CustomAttributes: SchemaAttributeType[] | undefined; + UserPoolId: string | undefined; /** - *

    The user pool ID for the user pool where you want to add custom attributes.

    + *

    An array of custom attributes, such as Mutable and Name.

    */ - UserPoolId: string | undefined; + CustomAttributes: SchemaAttributeType[] | undefined; } export namespace AddCustomAttributesRequest { @@ -472,6 +472,11 @@ export namespace UserImportInProgressException { } export interface AdminAddUserToGroupRequest { + /** + *

    The user pool ID for the user pool.

    + */ + UserPoolId: string | undefined; + /** *

    The username for the user.

    */ @@ -481,11 +486,6 @@ export interface AdminAddUserToGroupRequest { *

    The group name.

    */ GroupName: string | undefined; - - /** - *

    The user pool ID for the user pool.

    - */ - UserPoolId: string | undefined; } export namespace AdminAddUserToGroupRequest { @@ -717,6 +717,11 @@ export namespace AttributeType { *

    Represents the request to create a user in the specified user pool.

    */ export interface AdminCreateUserRequest { + /** + *

    The user pool ID for the user pool where the user will be created.

    + */ + UserPoolId: string | undefined; + /** *

    The username for the user. Must be unique within the user pool. Must be a UTF-8 string * between 1 and 128 characters. After the user is created, the username cannot be @@ -725,24 +730,42 @@ export interface AdminCreateUserRequest { Username: string | undefined; /** - *

    Specify "EMAIL" if email will be used to send the welcome message. - * Specify "SMS" if the phone number will be used. The default value is - * "SMS". More than one value can be specified.

    - */ - DesiredDeliveryMediums?: (DeliveryMediumType | string)[]; - - /** - *

    The user pool ID for the user pool where the user will be created.

    - */ - UserPoolId: string | undefined; - - /** - *

    Set to "RESEND" to resend the invitation message to a user that already - * exists and reset the expiration limit on the user's account. Set to - * "SUPPRESS" to suppress sending the message. Only one value can be - * specified.

    + *

    An array of name-value pairs that contain user attributes and attribute values to be + * set for the user to be created. You can create a user without specifying any attributes + * other than Username. However, any attributes that you specify as required + * (when creating a user pool or in the Attributes tab of the console) must be supplied either by you (in your + * call to AdminCreateUser) or by the user (when he or she signs up in + * response to your welcome message).

    + *

    For custom attributes, you must prepend the custom: prefix to the + * attribute name.

    + *

    To send a message inviting the user to sign up, you must specify the user's email + * address or phone number. This can be done in your call to AdminCreateUser or in the + * Users tab of the Amazon Cognito console for + * managing your user pools.

    + *

    In your call to AdminCreateUser, you can set the + * email_verified attribute to True, and you can set the + * phone_number_verified attribute to True. (You can also do + * this by calling AdminUpdateUserAttributes.)

    + *
      + *
    • + *

      + * email: The email address of the user to whom + * the message that contains the code and username will be sent. Required if the + * email_verified attribute is set to True, or if + * "EMAIL" is specified in the DesiredDeliveryMediums + * parameter.

      + *
    • + *
    • + *

      + * phone_number: The phone number of the user to + * whom the message that contains the code and username will be sent. Required if + * the phone_number_verified attribute is set to True, or + * if "SMS" is specified in the DesiredDeliveryMediums + * parameter.

      + *
    • + *
    */ - MessageAction?: MessageActionType | string; + UserAttributes?: AttributeType[]; /** *

    The user's validation data. This is an array of name-value pairs that contain user @@ -786,42 +809,19 @@ export interface AdminCreateUserRequest { ForceAliasCreation?: boolean; /** - *

    An array of name-value pairs that contain user attributes and attribute values to be - * set for the user to be created. You can create a user without specifying any attributes - * other than Username. However, any attributes that you specify as required - * (when creating a user pool or in the Attributes tab of the console) must be supplied either by you (in your - * call to AdminCreateUser) or by the user (when he or she signs up in - * response to your welcome message).

    - *

    For custom attributes, you must prepend the custom: prefix to the - * attribute name.

    - *

    To send a message inviting the user to sign up, you must specify the user's email - * address or phone number. This can be done in your call to AdminCreateUser or in the - * Users tab of the Amazon Cognito console for - * managing your user pools.

    - *

    In your call to AdminCreateUser, you can set the - * email_verified attribute to True, and you can set the - * phone_number_verified attribute to True. (You can also do - * this by calling AdminUpdateUserAttributes.)

    - *
      - *
    • - *

      - * email: The email address of the user to whom - * the message that contains the code and username will be sent. Required if the - * email_verified attribute is set to True, or if - * "EMAIL" is specified in the DesiredDeliveryMediums - * parameter.

      - *
    • - *
    • - *

      - * phone_number: The phone number of the user to - * whom the message that contains the code and username will be sent. Required if - * the phone_number_verified attribute is set to True, or - * if "SMS" is specified in the DesiredDeliveryMediums - * parameter.

      - *
    • - *
    + *

    Set to "RESEND" to resend the invitation message to a user that already + * exists and reset the expiration limit on the user's account. Set to + * "SUPPRESS" to suppress sending the message. Only one value can be + * specified.

    */ - UserAttributes?: AttributeType[]; + MessageAction?: MessageActionType | string; + + /** + *

    Specify "EMAIL" if email will be used to send the welcome message. + * Specify "SMS" if the phone number will be used. The default value is + * "SMS". More than one value can be specified.

    + */ + DesiredDeliveryMediums?: (DeliveryMediumType | string)[]; /** *

    A map of custom key-value pairs that you can provide as input for any custom workflows @@ -863,13 +863,13 @@ export namespace AdminCreateUserRequest { export const filterSensitiveLog = (obj: AdminCreateUserRequest): any => ({ ...obj, ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.UserAttributes && { + UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), + }), ...(obj.ValidationData && { ValidationData: obj.ValidationData.map((item) => AttributeType.filterSensitiveLog(item)), }), ...(obj.TemporaryPassword && { TemporaryPassword: SENSITIVE_STRING }), - ...(obj.UserAttributes && { - UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), - }), }); } @@ -880,17 +880,17 @@ export namespace AdminCreateUserRequest { * configurations.

    */ export interface MFAOptionType { - /** - *

    The attribute name of the MFA option type. The only valid value is - * phone_number.

    - */ - AttributeName?: string; - /** *

    The delivery medium to send the MFA code. You can use this parameter to set only the * SMS delivery medium value.

    */ DeliveryMedium?: DeliveryMediumType | string; + + /** + *

    The attribute name of the MFA option type. The only valid value is + * phone_number.

    + */ + AttributeName?: string; } export namespace MFAOptionType { @@ -914,9 +914,9 @@ export enum UserStatusType { */ export interface UserType { /** - *

    Specifies whether the user is enabled.

    + *

    The user name of the user you wish to describe.

    */ - Enabled?: boolean; + Username?: string; /** *

    A container with information about the user type attributes.

    @@ -929,13 +929,18 @@ export interface UserType { UserCreateDate?: Date; /** - *

    The user name of the user you wish to describe.

    + *

    The last modified date of the user.

    */ - Username?: string; + UserLastModifiedDate?: Date; /** - *

    The user status. Can be one of the following:

    - *
      + *

      Specifies whether the user is enabled.

      + */ + Enabled?: boolean; + + /** + *

      The user status. Can be one of the following:

      + *
        *
      • *

        UNCONFIRMED - User has been created but not confirmed.

        *
      • @@ -968,18 +973,13 @@ export interface UserType { *

        The MFA options for the user.

        */ MFAOptions?: MFAOptionType[]; - - /** - *

        The last modified date of the user.

        - */ - UserLastModifiedDate?: Date; } export namespace UserType { export const filterSensitiveLog = (obj: UserType): any => ({ ...obj, - ...(obj.Attributes && { Attributes: obj.Attributes.map((item) => AttributeType.filterSensitiveLog(item)) }), ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.Attributes && { Attributes: obj.Attributes.map((item) => AttributeType.filterSensitiveLog(item)) }), }); } @@ -1139,20 +1139,20 @@ export namespace UsernameExistsException { *

        The message template structure.

        */ export interface MessageTemplateType { - /** - *

        The subject line for email messages.

        - */ - EmailSubject?: string; - /** *

        The message template for SMS messages.

        */ SMSMessage?: string; /** - *

        The message template for email messages.

        + *

        The message template for email messages. EmailMessage is allowed only if EmailSendingAccount is DEVELOPER.

        */ EmailMessage?: string; + + /** + *

        The subject line for email messages. EmailSubject is allowed only if EmailSendingAccount is DEVELOPER.

        + */ + EmailSubject?: string; } export namespace MessageTemplateType { @@ -1171,12 +1171,6 @@ export interface AdminCreateUserConfigType { */ AllowAdminCreateUserOnly?: boolean; - /** - *

        The message template to be used for the welcome message to new users.

        - *

        See also Customizing User Invitation Messages.

        - */ - InviteMessageTemplate?: MessageTemplateType; - /** *

        The user account expiration limit, in days, after which the account is no longer * usable. To reset the account after that time limit, you must call @@ -1190,6 +1184,12 @@ export interface AdminCreateUserConfigType { * */ UnusedAccountValidityDays?: number; + + /** + *

        The message template to be used for the welcome message to new users.

        + *

        See also Customizing User Invitation Messages.

        + */ + InviteMessageTemplate?: MessageTemplateType; } export namespace AdminCreateUserConfigType { @@ -1225,14 +1225,14 @@ export namespace AdminDeleteUserRequest { */ export interface AdminDeleteUserAttributesRequest { /** - *

        The user name of the user from which you would like to delete attributes.

        + *

        The user pool ID for the user pool where you want to delete user attributes.

        */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID for the user pool where you want to delete user attributes.

        + *

        The user name of the user from which you would like to delete attributes.

        */ - UserPoolId: string | undefined; + Username: string | undefined; /** *

        An array of strings representing the user attribute names you wish to delete.

        @@ -1265,12 +1265,6 @@ export namespace AdminDeleteUserAttributesResponse { *

        A container for information about an identity provider for a user pool.

        */ export interface ProviderUserIdentifierType { - /** - *

        The value of the provider attribute to link to, for example, - * xxxxx_account.

        - */ - ProviderAttributeValue?: string; - /** *

        The name of the provider, for example, Facebook, Google, or Login with Amazon.

        */ @@ -1281,6 +1275,12 @@ export interface ProviderUserIdentifierType { * NameID.

        */ ProviderAttributeName?: string; + + /** + *

        The value of the provider attribute to link to, for example, + * xxxxx_account.

        + */ + ProviderAttributeValue?: string; } export namespace ProviderUserIdentifierType { @@ -1340,14 +1340,14 @@ export namespace AliasExistsException { */ export interface AdminDisableUserRequest { /** - *

        The user name of the user you wish to disable.

        + *

        The user pool ID for the user pool where you want to disable the user.

        */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID for the user pool where you want to disable the user.

        + *

        The user name of the user you wish to disable.

        */ - UserPoolId: string | undefined; + Username: string | undefined; } export namespace AdminDisableUserRequest { @@ -1408,9 +1408,9 @@ export namespace AdminEnableUserResponse { */ export interface AdminForgetDeviceRequest { /** - *

        The device key.

        + *

        The user pool ID.

        */ - DeviceKey: string | undefined; + UserPoolId: string | undefined; /** *

        The user name.

        @@ -1418,9 +1418,9 @@ export interface AdminForgetDeviceRequest { Username: string | undefined; /** - *

        The user pool ID.

        + *

        The device key.

        */ - UserPoolId: string | undefined; + DeviceKey: string | undefined; } export namespace AdminForgetDeviceRequest { @@ -1458,14 +1458,14 @@ export interface AdminGetDeviceRequest { DeviceKey: string | undefined; /** - *

        The user name.

        + *

        The user pool ID.

        */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID.

        + *

        The user name.

        */ - UserPoolId: string | undefined; + Username: string | undefined; } export namespace AdminGetDeviceRequest { @@ -1480,9 +1480,14 @@ export namespace AdminGetDeviceRequest { */ export interface DeviceType { /** - *

        The last modified date of the device.

        + *

        The device key.

        */ - DeviceLastModifiedDate?: Date; + DeviceKey?: string; + + /** + *

        The device attributes.

        + */ + DeviceAttributes?: AttributeType[]; /** *

        The creation date of the device.

        @@ -1490,19 +1495,14 @@ export interface DeviceType { DeviceCreateDate?: Date; /** - *

        The device key.

        + *

        The last modified date of the device.

        */ - DeviceKey?: string; + DeviceLastModifiedDate?: Date; /** *

        The date in which the device was last authenticated.

        */ DeviceLastAuthenticatedDate?: Date; - - /** - *

        The device attributes.

        - */ - DeviceAttributes?: AttributeType[]; } export namespace DeviceType { @@ -1560,19 +1560,14 @@ export namespace AdminGetUserRequest { */ export interface AdminGetUserResponse { /** - *

        - * This response parameter is no longer supported. It provides - * information only about SMS MFA configurations. It doesn't provide information about TOTP - * software token MFA configurations. To look up information about either type of MFA - * configuration, use UserMFASettingList instead.

        + *

        The user name of the user about whom you are receiving information.

        */ - MFAOptions?: MFAOptionType[]; + Username: string | undefined; /** - *

        The MFA options that are enabled for the user. The possible values in this list are - * SMS_MFA and SOFTWARE_TOKEN_MFA.

        + *

        An array of name-value pairs representing user attributes.

        */ - UserMFASettingList?: string[]; + UserAttributes?: AttributeType[]; /** *

        The date the user was created.

        @@ -1580,30 +1575,15 @@ export interface AdminGetUserResponse { UserCreateDate?: Date; /** - *

        An array of name-value pairs representing user attributes.

        + *

        The date the user was last modified.

        */ - UserAttributes?: AttributeType[]; + UserLastModifiedDate?: Date; /** *

        Indicates that the status is enabled.

        */ Enabled?: boolean; - /** - *

        The user name of the user about whom you are receiving information.

        - */ - Username: string | undefined; - - /** - *

        The user's preferred MFA setting.

        - */ - PreferredMfaSetting?: string; - - /** - *

        The date the user was last modified.

        - */ - UserLastModifiedDate?: Date; - /** *

        The user status. Can be one of the following:

        *
          @@ -1634,15 +1614,35 @@ export interface AdminGetUserResponse { *
        */ UserStatus?: UserStatusType | string; + + /** + *

        + * This response parameter is no longer supported. It provides + * information only about SMS MFA configurations. It doesn't provide information about TOTP + * software token MFA configurations. To look up information about either type of MFA + * configuration, use UserMFASettingList instead.

        + */ + MFAOptions?: MFAOptionType[]; + + /** + *

        The user's preferred MFA setting.

        + */ + PreferredMfaSetting?: string; + + /** + *

        The MFA options that are enabled for the user. The possible values in this list are + * SMS_MFA and SOFTWARE_TOKEN_MFA.

        + */ + UserMFASettingList?: string[]; } export namespace AdminGetUserResponse { export const filterSensitiveLog = (obj: AdminGetUserResponse): any => ({ ...obj, + ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -1682,14 +1682,14 @@ export enum AuthFlowType { */ export interface HttpHeader { /** - *

        The header value.

        + *

        The header name

        */ - headerValue?: string; + headerName?: string; /** - *

        The header name

        + *

        The header value.

        */ - headerName?: string; + headerValue?: string; } export namespace HttpHeader { @@ -1703,11 +1703,21 @@ export namespace HttpHeader { * Amazon Cognito advanced security.

        */ export interface ContextDataType { + /** + *

        Source IP address of your user.

        + */ + IpAddress: string | undefined; + /** *

        Your server endpoint where this API is invoked.

        */ ServerName: string | undefined; + /** + *

        Your server path where this API is invoked.

        + */ + ServerPath: string | undefined; + /** *

        HttpHeaders received on your server in same order.

        */ @@ -1718,16 +1728,6 @@ export interface ContextDataType { * Cognito context data collection library.

        */ EncodedData?: string; - - /** - *

        Your server path where this API is invoked.

        - */ - ServerPath: string | undefined; - - /** - *

        Source IP address of your user.

        - */ - IpAddress: string | undefined; } export namespace ContextDataType { @@ -1741,84 +1741,14 @@ export namespace ContextDataType { */ export interface AdminInitiateAuthRequest { /** - *

        The analytics metadata for collecting Amazon Pinpoint metrics for - * AdminInitiateAuth calls.

        + *

        The ID of the Amazon Cognito user pool.

        */ - AnalyticsMetadata?: AnalyticsMetadataType; + UserPoolId: string | undefined; /** - *

        A map of custom key-value pairs that you can provide as input for certain custom - * workflows that this action triggers.

        - *

        You create custom workflows by assigning AWS Lambda functions to user pool triggers. - * When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda - * functions that are specified for various triggers. The ClientMetadata value is passed as - * input to the functions for only the following triggers:

        - *
          - *
        • - *

          Pre signup

          - *
        • - *
        • - *

          Pre authentication

          - *
        • - *
        • - *

          User migration

          - *
        • - *
        - * - *

        When Amazon Cognito invokes the functions for these triggers, it passes a JSON - * payload, which the function receives as input. This payload contains a - * validationData attribute, which provides the data that you assigned to - * the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in - * AWS Lambda, you can process the validationData value to enhance your - * workflow for your specific needs.

        - * - *

        When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the - * functions for the following triggers, but it does not provide the ClientMetadata value - * as input:

        - * - *
          - *
        • - *

          Post authentication

          - *
        • - *
        • - *

          Custom message

          - *
        • - *
        • - *

          Pre token generation

          - *
        • - *
        • - *

          Create auth challenge

          - *
        • - *
        • - *

          Define auth challenge

          - *
        • - *
        • - *

          Verify auth challenge

          - *
        • - *
        - *

        For more information, see Customizing User Pool Workflows with Lambda Triggers in the - * Amazon Cognito Developer Guide.

        - * - *

        Take the following limitations into consideration when you use the ClientMetadata - * parameter:

        - *
          - *
        • - *

          Amazon Cognito does not store the ClientMetadata value. This data is - * available only to AWS Lambda triggers that are assigned to a user pool to - * support custom workflows. If your user pool configuration does not include - * triggers, the ClientMetadata parameter serves no purpose.

          - *
        • - *
        • - *

          Amazon Cognito does not validate the ClientMetadata value.

          - *
        • - *
        • - *

          Amazon Cognito does not encrypt the the ClientMetadata value, so don't use - * it to provide sensitive information.

          - *
        • - *
        - *
        + *

        The app client ID.

        */ - ClientMetadata?: { [key: string]: string }; + ClientId: string | undefined; /** *

        The authentication flow for this call to execute. The API action will depend on this @@ -1882,18 +1812,6 @@ export interface AdminInitiateAuthRequest { */ AuthFlow: AuthFlowType | string | undefined; - /** - *

        Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

        - */ - ContextData?: ContextDataType; - - /** - *

        The ID of the Amazon Cognito user pool.

        - */ - UserPoolId: string | undefined; - /** *

        The authentication parameters. These are inputs corresponding to the * AuthFlow that you are invoking. The required values depend on the value @@ -1926,16 +1844,98 @@ export interface AdminInitiateAuthRequest { AuthParameters?: { [key: string]: string }; /** - *

        The app client ID.

        + *

        A map of custom key-value pairs that you can provide as input for certain custom + * workflows that this action triggers.

        + *

        You create custom workflows by assigning AWS Lambda functions to user pool triggers. + * When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda + * functions that are specified for various triggers. The ClientMetadata value is passed as + * input to the functions for only the following triggers:

        + *
          + *
        • + *

          Pre signup

          + *
        • + *
        • + *

          Pre authentication

          + *
        • + *
        • + *

          User migration

          + *
        • + *
        + * + *

        When Amazon Cognito invokes the functions for these triggers, it passes a JSON + * payload, which the function receives as input. This payload contains a + * validationData attribute, which provides the data that you assigned to + * the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in + * AWS Lambda, you can process the validationData value to enhance your + * workflow for your specific needs.

        + * + *

        When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the + * functions for the following triggers, but it does not provide the ClientMetadata value + * as input:

        + * + *
          + *
        • + *

          Post authentication

          + *
        • + *
        • + *

          Custom message

          + *
        • + *
        • + *

          Pre token generation

          + *
        • + *
        • + *

          Create auth challenge

          + *
        • + *
        • + *

          Define auth challenge

          + *
        • + *
        • + *

          Verify auth challenge

          + *
        • + *
        + *

        For more information, see Customizing User Pool Workflows with Lambda Triggers in the + * Amazon Cognito Developer Guide.

        + * + *

        Take the following limitations into consideration when you use the ClientMetadata + * parameter:

        + *
          + *
        • + *

          Amazon Cognito does not store the ClientMetadata value. This data is + * available only to AWS Lambda triggers that are assigned to a user pool to + * support custom workflows. If your user pool configuration does not include + * triggers, the ClientMetadata parameter serves no purpose.

          + *
        • + *
        • + *

          Amazon Cognito does not validate the ClientMetadata value.

          + *
        • + *
        • + *

          Amazon Cognito does not encrypt the the ClientMetadata value, so don't use + * it to provide sensitive information.

          + *
        • + *
        + *
        */ - ClientId: string | undefined; + ClientMetadata?: { [key: string]: string }; + + /** + *

        The analytics metadata for collecting Amazon Pinpoint metrics for + * AdminInitiateAuth calls.

        + */ + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

        Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

        + */ + ContextData?: ContextDataType; } export namespace AdminInitiateAuthRequest { export const filterSensitiveLog = (obj: AdminInitiateAuthRequest): any => ({ ...obj, - ...(obj.AuthParameters && { AuthParameters: SENSITIVE_STRING }), ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.AuthParameters && { AuthParameters: SENSITIVE_STRING }), }); } @@ -1964,15 +1964,20 @@ export namespace NewDeviceMetadataType { *

        The authentication result.

        */ export interface AuthenticationResultType { + /** + *

        The access token.

        + */ + AccessToken?: string; + /** *

        The expiration period of the authentication result in seconds.

        */ ExpiresIn?: number; /** - *

        The new device metadata from an authentication result.

        + *

        The token type.

        */ - NewDeviceMetadata?: NewDeviceMetadataType; + TokenType?: string; /** *

        The refresh token.

        @@ -1985,22 +1990,17 @@ export interface AuthenticationResultType { IdToken?: string; /** - *

        The token type.

        - */ - TokenType?: string; - - /** - *

        The access token.

        + *

        The new device metadata from an authentication result.

        */ - AccessToken?: string; + NewDeviceMetadata?: NewDeviceMetadataType; } export namespace AuthenticationResultType { export const filterSensitiveLog = (obj: AuthenticationResultType): any => ({ ...obj, + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), ...(obj.RefreshToken && { RefreshToken: SENSITIVE_STRING }), ...(obj.IdToken && { IdToken: SENSITIVE_STRING }), - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), }); } @@ -2084,14 +2084,6 @@ export interface AdminInitiateAuthResponse { */ ChallengeName?: ChallengeNameType | string; - /** - *

        The result of the authentication response. This is only returned if the caller does - * not need to pass another challenge. If the caller does need to pass another challenge - * before it gets tokens, ChallengeName, ChallengeParameters, and - * Session are returned.

        - */ - AuthenticationResult?: AuthenticationResultType; - /** *

        The session which should be passed both ways in challenge-response calls to the * service. If AdminInitiateAuth or AdminRespondToAuthChallenge @@ -2115,6 +2107,14 @@ export interface AdminInitiateAuthResponse { * USERNAME attribute cannot be an alias.

        */ ChallengeParameters?: { [key: string]: string }; + + /** + *

        The result of the authentication response. This is only returned if the caller does + * not need to pass another challenge. If the caller does need to pass another challenge + * before it gets tokens, ChallengeName, ChallengeParameters, and + * Session are returned.

        + */ + AuthenticationResult?: AuthenticationResultType; } export namespace AdminInitiateAuthResponse { @@ -2183,6 +2183,27 @@ export namespace UserNotConfirmedException { } export interface AdminLinkProviderForUserRequest { + /** + *

        The user pool ID for the user pool.

        + */ + UserPoolId: string | undefined; + + /** + *

        The existing user in the user pool to be linked to the external identity provider user + * account. Can be a native (Username + Password) Cognito User Pools user or a federated + * user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is + * thrown. This is the user that is returned when the new user (with the linked identity + * provider attribute) signs in.

        + *

        For a native username + password user, the ProviderAttributeValue for the + * DestinationUser should be the username in the user pool. For a + * federated user, it should be the provider-specific user_id.

        + *

        The ProviderAttributeName of the DestinationUser is + * ignored.

        + *

        The ProviderName should be set to Cognito for users in + * Cognito user pools.

        + */ + DestinationUser: ProviderUserIdentifierType | undefined; + /** *

        An external identity provider account for a user who does not currently exist yet in * the user pool. This user must be a federated user (for example, a SAML or Facebook @@ -2206,27 +2227,6 @@ export interface AdminLinkProviderForUserRequest { * token.

        */ SourceUser: ProviderUserIdentifierType | undefined; - - /** - *

        The existing user in the user pool to be linked to the external identity provider user - * account. Can be a native (Username + Password) Cognito User Pools user or a federated - * user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is - * thrown. This is the user that is returned when the new user (with the linked identity - * provider attribute) signs in.

        - *

        For a native username + password user, the ProviderAttributeValue for the - * DestinationUser should be the username in the user pool. For a - * federated user, it should be the provider-specific user_id.

        - *

        The ProviderAttributeName of the DestinationUser is - * ignored.

        - *

        The ProviderName should be set to Cognito for users in - * Cognito user pools.

        - */ - DestinationUser: ProviderUserIdentifierType | undefined; - - /** - *

        The user pool ID for the user pool.

        - */ - UserPoolId: string | undefined; } export namespace AdminLinkProviderForUserRequest { @@ -2248,24 +2248,24 @@ export namespace AdminLinkProviderForUserResponse { */ export interface AdminListDevicesRequest { /** - *

        The pagination token.

        + *

        The user pool ID.

        */ - PaginationToken?: string; + UserPoolId: string | undefined; /** - *

        The limit of the devices request.

        + *

        The user name.

        */ - Limit?: number; + Username: string | undefined; /** - *

        The user name.

        + *

        The limit of the devices request.

        */ - Username: string | undefined; + Limit?: number; /** - *

        The user pool ID.

        + *

        The pagination token.

        */ - UserPoolId: string | undefined; + PaginationToken?: string; } export namespace AdminListDevicesRequest { @@ -2280,14 +2280,14 @@ export namespace AdminListDevicesRequest { */ export interface AdminListDevicesResponse { /** - *

        The pagination token.

        + *

        The devices in the list of devices response.

        */ - PaginationToken?: string; + Devices?: DeviceType[]; /** - *

        The devices in the list of devices response.

        + *

        The pagination token.

        */ - Devices?: DeviceType[]; + PaginationToken?: string; } export namespace AdminListDevicesResponse { @@ -2298,9 +2298,9 @@ export namespace AdminListDevicesResponse { export interface AdminListGroupsForUserRequest { /** - *

        The limit of the request to list groups.

        + *

        The username for the user.

        */ - Limit?: number; + Username: string | undefined; /** *

        The user pool ID for the user pool.

        @@ -2308,15 +2308,15 @@ export interface AdminListGroupsForUserRequest { UserPoolId: string | undefined; /** - *

        An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

        + *

        The limit of the request to list groups.

        */ - NextToken?: string; + Limit?: number; /** - *

        The username for the user.

        + *

        An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

        */ - Username: string | undefined; + NextToken?: string; } export namespace AdminListGroupsForUserRequest { @@ -2330,30 +2330,20 @@ export namespace AdminListGroupsForUserRequest { *

        The group type.

        */ export interface GroupType { - /** - *

        The user pool ID for the user pool.

        - */ - UserPoolId?: string; - - /** - *

        A string containing the description of the group.

        - */ - Description?: string; - /** *

        The name of the group.

        */ GroupName?: string; /** - *

        The date the group was last modified.

        + *

        The user pool ID for the user pool.

        */ - LastModifiedDate?: Date; + UserPoolId?: string; /** - *

        The date the group was created.

        + *

        A string containing the description of the group.

        */ - CreationDate?: Date; + Description?: string; /** *

        The role ARN for the group.

        @@ -2377,6 +2367,16 @@ export interface GroupType { *

        The default Precedence value is null.

        */ Precedence?: number; + + /** + *

        The date the group was last modified.

        + */ + LastModifiedDate?: Date; + + /** + *

        The date the group was created.

        + */ + CreationDate?: Date; } export namespace GroupType { @@ -2406,9 +2406,9 @@ export namespace AdminListGroupsForUserResponse { export interface AdminListUserAuthEventsRequest { /** - *

        A pagination token.

        + *

        The user pool ID.

        */ - NextToken?: string; + UserPoolId: string | undefined; /** *

        The user pool username or an alias.

        @@ -2421,9 +2421,9 @@ export interface AdminListUserAuthEventsRequest { MaxResults?: number; /** - *

        The user pool ID.

        + *

        A pagination token.

        */ - UserPoolId: string | undefined; + NextToken?: string; } export namespace AdminListUserAuthEventsRequest { @@ -2448,14 +2448,14 @@ export enum ChallengeResponse { */ export interface ChallengeResponseType { /** - *

        The challenge response.

        + *

        The challenge name

        */ - ChallengeResponse?: ChallengeResponse | string; + ChallengeName?: ChallengeName | string; /** - *

        The challenge name

        + *

        The challenge response.

        */ - ChallengeName?: ChallengeName | string; + ChallengeResponse?: ChallengeResponse | string; } export namespace ChallengeResponseType { @@ -2469,29 +2469,29 @@ export namespace ChallengeResponseType { */ export interface EventContextDataType { /** - *

        The user's time zone.

        + *

        The user's IP address.

        */ - Timezone?: string; + IpAddress?: string; /** - *

        The user's city.

        + *

        The user's device name.

        */ - City?: string; + DeviceName?: string; /** - *

        The user's country.

        + *

        The user's time zone.

        */ - Country?: string; + Timezone?: string; /** - *

        The user's IP address.

        + *

        The user's city.

        */ - IpAddress?: string; + City?: string; /** - *

        The user's device name.

        + *

        The user's country.

        */ - DeviceName?: string; + Country?: string; } export namespace EventContextDataType { @@ -2509,11 +2509,6 @@ export enum FeedbackValueType { *

        Specifies the event feedback type.

        */ export interface EventFeedbackType { - /** - *

        The event feedback date.

        - */ - FeedbackDate?: Date; - /** *

        The event feedback value.

        */ @@ -2523,6 +2518,11 @@ export interface EventFeedbackType { *

        The provider.

        */ Provider: string | undefined; + + /** + *

        The event feedback date.

        + */ + FeedbackDate?: Date; } export namespace EventFeedbackType { @@ -2553,10 +2553,9 @@ export enum RiskLevelType { */ export interface EventRiskType { /** - *

        Indicates whether compromised credentials were detected during an authentication - * event.

        + *

        The risk decision.

        */ - CompromisedCredentialsDetected?: boolean; + RiskDecision?: RiskDecisionType | string; /** *

        The risk level.

        @@ -2564,9 +2563,10 @@ export interface EventRiskType { RiskLevel?: RiskLevelType | string; /** - *

        The risk decision.

        + *

        Indicates whether compromised credentials were detected during an authentication + * event.

        */ - RiskDecision?: RiskDecisionType | string; + CompromisedCredentialsDetected?: boolean; } export namespace EventRiskType { @@ -2586,46 +2586,46 @@ export enum EventType { */ export interface AuthEventType { /** - *

        The user context data captured at the time of an event request. It provides additional - * information about the client from which event the request is received.

        + *

        The event ID.

        */ - EventContextData?: EventContextDataType; + EventId?: string; /** - *

        A flag specifying the user feedback captured at the time of an event request is good - * or bad.

        + *

        The event type.

        */ - EventFeedback?: EventFeedbackType; + EventType?: EventType | string; /** - *

        The event type.

        + *

        The creation date

        */ - EventType?: EventType | string; + CreationDate?: Date; /** - *

        The event ID.

        + *

        The event response.

        */ - EventId?: string; + EventResponse?: EventResponseType | string; /** - *

        The challenge responses.

        + *

        The event risk.

        */ - ChallengeResponses?: ChallengeResponseType[]; + EventRisk?: EventRiskType; /** - *

        The creation date

        + *

        The challenge responses.

        */ - CreationDate?: Date; + ChallengeResponses?: ChallengeResponseType[]; /** - *

        The event risk.

        + *

        The user context data captured at the time of an event request. It provides additional + * information about the client from which event the request is received.

        */ - EventRisk?: EventRiskType; + EventContextData?: EventContextDataType; /** - *

        The event response.

        + *

        A flag specifying the user feedback captured at the time of an event request is good + * or bad.

        */ - EventResponse?: EventResponseType | string; + EventFeedback?: EventFeedbackType; } export namespace AuthEventType { @@ -2670,6 +2670,11 @@ export namespace UserPoolAddOnNotEnabledException { } export interface AdminRemoveUserFromGroupRequest { + /** + *

        The user pool ID for the user pool.

        + */ + UserPoolId: string | undefined; + /** *

        The username for the user.

        */ @@ -2679,11 +2684,6 @@ export interface AdminRemoveUserFromGroupRequest { *

        The group name.

        */ GroupName: string | undefined; - - /** - *

        The user pool ID for the user pool.

        - */ - UserPoolId: string | undefined; } export namespace AdminRemoveUserFromGroupRequest { @@ -2697,6 +2697,16 @@ export namespace AdminRemoveUserFromGroupRequest { *

        Represents the request to reset a user's password as an administrator.

        */ export interface AdminResetUserPasswordRequest { + /** + *

        The user pool ID for the user pool where you want to reset the user's password.

        + */ + UserPoolId: string | undefined; + + /** + *

        The user name of the user whose password you wish to reset.

        + */ + Username: string | undefined; + /** *

        A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

        @@ -2732,16 +2742,6 @@ export interface AdminResetUserPasswordRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

        The user pool ID for the user pool where you want to reset the user's password.

        - */ - UserPoolId: string | undefined; - - /** - *

        The user name of the user whose password you wish to reset.

        - */ - Username: string | undefined; } export namespace AdminResetUserPasswordRequest { @@ -2788,72 +2788,20 @@ export namespace InvalidEmailRoleAccessPolicyException { */ export interface AdminRespondToAuthChallengeRequest { /** - *

        The session which should be passed both ways in challenge-response calls to the - * service. If InitiateAuth or RespondToAuthChallenge API call - * determines that the caller needs to go through another challenge, they return a session - * with other challenge parameters. This session should be passed as it is to the next - * RespondToAuthChallenge API call.

        + *

        The ID of the Amazon Cognito user pool.

        */ - Session?: string; + UserPoolId: string | undefined; /** - *

        A map of custom key-value pairs that you can provide as input for any custom workflows - * that this action triggers.

        - *

        You create custom workflows by assigning AWS Lambda functions to user pool triggers. - * When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any - * functions that are assigned to the following triggers: pre sign-up, - * custom message, post authentication, - * user migration, pre token generation, - * define auth challenge, create auth - * challenge, and verify auth challenge response. When - * Amazon Cognito invokes any of these functions, it passes a JSON payload, which the - * function receives as input. This payload contains a clientMetadata - * attribute, which provides the data that you assigned to the ClientMetadata parameter in - * your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can - * process the clientMetadata value to enhance your workflow for your specific - * needs.

        - *

        For more information, see Customizing User Pool Workflows with Lambda Triggers in the - * Amazon Cognito Developer Guide.

        - * - *

        Take the following limitations into consideration when you use the ClientMetadata - * parameter:

        - *
          - *
        • - *

          Amazon Cognito does not store the ClientMetadata value. This data is - * available only to AWS Lambda triggers that are assigned to a user pool to - * support custom workflows. If your user pool configuration does not include - * triggers, the ClientMetadata parameter serves no purpose.

          - *
        • - *
        • - *

          Amazon Cognito does not validate the ClientMetadata value.

          - *
        • - *
        • - *

          Amazon Cognito does not encrypt the the ClientMetadata value, so don't use - * it to provide sensitive information.

          - *
        • - *
        - *
        + *

        The app client ID.

        */ - ClientMetadata?: { [key: string]: string }; + ClientId: string | undefined; /** *

        The challenge name. For more information, see AdminInitiateAuth.

        */ ChallengeName: ChallengeNameType | string | undefined; - /** - *

        The analytics metadata for collecting Amazon Pinpoint metrics for - * AdminRespondToAuthChallenge calls.

        - */ - AnalyticsMetadata?: AnalyticsMetadataType; - - /** - *

        Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

        - */ - ContextData?: ContextDataType; - /** *

        The challenge responses. These are inputs corresponding to the value of * ChallengeName, for example:

        @@ -2893,14 +2841,66 @@ export interface AdminRespondToAuthChallengeRequest { ChallengeResponses?: { [key: string]: string }; /** - *

        The app client ID.

        + *

        The session which should be passed both ways in challenge-response calls to the + * service. If InitiateAuth or RespondToAuthChallenge API call + * determines that the caller needs to go through another challenge, they return a session + * with other challenge parameters. This session should be passed as it is to the next + * RespondToAuthChallenge API call.

        */ - ClientId: string | undefined; + Session?: string; /** - *

        The ID of the Amazon Cognito user pool.

        + *

        The analytics metadata for collecting Amazon Pinpoint metrics for + * AdminRespondToAuthChallenge calls.

        */ - UserPoolId: string | undefined; + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

        Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

        + */ + ContextData?: ContextDataType; + + /** + *

        A map of custom key-value pairs that you can provide as input for any custom workflows + * that this action triggers.

        + *

        You create custom workflows by assigning AWS Lambda functions to user pool triggers. + * When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any + * functions that are assigned to the following triggers: pre sign-up, + * custom message, post authentication, + * user migration, pre token generation, + * define auth challenge, create auth + * challenge, and verify auth challenge response. When + * Amazon Cognito invokes any of these functions, it passes a JSON payload, which the + * function receives as input. This payload contains a clientMetadata + * attribute, which provides the data that you assigned to the ClientMetadata parameter in + * your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can + * process the clientMetadata value to enhance your workflow for your specific + * needs.

        + *

        For more information, see Customizing User Pool Workflows with Lambda Triggers in the + * Amazon Cognito Developer Guide.

        + * + *

        Take the following limitations into consideration when you use the ClientMetadata + * parameter:

        + *
          + *
        • + *

          Amazon Cognito does not store the ClientMetadata value. This data is + * available only to AWS Lambda triggers that are assigned to a user pool to + * support custom workflows. If your user pool configuration does not include + * triggers, the ClientMetadata parameter serves no purpose.

          + *
        • + *
        • + *

          Amazon Cognito does not validate the ClientMetadata value.

          + *
        • + *
        • + *

          Amazon Cognito does not encrypt the the ClientMetadata value, so don't use + * it to provide sensitive information.

          + *
        • + *
        + *
        + */ + ClientMetadata?: { [key: string]: string }; } export namespace AdminRespondToAuthChallengeRequest { @@ -2914,6 +2914,11 @@ export namespace AdminRespondToAuthChallengeRequest { *

        Responds to the authentication challenge, as an administrator.

        */ export interface AdminRespondToAuthChallengeResponse { + /** + *

        The name of the challenge. For more information, see AdminInitiateAuth.

        + */ + ChallengeName?: ChallengeNameType | string; + /** *

        The session which should be passed both ways in challenge-response calls to the * service. If the caller needs to @@ -2928,11 +2933,6 @@ export interface AdminRespondToAuthChallengeResponse { */ ChallengeParameters?: { [key: string]: string }; - /** - *

        The name of the challenge. For more information, see AdminInitiateAuth.

        - */ - ChallengeName?: ChallengeNameType | string; - /** *

        The result returned by the server in response to the authentication request.

        */ @@ -3002,11 +3002,15 @@ export namespace SoftwareTokenMFANotFoundException { } /** - *

        The type used for enabling SMS MFA at the user level.

        + *

        The type used for enabling SMS MFA at the user level. Phone numbers don't need to be verified + * to be used for SMS MFA. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, + * unless device tracking is turned on and the device has been trusted. If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, + * disable MFA for users and turn on Adaptive Authentication for the user pool.

        */ export interface SMSMfaSettingsType { /** - *

        Specifies whether SMS text message MFA is enabled.

        + *

        Specifies whether SMS text message MFA is enabled. If an MFA type is enabled for a user, + * the user will be prompted for MFA during all sign in attempts, unless device tracking is turned on and the device has been trusted.

        */ Enabled?: boolean; @@ -3023,18 +3027,21 @@ export namespace SMSMfaSettingsType { } /** - *

        The type used for enabling software token MFA at the user level.

        + *

        The type used for enabling software token MFA at the user level. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, unless device tracking is turned on + * and the device has been trusted. If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, + * disable MFA for users and turn on Adaptive Authentication for the user pool.

        */ export interface SoftwareTokenMfaSettingsType { /** - *

        Specifies whether software token MFA is the preferred MFA method.

        + *

        Specifies whether software token MFA is enabled. If an MFA type is enabled for a user, the user will be prompted for MFA during + * all sign in attempts, unless device tracking is turned on and the device has been trusted.

        */ - PreferredMfa?: boolean; + Enabled?: boolean; /** - *

        Specifies whether software token MFA is enabled.

        + *

        Specifies whether software token MFA is the preferred MFA method.

        */ - Enabled?: boolean; + PreferredMfa?: boolean; } export namespace SoftwareTokenMfaSettingsType { @@ -3044,6 +3051,11 @@ export namespace SoftwareTokenMfaSettingsType { } export interface AdminSetUserMFAPreferenceRequest { + /** + *

        The SMS text message MFA settings.

        + */ + SMSMfaSettings?: SMSMfaSettingsType; + /** *

        The time-based one-time password software token MFA settings.

        */ @@ -3058,12 +3070,7 @@ export interface AdminSetUserMFAPreferenceRequest { *

        The user pool ID.

        */ UserPoolId: string | undefined; - - /** - *

        The SMS text message MFA settings.

        - */ - SMSMfaSettings?: SMSMfaSettingsType; -} +} export namespace AdminSetUserMFAPreferenceRequest { export const filterSensitiveLog = (obj: AdminSetUserMFAPreferenceRequest): any => ({ @@ -3081,11 +3088,6 @@ export namespace AdminSetUserMFAPreferenceResponse { } export interface AdminSetUserPasswordRequest { - /** - *

        The password for the user.

        - */ - Password: string | undefined; - /** *

        The user pool ID for the user pool where you want to set the user's password.

        */ @@ -3096,6 +3098,11 @@ export interface AdminSetUserPasswordRequest { */ Username: string | undefined; + /** + *

        The password for the user.

        + */ + Password: string | undefined; + /** *

        * True if the password is permanent, False if it is @@ -3107,8 +3114,8 @@ export interface AdminSetUserPasswordRequest { export namespace AdminSetUserPasswordRequest { export const filterSensitiveLog = (obj: AdminSetUserPasswordRequest): any => ({ ...obj, - ...(obj.Password && { Password: SENSITIVE_STRING }), ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.Password && { Password: SENSITIVE_STRING }), }); } @@ -3125,6 +3132,12 @@ export namespace AdminSetUserPasswordResponse { * medium.

        */ export interface AdminSetUserSettingsRequest { + /** + *

        The ID of the user pool that contains the user that you are setting options + * for.

        + */ + UserPoolId: string | undefined; + /** *

        The user name of the user that you are setting options for.

        */ @@ -3135,12 +3148,6 @@ export interface AdminSetUserSettingsRequest { * delivery.

        */ MFAOptions: MFAOptionType[] | undefined; - - /** - *

        The ID of the user pool that contains the user that you are setting options - * for.

        - */ - UserPoolId: string | undefined; } export namespace AdminSetUserSettingsRequest { @@ -3174,14 +3181,14 @@ export interface AdminUpdateAuthEventFeedbackRequest { Username: string | undefined; /** - *

        The authentication event feedback value.

        + *

        The authentication event ID.

        */ - FeedbackValue: FeedbackValueType | string | undefined; + EventId: string | undefined; /** - *

        The authentication event ID.

        + *

        The authentication event feedback value.

        */ - EventId: string | undefined; + FeedbackValue: FeedbackValueType | string | undefined; } export namespace AdminUpdateAuthEventFeedbackRequest { @@ -3209,24 +3216,24 @@ export enum DeviceRememberedStatusType { */ export interface AdminUpdateDeviceStatusRequest { /** - *

        The status indicating whether a device has been remembered or not.

        + *

        The user pool ID.

        */ - DeviceRememberedStatus?: DeviceRememberedStatusType | string; + UserPoolId: string | undefined; /** - *

        The device key.

        + *

        The user name.

        */ - DeviceKey: string | undefined; + Username: string | undefined; /** - *

        The user name.

        + *

        The device key.

        */ - Username: string | undefined; + DeviceKey: string | undefined; /** - *

        The user pool ID.

        + *

        The status indicating whether a device has been remembered or not.

        */ - UserPoolId: string | undefined; + DeviceRememberedStatus?: DeviceRememberedStatusType | string; } export namespace AdminUpdateDeviceStatusRequest { @@ -3252,14 +3259,14 @@ export namespace AdminUpdateDeviceStatusResponse { */ export interface AdminUpdateUserAttributesRequest { /** - *

        The user name of the user for whom you want to update user attributes.

        + *

        The user pool ID for the user pool where you want to update user attributes.

        */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID for the user pool where you want to update user attributes.

        + *

        The user name of the user for whom you want to update user attributes.

        */ - UserPoolId: string | undefined; + Username: string | undefined; /** *

        An array of name-value pairs representing user attributes.

        @@ -3383,6 +3390,11 @@ export enum AliasAttributeType { * */ export interface AnalyticsConfigurationType { + /** + *

        The application ID for an Amazon Pinpoint application.

        + */ + ApplicationId?: string; + /** *

        The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint * project for Pinpoint integration with the chosen User Pool Client. @@ -3390,11 +3402,6 @@ export interface AnalyticsConfigurationType { */ ApplicationArn?: string; - /** - *

        The external ID.

        - */ - ExternalId?: string; - /** *

        The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon * Pinpoint analytics.

        @@ -3402,15 +3409,15 @@ export interface AnalyticsConfigurationType { RoleArn?: string; /** - *

        If UserDataShared is true, Amazon Cognito will include user - * data in the events it publishes to Amazon Pinpoint analytics.

        + *

        The external ID.

        */ - UserDataShared?: boolean; + ExternalId?: string; /** - *

        The application ID for an Amazon Pinpoint application.

        + *

        If UserDataShared is true, Amazon Cognito will include user + * data in the events it publishes to Amazon Pinpoint analytics.

        */ - ApplicationId?: string; + UserDataShared?: boolean; } export namespace AnalyticsConfigurationType { @@ -3440,17 +3447,17 @@ export namespace AssociateSoftwareTokenRequest { } export interface AssociateSoftwareTokenResponse { - /** - *

        The session which should be passed both ways in challenge-response calls to the - * service. This allows authentication of the user as part of the MFA setup process.

        - */ - Session?: string; - /** *

        A unique generated shared secret code that is used in the TOTP algorithm to generate a * one time code.

        */ SecretCode?: string; + + /** + *

        The session which should be passed both ways in challenge-response calls to the + * service. This allows authentication of the user as part of the MFA setup process.

        + */ + Session?: string; } export namespace AssociateSoftwareTokenResponse { @@ -3483,11 +3490,6 @@ export namespace ConcurrentModificationException { *

        Represents the request to change a user password.

        */ export interface ChangePasswordRequest { - /** - *

        The access token.

        - */ - AccessToken: string | undefined; - /** *

        The old password.

        */ @@ -3497,14 +3499,19 @@ export interface ChangePasswordRequest { *

        The new password.

        */ ProposedPassword: string | undefined; + + /** + *

        The access token.

        + */ + AccessToken: string | undefined; } export namespace ChangePasswordRequest { export const filterSensitiveLog = (obj: ChangePasswordRequest): any => ({ ...obj, - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), ...(obj.PreviousPassword && { PreviousPassword: SENSITIVE_STRING }), ...(obj.ProposedPassword && { ProposedPassword: SENSITIVE_STRING }), + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), }); } @@ -3524,14 +3531,14 @@ export namespace ChangePasswordResponse { */ export interface DeviceSecretVerifierConfigType { /** - *

        The salt.

        + *

        The password verifier.

        */ - Salt?: string; + PasswordVerifier?: string; /** - *

        The password verifier.

        + *

        The salt.

        */ - PasswordVerifier?: string; + Salt?: string; } export namespace DeviceSecretVerifierConfigType { @@ -3555,14 +3562,14 @@ export interface ConfirmDeviceRequest { DeviceKey: string | undefined; /** - *

        The device name.

        + *

        The configuration of the device secret verifier.

        */ - DeviceName?: string; + DeviceSecretVerifierConfig?: DeviceSecretVerifierConfigType; /** - *

        The configuration of the device secret verifier.

        + *

        The device name.

        */ - DeviceSecretVerifierConfig?: DeviceSecretVerifierConfigType; + DeviceName?: string; } export namespace ConfirmDeviceRequest { @@ -3613,6 +3620,17 @@ export namespace UserContextDataType { *

        The request representing the confirmation for a password reset.

        */ export interface ConfirmForgotPasswordRequest { + /** + *

        The app client ID of the app associated with the user pool.

        + */ + ClientId: string | undefined; + + /** + *

        A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

        + */ + SecretHash?: string; + /** *

        The user name of the user for whom you want to enter a code to retrieve a forgotten * password.

        @@ -3620,22 +3638,28 @@ export interface ConfirmForgotPasswordRequest { Username: string | undefined; /** - *

        Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

        + *

        The confirmation code sent by a user's request to retrieve a forgotten password. For + * more information, see ForgotPassword.

        */ - UserContextData?: UserContextDataType; + ConfirmationCode: string | undefined; /** - *

        The app client ID of the app associated with the user pool.

        + *

        The password sent by a user's request to retrieve a forgotten password.

        */ - ClientId: string | undefined; + Password: string | undefined; /** - *

        A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

        + *

        The Amazon Pinpoint analytics metadata for collecting metrics for + * ConfirmForgotPassword calls.

        */ - SecretHash?: string; + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

        Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

        + */ + UserContextData?: UserContextDataType; /** *

        A map of custom key-value pairs that you can provide as input for any custom workflows @@ -3672,31 +3696,14 @@ export interface ConfirmForgotPasswordRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

        The confirmation code sent by a user's request to retrieve a forgotten password. For - * more information, see ForgotPassword.

        - */ - ConfirmationCode: string | undefined; - - /** - *

        The password sent by a user's request to retrieve a forgotten password.

        - */ - Password: string | undefined; - - /** - *

        The Amazon Pinpoint analytics metadata for collecting metrics for - * ConfirmForgotPassword calls.

        - */ - AnalyticsMetadata?: AnalyticsMetadataType; } export namespace ConfirmForgotPasswordRequest { export const filterSensitiveLog = (obj: ConfirmForgotPasswordRequest): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.Password && { Password: SENSITIVE_STRING }), }); } @@ -3717,11 +3724,6 @@ export namespace ConfirmForgotPasswordResponse { *

        Represents the request to confirm registration of a user.

        */ export interface ConfirmSignUpRequest { - /** - *

        The user name of the user whose registration you wish to confirm.

        - */ - Username: string | undefined; - /** *

        The ID of the app client associated with the user pool.

        */ @@ -3734,23 +3736,38 @@ export interface ConfirmSignUpRequest { SecretHash?: string; /** - *

        Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

        + *

        The user name of the user whose registration you wish to confirm.

        */ - UserContextData?: UserContextDataType; + Username: string | undefined; /** *

        The confirmation code sent by a user's request to confirm registration.

        */ ConfirmationCode: string | undefined; + /** + *

        Boolean to be specified to force user confirmation irrespective of existing alias. By + * default set to False. If this parameter is set to True and the + * phone number/email used for sign up confirmation already exists as an alias with a + * different user, the API call will migrate the alias from the previous user to the newly + * created user being confirmed. If set to False, the API will throw an + * AliasExistsException error.

        + */ + ForceAliasCreation?: boolean; + /** *

        The Amazon Pinpoint analytics metadata for collecting metrics for * ConfirmSignUp calls.

        */ AnalyticsMetadata?: AnalyticsMetadataType; + /** + *

        Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

        + */ + UserContextData?: UserContextDataType; + /** *

        A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

        @@ -3785,24 +3802,14 @@ export interface ConfirmSignUpRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

        Boolean to be specified to force user confirmation irrespective of existing alias. By - * default set to False. If this parameter is set to True and the - * phone number/email used for sign up confirmation already exists as an alias with a - * different user, the API call will migrate the alias from the previous user to the newly - * created user being confirmed. If set to False, the API will throw an - * AliasExistsException error.

        - */ - ForceAliasCreation?: boolean; } export namespace ConfirmSignUpRequest { export const filterSensitiveLog = (obj: ConfirmSignUpRequest): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -3823,6 +3830,21 @@ export interface CreateGroupRequest { */ GroupName: string | undefined; + /** + *

        The user pool ID for the user pool.

        + */ + UserPoolId: string | undefined; + + /** + *

        A string containing the description of the group.

        + */ + Description?: string; + + /** + *

        The role ARN for the group.

        + */ + RoleArn?: string; + /** *

        A nonnegative integer value that specifies the precedence of this group relative to * the other groups that a user can belong to in the user pool. Zero is the highest @@ -3840,21 +3862,6 @@ export interface CreateGroupRequest { *

        The default Precedence value is null.

        */ Precedence?: number; - - /** - *

        The user pool ID for the user pool.

        - */ - UserPoolId: string | undefined; - - /** - *

        The role ARN for the group.

        - */ - RoleArn?: string; - - /** - *

        A string containing the description of the group.

        - */ - Description?: string; } export namespace CreateGroupRequest { @@ -3903,25 +3910,19 @@ export enum IdentityProviderTypeType { export interface CreateIdentityProviderRequest { /** - *

        The identity provider name.

        + *

        The user pool ID.

        */ - ProviderName: string | undefined; + UserPoolId: string | undefined; /** - *

        A mapping of identity provider attributes to standard and custom user pool - * attributes.

        + *

        The identity provider name.

        */ - AttributeMapping?: { [key: string]: string }; + ProviderName: string | undefined; /** - *

        A list of identity provider identifiers.

        + *

        The identity provider type.

        */ - IdpIdentifiers?: string[]; - - /** - *

        The user pool ID.

        - */ - UserPoolId: string | undefined; + ProviderType: IdentityProviderTypeType | string | undefined; /** *

        The identity provider details. The following list describes the provider detail keys @@ -4035,9 +4036,15 @@ export interface CreateIdentityProviderRequest { ProviderDetails: { [key: string]: string } | undefined; /** - *

        The identity provider type.

        + *

        A mapping of identity provider attributes to standard and custom user pool + * attributes.

        */ - ProviderType: IdentityProviderTypeType | string | undefined; + AttributeMapping?: { [key: string]: string }; + + /** + *

        A list of identity provider identifiers.

        + */ + IdpIdentifiers?: string[]; } export namespace CreateIdentityProviderRequest { @@ -4060,27 +4067,6 @@ export interface IdentityProviderType { */ ProviderName?: string; - /** - *

        The date the identity provider was last modified.

        - */ - LastModifiedDate?: Date; - - /** - *

        The date the identity provider was created.

        - */ - CreationDate?: Date; - - /** - *

        A mapping of identity provider attributes to standard and custom user pool - * attributes.

        - */ - AttributeMapping?: { [key: string]: string }; - - /** - *

        A list of identity provider identifiers.

        - */ - IdpIdentifiers?: string[]; - /** *

        The identity provider type.

        */ @@ -4199,6 +4185,27 @@ export interface IdentityProviderType { *
      */ ProviderDetails?: { [key: string]: string }; + + /** + *

      A mapping of identity provider attributes to standard and custom user pool + * attributes.

      + */ + AttributeMapping?: { [key: string]: string }; + + /** + *

      A list of identity provider identifiers.

      + */ + IdpIdentifiers?: string[]; + + /** + *

      The date the identity provider was last modified.

      + */ + LastModifiedDate?: Date; + + /** + *

      The date the identity provider was created.

      + */ + CreationDate?: Date; } export namespace IdentityProviderType { @@ -4258,17 +4265,6 @@ export namespace ResourceServerScopeType { } export interface CreateResourceServerRequest { - /** - *

      A friendly name for the resource server.

      - */ - Name: string | undefined; - - /** - *

      A list of scopes. Each scope is map, where the keys are name and - * description.

      - */ - Scopes?: ResourceServerScopeType[]; - /** *

      The user pool ID for the user pool.

      */ @@ -4280,6 +4276,17 @@ export interface CreateResourceServerRequest { * https://my-weather-api.example.com.

      */ Identifier: string | undefined; + + /** + *

      A friendly name for the resource server.

      + */ + Name: string | undefined; + + /** + *

      A list of scopes. Each scope is map, where the keys are name and + * description.

      + */ + Scopes?: ResourceServerScopeType[]; } export namespace CreateResourceServerRequest { @@ -4293,24 +4300,24 @@ export namespace CreateResourceServerRequest { */ export interface ResourceServerType { /** - *

      The identifier for the resource server.

      + *

      The user pool ID for the user pool that hosts the resource server.

      */ - Identifier?: string; + UserPoolId?: string; /** - *

      A list of scopes that are defined for the resource server.

      + *

      The identifier for the resource server.

      */ - Scopes?: ResourceServerScopeType[]; + Identifier?: string; /** - *

      The user pool ID for the user pool that hosts the resource server.

      + *

      The name of the resource server.

      */ - UserPoolId?: string; + Name?: string; /** - *

      The name of the resource server.

      + *

      A list of scopes that are defined for the resource server.

      */ - Name?: string; + Scopes?: ResourceServerScopeType[]; } export namespace ResourceServerType { @@ -4336,6 +4343,11 @@ export namespace CreateResourceServerResponse { *

      Represents the request to create the user import job.

      */ export interface CreateUserImportJobRequest { + /** + *

      The job name for the user import job.

      + */ + JobName: string | undefined; + /** *

      The user pool ID for the user pool that the users are being imported into.

      */ @@ -4345,11 +4357,6 @@ export interface CreateUserImportJobRequest { *

      The role ARN for the Amazon CloudWatch Logging role for the user import job.

      */ CloudWatchLogsRoleArn: string | undefined; - - /** - *

      The job name for the user import job.

      - */ - JobName: string | undefined; } export namespace CreateUserImportJobRequest { @@ -4374,67 +4381,40 @@ export enum UserImportJobStatusType { */ export interface UserImportJobType { /** - *

      The date when the user import job was started.

      + *

      The job name for the user import job.

      */ - StartDate?: Date; + JobName?: string; /** *

      The job ID for the user import job.

      */ JobId?: string; - /** - *

      The number of users that could not be imported.

      - */ - FailedUsers?: number; - - /** - *

      The date the user import job was created.

      - */ - CreationDate?: Date; - /** *

      The user pool ID for the user pool that the users are being imported into.

      */ UserPoolId?: string; - /** - *

      The number of users that were skipped.

      - */ - SkippedUsers?: number; - - /** - *

      The role ARN for the Amazon CloudWatch Logging role for the user import job. For more - * information, see "Creating the CloudWatch Logs IAM Role" in the Amazon Cognito Developer - * Guide.

      - */ - CloudWatchLogsRoleArn?: string; - /** *

      The pre-signed URL to be used to upload the .csv file.

      */ PreSignedUrl?: string; /** - *

      The number of users that were successfully imported.

      + *

      The date the user import job was created.

      */ - ImportedUsers?: number; + CreationDate?: Date; /** - *

      The message returned when the user import job is completed.

      + *

      The date when the user import job was started.

      */ - CompletionMessage?: string; + StartDate?: Date; /** *

      The date when the user import job was completed.

      */ CompletionDate?: Date; - /** - *

      The job name for the user import job.

      - */ - JobName?: string; - /** *

      The status of the user import job. One of the following:

      *
        @@ -4479,6 +4459,33 @@ export interface UserImportJobType { *
      */ Status?: UserImportJobStatusType | string; + + /** + *

      The role ARN for the Amazon CloudWatch Logging role for the user import job. For more + * information, see "Creating the CloudWatch Logs IAM Role" in the Amazon Cognito Developer + * Guide.

      + */ + CloudWatchLogsRoleArn?: string; + + /** + *

      The number of users that were successfully imported.

      + */ + ImportedUsers?: number; + + /** + *

      The number of users that were skipped.

      + */ + SkippedUsers?: number; + + /** + *

      The number of users that could not be imported.

      + */ + FailedUsers?: number; + + /** + *

      The message returned when the user import job is completed.

      + */ + CompletionMessage?: string; } export namespace UserImportJobType { @@ -4513,16 +4520,16 @@ export enum VerifiedAttributeType { *

      The configuration for the user pool's device tracking.

      */ export interface DeviceConfigurationType { - /** - *

      If true, a device is only remembered on user prompt.

      - */ - DeviceOnlyRememberedOnUserPrompt?: boolean; - /** *

      Indicates whether a challenge is required on a new device. Only applicable to a new * device.

      */ ChallengeRequiredOnNewDevice?: boolean; + + /** + *

      If true, a device is only remembered on user prompt.

      + */ + DeviceOnlyRememberedOnUserPrompt?: boolean; } export namespace DeviceConfigurationType { @@ -4537,9 +4544,36 @@ export enum EmailSendingAccountType { } /** - *

      The email configuration type.

      + *

      The email configuration type.

      + * + *

      Amazon Cognito has specific regions for use with Amazon SES. For more information on the supported regions, see + * Email Settings for Amazon Cognito User Pools.

      + *
      */ export interface EmailConfigurationType { + /** + *

      The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email + * address is used in one of the following ways, depending on the value that you specify + * for the EmailSendingAccount parameter:

      + *
        + *
      • + *

        If you specify COGNITO_DEFAULT, Amazon Cognito uses this address + * as the custom FROM address when it emails your users by using its built-in email + * account.

        + *
      • + *
      • + *

        If you specify DEVELOPER, Amazon Cognito emails your users with + * this address by calling Amazon SES on your behalf.

        + *
      • + *
      + */ + SourceArn?: string; + + /** + *

      The destination to which the receiver of the email should reply to.

      + */ + ReplyToEmailAddress?: string; + /** *

      Specifies whether Amazon Cognito emails your users by using its built-in email * functionality or your Amazon SES email configuration. Specify one of the following @@ -4553,11 +4587,46 @@ export interface EmailConfigurationType { * environments, the default email limit is below the required delivery volume. * To achieve a higher delivery volume, specify DEVELOPER to use your Amazon * SES email configuration.

      + * *

      To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito * Developer Guide.

      *

      The default FROM address is no-reply@verificationemail.com. To customize * the FROM address, provide the ARN of an Amazon SES verified email address * for the SourceArn parameter.

      + *

      + * If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't allowed:

      + * + *
        + *
      • + *

        EmailVerificationMessage

        + *
      • + *
      • + *

        EmailVerificationSubject

        + *
      • + *
      • + *

        InviteMessageTemplate.EmailMessage

        + *
      • + *
      • + *

        InviteMessageTemplate.EmailSubject

        + *
      • + *
      • + *

        VerificationMessageTemplate.EmailMessage

        + *
      • + *
      • + *

        VerificationMessageTemplate.EmailMessageByLink

        + *
      • + *
      • + *

        VerificationMessageTemplate.EmailSubject,

        + *
      • + *
      • + *

        VerificationMessageTemplate.EmailSubjectByLink

        + *
      • + *
      + * + * + * + *

      DEVELOPER EmailSendingAccount is required.

      + *
      * *
      DEVELOPER
      *
      @@ -4582,11 +4651,6 @@ export interface EmailConfigurationType { */ EmailSendingAccount?: EmailSendingAccountType | string; - /** - *

      The destination to which the receiver of the email should reply to.

      - */ - ReplyToEmailAddress?: string; - /** *

      Identifies either the sender’s email address or the sender’s name with their email * address. For example, testuser@example.com or Test User @@ -4595,24 +4659,6 @@ export interface EmailConfigurationType { */ From?: string; - /** - *

      The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email - * address is used in one of the following ways, depending on the value that you specify - * for the EmailSendingAccount parameter:

      - *
        - *
      • - *

        If you specify COGNITO_DEFAULT, Amazon Cognito uses this address - * as the custom FROM address when it emails your users by using its built-in email - * account.

        - *
      • - *
      • - *

        If you specify DEVELOPER, Amazon Cognito emails your users with - * this address by calling Amazon SES on your behalf.

        - *
      • - *
      - */ - SourceArn?: string; - /** *

      The set of configuration rules that can be applied to emails sent using Amazon SES. A * configuration set is applied to an email by including a reference to the configuration @@ -4642,39 +4688,71 @@ export namespace EmailConfigurationType { }); } +export enum CustomEmailSenderLambdaVersionType { + V1_0 = "V1_0", +} + /** - *

      Specifies the configuration for AWS Lambda triggers.

      + *

      A custom email sender Lambda configuration type.

      */ -export interface LambdaConfigType { +export interface CustomEmailLambdaVersionConfigType { /** - *

      The user migration Lambda config type.

      + *

      The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom email Lambda function. + * The only supported value is V1_0.

      */ - UserMigration?: string; + LambdaVersion: CustomEmailSenderLambdaVersionType | string | undefined; /** - *

      Defines the authentication challenge.

      + *

      The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito triggers to send email notifications to users.

      */ - DefineAuthChallenge?: string; + LambdaArn: string | undefined; +} - /** - *

      Verifies the authentication challenge response.

      - */ - VerifyAuthChallengeResponse?: string; +export namespace CustomEmailLambdaVersionConfigType { + export const filterSensitiveLog = (obj: CustomEmailLambdaVersionConfigType): any => ({ + ...obj, + }); +} +export enum CustomSMSSenderLambdaVersionType { + V1_0 = "V1_0", +} + +/** + *

      A custom SMS sender Lambda configuration type.

      + */ +export interface CustomSMSLambdaVersionConfigType { /** - *

      A pre-authentication AWS Lambda trigger.

      + *

      The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS Lambda function. + * The only supported value is V1_0.

      */ - PreAuthentication?: string; + LambdaVersion: CustomSMSSenderLambdaVersionType | string | undefined; + + /** + *

      The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito triggers to send SMS notifications to users.

      + */ + LambdaArn: string | undefined; +} + +export namespace CustomSMSLambdaVersionConfigType { + export const filterSensitiveLog = (obj: CustomSMSLambdaVersionConfigType): any => ({ + ...obj, + }); +} +/** + *

      Specifies the configuration for AWS Lambda triggers.

      + */ +export interface LambdaConfigType { /** *

      A pre-registration AWS Lambda trigger.

      */ PreSignUp?: string; /** - *

      A post-authentication AWS Lambda trigger.

      + *

      A custom Message AWS Lambda trigger.

      */ - PostAuthentication?: string; + CustomMessage?: string; /** *

      A post-confirmation AWS Lambda trigger.

      @@ -4682,19 +4760,56 @@ export interface LambdaConfigType { PostConfirmation?: string; /** - *

      A custom Message AWS Lambda trigger.

      + *

      A pre-authentication AWS Lambda trigger.

      */ - CustomMessage?: string; + PreAuthentication?: string; /** - *

      A Lambda trigger that is invoked before token generation.

      + *

      A post-authentication AWS Lambda trigger.

      */ - PreTokenGeneration?: string; + PostAuthentication?: string; + + /** + *

      Defines the authentication challenge.

      + */ + DefineAuthChallenge?: string; /** *

      Creates an authentication challenge.

      */ CreateAuthChallenge?: string; + + /** + *

      Verifies the authentication challenge response.

      + */ + VerifyAuthChallengeResponse?: string; + + /** + *

      A Lambda trigger that is invoked before token generation.

      + */ + PreTokenGeneration?: string; + + /** + *

      The user migration Lambda config type.

      + */ + UserMigration?: string; + + /** + *

      A custom SMS sender AWS Lambda trigger.

      + */ + CustomSMSSender?: CustomSMSLambdaVersionConfigType; + + /** + *

      A custom email sender AWS Lambda trigger.

      + */ + CustomEmailSender?: CustomEmailLambdaVersionConfigType; + + /** + *

      The Amazon Resource Name of Key Management Service Customer master keys + * . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to + * CustomEmailSender and CustomSMSSender.

      + */ + KMSKeyID?: string; } export namespace LambdaConfigType { @@ -4714,16 +4829,10 @@ export enum UserPoolMfaType { */ export interface PasswordPolicyType { /** - *

      In the password policy you have set, refers to the number of days a temporary password - * is valid. If the user does not sign-in during this time, their password will need to be - * reset by an administrator.

      - * - *

      When you set TemporaryPasswordValidityDays for a user pool, you will - * no longer be able to set the deprecated UnusedAccountValidityDays value - * for that user pool.

      - *
      + *

      The minimum length of the password policy that you have set. Cannot be less than + * 6.

      */ - TemporaryPasswordValidityDays?: number; + MinimumLength?: number; /** *

      In the password policy that you have set, refers to whether you have required users to @@ -4737,12 +4846,6 @@ export interface PasswordPolicyType { */ RequireLowercase?: boolean; - /** - *

      The minimum length of the password policy that you have set. Cannot be less than - * 6.

      - */ - MinimumLength?: number; - /** *

      In the password policy that you have set, refers to whether you have required users to * use at least one number in their password.

      @@ -4754,6 +4857,18 @@ export interface PasswordPolicyType { * use at least one symbol in their password.

      */ RequireSymbols?: boolean; + + /** + *

      In the password policy you have set, refers to the number of days a temporary password + * is valid. If the user does not sign-in during this time, their password will need to be + * reset by an administrator.

      + * + *

      When you set TemporaryPasswordValidityDays for a user pool, you will + * no longer be able to set the deprecated UnusedAccountValidityDays value + * for that user pool.

      + *
      + */ + TemporaryPasswordValidityDays?: number; } export namespace PasswordPolicyType { @@ -4788,7 +4903,8 @@ export interface SmsConfigurationType { /** *

      The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. * This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS - * messages.

      + * messages. SMS messages are subject to a spending limit. + *

      */ SnsCallerArn: string | undefined; @@ -4880,36 +4996,42 @@ export enum DefaultEmailOptionType { *

      The template for verification messages.

      */ export interface VerificationMessageTemplateType { - /** - *

      The email message template for sending a confirmation link to the user.

      - */ - EmailMessageByLink?: string; - /** *

      The SMS message template.

      */ SmsMessage?: string; /** - *

      The default email option.

      + *

      The email message template. EmailMessage is allowed only if + * EmailSendingAccount is DEVELOPER. + *

      */ - DefaultEmailOption?: DefaultEmailOptionType | string; + EmailMessage?: string; /** - *

      The subject line for the email message template.

      + *

      The subject line for the email message template. EmailSubject is allowed only if EmailSendingAccount + * is DEVELOPER. + *

      */ EmailSubject?: string; + /** + *

      The email message template for sending a confirmation link to the user. EmailMessageByLink is allowed only if + * EmailSendingAccount is DEVELOPER.

      + */ + EmailMessageByLink?: string; + /** *

      The subject line for the email message template for sending a confirmation link to the - * user.

      + * user. EmailSubjectByLink is allowed only + * EmailSendingAccount is DEVELOPER.

      */ EmailSubjectByLink?: string; /** - *

      The email message template.

      + *

      The default email option.

      */ - EmailMessage?: string; + DefaultEmailOption?: DefaultEmailOptionType | string; } export namespace VerificationMessageTemplateType { @@ -4923,35 +5045,46 @@ export namespace VerificationMessageTemplateType { */ export interface CreateUserPoolRequest { /** - *

      Specifies MFA configuration details.

      + *

      A string used to name the user pool.

      */ - MfaConfiguration?: UserPoolMfaType | string; + PoolName: string | undefined; /** - *

      The configuration for AdminCreateUser requests.

      + *

      The policies associated with the new user pool.

      */ - AdminCreateUserConfig?: AdminCreateUserConfigType; + Policies?: UserPoolPolicyType; /** - *

      The device configuration.

      + *

      The Lambda trigger configuration information for the new user pool.

      + * + *

      In a push model, event sources (such as Amazon S3 and custom applications) need + * permission to invoke a function. So you will need to make an extra call to add + * permission for these event sources to invoke your Lambda function.

      + *

      + *

      For more information on using the Lambda API to add permission, see + * AddPermission .

      + *

      For adding permission using the AWS CLI, see add-permission + * .

      + *
      */ - DeviceConfiguration?: DeviceConfigurationType; + LambdaConfig?: LambdaConfigType; /** - *

      A string representing the email verification message.

      + *

      The attributes to be auto-verified. Possible values: email, phone_number.

      */ - EmailVerificationMessage?: string; + AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; /** - *

      The template for the verification message that the user sees when the app requests - * permission to access the user's information.

      + *

      Attributes supported as an alias for this user pool. Possible values: phone_number, email, or + * preferred_username.

      */ - VerificationMessageTemplate?: VerificationMessageTemplateType; + AliasAttributes?: (AliasAttributeType | string)[]; /** - *

      A string representing the SMS authentication message.

      + *

      Specifies whether email addresses or phone numbers can be specified as usernames when + * a user signs up.

      */ - SmsAuthenticationMessage?: string; + UsernameAttributes?: (UsernameAttributeType | string)[]; /** *

      A string representing the SMS verification message.

      @@ -4959,65 +5092,45 @@ export interface CreateUserPoolRequest { SmsVerificationMessage?: string; /** - *

      The Lambda trigger configuration information for the new user pool.

      - * - *

      In a push model, event sources (such as Amazon S3 and custom applications) need - * permission to invoke a function. So you will need to make an extra call to add - * permission for these event sources to invoke your Lambda function.

      - *

      - *

      For more information on using the Lambda API to add permission, see - * AddPermission .

      - *

      For adding permission using the AWS CLI, see add-permission - * .

      - *
      + *

      A string representing the email verification message. EmailVerificationMessage is allowed only if EmailSendingAccount is DEVELOPER.

      */ - LambdaConfig?: LambdaConfigType; + EmailVerificationMessage?: string; /** - *

      A string used to name the user pool.

      + *

      A string representing the email verification subject. EmailVerificationSubject is allowed only if EmailSendingAccount is DEVELOPER.

      */ - PoolName: string | undefined; + EmailVerificationSubject?: string; /** - *

      Attributes supported as an alias for this user pool. Possible values: phone_number, email, or - * preferred_username.

      + *

      The template for the verification message that the user sees when the app requests + * permission to access the user's information.

      */ - AliasAttributes?: (AliasAttributeType | string)[]; + VerificationMessageTemplate?: VerificationMessageTemplateType; /** - *

      You can choose to set case sensitivity on the username input for the selected sign-in - * option. For example, when this is set to False, users will be able to sign - * in using either "username" or "Username". This configuration is immutable once it has - * been set. For more information, see UsernameConfigurationType.

      + *

      A string representing the SMS authentication message.

      */ - UsernameConfiguration?: UsernameConfigurationType; + SmsAuthenticationMessage?: string; /** - *

      The SMS configuration.

      + *

      Specifies MFA configuration details.

      */ - SmsConfiguration?: SmsConfigurationType; + MfaConfiguration?: UserPoolMfaType | string; /** - *

      Used to enable advanced security risk detection. Set the key - * AdvancedSecurityMode to the value "AUDIT".

      + *

      The device configuration.

      */ - UserPoolAddOns?: UserPoolAddOnsType; + DeviceConfiguration?: DeviceConfigurationType; /** - *

      Specifies whether email addresses or phone numbers can be specified as usernames when - * a user signs up.

      + *

      The email configuration.

      */ - UsernameAttributes?: (UsernameAttributeType | string)[]; + EmailConfiguration?: EmailConfigurationType; /** - *

      Use this setting to define which verified available method a user can use to recover - * their password when they call ForgotPassword. It allows you to define a - * preferred method when a user has more than one method available. With this setting, SMS - * does not qualify for a valid password recovery mechanism if the user also has SMS MFA - * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine - * the recovery method where SMS is preferred over email.

      + *

      The SMS configuration.

      */ - AccountRecoverySetting?: AccountRecoverySettingType; + SmsConfiguration?: SmsConfigurationType; /** *

      The tag keys and values to assign to the user pool. A tag is a label that you can use @@ -5027,30 +5140,39 @@ export interface CreateUserPoolRequest { UserPoolTags?: { [key: string]: string }; /** - *

      An array of schema attributes for the new user pool. These attributes can be standard - * or custom attributes.

      + *

      The configuration for AdminCreateUser requests.

      */ - Schema?: SchemaAttributeType[]; + AdminCreateUserConfig?: AdminCreateUserConfigType; /** - *

      The email configuration.

      + *

      An array of schema attributes for the new user pool. These attributes can be standard + * or custom attributes.

      */ - EmailConfiguration?: EmailConfigurationType; + Schema?: SchemaAttributeType[]; /** - *

      The attributes to be auto-verified. Possible values: email, phone_number.

      + *

      Used to enable advanced security risk detection. Set the key + * AdvancedSecurityMode to the value "AUDIT".

      */ - AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; + UserPoolAddOns?: UserPoolAddOnsType; /** - *

      A string representing the email verification subject.

      + *

      You can choose to set case sensitivity on the username input for the selected sign-in + * option. For example, when this is set to False, users will be able to sign + * in using either "username" or "Username". This configuration is immutable once it has + * been set. For more information, see UsernameConfigurationType.

      */ - EmailVerificationSubject?: string; + UsernameConfiguration?: UsernameConfigurationType; /** - *

      The policies associated with the new user pool.

      + *

      Use this setting to define which verified available method a user can use to recover + * their password when they call ForgotPassword. It allows you to define a + * preferred method when a user has more than one method available. With this setting, SMS + * does not qualify for a valid password recovery mechanism if the user also has SMS MFA + * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine + * the recovery method where SMS is preferred over email.

      */ - Policies?: UserPoolPolicyType; + AccountRecoverySetting?: AccountRecoverySettingType; } export namespace CreateUserPoolRequest { @@ -5069,27 +5191,24 @@ export enum StatusType { */ export interface UserPoolType { /** - *

      A custom domain name that you provide to Amazon Cognito. This parameter applies only - * if you use a custom domain to host the sign-up and sign-in pages for your application. - * For example: auth.example.com.

      - *

      For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

      + *

      The ID of the user pool.

      */ - CustomDomain?: string; + Id?: string; /** - *

      The contents of the email verification message.

      + *

      The name of the user pool.

      */ - EmailVerificationMessage?: string; + Name?: string; /** - *

      The reason why the SMS configuration cannot send the messages to your users.

      + *

      The policies associated with the user pool.

      */ - SmsConfigurationFailure?: string; + Policies?: UserPoolPolicyType; /** - *

      The user pool add-ons.

      + *

      The AWS Lambda triggers associated with the user pool.

      */ - UserPoolAddOns?: UserPoolAddOnsType; + LambdaConfig?: LambdaConfigType; /** *

      The status of a user pool.

      @@ -5097,47 +5216,35 @@ export interface UserPoolType { Status?: StatusType | string; /** - *

      The contents of the SMS authentication message.

      + *

      The date the user pool was last modified.

      */ - SmsAuthenticationMessage?: string; + LastModifiedDate?: Date; /** - *

      The reason why the email configuration cannot send the messages to your users.

      + *

      The date the user pool was created.

      */ - EmailConfigurationFailure?: string; + CreationDate?: Date; /** - *

      Use this setting to define which verified available method a user can use to recover - * their password when they call ForgotPassword. It allows you to define a - * preferred method when a user has more than one method available. With this setting, SMS - * does not qualify for a valid password recovery mechanism if the user also has SMS MFA - * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine - * the recovery method where SMS is preferred over email.

      - */ - AccountRecoverySetting?: AccountRecoverySettingType; - - /** - *

      The date the user pool was last modified.

      + *

      A container with the schema attributes of a user pool.

      */ - LastModifiedDate?: Date; + SchemaAttributes?: SchemaAttributeType[]; /** - *

      The date the user pool was created.

      + *

      Specifies the attributes that are auto-verified in a user pool.

      */ - CreationDate?: Date; + AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; /** - *

      You can choose to enable case sensitivity on the username input for the selected - * sign-in option. For example, when this is set to False, users will be able - * to sign in using either "username" or "Username". This configuration is immutable once - * it has been set. For more information, see UsernameConfigurationType.

      + *

      Specifies the attributes that are aliased in a user pool.

      */ - UsernameConfiguration?: UsernameConfigurationType; + AliasAttributes?: (AliasAttributeType | string)[]; /** - *

      The name of the user pool.

      + *

      Specifies whether email addresses or phone numbers can be specified as usernames when + * a user signs up.

      */ - Name?: string; + UsernameAttributes?: (UsernameAttributeType | string)[]; /** *

      The contents of the SMS verification message.

      @@ -5145,9 +5252,9 @@ export interface UserPoolType { SmsVerificationMessage?: string; /** - *

      Holds the domain prefix if the user pool has a domain associated with it.

      + *

      The contents of the email verification message.

      */ - Domain?: string; + EmailVerificationMessage?: string; /** *

      The subject of the email verification message.

      @@ -5155,19 +5262,36 @@ export interface UserPoolType { EmailVerificationSubject?: string; /** - *

      The email configuration.

      + *

      The template for verification messages.

      */ - EmailConfiguration?: EmailConfigurationType; + VerificationMessageTemplate?: VerificationMessageTemplateType; /** - *

      A number estimating the size of the user pool.

      + *

      The contents of the SMS authentication message.

      */ - EstimatedNumberOfUsers?: number; + SmsAuthenticationMessage?: string; /** - *

      The configuration for AdminCreateUser requests.

      + *

      Can be one of the following values:

      + *
        + *
      • + *

        + * OFF - MFA tokens are not required and cannot be specified during + * user registration.

        + *
      • + *
      • + *

        + * ON - MFA tokens are required for all user registrations. You can + * only specify required when you are initially creating a user pool.

        + *
      • + *
      • + *

        + * OPTIONAL - Users have the option when registering to create an MFA + * token.

        + *
      • + *
      */ - AdminCreateUserConfig?: AdminCreateUserConfigType; + MfaConfiguration?: UserPoolMfaType | string; /** *

      The device configuration.

      @@ -5175,11 +5299,14 @@ export interface UserPoolType { DeviceConfiguration?: DeviceConfigurationType; /** - *

      The tags that are assigned to the user pool. A tag is a label that you can apply to - * user pools to categorize and manage them in different ways, such as by purpose, owner, - * environment, or other criteria.

      + *

      A number estimating the size of the user pool.

      */ - UserPoolTags?: { [key: string]: string }; + EstimatedNumberOfUsers?: number; + + /** + *

      The email configuration.

      + */ + EmailConfiguration?: EmailConfigurationType; /** *

      The SMS configuration.

      @@ -5187,72 +5314,67 @@ export interface UserPoolType { SmsConfiguration?: SmsConfigurationType; /** - *

      The policies associated with the user pool.

      + *

      The tags that are assigned to the user pool. A tag is a label that you can apply to + * user pools to categorize and manage them in different ways, such as by purpose, owner, + * environment, or other criteria.

      */ - Policies?: UserPoolPolicyType; + UserPoolTags?: { [key: string]: string }; /** - *

      The ID of the user pool.

      + *

      The reason why the SMS configuration cannot send the messages to your users.

      */ - Id?: string; + SmsConfigurationFailure?: string; /** - *

      Specifies the attributes that are auto-verified in a user pool.

      + *

      The reason why the email configuration cannot send the messages to your users.

      */ - AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; + EmailConfigurationFailure?: string; /** - *

      The Amazon Resource Name (ARN) for the user pool.

      + *

      Holds the domain prefix if the user pool has a domain associated with it.

      */ - Arn?: string; + Domain?: string; /** - *

      Specifies whether email addresses or phone numbers can be specified as usernames when - * a user signs up.

      + *

      A custom domain name that you provide to Amazon Cognito. This parameter applies only + * if you use a custom domain to host the sign-up and sign-in pages for your application. + * For example: auth.example.com.

      + *

      For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

      */ - UsernameAttributes?: (UsernameAttributeType | string)[]; + CustomDomain?: string; /** - *

      The template for verification messages.

      + *

      The configuration for AdminCreateUser requests.

      */ - VerificationMessageTemplate?: VerificationMessageTemplateType; + AdminCreateUserConfig?: AdminCreateUserConfigType; /** - *

      The AWS Lambda triggers associated with the user pool.

      + *

      The user pool add-ons.

      */ - LambdaConfig?: LambdaConfigType; + UserPoolAddOns?: UserPoolAddOnsType; /** - *

      Specifies the attributes that are aliased in a user pool.

      + *

      You can choose to enable case sensitivity on the username input for the selected + * sign-in option. For example, when this is set to False, users will be able + * to sign in using either "username" or "Username". This configuration is immutable once + * it has been set. For more information, see UsernameConfigurationType.

      */ - AliasAttributes?: (AliasAttributeType | string)[]; + UsernameConfiguration?: UsernameConfigurationType; /** - *

      Can be one of the following values:

      - *
        - *
      • - *

        - * OFF - MFA tokens are not required and cannot be specified during - * user registration.

        - *
      • - *
      • - *

        - * ON - MFA tokens are required for all user registrations. You can - * only specify required when you are initially creating a user pool.

        - *
      • - *
      • - *

        - * OPTIONAL - Users have the option when registering to create an MFA - * token.

        - *
      • - *
      + *

      The Amazon Resource Name (ARN) for the user pool.

      */ - MfaConfiguration?: UserPoolMfaType | string; + Arn?: string; /** - *

      A container with the schema attributes of a user pool.

      + *

      Use this setting to define which verified available method a user can use to recover + * their password when they call ForgotPassword. It allows you to define a + * preferred method when a user has more than one method available. With this setting, SMS + * does not qualify for a valid password recovery mechanism if the user also has SMS MFA + * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine + * the recovery method where SMS is preferred over email.

      */ - SchemaAttributes?: SchemaAttributeType[]; + AccountRecoverySetting?: AccountRecoverySettingType; } export namespace UserPoolType { @@ -5351,12 +5473,62 @@ export namespace TokenValidityUnitsType { *

      Represents the request to create a user pool client.

      */ export interface CreateUserPoolClientRequest { + /** + *

      The user pool ID for the user pool where you want to create a user pool client.

      + */ + UserPoolId: string | undefined; + + /** + *

      The client name for the user pool client you would like to create.

      + */ + ClientName: string | undefined; + + /** + *

      Boolean to specify whether you want to generate a secret for the user pool client + * being created.

      + */ + GenerateSecret?: boolean; + + /** + *

      The time limit, in days, after which the refresh token is no longer valid and cannot + * be used.

      + */ + RefreshTokenValidity?: number; + /** *

      The time limit, between 5 minutes and 1 day, after which the access token is no longer valid and cannot be used. This value will be overridden if * you have entered a value in TokenValidityUnits.

      */ AccessTokenValidity?: number; + /** + *

      The time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and cannot be used. This value will be overridden if + * you have entered a value in TokenValidityUnits.

      + */ + IdTokenValidity?: number; + + /** + *

      The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

      + */ + TokenValidityUnits?: TokenValidityUnitsType; + + /** + *

      The read attributes.

      + */ + ReadAttributes?: string[]; + + /** + *

      The user pool attributes that the app client can write to.

      + *

      If your app client allows users to sign in through an identity provider, this array + * must include all attributes that are mapped to identity provider attributes. Amazon + * Cognito updates mapped attributes when users sign in to your application through an + * identity provider. If your app client lacks write access to a mapped attribute, Amazon + * Cognito throws an error when it attempts to update the attribute. For more information, + * see Specifying Identity Provider Attribute Mappings for Your User + * Pool.

      + */ + WriteAttributes?: string[]; + /** *

      The authentication flows that are supported by the user pool clients. Flow names * without the ALLOW_ prefix are deprecated in favor of new names with the @@ -5397,19 +5569,14 @@ export interface CreateUserPoolClientRequest { ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; /** - *

      The user pool attributes that the app client can write to.

      - *

      If your app client allows users to sign in through an identity provider, this array - * must include all attributes that are mapped to identity provider attributes. Amazon - * Cognito updates mapped attributes when users sign in to your application through an - * identity provider. If your app client lacks write access to a mapped attribute, Amazon - * Cognito throws an error when it attempts to update the attribute. For more information, - * see Specifying Identity Provider Attribute Mappings for Your User - * Pool.

      + *

      A list of provider names for the identity providers that are supported on this client. + * The following are supported: COGNITO, Facebook, + * Google and LoginWithAmazon.

      */ - WriteAttributes?: string[]; + SupportedIdentityProviders?: string[]; /** - *

      The default redirect URI. Must be in the CallbackURLs list.

      + *

      A list of allowed redirect (callback) URLs for the identity providers.

      *

      A redirect URI must:

      *
        *
      • @@ -5428,35 +5595,66 @@ export interface CreateUserPoolClientRequest { * purposes only.

        *

        App callback URLs such as myapp://example are also supported.

        */ - DefaultRedirectURI?: string; + CallbackURLs?: string[]; /** - *

        The time limit, in days, after which the refresh token is no longer valid and cannot - * be used.

        + *

        A list of allowed logout URLs for the identity providers.

        */ - RefreshTokenValidity?: number; + LogoutURLs?: string[]; /** - *

        Set to true if the client is allowed to follow the OAuth protocol when interacting - * with Cognito user pools.

        + *

        The default redirect URI. Must be in the CallbackURLs list.

        + *

        A redirect URI must:

        + *
          + *
        • + *

          Be an absolute URI.

          + *
        • + *
        • + *

          Be registered with the authorization server.

          + *
        • + *
        • + *

          Not include a fragment component.

          + *
        • + *
        + *

        See OAuth 2.0 - + * Redirection Endpoint.

        + *

        Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing + * purposes only.

        + *

        App callback URLs such as myapp://example are also supported.

        */ - AllowedOAuthFlowsUserPoolClient?: boolean; + DefaultRedirectURI?: string; /** - *

        The read attributes.

        + *

        The allowed OAuth flows.

        + *

        Set to code to initiate a code grant flow, which provides an + * authorization code as the response. This code can be exchanged for access tokens with + * the token endpoint.

        + *

        Set to implicit to specify that the client should get the access token + * (and, optionally, ID token, based on scopes) directly.

        + *

        Set to client_credentials to specify that the client should get the + * access token (and, optionally, ID token, based on scopes) from the token endpoint using + * a combination of client and client_secret.

        */ - ReadAttributes?: string[]; + AllowedOAuthFlows?: (OAuthFlowType | string)[]; /** - *

        Boolean to specify whether you want to generate a secret for the user pool client - * being created.

        + *

        The allowed OAuth scopes. Possible values provided by OAuth are: phone, + * email, openid, and profile. Possible values + * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created + * in Resource Servers are also supported.

        */ - GenerateSecret?: boolean; + AllowedOAuthScopes?: string[]; /** - *

        The Amazon Pinpoint analytics configuration for collecting metrics for this user - * pool.

        - * + *

        Set to true if the client is allowed to follow the OAuth protocol when interacting + * with Cognito user pools.

        + */ + AllowedOAuthFlowsUserPoolClient?: boolean; + + /** + *

        The Amazon Pinpoint analytics configuration for collecting metrics for this user + * pool.

        + * *

        In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. * In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region. @@ -5495,94 +5693,48 @@ export interface CreateUserPoolClientRequest { * */ PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; +} - /** - *

        The time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and cannot be used. This value will be overridden if - * you have entered a value in TokenValidityUnits.

        - */ - IdTokenValidity?: number; - - /** - *

        A list of allowed logout URLs for the identity providers.

        - */ - LogoutURLs?: string[]; - - /** - *

        The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

        - */ - TokenValidityUnits?: TokenValidityUnitsType; +export namespace CreateUserPoolClientRequest { + export const filterSensitiveLog = (obj: CreateUserPoolClientRequest): any => ({ + ...obj, + }); +} +/** + *

        Contains information about a user pool client.

        + */ +export interface UserPoolClientType { /** - *

        A list of provider names for the identity providers that are supported on this client. - * The following are supported: COGNITO, Facebook, - * Google and LoginWithAmazon.

        + *

        The user pool ID for the user pool client.

        */ - SupportedIdentityProviders?: string[]; + UserPoolId?: string; /** - *

        The user pool ID for the user pool where you want to create a user pool client.

        + *

        The client name from the user pool request of the client type.

        */ - UserPoolId: string | undefined; + ClientName?: string; /** - *

        The allowed OAuth flows.

        - *

        Set to code to initiate a code grant flow, which provides an - * authorization code as the response. This code can be exchanged for access tokens with - * the token endpoint.

        - *

        Set to implicit to specify that the client should get the access token - * (and, optionally, ID token, based on scopes) directly.

        - *

        Set to client_credentials to specify that the client should get the - * access token (and, optionally, ID token, based on scopes) from the token endpoint using - * a combination of client and client_secret.

        + *

        The ID of the client associated with the user pool.

        */ - AllowedOAuthFlows?: (OAuthFlowType | string)[]; + ClientId?: string; /** - *

        The client name for the user pool client you would like to create.

        + *

        The client secret from the user pool request of the client type.

        */ - ClientName: string | undefined; + ClientSecret?: string; /** - *

        The allowed OAuth scopes. Possible values provided by OAuth are: phone, - * email, openid, and profile. Possible values - * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created - * in Resource Servers are also supported.

        + *

        The date the user pool client was last modified.

        */ - AllowedOAuthScopes?: string[]; + LastModifiedDate?: Date; /** - *

        A list of allowed redirect (callback) URLs for the identity providers.

        - *

        A redirect URI must:

        - *
          - *
        • - *

          Be an absolute URI.

          - *
        • - *
        • - *

          Be registered with the authorization server.

          - *
        • - *
        • - *

          Not include a fragment component.

          - *
        • - *
        - *

        See OAuth 2.0 - - * Redirection Endpoint.

        - *

        Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing - * purposes only.

        - *

        App callback URLs such as myapp://example are also supported.

        + *

        The date the user pool client was created.

        */ - CallbackURLs?: string[]; -} - -export namespace CreateUserPoolClientRequest { - export const filterSensitiveLog = (obj: CreateUserPoolClientRequest): any => ({ - ...obj, - }); -} + CreationDate?: Date; -/** - *

        Contains information about a user pool client.

        - */ -export interface UserPoolClientType { /** *

        The time limit, in days, after which the refresh token is no longer valid and cannot * be used.

        @@ -5590,63 +5742,68 @@ export interface UserPoolClientType { RefreshTokenValidity?: number; /** - *

        The allowed OAuth scopes. Possible values provided by OAuth are: phone, - * email, openid, and profile. Possible values - * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created - * in Resource Servers are also supported.

        - */ - AllowedOAuthScopes?: string[]; - - /** - *

        The date the user pool client was created.

        + *

        The time limit, specified by tokenValidityUnits, defaulting to hours, after which the access token is no longer valid and cannot be used.

        */ - CreationDate?: Date; + AccessTokenValidity?: number; /** - *

        The Amazon Pinpoint analytics configuration for the user pool client.

        - * - *

        Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

        - *
        + *

        The time limit, specified by tokenValidityUnits, defaulting to hours, after which the refresh token is no longer valid and cannot be used.

        */ - AnalyticsConfiguration?: AnalyticsConfigurationType; + IdTokenValidity?: number; /** - *

        The date the user pool client was last modified.

        + *

        The time units used to specify the token validity times of their respective token.

        */ - LastModifiedDate?: Date; + TokenValidityUnits?: TokenValidityUnitsType; /** - *

        Set to true if the client is allowed to follow the OAuth protocol when interacting - * with Cognito user pools.

        + *

        The Read-only attributes.

        */ - AllowedOAuthFlowsUserPoolClient?: boolean; + ReadAttributes?: string[]; /** - *

        The Read-only attributes.

        + *

        The writeable attributes.

        */ - ReadAttributes?: string[]; + WriteAttributes?: string[]; /** - *

        The default redirect URI. Must be in the CallbackURLs list.

        - *

        A redirect URI must:

        + *

        The authentication flows that are supported by the user pool clients. Flow names + * without the ALLOW_ prefix are deprecated in favor of new names with the + * ALLOW_ prefix. Note that values with ALLOW_ prefix cannot + * be used along with values without ALLOW_ prefix.

        + *

        Valid values include:

        *
          *
        • - *

          Be an absolute URI.

          + *

          + * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password + * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces + * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, + * Cognito receives the password in the request instead of using the SRP (Secure + * Remote Password protocol) protocol to verify passwords.

          *
        • *
        • - *

          Be registered with the authorization server.

          + *

          + * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based + * authentication.

          *
        • *
        • - *

          Not include a fragment component.

          + *

          + * ALLOW_USER_PASSWORD_AUTH: Enable user password-based + * authentication. In this flow, Cognito receives the password in the request + * instead of using the SRP protocol to verify passwords.

          + *
        • + *
        • + *

          + * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

          + *
        • + *
        • + *

          + * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh + * tokens.

          *
        • *
        - *

        See OAuth 2.0 - - * Redirection Endpoint.

        - *

        Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing - * purposes only.

        - *

        App callback URLs such as myapp://example are also supported.

        */ - DefaultRedirectURI?: string; + ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; /** *

        A list of provider names for the identity providers that are supported on this @@ -5654,11 +5811,6 @@ export interface UserPoolClientType { */ SupportedIdentityProviders?: string[]; - /** - *

        The user pool ID for the user pool client.

        - */ - UserPoolId?: string; - /** *

        A list of allowed redirect (callback) URLs for the identity providers.

        *

        A redirect URI must:

        @@ -5682,134 +5834,104 @@ export interface UserPoolClientType { CallbackURLs?: string[]; /** - *

        The time units used to specify the token validity times of their respective token.

        - */ - TokenValidityUnits?: TokenValidityUnitsType; - - /** - *

        Use this setting to choose which errors and responses are returned by Cognito APIs - * during authentication, account confirmation, and password recovery when the user does - * not exist in the user pool. When set to ENABLED and the user does not - * exist, authentication returns an error indicating either the username or password was - * incorrect, and account confirmation and password recovery return a response indicating a - * code was sent to a simulated destination. When set to LEGACY, those APIs - * will return a UserNotFoundException exception if the user does not exist in - * the user pool.

        - *

        Valid values include:

        - *
          - *
        • - *

          - * ENABLED - This prevents user existence-related errors.

          - *
        • - *
        • - *

          - * LEGACY - This represents the old behavior of Cognito where user - * existence related errors are not prevented.

          - *
        • - *
        - * - * - * - *

        After February 15th 2020, the value of PreventUserExistenceErrors - * will default to ENABLED for newly created user pool clients if no value - * is provided.

        - *
        - */ - PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; - - /** - *

        The allowed OAuth flows.

        - *

        Set to code to initiate a code grant flow, which provides an - * authorization code as the response. This code can be exchanged for access tokens with - * the token endpoint.

        - *

        Set to implicit to specify that the client should get the access token - * (and, optionally, ID token, based on scopes) directly.

        - *

        Set to client_credentials to specify that the client should get the - * access token (and, optionally, ID token, based on scopes) from the token endpoint using - * a combination of client and client_secret.

        - */ - AllowedOAuthFlows?: (OAuthFlowType | string)[]; - - /** - *

        The client name from the user pool request of the client type.

        - */ - ClientName?: string; - - /** - *

        The writeable attributes.

        - */ - WriteAttributes?: string[]; - - /** - *

        The client secret from the user pool request of the client type.

        + *

        A list of allowed logout URLs for the identity providers.

        */ - ClientSecret?: string; + LogoutURLs?: string[]; /** - *

        The authentication flows that are supported by the user pool clients. Flow names - * without the ALLOW_ prefix are deprecated in favor of new names with the - * ALLOW_ prefix. Note that values with ALLOW_ prefix cannot - * be used along with values without ALLOW_ prefix.

        - *

        Valid values include:

        + *

        The default redirect URI. Must be in the CallbackURLs list.

        + *

        A redirect URI must:

        *
          *
        • - *

          - * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password - * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces - * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, - * Cognito receives the password in the request instead of using the SRP (Secure - * Remote Password protocol) protocol to verify passwords.

          - *
        • - *
        • - *

          - * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based - * authentication.

          - *
        • - *
        • - *

          - * ALLOW_USER_PASSWORD_AUTH: Enable user password-based - * authentication. In this flow, Cognito receives the password in the request - * instead of using the SRP protocol to verify passwords.

          + *

          Be an absolute URI.

          *
        • *
        • - *

          - * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

          + *

          Be registered with the authorization server.

          *
        • *
        • - *

          - * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh - * tokens.

          + *

          Not include a fragment component.

          *
        • *
        + *

        See OAuth 2.0 - + * Redirection Endpoint.

        + *

        Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing + * purposes only.

        + *

        App callback URLs such as myapp://example are also supported.

        */ - ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; + DefaultRedirectURI?: string; /** - *

        A list of allowed logout URLs for the identity providers.

        + *

        The allowed OAuth flows.

        + *

        Set to code to initiate a code grant flow, which provides an + * authorization code as the response. This code can be exchanged for access tokens with + * the token endpoint.

        + *

        Set to implicit to specify that the client should get the access token + * (and, optionally, ID token, based on scopes) directly.

        + *

        Set to client_credentials to specify that the client should get the + * access token (and, optionally, ID token, based on scopes) from the token endpoint using + * a combination of client and client_secret.

        */ - LogoutURLs?: string[]; + AllowedOAuthFlows?: (OAuthFlowType | string)[]; /** - *

        The ID of the client associated with the user pool.

        + *

        The allowed OAuth scopes. Possible values provided by OAuth are: phone, + * email, openid, and profile. Possible values + * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created + * in Resource Servers are also supported.

        */ - ClientId?: string; + AllowedOAuthScopes?: string[]; /** - *

        The time limit, specified by tokenValidityUnits, defaulting to hours, after which the access token is no longer valid and cannot be used.

        + *

        Set to true if the client is allowed to follow the OAuth protocol when interacting + * with Cognito user pools.

        */ - AccessTokenValidity?: number; + AllowedOAuthFlowsUserPoolClient?: boolean; /** - *

        The time limit, specified by tokenValidityUnits, defaulting to hours, after which the refresh token is no longer valid and cannot be used.

        + *

        The Amazon Pinpoint analytics configuration for the user pool client.

        + * + *

        Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

        + *
        */ - IdTokenValidity?: number; + AnalyticsConfiguration?: AnalyticsConfigurationType; + + /** + *

        Use this setting to choose which errors and responses are returned by Cognito APIs + * during authentication, account confirmation, and password recovery when the user does + * not exist in the user pool. When set to ENABLED and the user does not + * exist, authentication returns an error indicating either the username or password was + * incorrect, and account confirmation and password recovery return a response indicating a + * code was sent to a simulated destination. When set to LEGACY, those APIs + * will return a UserNotFoundException exception if the user does not exist in + * the user pool.

        + *

        Valid values include:

        + *
          + *
        • + *

          + * ENABLED - This prevents user existence-related errors.

          + *
        • + *
        • + *

          + * LEGACY - This represents the old behavior of Cognito where user + * existence related errors are not prevented.

          + *
        • + *
        + * + * + * + *

        After February 15th 2020, the value of PreventUserExistenceErrors + * will default to ENABLED for newly created user pool clients if no value + * is provided.

        + *
        + */ + PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; } export namespace UserPoolClientType { export const filterSensitiveLog = (obj: UserPoolClientType): any => ({ ...obj, - ...(obj.ClientSecret && { ClientSecret: SENSITIVE_STRING }), ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.ClientSecret && { ClientSecret: SENSITIVE_STRING }), }); } @@ -5880,14 +6002,9 @@ export namespace CustomDomainConfigType { export interface CreateUserPoolDomainRequest { /** - *

        The configuration for a custom domain that hosts the sign-up and sign-in webpages for - * your application.

        - *

        Provide this parameter only if you want to use a custom domain for your user pool. - * Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain - * instead.

        - *

        For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

        + *

        The domain string.

        */ - CustomDomainConfig?: CustomDomainConfigType; + Domain: string | undefined; /** *

        The user pool ID.

        @@ -5895,9 +6012,14 @@ export interface CreateUserPoolDomainRequest { UserPoolId: string | undefined; /** - *

        The domain string.

        + *

        The configuration for a custom domain that hosts the sign-up and sign-in webpages for + * your application.

        + *

        Provide this parameter only if you want to use a custom domain for your user pool. + * Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain + * instead.

        + *

        For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

        */ - Domain: string | undefined; + CustomDomainConfig?: CustomDomainConfigType; } export namespace CreateUserPoolDomainRequest { @@ -5922,14 +6044,14 @@ export namespace CreateUserPoolDomainResponse { export interface DeleteGroupRequest { /** - *

        The user pool ID for the user pool.

        + *

        The name of the group.

        */ - UserPoolId: string | undefined; + GroupName: string | undefined; /** - *

        The name of the group.

        + *

        The user pool ID for the user pool.

        */ - GroupName: string | undefined; + UserPoolId: string | undefined; } export namespace DeleteGroupRequest { @@ -5940,14 +6062,14 @@ export namespace DeleteGroupRequest { export interface DeleteIdentityProviderRequest { /** - *

        The identity provider name.

        + *

        The user pool ID.

        */ - ProviderName: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID.

        + *

        The identity provider name.

        */ - UserPoolId: string | undefined; + ProviderName: string | undefined; } export namespace DeleteIdentityProviderRequest { @@ -6062,14 +6184,14 @@ export namespace DeleteUserPoolRequest { */ export interface DeleteUserPoolClientRequest { /** - *

        The app client ID of the app associated with the user pool.

        + *

        The user pool ID for the user pool where you want to delete the client.

        */ - ClientId: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID for the user pool where you want to delete the client.

        + *

        The app client ID of the app associated with the user pool.

        */ - UserPoolId: string | undefined; + ClientId: string | undefined; } export namespace DeleteUserPoolClientRequest { @@ -6107,14 +6229,14 @@ export namespace DeleteUserPoolDomainResponse { export interface DescribeIdentityProviderRequest { /** - *

        The identity provider name.

        + *

        The user pool ID.

        */ - ProviderName: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID.

        + *

        The identity provider name.

        */ - UserPoolId: string | undefined; + ProviderName: string | undefined; } export namespace DescribeIdentityProviderRequest { @@ -6239,18 +6361,18 @@ export namespace CompromisedCredentialsRiskConfigurationType { *

        The type of the configuration to override the risk decision.

        */ export interface RiskExceptionConfigurationType { - /** - *

        Risk detection is not performed on the IP addresses in the range list. The IP range is - * in CIDR notation.

        - */ - SkippedIPRangeList?: string[]; - /** *

        Overrides the risk decision to always block the pre-authentication requests. The IP * range is in CIDR notation: a compact representation of an IP address and its associated * routing prefix.

        */ BlockedIPRangeList?: string[]; + + /** + *

        Risk detection is not performed on the IP addresses in the range list. The IP range is + * in CIDR notation.

        + */ + SkippedIPRangeList?: string[]; } export namespace RiskExceptionConfigurationType { @@ -6263,15 +6385,22 @@ export namespace RiskExceptionConfigurationType { *

        The risk configuration type.

        */ export interface RiskConfigurationType { + /** + *

        The user pool ID.

        + */ + UserPoolId?: string; + /** *

        The app client ID.

        */ ClientId?: string; /** - *

        The user pool ID.

        + *

        The compromised credentials risk configuration object including the + * EventFilter and the EventAction + *

        */ - UserPoolId?: string; + CompromisedCredentialsRiskConfiguration?: CompromisedCredentialsRiskConfigurationType; /** *

        The account takeover risk configuration object including the @@ -6285,13 +6414,6 @@ export interface RiskConfigurationType { */ RiskExceptionConfiguration?: RiskExceptionConfigurationType; - /** - *

        The compromised credentials risk configuration object including the - * EventFilter and the EventAction - *

        - */ - CompromisedCredentialsRiskConfiguration?: CompromisedCredentialsRiskConfigurationType; - /** *

        The last modified date.

        */ @@ -6326,14 +6448,14 @@ export namespace DescribeRiskConfigurationResponse { */ export interface DescribeUserImportJobRequest { /** - *

        The job ID for the user import job.

        + *

        The user pool ID for the user pool that the users are being imported into.

        */ - JobId: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID for the user pool that the users are being imported into.

        + *

        The job ID for the user import job.

        */ - UserPoolId: string | undefined; + JobId: string | undefined; } export namespace DescribeUserImportJobRequest { @@ -6396,14 +6518,14 @@ export namespace DescribeUserPoolResponse { */ export interface DescribeUserPoolClientRequest { /** - *

        The app client ID of the app associated with the user pool.

        + *

        The user pool ID for the user pool you want to describe.

        */ - ClientId: string | undefined; + UserPoolId: string | undefined; /** - *

        The user pool ID for the user pool you want to describe.

        + *

        The app client ID of the app associated with the user pool.

        */ - UserPoolId: string | undefined; + ClientId: string | undefined; } export namespace DescribeUserPoolClientRequest { @@ -6457,45 +6579,45 @@ export enum DomainStatusType { */ export interface DomainDescriptionType { /** - *

        The configuration for a custom domain that hosts the sign-up and sign-in webpages for - * your application.

        + *

        The user pool ID.

        */ - CustomDomainConfig?: CustomDomainConfigType; + UserPoolId?: string; /** - *

        The domain string.

        + *

        The AWS account ID for the user pool owner.

        */ - Domain?: string; + AWSAccountId?: string; /** - *

        The ARN of the CloudFront distribution.

        + *

        The domain string.

        */ - CloudFrontDistribution?: string; + Domain?: string; /** - *

        The domain status.

        + *

        The S3 bucket where the static files for this domain are stored.

        */ - Status?: DomainStatusType | string; + S3Bucket?: string; /** - *

        The user pool ID.

        + *

        The ARN of the CloudFront distribution.

        */ - UserPoolId?: string; + CloudFrontDistribution?: string; /** - *

        The AWS account ID for the user pool owner.

        + *

        The app version.

        */ - AWSAccountId?: string; + Version?: string; /** - *

        The app version.

        + *

        The domain status.

        */ - Version?: string; + Status?: DomainStatusType | string; /** - *

        The S3 bucket where the static files for this domain are stored.

        + *

        The configuration for a custom domain that hosts the sign-up and sign-in webpages for + * your application.

        */ - S3Bucket?: string; + CustomDomainConfig?: CustomDomainConfigType; } export namespace DomainDescriptionType { @@ -6543,6 +6665,30 @@ export namespace ForgetDeviceRequest { *

        Represents the request to reset a user's password.

        */ export interface ForgotPasswordRequest { + /** + *

        The ID of the client associated with the user pool.

        + */ + ClientId: string | undefined; + + /** + *

        A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

        + */ + SecretHash?: string; + + /** + *

        Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

        + */ + UserContextData?: UserContextDataType; + + /** + *

        The user name of the user for whom you want to enter a code to reset a forgotten + * password.

        + */ + Username: string | undefined; + /** *

        The Amazon Pinpoint analytics metadata for collecting metrics for * ForgotPassword calls.

        @@ -6575,48 +6721,24 @@ export interface ForgotPasswordRequest { * triggers, the ClientMetadata parameter serves no purpose.

        *
      • *
      • - *

        Amazon Cognito does not validate the ClientMetadata value.

        - *
      • - *
      • - *

        Amazon Cognito does not encrypt the the ClientMetadata value, so don't use - * it to provide sensitive information.

        - *
      • - *
      - * - */ - ClientMetadata?: { [key: string]: string }; - - /** - *

      The user name of the user for whom you want to enter a code to reset a forgotten - * password.

      - */ - Username: string | undefined; - - /** - *

      Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

      - */ - UserContextData?: UserContextDataType; - - /** - *

      A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

      - */ - SecretHash?: string; - - /** - *

      The ID of the client associated with the user pool.

      + *

      Amazon Cognito does not validate the ClientMetadata value.

      + * + *
    • + *

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use + * it to provide sensitive information.

      + *
    • + *
    + *
    */ - ClientId: string | undefined; + ClientMetadata?: { [key: string]: string }; } export namespace ForgotPasswordRequest { export const filterSensitiveLog = (obj: ForgotPasswordRequest): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), - ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -6708,14 +6830,14 @@ export namespace GetCSVHeaderResponse { */ export interface GetDeviceRequest { /** - *

    The access token.

    + *

    The device key.

    */ - AccessToken?: string; + DeviceKey: string | undefined; /** - *

    The device key.

    + *

    The access token.

    */ - DeviceKey: string | undefined; + AccessToken?: string; } export namespace GetDeviceRequest { @@ -6775,14 +6897,14 @@ export namespace GetGroupResponse { export interface GetIdentityProviderByIdentifierRequest { /** - *

    The identity provider ID.

    + *

    The user pool ID.

    */ - IdpIdentifier: string | undefined; + UserPoolId: string | undefined; /** - *

    The user pool ID.

    + *

    The identity provider ID.

    */ - UserPoolId: string | undefined; + IdpIdentifier: string | undefined; } export namespace GetIdentityProviderByIdentifierRequest { @@ -6838,14 +6960,14 @@ export namespace GetSigningCertificateResponse { export interface GetUICustomizationRequest { /** - *

    The client ID for the client app.

    + *

    The user pool ID for the user pool.

    */ - ClientId?: string; + UserPoolId: string | undefined; /** - *

    The user pool ID for the user pool.

    + *

    The client ID for the client app.

    */ - UserPoolId: string | undefined; + ClientId?: string; } export namespace GetUICustomizationRequest { @@ -6866,34 +6988,34 @@ export interface UICustomizationType { UserPoolId?: string; /** - *

    The CSS values in the UI customization.

    + *

    The client ID for the client app.

    */ - CSS?: string; + ClientId?: string; /** - *

    The last-modified date for the UI customization.

    + *

    The logo image for the UI customization.

    */ - LastModifiedDate?: Date; + ImageUrl?: string; /** - *

    The creation date for the UI customization.

    + *

    The CSS values in the UI customization.

    */ - CreationDate?: Date; + CSS?: string; /** - *

    The client ID for the client app.

    + *

    The CSS version number.

    */ - ClientId?: string; + CSSVersion?: string; /** - *

    The logo image for the UI customization.

    + *

    The last-modified date for the UI customization.

    */ - ImageUrl?: string; + LastModifiedDate?: Date; /** - *

    The CSS version number.

    + *

    The creation date for the UI customization.

    */ - CSSVersion?: string; + CreationDate?: Date; } export namespace UICustomizationType { @@ -6940,12 +7062,6 @@ export namespace GetUserRequest { * user.

    */ export interface GetUserResponse { - /** - *

    The MFA options that are enabled for the user. The possible values in this list are - * SMS_MFA and SOFTWARE_TOKEN_MFA.

    - */ - UserMFASettingList?: string[]; - /** *

    The user name of the user you wish to retrieve from the get user request.

    */ @@ -6971,6 +7087,12 @@ export interface GetUserResponse { *

    The user's preferred MFA setting.

    */ PreferredMfaSetting?: string; + + /** + *

    The MFA options that are enabled for the user. The possible values in this list are + * SMS_MFA and SOFTWARE_TOKEN_MFA.

    + */ + UserMFASettingList?: string[]; } export namespace GetUserResponse { @@ -6987,6 +7109,12 @@ export namespace GetUserResponse { *

    Represents the request to get user attribute verification.

    */ export interface GetUserAttributeVerificationCodeRequest { + /** + *

    The access token returned by the server response to get the user attribute + * verification code.

    + */ + AccessToken: string | undefined; + /** *

    The attribute name returned by the server response to get the user attribute * verification code.

    @@ -7028,12 +7156,6 @@ export interface GetUserAttributeVerificationCodeRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

    The access token returned by the server response to get the user attribute - * verification code.

    - */ - AccessToken: string | undefined; } export namespace GetUserAttributeVerificationCodeRequest { @@ -7078,17 +7200,17 @@ export namespace GetUserPoolMfaConfigRequest { *

    The SMS text message multi-factor authentication (MFA) configuration type.

    */ export interface SmsMfaConfigType { - /** - *

    The SMS configuration.

    - */ - SmsConfiguration?: SmsConfigurationType; - /** *

    The SMS authentication message that will be sent to users with the code they need to * sign in. The message must contain the ‘{####}’ placeholder, which will be replaced with * the code. If the message is not included, and default message will be used.

    */ SmsAuthenticationMessage?: string; + + /** + *

    The SMS configuration.

    + */ + SmsConfiguration?: SmsConfigurationType; } export namespace SmsMfaConfigType { @@ -7115,14 +7237,14 @@ export namespace SoftwareTokenMfaConfigType { export interface GetUserPoolMfaConfigResponse { /** - *

    The software token multi-factor (MFA) configuration.

    + *

    The SMS text message multi-factor (MFA) configuration.

    */ - SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; + SmsMfaConfiguration?: SmsMfaConfigType; /** - *

    The SMS text message multi-factor (MFA) configuration.

    + *

    The software token multi-factor (MFA) configuration.

    */ - SmsMfaConfiguration?: SmsMfaConfigType; + SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; /** *

    The multi-factor (MFA) configuration. Valid values include:

    @@ -7183,43 +7305,6 @@ export namespace GlobalSignOutResponse { *

    Initiates the authentication request.

    */ export interface InitiateAuthRequest { - /** - *

    The Amazon Pinpoint analytics metadata for collecting metrics for - * InitiateAuth calls.

    - */ - AnalyticsMetadata?: AnalyticsMetadataType; - - /** - *

    The authentication parameters. These are inputs corresponding to the - * AuthFlow that you are invoking. The required values depend on the value - * of AuthFlow:

    - *
      - *
    • - *

      For USER_SRP_AUTH: USERNAME (required), - * SRP_A (required), SECRET_HASH (required if the app - * client is configured with a client secret), DEVICE_KEY.

      - *
    • - *
    • - *

      For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN - * (required), SECRET_HASH (required if the app client is configured - * with a client secret), DEVICE_KEY.

      - *
    • - *
    • - *

      For CUSTOM_AUTH: USERNAME (required), - * SECRET_HASH (if app client is configured with client secret), - * DEVICE_KEY. To start the authentication flow with password verification, include ChallengeName: SRP_A and SRP_A: (The SRP_A Value).

      - *
    • - *
    - */ - AuthParameters?: { [key: string]: string }; - - /** - *

    Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

    - */ - UserContextData?: UserContextDataType; - /** *

    The authentication flow for this call to execute. The API action will depend on this * value. For example:

    @@ -7279,9 +7364,28 @@ export interface InitiateAuthRequest { AuthFlow: AuthFlowType | string | undefined; /** - *

    The app client ID.

    + *

    The authentication parameters. These are inputs corresponding to the + * AuthFlow that you are invoking. The required values depend on the value + * of AuthFlow:

    + *
      + *
    • + *

      For USER_SRP_AUTH: USERNAME (required), + * SRP_A (required), SECRET_HASH (required if the app + * client is configured with a client secret), DEVICE_KEY.

      + *
    • + *
    • + *

      For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN + * (required), SECRET_HASH (required if the app client is configured + * with a client secret), DEVICE_KEY.

      + *
    • + *
    • + *

      For CUSTOM_AUTH: USERNAME (required), + * SECRET_HASH (if app client is configured with client secret), + * DEVICE_KEY. To start the authentication flow with password verification, include ChallengeName: SRP_A and SRP_A: (The SRP_A Value).

      + *
    • + *
    */ - ClientId: string | undefined; + AuthParameters?: { [key: string]: string }; /** *

    A map of custom key-value pairs that you can provide as input for certain custom @@ -7357,6 +7461,24 @@ export interface InitiateAuthRequest { * */ ClientMetadata?: { [key: string]: string }; + + /** + *

    The app client ID.

    + */ + ClientId: string | undefined; + + /** + *

    The Amazon Pinpoint analytics metadata for collecting metrics for + * InitiateAuth calls.

    + */ + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

    Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

    + */ + UserContextData?: UserContextDataType; } export namespace InitiateAuthRequest { @@ -7418,14 +7540,6 @@ export interface InitiateAuthResponse { */ ChallengeName?: ChallengeNameType | string; - /** - *

    The result of the authentication response. This is only returned if the caller does - * not need to pass another challenge. If the caller does need to pass another challenge - * before it gets tokens, ChallengeName, ChallengeParameters, and - * Session are returned.

    - */ - AuthenticationResult?: AuthenticationResultType; - /** *

    The session which should be passed both ways in challenge-response calls to the * service. If the caller needs to @@ -7443,6 +7557,14 @@ export interface InitiateAuthResponse { * applicable).

    */ ChallengeParameters?: { [key: string]: string }; + + /** + *

    The result of the authentication response. This is only returned if the caller does + * not need to pass another challenge. If the caller does need to pass another challenge + * before it gets tokens, ChallengeName, ChallengeParameters, and + * Session are returned.

    + */ + AuthenticationResult?: AuthenticationResultType; } export namespace InitiateAuthResponse { @@ -7458,6 +7580,11 @@ export namespace InitiateAuthResponse { *

    Represents the request to list the devices.

    */ export interface ListDevicesRequest { + /** + *

    The access tokens for the request to list devices.

    + */ + AccessToken: string | undefined; + /** *

    The limit of the device request.

    */ @@ -7467,11 +7594,6 @@ export interface ListDevicesRequest { *

    The pagination token for the list request.

    */ PaginationToken?: string; - - /** - *

    The access tokens for the request to list devices.

    - */ - AccessToken: string | undefined; } export namespace ListDevicesRequest { @@ -7509,15 +7631,15 @@ export interface ListGroupsRequest { UserPoolId: string | undefined; /** - *

    An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

    + *

    The limit of the request to list groups.

    */ - NextToken?: string; + Limit?: number; /** - *

    The limit of the request to list groups.

    + *

    An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

    */ - Limit?: number; + NextToken?: string; } export namespace ListGroupsRequest { @@ -7572,25 +7694,25 @@ export namespace ListIdentityProvidersRequest { *

    A container for identity provider details.

    */ export interface ProviderDescription { - /** - *

    The identity provider type.

    - */ - ProviderType?: IdentityProviderTypeType | string; - /** *

    The identity provider name.

    */ ProviderName?: string; /** - *

    The date the provider was added to the user pool.

    + *

    The identity provider type.

    */ - CreationDate?: Date; + ProviderType?: IdentityProviderTypeType | string; /** *

    The date the provider was last modified.

    */ LastModifiedDate?: Date; + + /** + *

    The date the provider was added to the user pool.

    + */ + CreationDate?: Date; } export namespace ProviderDescription { @@ -7601,14 +7723,14 @@ export namespace ProviderDescription { export interface ListIdentityProvidersResponse { /** - *

    A pagination token.

    + *

    A list of identity provider objects.

    */ - NextToken?: string; + Providers: ProviderDescription[] | undefined; /** - *

    A list of identity provider objects.

    + *

    A pagination token.

    */ - Providers: ProviderDescription[] | undefined; + NextToken?: string; } export namespace ListIdentityProvidersResponse { @@ -7642,14 +7764,14 @@ export namespace ListResourceServersRequest { export interface ListResourceServersResponse { /** - *

    A pagination token.

    + *

    The resource servers.

    */ - NextToken?: string; + ResourceServers: ResourceServerType[] | undefined; /** - *

    The resource servers.

    + *

    A pagination token.

    */ - ResourceServers: ResourceServerType[] | undefined; + NextToken?: string; } export namespace ListResourceServersResponse { @@ -7694,16 +7816,16 @@ export interface ListUserImportJobsRequest { UserPoolId: string | undefined; /** - *

    An identifier that was returned from the previous call to - * ListUserImportJobs, which can be used to return the next set of import - * jobs in the list.

    + *

    The maximum number of import jobs you want the request to return.

    */ - PaginationToken?: string; + MaxResults: number | undefined; /** - *

    The maximum number of import jobs you want the request to return.

    + *

    An identifier that was returned from the previous call to + * ListUserImportJobs, which can be used to return the next set of import + * jobs in the list.

    */ - MaxResults: number | undefined; + PaginationToken?: string; } export namespace ListUserImportJobsRequest { @@ -7718,15 +7840,15 @@ export namespace ListUserImportJobsRequest { */ export interface ListUserImportJobsResponse { /** - *

    An identifier that can be used to return the next set of user import jobs in the - * list.

    + *

    The user import jobs.

    */ - PaginationToken?: string; + UserImportJobs?: UserImportJobType[]; /** - *

    The user import jobs.

    + *

    An identifier that can be used to return the next set of user import jobs in the + * list.

    */ - UserImportJobs?: UserImportJobType[]; + PaginationToken?: string; } export namespace ListUserImportJobsResponse { @@ -7739,6 +7861,11 @@ export namespace ListUserImportJobsResponse { *

    Represents the request to list the user pool clients.

    */ export interface ListUserPoolClientsRequest { + /** + *

    The user pool ID for the user pool where you want to list user pool clients.

    + */ + UserPoolId: string | undefined; + /** *

    The maximum number of results you want the request to return when listing the user * pool clients.

    @@ -7750,11 +7877,6 @@ export interface ListUserPoolClientsRequest { * used to return the next set of items in the list.

    */ NextToken?: string; - - /** - *

    The user pool ID for the user pool where you want to list user pool clients.

    - */ - UserPoolId: string | undefined; } export namespace ListUserPoolClientsRequest { @@ -7844,34 +7966,34 @@ export namespace ListUserPoolsRequest { */ export interface UserPoolDescriptionType { /** - *

    The date the user pool description was last modified.

    + *

    The ID in a user pool description.

    */ - LastModifiedDate?: Date; + Id?: string; /** - *

    The date the user pool description was created.

    + *

    The name in a user pool description.

    */ - CreationDate?: Date; + Name?: string; /** - *

    The user pool status in a user pool description.

    + *

    The AWS Lambda configuration information in a user pool description.

    */ - Status?: StatusType | string; + LambdaConfig?: LambdaConfigType; /** - *

    The AWS Lambda configuration information in a user pool description.

    + *

    The user pool status in a user pool description.

    */ - LambdaConfig?: LambdaConfigType; + Status?: StatusType | string; /** - *

    The ID in a user pool description.

    + *

    The date the user pool description was last modified.

    */ - Id?: string; + LastModifiedDate?: Date; /** - *

    The name in a user pool description.

    + *

    The date the user pool description was created.

    */ - Name?: string; + CreationDate?: Date; } export namespace UserPoolDescriptionType { @@ -7885,15 +8007,15 @@ export namespace UserPoolDescriptionType { */ export interface ListUserPoolsResponse { /** - *

    An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

    + *

    The user pools from the response to list users.

    */ - NextToken?: string; + UserPools?: UserPoolDescriptionType[]; /** - *

    The user pools from the response to list users.

    + *

    An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

    */ - UserPools?: UserPoolDescriptionType[]; + NextToken?: string; } export namespace ListUserPoolsResponse { @@ -7911,12 +8033,6 @@ export interface ListUsersRequest { */ UserPoolId: string | undefined; - /** - *

    An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

    - */ - PaginationToken?: string; - /** *

    An array of strings, where each string is the name of a user attribute to be returned * for each user in the search results. If the array is null, all attributes are @@ -7924,6 +8040,17 @@ export interface ListUsersRequest { */ AttributesToGet?: string[]; + /** + *

    Maximum number of users to be returned.

    + */ + Limit?: number; + + /** + *

    An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

    + */ + PaginationToken?: string; + /** *

    A filter string of the form "AttributeName * Filter-Type "AttributeValue"". Quotation marks @@ -8006,11 +8133,6 @@ export interface ListUsersRequest { * Developer Guide.

    */ Filter?: string; - - /** - *

    Maximum number of users to be returned.

    - */ - Limit?: number; } export namespace ListUsersRequest { @@ -8024,15 +8146,15 @@ export namespace ListUsersRequest { */ export interface ListUsersResponse { /** - *

    An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

    + *

    The users returned in the request to list users.

    */ - PaginationToken?: string; + Users?: UserType[]; /** - *

    The users returned in the request to list users.

    + *

    An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

    */ - Users?: UserType[]; + PaginationToken?: string; } export namespace ListUsersResponse { @@ -8043,11 +8165,6 @@ export namespace ListUsersResponse { } export interface ListUsersInGroupRequest { - /** - *

    The limit of the request to list users.

    - */ - Limit?: number; - /** *

    The user pool ID for the user pool.

    */ @@ -8058,6 +8175,11 @@ export interface ListUsersInGroupRequest { */ GroupName: string | undefined; + /** + *

    The limit of the request to list users.

    + */ + Limit?: number; + /** *

    An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

    @@ -8096,9 +8218,15 @@ export namespace ListUsersInGroupResponse { */ export interface ResendConfirmationCodeRequest { /** - *

    The user name of the user to whom you wish to resend a confirmation code.

    + *

    The ID of the client associated with the user pool.

    */ - Username: string | undefined; + ClientId: string | undefined; + + /** + *

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

    + */ + SecretHash?: string; /** *

    Contextual data such as the user's device fingerprint, IP address, or location used @@ -8108,15 +8236,15 @@ export interface ResendConfirmationCodeRequest { UserContextData?: UserContextDataType; /** - *

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

    + *

    The user name of the user to whom you wish to resend a confirmation code.

    */ - SecretHash?: string; + Username: string | undefined; /** - *

    The ID of the client associated with the user pool.

    + *

    The Amazon Pinpoint analytics metadata for collecting metrics for + * ResendConfirmationCode calls.

    */ - ClientId: string | undefined; + AnalyticsMetadata?: AnalyticsMetadataType; /** *

    A map of custom key-value pairs that you can provide as input for any custom workflows @@ -8153,20 +8281,14 @@ export interface ResendConfirmationCodeRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

    The Amazon Pinpoint analytics metadata for collecting metrics for - * ResendConfirmationCode calls.

    - */ - AnalyticsMetadata?: AnalyticsMetadataType; } export namespace ResendConfirmationCodeRequest { export const filterSensitiveLog = (obj: ResendConfirmationCodeRequest): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), - ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -8193,19 +8315,9 @@ export namespace ResendConfirmationCodeResponse { */ export interface RespondToAuthChallengeRequest { /** - *

    The session which should be passed both ways in challenge-response calls to the - * service. If InitiateAuth or RespondToAuthChallenge API call - * determines that the caller needs to go through another challenge, they return a session - * with other challenge parameters. This session should be passed as it is to the next - * RespondToAuthChallenge API call.

    - */ - Session?: string; - - /** - *

    The Amazon Pinpoint analytics metadata for collecting metrics for - * RespondToAuthChallenge calls.

    + *

    The app client ID.

    */ - AnalyticsMetadata?: AnalyticsMetadataType; + ClientId: string | undefined; /** *

    The challenge name. For more information, see InitiateAuth.

    @@ -8215,54 +8327,13 @@ export interface RespondToAuthChallengeRequest { ChallengeName: ChallengeNameType | string | undefined; /** - *

    A map of custom key-value pairs that you can provide as input for any custom workflows - * that this action triggers.

    - *

    You create custom workflows by assigning AWS Lambda functions to user pool triggers. - * When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions - * that are assigned to the following triggers: post authentication, - * pre token generation, define auth - * challenge, create auth challenge, and - * verify auth challenge. When Amazon Cognito invokes any of these - * functions, it passes a JSON payload, which the function receives as input. This payload - * contains a clientMetadata attribute, which provides the data that you - * assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your - * function code in AWS Lambda, you can process the clientMetadata value to - * enhance your workflow for your specific needs.

    - *

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the - * Amazon Cognito Developer Guide.

    - * - *

    Take the following limitations into consideration when you use the ClientMetadata - * parameter:

    - *
      - *
    • - *

      Amazon Cognito does not store the ClientMetadata value. This data is - * available only to AWS Lambda triggers that are assigned to a user pool to - * support custom workflows. If your user pool configuration does not include - * triggers, the ClientMetadata parameter serves no purpose.

      - *
    • - *
    • - *

      Amazon Cognito does not validate the ClientMetadata value.

      - *
    • - *
    • - *

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use - * it to provide sensitive information.

      - *
    • - *
    - *
    - */ - ClientMetadata?: { [key: string]: string }; - - /** - *

    The app client ID.

    - */ - ClientId: string | undefined; - - /** - *

    Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

    + *

    The session which should be passed both ways in challenge-response calls to the + * service. If InitiateAuth or RespondToAuthChallenge API call + * determines that the caller needs to go through another challenge, they return a session + * with other challenge parameters. This session should be passed as it is to the next + * RespondToAuthChallenge API call.

    */ - UserContextData?: UserContextDataType; + Session?: string; /** *

    The challenge responses. These are inputs corresponding to the value of @@ -8307,6 +8378,57 @@ export interface RespondToAuthChallengeRequest { * */ ChallengeResponses?: { [key: string]: string }; + + /** + *

    The Amazon Pinpoint analytics metadata for collecting metrics for + * RespondToAuthChallenge calls.

    + */ + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

    Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

    + */ + UserContextData?: UserContextDataType; + + /** + *

    A map of custom key-value pairs that you can provide as input for any custom workflows + * that this action triggers.

    + *

    You create custom workflows by assigning AWS Lambda functions to user pool triggers. + * When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions + * that are assigned to the following triggers: post authentication, + * pre token generation, define auth + * challenge, create auth challenge, and + * verify auth challenge. When Amazon Cognito invokes any of these + * functions, it passes a JSON payload, which the function receives as input. This payload + * contains a clientMetadata attribute, which provides the data that you + * assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your + * function code in AWS Lambda, you can process the clientMetadata value to + * enhance your workflow for your specific needs.

    + *

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the + * Amazon Cognito Developer Guide.

    + * + *

    Take the following limitations into consideration when you use the ClientMetadata + * parameter:

    + *
      + *
    • + *

      Amazon Cognito does not store the ClientMetadata value. This data is + * available only to AWS Lambda triggers that are assigned to a user pool to + * support custom workflows. If your user pool configuration does not include + * triggers, the ClientMetadata parameter serves no purpose.

      + *
    • + *
    • + *

      Amazon Cognito does not validate the ClientMetadata value.

      + *
    • + *
    • + *

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use + * it to provide sensitive information.

      + *
    • + *
    + *
    + */ + ClientMetadata?: { [key: string]: string }; } export namespace RespondToAuthChallengeRequest { @@ -8317,19 +8439,13 @@ export namespace RespondToAuthChallengeRequest { } /** - *

    The response to respond to the authentication challenge.

    - */ -export interface RespondToAuthChallengeResponse { - /** - *

    The challenge parameters. For more information, see InitiateAuth.

    - */ - ChallengeParameters?: { [key: string]: string }; - + *

    The response to respond to the authentication challenge.

    + */ +export interface RespondToAuthChallengeResponse { /** - *

    The result returned by the server in response to the request to respond to the - * authentication challenge.

    + *

    The challenge name. For more information, see InitiateAuth.

    */ - AuthenticationResult?: AuthenticationResultType; + ChallengeName?: ChallengeNameType | string; /** *

    The session which should be passed both ways in challenge-response calls to the @@ -8341,9 +8457,15 @@ export interface RespondToAuthChallengeResponse { Session?: string; /** - *

    The challenge name. For more information, see InitiateAuth.

    + *

    The challenge parameters. For more information, see InitiateAuth.

    */ - ChallengeName?: ChallengeNameType | string; + ChallengeParameters?: { [key: string]: string }; + + /** + *

    The result returned by the server in response to the request to respond to the + * authentication challenge.

    + */ + AuthenticationResult?: AuthenticationResultType; } export namespace RespondToAuthChallengeResponse { @@ -8357,14 +8479,19 @@ export namespace RespondToAuthChallengeResponse { export interface SetRiskConfigurationRequest { /** - *

    The configuration to override the risk decision.

    + *

    The user pool ID.

    */ - RiskExceptionConfiguration?: RiskExceptionConfigurationType; + UserPoolId: string | undefined; /** - *

    The user pool ID.

    + *

    The app client ID. If ClientId is null, then the risk configuration is + * mapped to userPoolId. When the client ID is null, the same risk + * configuration is applied to all the clients in the userPool.

    + *

    Otherwise, ClientId is mapped to the client. When the client ID is not + * null, the user pool configuration is overridden and the risk configuration for the + * client is used instead.

    */ - UserPoolId: string | undefined; + ClientId?: string; /** *

    The compromised credentials risk configuration.

    @@ -8377,14 +8504,9 @@ export interface SetRiskConfigurationRequest { AccountTakeoverRiskConfiguration?: AccountTakeoverRiskConfigurationType; /** - *

    The app client ID. If ClientId is null, then the risk configuration is - * mapped to userPoolId. When the client ID is null, the same risk - * configuration is applied to all the clients in the userPool.

    - *

    Otherwise, ClientId is mapped to the client. When the client ID is not - * null, the user pool configuration is overridden and the risk configuration for the - * client is used instead.

    + *

    The configuration to override the risk decision.

    */ - ClientId?: string; + RiskExceptionConfiguration?: RiskExceptionConfigurationType; } export namespace SetRiskConfigurationRequest { @@ -8412,24 +8534,24 @@ export namespace SetRiskConfigurationResponse { export interface SetUICustomizationRequest { /** - *

    The uploaded logo image for the UI customization.

    + *

    The user pool ID for the user pool.

    */ - ImageFile?: Uint8Array; + UserPoolId: string | undefined; /** - *

    The CSS values in the UI customization.

    + *

    The client ID for the client app.

    */ - CSS?: string; + ClientId?: string; /** - *

    The client ID for the client app.

    + *

    The CSS values in the UI customization.

    */ - ClientId?: string; + CSS?: string; /** - *

    The user pool ID for the user pool.

    + *

    The uploaded logo image for the UI customization.

    */ - UserPoolId: string | undefined; + ImageFile?: Uint8Array; } export namespace SetUICustomizationRequest { @@ -8454,6 +8576,11 @@ export namespace SetUICustomizationResponse { } export interface SetUserMFAPreferenceRequest { + /** + *

    The SMS text message multi-factor authentication (MFA) settings.

    + */ + SMSMfaSettings?: SMSMfaSettingsType; + /** *

    The time-based one-time password software token MFA settings.

    */ @@ -8463,11 +8590,6 @@ export interface SetUserMFAPreferenceRequest { *

    The access token for the user.

    */ AccessToken: string | undefined; - - /** - *

    The SMS text message multi-factor authentication (MFA) settings.

    - */ - SMSMfaSettings?: SMSMfaSettingsType; } export namespace SetUserMFAPreferenceRequest { @@ -8486,6 +8608,21 @@ export namespace SetUserMFAPreferenceResponse { } export interface SetUserPoolMfaConfigRequest { + /** + *

    The user pool ID.

    + */ + UserPoolId: string | undefined; + + /** + *

    The SMS text message MFA configuration.

    + */ + SmsMfaConfiguration?: SmsMfaConfigType; + + /** + *

    The software token MFA configuration.

    + */ + SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; + /** *

    The MFA configuration. Valid values include:

    *
      @@ -8505,21 +8642,6 @@ export interface SetUserPoolMfaConfigRequest { *
    */ MfaConfiguration?: UserPoolMfaType | string; - - /** - *

    The user pool ID.

    - */ - UserPoolId: string | undefined; - - /** - *

    The SMS text message MFA configuration.

    - */ - SmsMfaConfiguration?: SmsMfaConfigType; - - /** - *

    The software token MFA configuration.

    - */ - SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; } export namespace SetUserPoolMfaConfigRequest { @@ -8530,14 +8652,14 @@ export namespace SetUserPoolMfaConfigRequest { export interface SetUserPoolMfaConfigResponse { /** - *

    The software token MFA configuration.

    + *

    The SMS text message MFA configuration.

    */ - SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; + SmsMfaConfiguration?: SmsMfaConfigType; /** - *

    The SMS text message MFA configuration.

    + *

    The software token MFA configuration.

    */ - SmsMfaConfiguration?: SmsMfaConfigType; + SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; /** *

    The MFA configuration. Valid values include:

    @@ -8604,6 +8726,39 @@ export namespace SetUserSettingsResponse { *

    Represents the request to register a user.

    */ export interface SignUpRequest { + /** + *

    The ID of the client associated with the user pool.

    + */ + ClientId: string | undefined; + + /** + *

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

    + */ + SecretHash?: string; + + /** + *

    The user name of the user you wish to register.

    + */ + Username: string | undefined; + + /** + *

    The password of the user you wish to register.

    + */ + Password: string | undefined; + + /** + *

    An array of name-value pairs representing user attributes.

    + *

    For custom attributes, you must prepend the custom: prefix to the + * attribute name.

    + */ + UserAttributes?: AttributeType[]; + + /** + *

    The validation data in the request to register a user.

    + */ + ValidationData?: AttributeType[]; + /** *

    The Amazon Pinpoint analytics metadata for collecting metrics for SignUp * calls.

    @@ -8611,9 +8766,11 @@ export interface SignUpRequest { AnalyticsMetadata?: AnalyticsMetadataType; /** - *

    The password of the user you wish to register.

    + *

    Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

    */ - Password: string | undefined; + UserContextData?: UserContextDataType; /** *

    A map of custom key-value pairs that you can provide as input for any custom workflows @@ -8650,56 +8807,21 @@ export interface SignUpRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

    An array of name-value pairs representing user attributes.

    - *

    For custom attributes, you must prepend the custom: prefix to the - * attribute name.

    - */ - UserAttributes?: AttributeType[]; - - /** - *

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

    - */ - SecretHash?: string; - - /** - *

    Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

    - */ - UserContextData?: UserContextDataType; - - /** - *

    The user name of the user you wish to register.

    - */ - Username: string | undefined; - - /** - *

    The validation data in the request to register a user.

    - */ - ValidationData?: AttributeType[]; - - /** - *

    The ID of the client associated with the user pool.

    - */ - ClientId: string | undefined; } export namespace SignUpRequest { export const filterSensitiveLog = (obj: SignUpRequest): any => ({ ...obj, + ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.Password && { Password: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.ValidationData && { ValidationData: obj.ValidationData.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), }); } @@ -8708,10 +8830,10 @@ export namespace SignUpRequest { */ export interface SignUpResponse { /** - *

    The UUID of the authenticated user. This is not the same as - * username.

    + *

    A response from the server indicating that a user registration has been + * confirmed.

    */ - UserSub: string | undefined; + UserConfirmed: boolean | undefined; /** *

    The code delivery details returned by the server response to the user registration @@ -8720,10 +8842,10 @@ export interface SignUpResponse { CodeDeliveryDetails?: CodeDeliveryDetailsType; /** - *

    A response from the server indicating that a user registration has been - * confirmed.

    + *

    The UUID of the authenticated user. This is not the same as + * username.

    */ - UserConfirmed: boolean | undefined; + UserSub: string | undefined; } export namespace SignUpResponse { @@ -8810,14 +8932,14 @@ export namespace StopUserImportJobResponse { export interface TagResourceRequest { /** - *

    The tags to assign to the user pool.

    + *

    The Amazon Resource Name (ARN) of the user pool to assign the tags to.

    */ - Tags: { [key: string]: string } | undefined; + ResourceArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the user pool to assign the tags to.

    + *

    The tags to assign to the user pool.

    */ - ResourceArn: string | undefined; + Tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -8833,72 +8955,3 @@ export namespace TagResourceResponse { ...obj, }); } - -export interface UntagResourceRequest { - /** - *

    The keys of the tags to remove from the user pool.

    - */ - TagKeys: string[] | undefined; - - /** - *

    The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

    - */ - ResourceArn: string | undefined; -} - -export namespace UntagResourceRequest { - export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ - ...obj, - }); -} - -export interface UntagResourceResponse {} - -export namespace UntagResourceResponse { - export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ - ...obj, - }); -} - -export interface UpdateAuthEventFeedbackRequest { - /** - *

    The event ID.

    - */ - EventId: string | undefined; - - /** - *

    The feedback token.

    - */ - FeedbackToken: string | undefined; - - /** - *

    The authentication event feedback value.

    - */ - FeedbackValue: FeedbackValueType | string | undefined; - - /** - *

    The user pool ID.

    - */ - UserPoolId: string | undefined; - - /** - *

    The user pool username.

    - */ - Username: string | undefined; -} - -export namespace UpdateAuthEventFeedbackRequest { - export const filterSensitiveLog = (obj: UpdateAuthEventFeedbackRequest): any => ({ - ...obj, - ...(obj.FeedbackToken && { FeedbackToken: SENSITIVE_STRING }), - ...(obj.Username && { Username: SENSITIVE_STRING }), - }); -} - -export interface UpdateAuthEventFeedbackResponse {} - -export namespace UpdateAuthEventFeedbackResponse { - export const filterSensitiveLog = (obj: UpdateAuthEventFeedbackResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-cognito-identity-provider/models/models_1.ts b/clients/client-cognito-identity-provider/models/models_1.ts index 824f1b8ea2257..e82af2c4656dc 100644 --- a/clients/client-cognito-identity-provider/models/models_1.ts +++ b/clients/client-cognito-identity-provider/models/models_1.ts @@ -9,6 +9,7 @@ import { DeviceRememberedStatusType, EmailConfigurationType, ExplicitAuthFlowsType, + FeedbackValueType, GroupType, IdentityProviderType, LambdaConfigType, @@ -28,10 +29,84 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export interface UntagResourceRequest { + /** + *

    The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

    + */ + ResourceArn: string | undefined; + + /** + *

    The keys of the tags to remove from the user pool.

    + */ + TagKeys: string[] | undefined; +} + +export namespace UntagResourceRequest { + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + }); +} + +export interface UntagResourceResponse {} + +export namespace UntagResourceResponse { + export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ + ...obj, + }); +} + +export interface UpdateAuthEventFeedbackRequest { + /** + *

    The user pool ID.

    + */ + UserPoolId: string | undefined; + + /** + *

    The user pool username.

    + */ + Username: string | undefined; + + /** + *

    The event ID.

    + */ + EventId: string | undefined; + + /** + *

    The feedback token.

    + */ + FeedbackToken: string | undefined; + + /** + *

    The authentication event feedback value.

    + */ + FeedbackValue: FeedbackValueType | string | undefined; +} + +export namespace UpdateAuthEventFeedbackRequest { + export const filterSensitiveLog = (obj: UpdateAuthEventFeedbackRequest): any => ({ + ...obj, + ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.FeedbackToken && { FeedbackToken: SENSITIVE_STRING }), + }); +} + +export interface UpdateAuthEventFeedbackResponse {} + +export namespace UpdateAuthEventFeedbackResponse { + export const filterSensitiveLog = (obj: UpdateAuthEventFeedbackResponse): any => ({ + ...obj, + }); +} + /** *

    Represents the request to update the device status.

    */ export interface UpdateDeviceStatusRequest { + /** + *

    The access token.

    + */ + AccessToken: string | undefined; + /** *

    The device key.

    */ @@ -41,11 +116,6 @@ export interface UpdateDeviceStatusRequest { *

    The status of whether a device is remembered.

    */ DeviceRememberedStatus?: DeviceRememberedStatusType | string; - - /** - *

    The access token.

    - */ - AccessToken: string | undefined; } export namespace UpdateDeviceStatusRequest { @@ -67,12 +137,6 @@ export namespace UpdateDeviceStatusResponse { } export interface UpdateGroupRequest { - /** - *

    The new precedence value for the group. For more information about this parameter, see - * CreateGroup.

    - */ - Precedence?: number; - /** *

    The name of the group.

    */ @@ -83,6 +147,11 @@ export interface UpdateGroupRequest { */ UserPoolId: string | undefined; + /** + *

    A string containing the new description of the group.

    + */ + Description?: string; + /** *

    The new role ARN for the group. This is used for setting the * cognito:roles and cognito:preferred_role claims in the @@ -91,9 +160,10 @@ export interface UpdateGroupRequest { RoleArn?: string; /** - *

    A string containing the new description of the group.

    + *

    The new precedence value for the group. For more information about this parameter, see + * CreateGroup.

    */ - Description?: string; + Precedence?: number; } export namespace UpdateGroupRequest { @@ -117,25 +187,25 @@ export namespace UpdateGroupResponse { export interface UpdateIdentityProviderRequest { /** - *

    The identity provider details to be updated, such as MetadataURL and - * MetadataFile.

    + *

    The user pool ID.

    */ - ProviderDetails?: { [key: string]: string }; + UserPoolId: string | undefined; /** - *

    The user pool ID.

    + *

    The identity provider name.

    */ - UserPoolId: string | undefined; + ProviderName: string | undefined; /** - *

    The identity provider attribute mapping to be changed.

    + *

    The identity provider details to be updated, such as MetadataURL and + * MetadataFile.

    */ - AttributeMapping?: { [key: string]: string }; + ProviderDetails?: { [key: string]: string }; /** - *

    The identity provider name.

    + *

    The identity provider attribute mapping to be changed.

    */ - ProviderName: string | undefined; + AttributeMapping?: { [key: string]: string }; /** *

    A list of identity provider identifiers.

    @@ -164,9 +234,9 @@ export namespace UpdateIdentityProviderResponse { export interface UpdateResourceServerRequest { /** - *

    The scope values to be set for the resource server.

    + *

    The user pool ID for the user pool.

    */ - Scopes?: ResourceServerScopeType[]; + UserPoolId: string | undefined; /** *

    The identifier for the resource server.

    @@ -174,14 +244,14 @@ export interface UpdateResourceServerRequest { Identifier: string | undefined; /** - *

    The user pool ID for the user pool.

    + *

    The name of the resource server.

    */ - UserPoolId: string | undefined; + Name: string | undefined; /** - *

    The name of the resource server.

    + *

    The scope values to be set for the resource server.

    */ - Name: string | undefined; + Scopes?: ResourceServerScopeType[]; } export namespace UpdateResourceServerRequest { @@ -207,6 +277,13 @@ export namespace UpdateResourceServerResponse { *

    Represents the request to update user attributes.

    */ export interface UpdateUserAttributesRequest { + /** + *

    An array of name-value pairs representing user attributes.

    + *

    For custom attributes, you must prepend the custom: prefix to the + * attribute name.

    + */ + UserAttributes: AttributeType[] | undefined; + /** *

    The access token for the request to update user attributes.

    */ @@ -246,22 +323,15 @@ export interface UpdateUserAttributesRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

    An array of name-value pairs representing user attributes.

    - *

    For custom attributes, you must prepend the custom: prefix to the - * attribute name.

    - */ - UserAttributes: AttributeType[] | undefined; } export namespace UpdateUserAttributesRequest { export const filterSensitiveLog = (obj: UpdateUserAttributesRequest): any => ({ ...obj, - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), }); } @@ -288,45 +358,9 @@ export namespace UpdateUserAttributesResponse { */ export interface UpdateUserPoolRequest { /** - *

    The subject of the email verification message.

    - */ - EmailVerificationSubject?: string; - - /** - *

    SMS configuration.

    - */ - SmsConfiguration?: SmsConfigurationType; - - /** - *

    The template for verification messages.

    - */ - VerificationMessageTemplate?: VerificationMessageTemplateType; - - /** - *

    Used to enable advanced security risk detection. Set the key - * AdvancedSecurityMode to the value "AUDIT".

    - */ - UserPoolAddOns?: UserPoolAddOnsType; - - /** - *

    Email configuration.

    - */ - EmailConfiguration?: EmailConfigurationType; - - /** - *

    The configuration for AdminCreateUser requests.

    - */ - AdminCreateUserConfig?: AdminCreateUserConfigType; - - /** - *

    Use this setting to define which verified available method a user can use to recover - * their password when they call ForgotPassword. It allows you to define a - * preferred method when a user has more than one method available. With this setting, SMS - * does not qualify for a valid password recovery mechanism if the user also has SMS MFA - * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine - * the recovery method where SMS is preferred over email.

    + *

    The user pool ID for the user pool you want to update.

    */ - AccountRecoverySetting?: AccountRecoverySettingType; + UserPoolId: string | undefined; /** *

    A container with the policies you wish to update in a user pool.

    @@ -334,16 +368,10 @@ export interface UpdateUserPoolRequest { Policies?: UserPoolPolicyType; /** - *

    The tag keys and values to assign to the user pool. A tag is a label that you can use - * to categorize and manage user pools in different ways, such as by purpose, owner, - * environment, or other criteria.

    - */ - UserPoolTags?: { [key: string]: string }; - - /** - *

    The contents of the SMS authentication message.

    + *

    The AWS Lambda configuration information from the request to update the user + * pool.

    */ - SmsAuthenticationMessage?: string; + LambdaConfig?: LambdaConfigType; /** *

    The attributes that are automatically verified when the Amazon Cognito service makes a @@ -352,24 +380,29 @@ export interface UpdateUserPoolRequest { AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; /** - *

    The user pool ID for the user pool you want to update.

    + *

    A container with information about the SMS verification message.

    */ - UserPoolId: string | undefined; + SmsVerificationMessage?: string; /** - *

    A container with information about the SMS verification message.

    + *

    The contents of the email verification message.

    */ - SmsVerificationMessage?: string; + EmailVerificationMessage?: string; /** - *

    Device configuration.

    + *

    The subject of the email verification message.

    */ - DeviceConfiguration?: DeviceConfigurationType; + EmailVerificationSubject?: string; /** - *

    The contents of the email verification message.

    + *

    The template for verification messages.

    */ - EmailVerificationMessage?: string; + VerificationMessageTemplate?: VerificationMessageTemplateType; + + /** + *

    The contents of the SMS authentication message.

    + */ + SmsAuthenticationMessage?: string; /** *

    Can be one of the following values:

    @@ -394,10 +427,47 @@ export interface UpdateUserPoolRequest { MfaConfiguration?: UserPoolMfaType | string; /** - *

    The AWS Lambda configuration information from the request to update the user - * pool.

    + *

    Device configuration.

    */ - LambdaConfig?: LambdaConfigType; + DeviceConfiguration?: DeviceConfigurationType; + + /** + *

    Email configuration.

    + */ + EmailConfiguration?: EmailConfigurationType; + + /** + *

    SMS configuration.

    + */ + SmsConfiguration?: SmsConfigurationType; + + /** + *

    The tag keys and values to assign to the user pool. A tag is a label that you can use + * to categorize and manage user pools in different ways, such as by purpose, owner, + * environment, or other criteria.

    + */ + UserPoolTags?: { [key: string]: string }; + + /** + *

    The configuration for AdminCreateUser requests.

    + */ + AdminCreateUserConfig?: AdminCreateUserConfigType; + + /** + *

    Used to enable advanced security risk detection. Set the key + * AdvancedSecurityMode to the value "AUDIT".

    + */ + UserPoolAddOns?: UserPoolAddOnsType; + + /** + *

    Use this setting to define which verified available method a user can use to recover + * their password when they call ForgotPassword. It allows you to define a + * preferred method when a user has more than one method available. With this setting, SMS + * does not qualify for a valid password recovery mechanism if the user also has SMS MFA + * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine + * the recovery method where SMS is preferred over email.

    + */ + AccountRecoverySetting?: AccountRecoverySettingType; } export namespace UpdateUserPoolRequest { @@ -423,59 +493,41 @@ export namespace UpdateUserPoolResponse { */ export interface UpdateUserPoolClientRequest { /** - *

    The time limit, after which the ID token is no longer valid and cannot be used.

    + *

    The user pool ID for the user pool where you want to update the user pool + * client.

    */ - IdTokenValidity?: number; + UserPoolId: string | undefined; /** - *

    A list of allowed redirect (callback) URLs for the identity providers.

    - *

    A redirect URI must:

    - *
      - *
    • - *

      Be an absolute URI.

      - *
    • - *
    • - *

      Be registered with the authorization server.

      - *
    • - *
    • - *

      Not include a fragment component.

      - *
    • - *
    - *

    See OAuth 2.0 - - * Redirection Endpoint.

    - *

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing - * purposes only.

    - *

    App callback URLs such as myapp://example are also supported.

    + *

    The ID of the client associated with the user pool.

    */ - CallbackURLs?: string[]; + ClientId: string | undefined; /** - *

    A list of allowed logout URLs for the identity providers.

    + *

    The client name from the update user pool client request.

    */ - LogoutURLs?: string[]; + ClientName?: string; /** - *

    Set to true if the client is allowed to follow the OAuth protocol when interacting - * with Cognito user pools.

    + *

    The time limit, in days, after which the refresh token is no longer valid and cannot + * be used.

    */ - AllowedOAuthFlowsUserPoolClient?: boolean; + RefreshTokenValidity?: number; /** - *

    The user pool ID for the user pool where you want to update the user pool - * client.

    + *

    The time limit, after which the access token is no longer valid and cannot be used.

    */ - UserPoolId: string | undefined; + AccessTokenValidity?: number; /** - *

    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

    + *

    The time limit, after which the ID token is no longer valid and cannot be used.

    */ - TokenValidityUnits?: TokenValidityUnitsType; + IdTokenValidity?: number; /** - *

    A list of provider names for the identity providers that are supported on this - * client.

    + *

    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

    */ - SupportedIdentityProviders?: string[]; + TokenValidityUnits?: TokenValidityUnitsType; /** *

    The read-only attributes of the user pool.

    @@ -483,9 +535,9 @@ export interface UpdateUserPoolClientRequest { ReadAttributes?: string[]; /** - *

    The time limit, after which the access token is no longer valid and cannot be used.

    + *

    The writeable attributes of the user pool.

    */ - AccessTokenValidity?: number; + WriteAttributes?: string[]; /** *

    The authentication flows that are supported by the user pool clients. Flow names @@ -527,9 +579,37 @@ export interface UpdateUserPoolClientRequest { ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; /** - *

    The writeable attributes of the user pool.

    + *

    A list of provider names for the identity providers that are supported on this + * client.

    */ - WriteAttributes?: string[]; + SupportedIdentityProviders?: string[]; + + /** + *

    A list of allowed redirect (callback) URLs for the identity providers.

    + *

    A redirect URI must:

    + *
      + *
    • + *

      Be an absolute URI.

      + *
    • + *
    • + *

      Be registered with the authorization server.

      + *
    • + *
    • + *

      Not include a fragment component.

      + *
    • + *
    + *

    See OAuth 2.0 - + * Redirection Endpoint.

    + *

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing + * purposes only.

    + *

    App callback URLs such as myapp://example are also supported.

    + */ + CallbackURLs?: string[]; + + /** + *

    A list of allowed logout URLs for the identity providers.

    + */ + LogoutURLs?: string[]; /** *

    The default redirect URI. Must be in the CallbackURLs list.

    @@ -554,9 +634,17 @@ export interface UpdateUserPoolClientRequest { DefaultRedirectURI?: string; /** - *

    The ID of the client associated with the user pool.

    + *

    The allowed OAuth flows.

    + *

    Set to code to initiate a code grant flow, which provides an + * authorization code as the response. This code can be exchanged for access tokens with + * the token endpoint.

    + *

    Set to implicit to specify that the client should get the access token + * (and, optionally, ID token, based on scopes) directly.

    + *

    Set to client_credentials to specify that the client should get the + * access token (and, optionally, ID token, based on scopes) from the token endpoint using + * a combination of client and client_secret.

    */ - ClientId: string | undefined; + AllowedOAuthFlows?: (OAuthFlowType | string)[]; /** *

    The allowed OAuth scopes. Possible values provided by OAuth are: phone, @@ -567,9 +655,22 @@ export interface UpdateUserPoolClientRequest { AllowedOAuthScopes?: string[]; /** - *

    The client name from the update user pool client request.

    + *

    Set to true if the client is allowed to follow the OAuth protocol when interacting + * with Cognito user pools.

    */ - ClientName?: string; + AllowedOAuthFlowsUserPoolClient?: boolean; + + /** + *

    The Amazon Pinpoint analytics configuration for collecting metrics for this user + * pool.

    + * + *

    In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. + * In regions where Pinpoint is available, Cognito User Pools will + * support sending events to Amazon Pinpoint projects within that same region. + *

    + *
    + */ + AnalyticsConfiguration?: AnalyticsConfigurationType; /** *

    Use this setting to choose which errors and responses are returned by Cognito APIs @@ -601,37 +702,6 @@ export interface UpdateUserPoolClientRequest { * */ PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; - - /** - *

    The allowed OAuth flows.

    - *

    Set to code to initiate a code grant flow, which provides an - * authorization code as the response. This code can be exchanged for access tokens with - * the token endpoint.

    - *

    Set to implicit to specify that the client should get the access token - * (and, optionally, ID token, based on scopes) directly.

    - *

    Set to client_credentials to specify that the client should get the - * access token (and, optionally, ID token, based on scopes) from the token endpoint using - * a combination of client and client_secret.

    - */ - AllowedOAuthFlows?: (OAuthFlowType | string)[]; - - /** - *

    The time limit, in days, after which the refresh token is no longer valid and cannot - * be used.

    - */ - RefreshTokenValidity?: number; - - /** - *

    The Amazon Pinpoint analytics configuration for collecting metrics for this user - * pool.

    - * - *

    In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. - * In regions where Pinpoint is available, Cognito User Pools will - * support sending events to Amazon Pinpoint projects within that same region. - *

    - *
    - */ - AnalyticsConfiguration?: AnalyticsConfigurationType; } export namespace UpdateUserPoolClientRequest { @@ -664,13 +734,6 @@ export namespace UpdateUserPoolClientResponse { *

    The UpdateUserPoolDomain request input.

    */ export interface UpdateUserPoolDomainRequest { - /** - *

    The configuration for a custom domain that hosts the sign-up and sign-in pages for - * your application. Use this object to specify an SSL certificate that is managed by - * ACM.

    - */ - CustomDomainConfig: CustomDomainConfigType | undefined; - /** *

    The domain name for the custom domain that hosts the sign-up and sign-in pages for * your application. For example: auth.example.com.

    @@ -684,6 +747,13 @@ export interface UpdateUserPoolDomainRequest { * updating the certificate for.

    */ UserPoolId: string | undefined; + + /** + *

    The configuration for a custom domain that hosts the sign-up and sign-in pages for + * your application. Use this object to specify an SSL certificate that is managed by + * ACM.

    + */ + CustomDomainConfig: CustomDomainConfigType | undefined; } export namespace UpdateUserPoolDomainRequest { @@ -738,14 +808,14 @@ export interface VerifySoftwareTokenRequest { Session?: string; /** - *

    The friendly device name.

    + *

    The one time password computed using the secret code returned by AssociateSoftwareToken".

    */ - FriendlyDeviceName?: string; + UserCode: string | undefined; /** - *

    The one time password computed using the secret code returned by AssociateSoftwareToken".

    + *

    The friendly device name.

    */ - UserCode: string | undefined; + FriendlyDeviceName?: string; } export namespace VerifySoftwareTokenRequest { @@ -762,15 +832,15 @@ export enum VerifySoftwareTokenResponseType { export interface VerifySoftwareTokenResponse { /** - *

    The session which should be passed both ways in challenge-response calls to the - * service.

    + *

    The status of the verify software token.

    */ - Session?: string; + Status?: VerifySoftwareTokenResponseType | string; /** - *

    The status of the verify software token.

    + *

    The session which should be passed both ways in challenge-response calls to the + * service.

    */ - Status?: VerifySoftwareTokenResponseType | string; + Session?: string; } export namespace VerifySoftwareTokenResponse { @@ -789,14 +859,14 @@ export interface VerifyUserAttributeRequest { AccessToken: string | undefined; /** - *

    The verification code in the request to verify user attributes.

    + *

    The attribute name in the request to verify user attributes.

    */ - Code: string | undefined; + AttributeName: string | undefined; /** - *

    The attribute name in the request to verify user attributes.

    + *

    The verification code in the request to verify user attributes.

    */ - AttributeName: string | undefined; + Code: string | undefined; } export namespace VerifyUserAttributeRequest { diff --git a/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts b/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts index 7ace6674917f5..e024cf6ee8e3b 100644 --- a/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts +++ b/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts @@ -362,6 +362,8 @@ import { CreateUserPoolRequest, CreateUserPoolResponse, CustomDomainConfigType, + CustomEmailLambdaVersionConfigType, + CustomSMSLambdaVersionConfigType, DeleteGroupRequest, DeleteIdentityProviderRequest, DeleteResourceServerRequest, @@ -517,10 +519,6 @@ import { UnexpectedLambdaException, UnsupportedIdentityProviderException, UnsupportedUserStateException, - UntagResourceRequest, - UntagResourceResponse, - UpdateAuthEventFeedbackRequest, - UpdateAuthEventFeedbackResponse, UserContextDataType, UserImportInProgressException, UserImportJobType, @@ -544,6 +542,10 @@ import { } from "../models/models_0"; import { EnableSoftwareTokenMFAException, + UntagResourceRequest, + UntagResourceResponse, + UpdateAuthEventFeedbackRequest, + UpdateAuthEventFeedbackResponse, UpdateDeviceStatusRequest, UpdateDeviceStatusResponse, UpdateGroupRequest, @@ -14061,6 +14063,26 @@ const serializeAws_json1_1CustomDomainConfigType = (input: CustomDomainConfigTyp }; }; +const serializeAws_json1_1CustomEmailLambdaVersionConfigType = ( + input: CustomEmailLambdaVersionConfigType, + context: __SerdeContext +): any => { + return { + ...(input.LambdaArn !== undefined && { LambdaArn: input.LambdaArn }), + ...(input.LambdaVersion !== undefined && { LambdaVersion: input.LambdaVersion }), + }; +}; + +const serializeAws_json1_1CustomSMSLambdaVersionConfigType = ( + input: CustomSMSLambdaVersionConfigType, + context: __SerdeContext +): any => { + return { + ...(input.LambdaArn !== undefined && { LambdaArn: input.LambdaArn }), + ...(input.LambdaVersion !== undefined && { LambdaVersion: input.LambdaVersion }), + }; +}; + const serializeAws_json1_1DeleteGroupRequest = (input: DeleteGroupRequest, context: __SerdeContext): any => { return { ...(input.GroupName !== undefined && { GroupName: input.GroupName }), @@ -14390,8 +14412,15 @@ const serializeAws_json1_1InitiateAuthRequest = (input: InitiateAuthRequest, con const serializeAws_json1_1LambdaConfigType = (input: LambdaConfigType, context: __SerdeContext): any => { return { ...(input.CreateAuthChallenge !== undefined && { CreateAuthChallenge: input.CreateAuthChallenge }), + ...(input.CustomEmailSender !== undefined && { + CustomEmailSender: serializeAws_json1_1CustomEmailLambdaVersionConfigType(input.CustomEmailSender, context), + }), ...(input.CustomMessage !== undefined && { CustomMessage: input.CustomMessage }), + ...(input.CustomSMSSender !== undefined && { + CustomSMSSender: serializeAws_json1_1CustomSMSLambdaVersionConfigType(input.CustomSMSSender, context), + }), ...(input.DefineAuthChallenge !== undefined && { DefineAuthChallenge: input.DefineAuthChallenge }), + ...(input.KMSKeyID !== undefined && { KMSKeyID: input.KMSKeyID }), ...(input.PostAuthentication !== undefined && { PostAuthentication: input.PostAuthentication }), ...(input.PostConfirmation !== undefined && { PostConfirmation: input.PostConfirmation }), ...(input.PreAuthentication !== undefined && { PreAuthentication: input.PreAuthentication }), @@ -15857,6 +15886,28 @@ const deserializeAws_json1_1CustomDomainConfigType = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1CustomEmailLambdaVersionConfigType = ( + output: any, + context: __SerdeContext +): CustomEmailLambdaVersionConfigType => { + return { + LambdaArn: output.LambdaArn !== undefined && output.LambdaArn !== null ? output.LambdaArn : undefined, + LambdaVersion: + output.LambdaVersion !== undefined && output.LambdaVersion !== null ? output.LambdaVersion : undefined, + } as any; +}; + +const deserializeAws_json1_1CustomSMSLambdaVersionConfigType = ( + output: any, + context: __SerdeContext +): CustomSMSLambdaVersionConfigType => { + return { + LambdaArn: output.LambdaArn !== undefined && output.LambdaArn !== null ? output.LambdaArn : undefined, + LambdaVersion: + output.LambdaVersion !== undefined && output.LambdaVersion !== null ? output.LambdaVersion : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteUserAttributesResponse = ( output: any, context: __SerdeContext @@ -16387,12 +16438,21 @@ const deserializeAws_json1_1LambdaConfigType = (output: any, context: __SerdeCon output.CreateAuthChallenge !== undefined && output.CreateAuthChallenge !== null ? output.CreateAuthChallenge : undefined, + CustomEmailSender: + output.CustomEmailSender !== undefined && output.CustomEmailSender !== null + ? deserializeAws_json1_1CustomEmailLambdaVersionConfigType(output.CustomEmailSender, context) + : undefined, CustomMessage: output.CustomMessage !== undefined && output.CustomMessage !== null ? output.CustomMessage : undefined, + CustomSMSSender: + output.CustomSMSSender !== undefined && output.CustomSMSSender !== null + ? deserializeAws_json1_1CustomSMSLambdaVersionConfigType(output.CustomSMSSender, context) + : undefined, DefineAuthChallenge: output.DefineAuthChallenge !== undefined && output.DefineAuthChallenge !== null ? output.DefineAuthChallenge : undefined, + KMSKeyID: output.KMSKeyID !== undefined && output.KMSKeyID !== null ? output.KMSKeyID : undefined, PostAuthentication: output.PostAuthentication !== undefined && output.PostAuthentication !== null ? output.PostAuthentication diff --git a/clients/client-comprehend/Comprehend.ts b/clients/client-comprehend/Comprehend.ts index 65448b9f9023a..6cb9819ef3b39 100644 --- a/clients/client-comprehend/Comprehend.ts +++ b/clients/client-comprehend/Comprehend.ts @@ -89,6 +89,11 @@ import { DescribeEntityRecognizerCommandInput, DescribeEntityRecognizerCommandOutput, } from "./commands/DescribeEntityRecognizerCommand"; +import { + DescribeEventsDetectionJobCommand, + DescribeEventsDetectionJobCommandInput, + DescribeEventsDetectionJobCommandOutput, +} from "./commands/DescribeEventsDetectionJobCommand"; import { DescribeKeyPhrasesDetectionJobCommand, DescribeKeyPhrasesDetectionJobCommandInput, @@ -169,6 +174,11 @@ import { ListEntityRecognizersCommandInput, ListEntityRecognizersCommandOutput, } from "./commands/ListEntityRecognizersCommand"; +import { + ListEventsDetectionJobsCommand, + ListEventsDetectionJobsCommandInput, + ListEventsDetectionJobsCommandOutput, +} from "./commands/ListEventsDetectionJobsCommand"; import { ListKeyPhrasesDetectionJobsCommand, ListKeyPhrasesDetectionJobsCommandInput, @@ -209,6 +219,11 @@ import { StartEntitiesDetectionJobCommandInput, StartEntitiesDetectionJobCommandOutput, } from "./commands/StartEntitiesDetectionJobCommand"; +import { + StartEventsDetectionJobCommand, + StartEventsDetectionJobCommandInput, + StartEventsDetectionJobCommandOutput, +} from "./commands/StartEventsDetectionJobCommand"; import { StartKeyPhrasesDetectionJobCommand, StartKeyPhrasesDetectionJobCommandInput, @@ -239,6 +254,11 @@ import { StopEntitiesDetectionJobCommandInput, StopEntitiesDetectionJobCommandOutput, } from "./commands/StopEntitiesDetectionJobCommand"; +import { + StopEventsDetectionJobCommand, + StopEventsDetectionJobCommandInput, + StopEventsDetectionJobCommandOutput, +} from "./commands/StopEventsDetectionJobCommand"; import { StopKeyPhrasesDetectionJobCommand, StopKeyPhrasesDetectionJobCommandInput, @@ -893,6 +913,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

    Gets the status and details of an events detection job.

    + */ + public describeEventsDetectionJob( + args: DescribeEventsDetectionJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeEventsDetectionJob( + args: DescribeEventsDetectionJobCommandInput, + cb: (err: any, data?: DescribeEventsDetectionJobCommandOutput) => void + ): void; + public describeEventsDetectionJob( + args: DescribeEventsDetectionJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeEventsDetectionJobCommandOutput) => void + ): void; + public describeEventsDetectionJob( + args: DescribeEventsDetectionJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeEventsDetectionJobCommandOutput) => void), + cb?: (err: any, data?: DescribeEventsDetectionJobCommandOutput) => void + ): Promise | void { + const command = new DescribeEventsDetectionJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Gets the properties associated with a key phrases detection job. Use this operation to get * the status of a detection job.

    @@ -1416,6 +1468,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

    Gets a list of the events detection jobs that you have submitted.

    + */ + public listEventsDetectionJobs( + args: ListEventsDetectionJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listEventsDetectionJobs( + args: ListEventsDetectionJobsCommandInput, + cb: (err: any, data?: ListEventsDetectionJobsCommandOutput) => void + ): void; + public listEventsDetectionJobs( + args: ListEventsDetectionJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEventsDetectionJobsCommandOutput) => void + ): void; + public listEventsDetectionJobs( + args: ListEventsDetectionJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListEventsDetectionJobsCommandOutput) => void), + cb?: (err: any, data?: ListEventsDetectionJobsCommandOutput) => void + ): Promise | void { + const command = new ListEventsDetectionJobsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Get a list of key phrase detection jobs that you have submitted.

    */ @@ -1679,6 +1763,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

    Starts an asynchronous event detection job for a collection of documents.

    + */ + public startEventsDetectionJob( + args: StartEventsDetectionJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startEventsDetectionJob( + args: StartEventsDetectionJobCommandInput, + cb: (err: any, data?: StartEventsDetectionJobCommandOutput) => void + ): void; + public startEventsDetectionJob( + args: StartEventsDetectionJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartEventsDetectionJobCommandOutput) => void + ): void; + public startEventsDetectionJob( + args: StartEventsDetectionJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartEventsDetectionJobCommandOutput) => void), + cb?: (err: any, data?: StartEventsDetectionJobCommandOutput) => void + ): Promise | void { + const command = new StartEventsDetectionJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Starts an asynchronous key phrase detection job for a collection of documents. Use the * operation to track the status of a @@ -1894,6 +2010,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

    Stops an events detection job in progress.

    + */ + public stopEventsDetectionJob( + args: StopEventsDetectionJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public stopEventsDetectionJob( + args: StopEventsDetectionJobCommandInput, + cb: (err: any, data?: StopEventsDetectionJobCommandOutput) => void + ): void; + public stopEventsDetectionJob( + args: StopEventsDetectionJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopEventsDetectionJobCommandOutput) => void + ): void; + public stopEventsDetectionJob( + args: StopEventsDetectionJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StopEventsDetectionJobCommandOutput) => void), + cb?: (err: any, data?: StopEventsDetectionJobCommandOutput) => void + ): Promise | void { + const command = new StopEventsDetectionJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Stops a key phrases detection job in progress.

    *

    If the job state is IN_PROGRESS the job is marked for termination and put diff --git a/clients/client-comprehend/ComprehendClient.ts b/clients/client-comprehend/ComprehendClient.ts index 37b375997e341..6ce8ada5395b5 100644 --- a/clients/client-comprehend/ComprehendClient.ts +++ b/clients/client-comprehend/ComprehendClient.ts @@ -55,6 +55,10 @@ import { DescribeEntityRecognizerCommandInput, DescribeEntityRecognizerCommandOutput, } from "./commands/DescribeEntityRecognizerCommand"; +import { + DescribeEventsDetectionJobCommandInput, + DescribeEventsDetectionJobCommandOutput, +} from "./commands/DescribeEventsDetectionJobCommand"; import { DescribeKeyPhrasesDetectionJobCommandInput, DescribeKeyPhrasesDetectionJobCommandOutput, @@ -101,6 +105,10 @@ import { ListEntityRecognizersCommandInput, ListEntityRecognizersCommandOutput, } from "./commands/ListEntityRecognizersCommand"; +import { + ListEventsDetectionJobsCommandInput, + ListEventsDetectionJobsCommandOutput, +} from "./commands/ListEventsDetectionJobsCommand"; import { ListKeyPhrasesDetectionJobsCommandInput, ListKeyPhrasesDetectionJobsCommandOutput, @@ -133,6 +141,10 @@ import { StartEntitiesDetectionJobCommandInput, StartEntitiesDetectionJobCommandOutput, } from "./commands/StartEntitiesDetectionJobCommand"; +import { + StartEventsDetectionJobCommandInput, + StartEventsDetectionJobCommandOutput, +} from "./commands/StartEventsDetectionJobCommand"; import { StartKeyPhrasesDetectionJobCommandInput, StartKeyPhrasesDetectionJobCommandOutput, @@ -157,6 +169,10 @@ import { StopEntitiesDetectionJobCommandInput, StopEntitiesDetectionJobCommandOutput, } from "./commands/StopEntitiesDetectionJobCommand"; +import { + StopEventsDetectionJobCommandInput, + StopEventsDetectionJobCommandOutput, +} from "./commands/StopEventsDetectionJobCommand"; import { StopKeyPhrasesDetectionJobCommandInput, StopKeyPhrasesDetectionJobCommandOutput, @@ -248,6 +264,7 @@ export type ServiceInputTypes = | DescribeEndpointCommandInput | DescribeEntitiesDetectionJobCommandInput | DescribeEntityRecognizerCommandInput + | DescribeEventsDetectionJobCommandInput | DescribeKeyPhrasesDetectionJobCommandInput | DescribePiiEntitiesDetectionJobCommandInput | DescribeSentimentDetectionJobCommandInput @@ -264,6 +281,7 @@ export type ServiceInputTypes = | ListEndpointsCommandInput | ListEntitiesDetectionJobsCommandInput | ListEntityRecognizersCommandInput + | ListEventsDetectionJobsCommandInput | ListKeyPhrasesDetectionJobsCommandInput | ListPiiEntitiesDetectionJobsCommandInput | ListSentimentDetectionJobsCommandInput @@ -272,12 +290,14 @@ export type ServiceInputTypes = | StartDocumentClassificationJobCommandInput | StartDominantLanguageDetectionJobCommandInput | StartEntitiesDetectionJobCommandInput + | StartEventsDetectionJobCommandInput | StartKeyPhrasesDetectionJobCommandInput | StartPiiEntitiesDetectionJobCommandInput | StartSentimentDetectionJobCommandInput | StartTopicsDetectionJobCommandInput | StopDominantLanguageDetectionJobCommandInput | StopEntitiesDetectionJobCommandInput + | StopEventsDetectionJobCommandInput | StopKeyPhrasesDetectionJobCommandInput | StopPiiEntitiesDetectionJobCommandInput | StopSentimentDetectionJobCommandInput @@ -306,6 +326,7 @@ export type ServiceOutputTypes = | DescribeEndpointCommandOutput | DescribeEntitiesDetectionJobCommandOutput | DescribeEntityRecognizerCommandOutput + | DescribeEventsDetectionJobCommandOutput | DescribeKeyPhrasesDetectionJobCommandOutput | DescribePiiEntitiesDetectionJobCommandOutput | DescribeSentimentDetectionJobCommandOutput @@ -322,6 +343,7 @@ export type ServiceOutputTypes = | ListEndpointsCommandOutput | ListEntitiesDetectionJobsCommandOutput | ListEntityRecognizersCommandOutput + | ListEventsDetectionJobsCommandOutput | ListKeyPhrasesDetectionJobsCommandOutput | ListPiiEntitiesDetectionJobsCommandOutput | ListSentimentDetectionJobsCommandOutput @@ -330,12 +352,14 @@ export type ServiceOutputTypes = | StartDocumentClassificationJobCommandOutput | StartDominantLanguageDetectionJobCommandOutput | StartEntitiesDetectionJobCommandOutput + | StartEventsDetectionJobCommandOutput | StartKeyPhrasesDetectionJobCommandOutput | StartPiiEntitiesDetectionJobCommandOutput | StartSentimentDetectionJobCommandOutput | StartTopicsDetectionJobCommandOutput | StopDominantLanguageDetectionJobCommandOutput | StopEntitiesDetectionJobCommandOutput + | StopEventsDetectionJobCommandOutput | StopKeyPhrasesDetectionJobCommandOutput | StopPiiEntitiesDetectionJobCommandOutput | StopSentimentDetectionJobCommandOutput diff --git a/clients/client-comprehend/commands/DescribeEventsDetectionJobCommand.ts b/clients/client-comprehend/commands/DescribeEventsDetectionJobCommand.ts new file mode 100644 index 0000000000000..cea6dabf13c79 --- /dev/null +++ b/clients/client-comprehend/commands/DescribeEventsDetectionJobCommand.ts @@ -0,0 +1,91 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { DescribeEventsDetectionJobRequest, DescribeEventsDetectionJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeEventsDetectionJobCommand, + serializeAws_json1_1DescribeEventsDetectionJobCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeEventsDetectionJobCommandInput = DescribeEventsDetectionJobRequest; +export type DescribeEventsDetectionJobCommandOutput = DescribeEventsDetectionJobResponse & __MetadataBearer; + +/** + *

    Gets the status and details of an events detection job.

    + */ +export class DescribeEventsDetectionJobCommand extends $Command< + DescribeEventsDetectionJobCommandInput, + DescribeEventsDetectionJobCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeEventsDetectionJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ComprehendClient"; + const commandName = "DescribeEventsDetectionJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeEventsDetectionJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeEventsDetectionJobResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeEventsDetectionJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeEventsDetectionJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeEventsDetectionJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/ListEventsDetectionJobsCommand.ts b/clients/client-comprehend/commands/ListEventsDetectionJobsCommand.ts new file mode 100644 index 0000000000000..e8c02e5fa6595 --- /dev/null +++ b/clients/client-comprehend/commands/ListEventsDetectionJobsCommand.ts @@ -0,0 +1,88 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { ListEventsDetectionJobsRequest, ListEventsDetectionJobsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListEventsDetectionJobsCommand, + serializeAws_json1_1ListEventsDetectionJobsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListEventsDetectionJobsCommandInput = ListEventsDetectionJobsRequest; +export type ListEventsDetectionJobsCommandOutput = ListEventsDetectionJobsResponse & __MetadataBearer; + +/** + *

    Gets a list of the events detection jobs that you have submitted.

    + */ +export class ListEventsDetectionJobsCommand extends $Command< + ListEventsDetectionJobsCommandInput, + ListEventsDetectionJobsCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListEventsDetectionJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ComprehendClient"; + const commandName = "ListEventsDetectionJobsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListEventsDetectionJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListEventsDetectionJobsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListEventsDetectionJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListEventsDetectionJobsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListEventsDetectionJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/StartEventsDetectionJobCommand.ts b/clients/client-comprehend/commands/StartEventsDetectionJobCommand.ts new file mode 100644 index 0000000000000..93f35566cd6b6 --- /dev/null +++ b/clients/client-comprehend/commands/StartEventsDetectionJobCommand.ts @@ -0,0 +1,88 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { StartEventsDetectionJobRequest, StartEventsDetectionJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StartEventsDetectionJobCommand, + serializeAws_json1_1StartEventsDetectionJobCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type StartEventsDetectionJobCommandInput = StartEventsDetectionJobRequest; +export type StartEventsDetectionJobCommandOutput = StartEventsDetectionJobResponse & __MetadataBearer; + +/** + *

    Starts an asynchronous event detection job for a collection of documents.

    + */ +export class StartEventsDetectionJobCommand extends $Command< + StartEventsDetectionJobCommandInput, + StartEventsDetectionJobCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartEventsDetectionJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ComprehendClient"; + const commandName = "StartEventsDetectionJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartEventsDetectionJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartEventsDetectionJobResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartEventsDetectionJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StartEventsDetectionJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1StartEventsDetectionJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/StopEventsDetectionJobCommand.ts b/clients/client-comprehend/commands/StopEventsDetectionJobCommand.ts new file mode 100644 index 0000000000000..a59e536e88fb9 --- /dev/null +++ b/clients/client-comprehend/commands/StopEventsDetectionJobCommand.ts @@ -0,0 +1,88 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { StopEventsDetectionJobRequest, StopEventsDetectionJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StopEventsDetectionJobCommand, + serializeAws_json1_1StopEventsDetectionJobCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type StopEventsDetectionJobCommandInput = StopEventsDetectionJobRequest; +export type StopEventsDetectionJobCommandOutput = StopEventsDetectionJobResponse & __MetadataBearer; + +/** + *

    Stops an events detection job in progress.

    + */ +export class StopEventsDetectionJobCommand extends $Command< + StopEventsDetectionJobCommandInput, + StopEventsDetectionJobCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopEventsDetectionJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ComprehendClient"; + const commandName = "StopEventsDetectionJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StopEventsDetectionJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: StopEventsDetectionJobResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StopEventsDetectionJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StopEventsDetectionJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1StopEventsDetectionJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/index.ts b/clients/client-comprehend/index.ts index 8a6b2cee93189..b9eaae1961d25 100644 --- a/clients/client-comprehend/index.ts +++ b/clients/client-comprehend/index.ts @@ -18,6 +18,7 @@ export * from "./commands/DescribeDominantLanguageDetectionJobCommand"; export * from "./commands/DescribeEndpointCommand"; export * from "./commands/DescribeEntitiesDetectionJobCommand"; export * from "./commands/DescribeEntityRecognizerCommand"; +export * from "./commands/DescribeEventsDetectionJobCommand"; export * from "./commands/DescribeKeyPhrasesDetectionJobCommand"; export * from "./commands/DescribePiiEntitiesDetectionJobCommand"; export * from "./commands/DescribeSentimentDetectionJobCommand"; @@ -39,6 +40,8 @@ export * from "./commands/ListEntitiesDetectionJobsCommand"; export * from "./pagination/ListEntitiesDetectionJobsPaginator"; export * from "./commands/ListEntityRecognizersCommand"; export * from "./pagination/ListEntityRecognizersPaginator"; +export * from "./commands/ListEventsDetectionJobsCommand"; +export * from "./pagination/ListEventsDetectionJobsPaginator"; export * from "./commands/ListKeyPhrasesDetectionJobsCommand"; export * from "./pagination/ListKeyPhrasesDetectionJobsPaginator"; export * from "./commands/ListPiiEntitiesDetectionJobsCommand"; @@ -50,12 +53,14 @@ export * from "./pagination/ListTopicsDetectionJobsPaginator"; export * from "./commands/StartDocumentClassificationJobCommand"; export * from "./commands/StartDominantLanguageDetectionJobCommand"; export * from "./commands/StartEntitiesDetectionJobCommand"; +export * from "./commands/StartEventsDetectionJobCommand"; export * from "./commands/StartKeyPhrasesDetectionJobCommand"; export * from "./commands/StartPiiEntitiesDetectionJobCommand"; export * from "./commands/StartSentimentDetectionJobCommand"; export * from "./commands/StartTopicsDetectionJobCommand"; export * from "./commands/StopDominantLanguageDetectionJobCommand"; export * from "./commands/StopEntitiesDetectionJobCommand"; +export * from "./commands/StopEventsDetectionJobCommand"; export * from "./commands/StopKeyPhrasesDetectionJobCommand"; export * from "./commands/StopPiiEntitiesDetectionJobCommand"; export * from "./commands/StopSentimentDetectionJobCommand"; diff --git a/clients/client-comprehend/models/models_0.ts b/clients/client-comprehend/models/models_0.ts index d5c0a166423f8..250cfd2ad110a 100644 --- a/clients/client-comprehend/models/models_0.ts +++ b/clients/client-comprehend/models/models_0.ts @@ -6,6 +6,11 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; * manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    */ export interface AugmentedManifestsListItem { + /** + *

    The Amazon S3 location of the augmented manifest file.

    + */ + S3Uri: string | undefined; + /** *

    The JSON attribute that contains the annotations for your training documents. The number * of attribute names that you specify depends on whether your augmented manifest file is the @@ -17,11 +22,6 @@ export interface AugmentedManifestsListItem { * an individual job.

    */ AttributeNames: string[] | undefined; - - /** - *

    The Amazon S3 location of the augmented manifest file.

    - */ - S3Uri: string | undefined; } export namespace AugmentedManifestsListItem { @@ -52,6 +52,11 @@ export namespace BatchDetectDominantLanguageRequest { * error.

    */ export interface BatchItemError { + /** + *

    The zero-based index of the document in the input list.

    + */ + Index?: number; + /** *

    The numeric error code of the error.

    */ @@ -61,11 +66,6 @@ export interface BatchItemError { *

    A text description of the error.

    */ ErrorMessage?: string; - - /** - *

    The zero-based index of the document in the input list.

    - */ - Index?: number; } export namespace BatchItemError { @@ -79,18 +79,18 @@ export namespace BatchItemError { * confidence that Amazon Comprehend has in the accuracy of the detection.

    */ export interface DominantLanguage { - /** - *

    The level of confidence that Amazon Comprehend has in the accuracy of the - * detection.

    - */ - Score?: number; - /** *

    The RFC 5646 language code for the dominant language. For more information about RFC * 5646, see Tags for Identifying * Languages on the IETF Tools web site.

    */ LanguageCode?: string; + + /** + *

    The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

    + */ + Score?: number; } export namespace DominantLanguage { @@ -106,15 +106,15 @@ export namespace DominantLanguage { */ export interface BatchDetectDominantLanguageItemResult { /** - *

    One or more DominantLanguage objects describing the dominant - * languages in the document.

    + *

    The zero-based index of the document in the input list.

    */ - Languages?: DominantLanguage[]; + Index?: number; /** - *

    The zero-based index of the document in the input list.

    + *

    One or more DominantLanguage objects describing the dominant + * languages in the document.

    */ - Index?: number; + Languages?: DominantLanguage[]; } export namespace BatchDetectDominantLanguageItemResult { @@ -124,14 +124,6 @@ export namespace BatchDetectDominantLanguageItemResult { } export interface BatchDetectDominantLanguageResponse { - /** - *

    A list containing one object for each document - * that contained an error. The results are sorted in ascending order by the Index - * field and match the order of the documents in the input list. If there are no errors in the - * batch, the ErrorList is empty.

    - */ - ErrorList: BatchItemError[] | undefined; - /** *

    A list of objects * containing the results of the operation. The results are sorted in ascending order by the @@ -139,6 +131,14 @@ export interface BatchDetectDominantLanguageResponse { * the documents contain an error, the ResultList is empty.

    */ ResultList: BatchDetectDominantLanguageItemResult[] | undefined; + + /** + *

    A list containing one object for each document + * that contained an error. The results are sorted in ascending order by the Index + * field and match the order of the documents in the input list. If there are no errors in the + * batch, the ErrorList is empty.

    + */ + ErrorList: BatchItemError[] | undefined; } export namespace BatchDetectDominantLanguageResponse { @@ -224,18 +224,18 @@ export enum LanguageCode { } export interface BatchDetectEntitiesRequest { - /** - *

    The language of the input documents. You can specify any of the primary languages - * supported by Amazon Comprehend. All documents must be in the same language.

    - */ - LanguageCode: LanguageCode | string | undefined; - /** *

    A list containing the text of the input documents. The list can contain a maximum of 25 * documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded * characters.

    */ TextList: string[] | undefined; + + /** + *

    The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

    + */ + LanguageCode: LanguageCode | string | undefined; } export namespace BatchDetectEntitiesRequest { @@ -263,17 +263,10 @@ export enum EntityType { */ export interface Entity { /** - *

    A character offset in the input text that shows where the entity ends. The offset - * returns the position of each UTF-8 code point in the string. A code point - * is the abstract character from a particular graphical representation. For example, a - * multi-byte UTF-8 character maps to a single code point.

    - */ - EndOffset?: number; - - /** - *

    The text of the entity.

    + *

    The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

    */ - Text?: string; + Score?: number; /** *

    The entity's type.

    @@ -281,10 +274,9 @@ export interface Entity { Type?: EntityType | string; /** - *

    The level of confidence that Amazon Comprehend has in the accuracy of the - * detection.

    + *

    The text of the entity.

    */ - Score?: number; + Text?: string; /** *

    A character offset in the input text that shows where the entity begins (the first @@ -294,6 +286,14 @@ export interface Entity { * point.

    */ BeginOffset?: number; + + /** + *

    A character offset in the input text that shows where the entity ends. The offset + * returns the position of each UTF-8 code point in the string. A code point + * is the abstract character from a particular graphical representation. For example, a + * multi-byte UTF-8 character maps to a single code point.

    + */ + EndOffset?: number; } export namespace Entity { @@ -396,12 +396,15 @@ export namespace BatchDetectKeyPhrasesRequest { */ export interface KeyPhrase { /** - *

    A character offset in the input text where the key phrase ends. The offset returns the - * position of each UTF-8 code point in the string. A code point is the abstract - * character from a particular graphical representation. For example, a multi-byte UTF-8 - * character maps to a single code point.

    + *

    The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

    */ - EndOffset?: number; + Score?: number; + + /** + *

    The text of a key noun phrase.

    + */ + Text?: string; /** *

    A character offset in the input text that shows where the key phrase begins (the first @@ -413,15 +416,12 @@ export interface KeyPhrase { BeginOffset?: number; /** - *

    The text of a key noun phrase.

    - */ - Text?: string; - - /** - *

    The level of confidence that Amazon Comprehend has in the accuracy of the - * detection.

    + *

    A character offset in the input text where the key phrase ends. The offset returns the + * position of each UTF-8 code point in the string. A code point is the abstract + * character from a particular graphical representation. For example, a multi-byte UTF-8 + * character maps to a single code point.

    */ - Score?: number; + EndOffset?: number; } export namespace KeyPhrase { @@ -512,12 +512,6 @@ export enum SentimentType { * detection of sentiments.

    */ export interface SentimentScore { - /** - *

    The level of confidence that Amazon Comprehend has in the accuracy of its detection of - * the MIXED sentiment.

    - */ - Mixed?: number; - /** *

    The level of confidence that Amazon Comprehend has in the accuracy of its detection of * the POSITIVE sentiment.

    @@ -535,6 +529,12 @@ export interface SentimentScore { * the NEUTRAL sentiment.

    */ Neutral?: number; + + /** + *

    The level of confidence that Amazon Comprehend has in the accuracy of its detection of + * the MIXED sentiment.

    + */ + Mixed?: number; } export namespace SentimentScore { @@ -549,6 +549,11 @@ export namespace SentimentScore { * operation.

    */ export interface BatchDetectSentimentItemResult { + /** + *

    The zero-based index of the document in the input list.

    + */ + Index?: number; + /** *

    The sentiment detected in the document.

    */ @@ -559,11 +564,6 @@ export interface BatchDetectSentimentItemResult { * detection.

    */ SentimentScore?: SentimentScore; - - /** - *

    The zero-based index of the document in the input list.

    - */ - Index?: number; } export namespace BatchDetectSentimentItemResult { @@ -573,14 +573,6 @@ export namespace BatchDetectSentimentItemResult { } export interface BatchDetectSentimentResponse { - /** - *

    A list containing one object for each document - * that contained an error. The results are sorted in ascending order by the Index - * field and match the order of the documents in the input list. If there are no errors in the - * batch, the ErrorList is empty.

    - */ - ErrorList: BatchItemError[] | undefined; - /** *

    A list of objects containing the * results of the operation. The results are sorted in ascending order by the Index @@ -588,6 +580,14 @@ export interface BatchDetectSentimentResponse { * an error, the ResultList is empty.

    */ ResultList: BatchDetectSentimentItemResult[] | undefined; + + /** + *

    A list containing one object for each document + * that contained an error. The results are sorted in ascending order by the Index + * field and match the order of the documents in the input list. If there are no errors in the + * batch, the ErrorList is empty.

    + */ + ErrorList: BatchItemError[] | undefined; } export namespace BatchDetectSentimentResponse { @@ -656,15 +656,15 @@ export enum PartOfSpeechTagType { */ export interface PartOfSpeechTag { /** - *

    The confidence that Amazon Comprehend has that the part of speech was correctly - * identified.

    + *

    Identifies the part of speech that the token represents.

    */ - Score?: number; + Tag?: PartOfSpeechTagType | string; /** - *

    Identifies the part of speech that the token represents.

    + *

    The confidence that Amazon Comprehend has that the part of speech was correctly + * identified.

    */ - Tag?: PartOfSpeechTagType | string; + Score?: number; } export namespace PartOfSpeechTag { @@ -678,6 +678,11 @@ export namespace PartOfSpeechTag { * There is one syntax token record for each word in the source text.

    */ export interface SyntaxToken { + /** + *

    A unique identifier for a token.

    + */ + TokenId?: number; + /** *

    The word that was recognized in the source text.

    */ @@ -689,11 +694,6 @@ export interface SyntaxToken { */ BeginOffset?: number; - /** - *

    A unique identifier for a token.

    - */ - TokenId?: number; - /** *

    The zero-based offset from the beginning of the source text to the last character in the * word.

    @@ -719,14 +719,14 @@ export namespace SyntaxToken { */ export interface BatchDetectSyntaxItemResult { /** - *

    The syntax tokens for the words in the document, one token for each word.

    + *

    The zero-based index of the document in the input list.

    */ - SyntaxTokens?: SyntaxToken[]; + Index?: number; /** - *

    The zero-based index of the document in the input list.

    + *

    The syntax tokens for the words in the document, one token for each word.

    */ - Index?: number; + SyntaxTokens?: SyntaxToken[]; } export namespace BatchDetectSyntaxItemResult { @@ -736,14 +736,6 @@ export namespace BatchDetectSyntaxItemResult { } export interface BatchDetectSyntaxResponse { - /** - *

    A list containing one object for each document that - * contained an error. The results are sorted in ascending order by the Index field - * and match the order of the documents in the input list. If there are no errors in the batch, - * the ErrorList is empty.

    - */ - ErrorList: BatchItemError[] | undefined; - /** *

    A list of objects containing the results * of the operation. The results are sorted in ascending order by the Index field @@ -751,6 +743,14 @@ export interface BatchDetectSyntaxResponse { * error, the ResultList is empty.

    */ ResultList: BatchDetectSyntaxItemResult[] | undefined; + + /** + *

    A list containing one object for each document that + * contained an error. The results are sorted in ascending order by the Index field + * and match the order of the documents in the input list. If there are no errors in the batch, + * the ErrorList is empty.

    + */ + ErrorList: BatchItemError[] | undefined; } export namespace BatchDetectSyntaxResponse { @@ -764,14 +764,6 @@ export namespace BatchDetectSyntaxResponse { * classifier.

    */ export interface ClassifierEvaluationMetrics { - /** - *

    A measure of the usefulness of the recognizer results in the test data. High precision - * means that the recognizer returned substantially more relevant results than irrelevant ones. - * Unlike the Precision metric which comes from averaging the precision of all available labels, - * this is based on the overall score of all precision scores added together.

    - */ - MicroPrecision?: number; - /** *

    The fraction of the labels that were correct recognized. It is computed by dividing the * number of labels in the test documents that were correctly recognized by the total number of @@ -780,12 +772,32 @@ export interface ClassifierEvaluationMetrics { Accuracy?: number; /** - *

    A measure of how accurate the classifier results are for the test data. It is a - * combination of the Micro Precision and Micro Recall values. The - * Micro F1Score is the harmonic mean of the two scores. The highest score is 1, - * and the worst score is 0.

    + *

    A measure of the usefulness of the classifier results in the test data. High precision + * means that the classifier returned substantially more relevant results than irrelevant + * ones.

    */ - MicroF1Score?: number; + Precision?: number; + + /** + *

    A measure of how complete the classifier results are for the test data. High recall means + * that the classifier returned most of the relevant results.

    + */ + Recall?: number; + + /** + *

    A measure of how accurate the classifier results are for the test data. It is derived from + * the Precision and Recall values. The F1Score is the + * harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    + */ + F1Score?: number; + + /** + *

    A measure of the usefulness of the recognizer results in the test data. High precision + * means that the recognizer returned substantially more relevant results than irrelevant ones. + * Unlike the Precision metric which comes from averaging the precision of all available labels, + * this is based on the overall score of all precision scores added together.

    + */ + MicroPrecision?: number; /** *

    A measure of how complete the classifier results are for the test data. High recall means @@ -798,11 +810,12 @@ export interface ClassifierEvaluationMetrics { MicroRecall?: number; /** - *

    A measure of the usefulness of the classifier results in the test data. High precision - * means that the classifier returned substantially more relevant results than irrelevant - * ones.

    + *

    A measure of how accurate the classifier results are for the test data. It is a + * combination of the Micro Precision and Micro Recall values. The + * Micro F1Score is the harmonic mean of the two scores. The highest score is 1, + * and the worst score is 0.

    */ - Precision?: number; + MicroF1Score?: number; /** *

    Indicates the fraction of labels that are incorrectly predicted. Also seen as the fraction @@ -810,20 +823,7 @@ export interface ClassifierEvaluationMetrics { * better.

    */ HammingLoss?: number; - - /** - *

    A measure of how accurate the classifier results are for the test data. It is derived from - * the Precision and Recall values. The F1Score is the - * harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    - */ - F1Score?: number; - - /** - *

    A measure of how complete the classifier results are for the test data. High recall means - * that the classifier returned most of the relevant results.

    - */ - Recall?: number; -} +} export namespace ClassifierEvaluationMetrics { export const filterSensitiveLog = (obj: ClassifierEvaluationMetrics): any => ({ @@ -846,17 +846,17 @@ export interface ClassifierMetadata { */ NumberOfTrainedDocuments?: number; - /** - *

    Describes the result metrics for the test data associated with an documentation - * classifier.

    - */ - EvaluationMetrics?: ClassifierEvaluationMetrics; - /** *

    The number of documents in the input data that were used to test the classifier. Typically * this is 10 to 20 percent of the input documents, up to 10,000 documents.

    */ NumberOfTestDocuments?: number; + + /** + *

    Describes the result metrics for the test data associated with an documentation + * classifier.

    + */ + EvaluationMetrics?: ClassifierEvaluationMetrics; } export namespace ClassifierMetadata { @@ -889,14 +889,14 @@ export namespace ClassifyDocumentRequest { */ export interface DocumentClass { /** - *

    The confidence score that Amazon Comprehend has this class correctly attributed.

    + *

    The name of the class.

    */ - Score?: number; + Name?: string; /** - *

    The name of the class.

    + *

    The confidence score that Amazon Comprehend has this class correctly attributed.

    */ - Name?: string; + Score?: number; } export namespace DocumentClass { @@ -927,14 +927,6 @@ export namespace DocumentLabel { } export interface ClassifyDocumentResponse { - /** - *

    The labels used the document being analyzed. These are used for multi-label trained - * models. Individual labels represent different categories that are related in some manner and - * are not multually exclusive. For example, a movie can be just an action movie, or it can be an - * action movie, a science fiction movie, and a comedy, all at the same time.

    - */ - Labels?: DocumentLabel[]; - /** *

    The classes used by the document being analyzed. These are used for multi-class trained * models. Individual classes are mutually exclusive and each document is expected to have only a @@ -942,6 +934,14 @@ export interface ClassifyDocumentResponse { * same time.

    */ Classes?: DocumentClass[]; + + /** + *

    The labels used the document being analyzed. These are used for multi-label trained + * models. Individual labels represent different categories that are related in some manner and + * are not mutually exclusive. For example, a movie can be just an action movie, or it can be an + * action movie, a science fiction movie, and a comedy, all at the same time.

    + */ + Labels?: DocumentLabel[]; } export namespace ClassifyDocumentResponse { @@ -976,16 +976,6 @@ export enum DocumentClassifierDataFormat { *

    For more information on how the input file is formatted, see how-document-classification-training-data.

    */ export interface DocumentClassifierInputDataConfig { - /** - *

    Indicates the delimiter used to separate each label for training a multi-label classifier. - * The default delimiter between labels is a pipe (|). You can use a different character as a - * delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the - * training documents use a delimiter other than the default or the delimiter you specify, the - * labels on that line will be combined to make a single unique label, such as - * LABELLABELLABEL.

    - */ - LabelDelimiter?: string; - /** *

    The format of your training data:

    *
      @@ -1009,15 +999,6 @@ export interface DocumentClassifierInputDataConfig { */ DataFormat?: DocumentClassifierDataFormat | string; - /** - *

      A list of augmented manifest files that provide training data for your custom model. An - * augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground - * Truth.

      - *

      This parameter is required if you set DataFormat to - * AUGMENTED_MANIFEST.

      - */ - AugmentedManifests?: AugmentedManifestsListItem[]; - /** *

      The Amazon S3 URI for the input data. The S3 bucket must be in the same region as the API * endpoint that you are calling. The URI can point to a single input file or it can provide the @@ -1029,6 +1010,25 @@ export interface DocumentClassifierInputDataConfig { * COMPREHEND_CSV.

      */ S3Uri?: string; + + /** + *

      Indicates the delimiter used to separate each label for training a multi-label classifier. + * The default delimiter between labels is a pipe (|). You can use a different character as a + * delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the + * training documents use a delimiter other than the default or the delimiter you specify, the + * labels on that line will be combined to make a single unique label, such as + * LABELLABELLABEL.

      + */ + LabelDelimiter?: string; + + /** + *

      A list of augmented manifest files that provide training data for your custom model. An + * augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground + * Truth.

      + *

      This parameter is required if you set DataFormat to + * AUGMENTED_MANIFEST.

      + */ + AugmentedManifests?: AugmentedManifestsListItem[]; } export namespace DocumentClassifierInputDataConfig { @@ -1046,6 +1046,18 @@ export enum DocumentClassifierMode { *

      Provides output results configuration parameters for custom classifier jobs.

      */ export interface DocumentClassifierOutputDataConfig { + /** + *

      When you use the OutputDataConfig object while creating a custom + * classifier, you specify the Amazon S3 location where you want to write the confusion matrix. + * The URI must be in the same region as the API endpoint that you are calling. The location is + * used as the prefix for the actual location of this output file.

      + *

      When the custom classifier job is finished, the service creates the output file in a + * directory specific to the job. The S3Uri field contains the location of the + * output file, called output.tar.gz. It is a compressed archive that contains the + * confusion matrix.

      + */ + S3Uri?: string; + /** *

      ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the * output results from an analysis job. The KmsKeyId can be one of the following formats:

      @@ -1071,18 +1083,6 @@ export interface DocumentClassifierOutputDataConfig { *
    */ KmsKeyId?: string; - - /** - *

    When you use the OutputDataConfig object while creating a custom - * classifier, you specify the Amazon S3 location where you want to write the confusion matrix. - * The URI must be in the same region as the API endpoint that you are calling. The location is - * used as the prefix for the actual location of this output file.

    - *

    When the custom classifier job is finished, the service creates the output file in a - * directory specific to the job. The S3Uri field contains the location of the - * output file, called output.tar.gz. It is a compressed archive that contains the - * confusion matrix.

    - */ - S3Uri?: string; } export namespace DocumentClassifierOutputDataConfig { @@ -1122,7 +1122,7 @@ export namespace Tag { /** *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing - * the resources you are using for the job. For For more information, see Amazon + * the resources you are using for the job. For more information, see Amazon * VPC.

    */ export interface VpcConfig { @@ -1153,17 +1153,15 @@ export namespace VpcConfig { export interface CreateDocumentClassifierRequest { /** - *

    A unique identifier for the request. If you don't set the client request token, Amazon - * Comprehend generates one.

    + *

    The name of the document classifier.

    */ - ClientRequestToken?: string; + DocumentClassifierName: string | undefined; /** - *

    The language of the input documents. You can specify any of the following languages - * supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), - * Italian ("it"), or Portuguese ("pt"). All documents must be in the same language.

    + *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your input data.

    */ - LanguageCode: LanguageCode | string | undefined; + DataAccessRoleArn: string | undefined; /** *

    Tags to be associated with the document classifier being created. A tag is a key-value @@ -1174,20 +1172,28 @@ export interface CreateDocumentClassifierRequest { Tags?: Tag[]; /** - *

    Indicates the mode in which the classifier will be trained. The classifier can be trained - * in multi-class mode, which identifies one and only one class for each document, or multi-label - * mode, which identifies one or more labels for each document. In multi-label mode, multiple - * labels for an individual document are separated by a delimiter. The default delimiter between - * labels is a pipe (|).

    + *

    Specifies the format and location of the input data for the job.

    */ - Mode?: DocumentClassifierMode | string; + InputDataConfig: DocumentClassifierInputDataConfig | undefined; /** - *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing - * the resources you are using for your custom classifier. For more information, see Amazon - * VPC.

    + *

    Enables the addition of output results configuration parameters for custom classifier + * jobs.

    */ - VpcConfig?: VpcConfig; + OutputDataConfig?: DocumentClassifierOutputDataConfig; + + /** + *

    A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

    + */ + ClientRequestToken?: string; + + /** + *

    The language of the input documents. You can specify any of the following languages + * supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), + * Italian ("it"), or Portuguese ("pt"). All documents must be in the same language.

    + */ + LanguageCode: LanguageCode | string | undefined; /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt @@ -1208,26 +1214,20 @@ export interface CreateDocumentClassifierRequest { VolumeKmsKeyId?: string; /** - *

    The name of the document classifier.

    - */ - DocumentClassifierName: string | undefined; - - /** - *

    Specifies the format and location of the input data for the job.

    - */ - InputDataConfig: DocumentClassifierInputDataConfig | undefined; - - /** - *

    Enables the addition of output results configuration parameters for custom classifier - * jobs.

    + *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your custom classifier. For more information, see Amazon + * VPC.

    */ - OutputDataConfig?: DocumentClassifierOutputDataConfig; + VpcConfig?: VpcConfig; /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants - * Amazon Comprehend read access to your input data.

    + *

    Indicates the mode in which the classifier will be trained. The classifier can be trained + * in multi-class mode, which identifies one and only one class for each document, or multi-label + * mode, which identifies one or more labels for each document. In multi-label mode, multiple + * labels for an individual document are separated by a delimiter. The default delimiter between + * labels is a pipe (|).

    */ - DataAccessRoleArn: string | undefined; + Mode?: DocumentClassifierMode | string; } export namespace CreateDocumentClassifierRequest { @@ -1330,13 +1330,6 @@ export namespace TooManyTagsException { } export interface CreateEndpointRequest { - /** - *

    The desired number of inference units to be used by the model using this endpoint. - * - * Each inference unit represents of a throughput of 100 characters per second.

    - */ - DesiredInferenceUnits: number | undefined; - /** *

    This is the descriptive suffix that becomes part of the EndpointArn used for * all subsequent requests to this resource.

    @@ -1350,11 +1343,11 @@ export interface CreateEndpointRequest { ModelArn: string | undefined; /** - *

    Tags associated with the endpoint being created. A tag is a key-value pair that adds - * metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an - * endpoint to indicate its use by the sales department.

    + *

    The desired number of inference units to be used by the model using this endpoint. + * + * Each inference unit represents of a throughput of 100 characters per second.

    */ - Tags?: Tag[]; + DesiredInferenceUnits: number | undefined; /** *

    An idempotency token provided by the customer. If this token matches a previous endpoint @@ -1362,6 +1355,13 @@ export interface CreateEndpointRequest { *

    */ ClientRequestToken?: string; + + /** + *

    Tags associated with the endpoint being created. A tag is a key-value pair that adds + * metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an + * endpoint to indicate its use by the sales department.

    + */ + Tags?: Tag[]; } export namespace CreateEndpointRequest { @@ -1480,36 +1480,6 @@ export namespace EntityTypesListItem { *

    Specifies the format and location of the input data.

    */ export interface EntityRecognizerInputDataConfig { - /** - *

    The S3 location of the CSV file that annotates your training documents.

    - */ - Annotations?: EntityRecognizerAnnotations; - - /** - *

    The entity types in the labeled training data that Amazon Comprehend uses to train the - * custom entity recognizer. Any entity types that you don't specify are ignored.

    - *

    A maximum of 25 entity types can be used at one time to train an entity recognizer. Entity - * types must not contain the following invalid characters: \n (line break), \\n (escaped line - * break), \r (carriage return), \\r (escaped carriage return), \t (tab), \\t (escaped tab), - * space, and , (comma).

    - */ - EntityTypes: EntityTypesListItem[] | undefined; - - /** - *

    A list of augmented manifest files that provide training data for your custom model. An - * augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground - * Truth.

    - *

    This parameter is required if you set DataFormat to - * AUGMENTED_MANIFEST.

    - */ - AugmentedManifests?: AugmentedManifestsListItem[]; - - /** - *

    The S3 location of the CSV file that has the entity list for your custom entity - * recognizer.

    - */ - EntityList?: EntityRecognizerEntityList; - /** *

    The format of your training data:

    *
      @@ -1538,6 +1508,16 @@ export interface EntityRecognizerInputDataConfig { */ DataFormat?: EntityRecognizerDataFormat | string; + /** + *

      The entity types in the labeled training data that Amazon Comprehend uses to train the + * custom entity recognizer. Any entity types that you don't specify are ignored.

      + *

      A maximum of 25 entity types can be used at one time to train an entity recognizer. Entity + * types must not contain the following invalid characters: \n (line break), \\n (escaped line + * break), \r (carriage return), \\r (escaped carriage return), \t (tab), \\t (escaped tab), + * space, and , (comma).

      + */ + EntityTypes: EntityTypesListItem[] | undefined; + /** *

      The S3 location of the folder that contains the training documents for your custom entity * recognizer.

      @@ -1545,6 +1525,26 @@ export interface EntityRecognizerInputDataConfig { * COMPREHEND_CSV.

      */ Documents?: EntityRecognizerDocuments; + + /** + *

      The S3 location of the CSV file that annotates your training documents.

      + */ + Annotations?: EntityRecognizerAnnotations; + + /** + *

      The S3 location of the CSV file that has the entity list for your custom entity + * recognizer.

      + */ + EntityList?: EntityRecognizerEntityList; + + /** + *

      A list of augmented manifest files that provide training data for your custom model. An + * augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground + * Truth.

      + *

      This parameter is required if you set DataFormat to + * AUGMENTED_MANIFEST.

      + */ + AugmentedManifests?: AugmentedManifestsListItem[]; } export namespace EntityRecognizerInputDataConfig { @@ -1555,19 +1555,31 @@ export namespace EntityRecognizerInputDataConfig { export interface CreateEntityRecognizerRequest { /** - *

      Tags to be associated with the entity recognizer being created. A tag is a key-value pair - * that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + *

      The name given to the newly created recognizer. Recognizer names can be a maximum of 256 + * characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name + * must be unique in the account/region.

      + */ + RecognizerName: string | undefined; + + /** + *

      The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your input data.

      + */ + DataAccessRoleArn: string | undefined; + + /** + *

      Tags to be associated with the entity recognizer being created. A tag is a key-value pair + * that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with * "Sales" as the key might be added to a resource to indicate its use by the sales department. *

      */ Tags?: Tag[]; /** - *

      You can specify any of the following languages supported by Amazon Comprehend: English - * ("en"), Spanish ("es"), French ("fr"), Italian ("it"), German ("de"), or Portuguese ("pt"). - * All documents must be in the same language.

      + *

      Specifies the format and location of the input data. The S3 bucket containing the input + * data must be located in the same region as the entity recognizer being created.

      */ - LanguageCode: LanguageCode | string | undefined; + InputDataConfig: EntityRecognizerInputDataConfig | undefined; /** *

      A unique identifier for the request. If you don't set the client request token, Amazon @@ -1575,6 +1587,13 @@ export interface CreateEntityRecognizerRequest { */ ClientRequestToken?: string; + /** + *

      You can specify any of the following languages supported by Amazon Comprehend: English + * ("en"), Spanish ("es"), French ("fr"), Italian ("it"), German ("de"), or Portuguese ("pt"). + * All documents must be in the same language.

      + */ + LanguageCode: LanguageCode | string | undefined; + /** *

      ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt * data on the storage volume attached to the ML compute instance(s) that process the analysis @@ -1593,12 +1612,6 @@ export interface CreateEntityRecognizerRequest { */ VolumeKmsKeyId?: string; - /** - *

      Specifies the format and location of the input data. The S3 bucket containing the input - * data must be located in the same region as the entity recognizer being created.

      - */ - InputDataConfig: EntityRecognizerInputDataConfig | undefined; - /** *

      Configuration parameters for an optional private Virtual Private Cloud (VPC) containing * the resources you are using for your custom entity recognizer. For more information, see @@ -1606,19 +1619,6 @@ export interface CreateEntityRecognizerRequest { * VPC.

      */ VpcConfig?: VpcConfig; - - /** - *

      The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants - * Amazon Comprehend read access to your input data.

      - */ - DataAccessRoleArn: string | undefined; - - /** - *

      The name given to the newly created recognizer. Recognizer names can be a maximum of 256 - * characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name - * must be unique in the account/region.

      - */ - RecognizerName: string | undefined; } export namespace CreateEntityRecognizerRequest { @@ -1776,6 +1776,18 @@ export enum JobStatus { *

      */ export interface OutputDataConfig { + /** + *

      When you use the OutputDataConfig object with asynchronous operations, you + * specify the Amazon S3 location where you want to write the output data. The URI must be in the + * same region as the API endpoint that you are calling. The location is used as the prefix for + * the actual location of the output file.

      + *

      When the topic detection job is finished, the service creates an output file in a + * directory specific to the job. The S3Uri field contains the location of the + * output file, called output.tar.gz. It is a compressed archive that contains the + * ouput of the operation.

      + */ + S3Uri: string | undefined; + /** *

      ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the * output results from an analysis job. The KmsKeyId can be one of the following formats:

      @@ -1801,18 +1813,6 @@ export interface OutputDataConfig { *
    */ KmsKeyId?: string; - - /** - *

    When you use the OutputDataConfig object with asynchronous operations, you - * specify the Amazon S3 location where you want to write the output data. The URI must be in the - * same region as the API endpoint that you are calling. The location is used as the prefix for - * the actual location of the output file.

    - *

    When the topic detection job is finished, the service creates an output file in a - * directory specific to the job. The S3Uri field contains the location of the - * output file, called output.tar.gz. It is a compressed archive that contains the - * ouput of the operation.

    - */ - S3Uri: string | undefined; } export namespace OutputDataConfig { @@ -1826,10 +1826,14 @@ export namespace OutputDataConfig { */ export interface DocumentClassificationJobProperties { /** - *

    The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data.

    + *

    The identifier assigned to the document classification job.

    */ - DataAccessRoleArn?: string; + JobId?: string; + + /** + *

    The name that you assigned to the document classification job.

    + */ + JobName?: string; /** *

    The current status of the document classification job. If the status is @@ -1838,11 +1842,24 @@ export interface DocumentClassificationJobProperties { JobStatus?: JobStatus | string; /** - *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - * resources you are using for your document classification job. For more information, see Amazon - * VPC.

    + *

    A description of the status of the job.

    */ - VpcConfig?: VpcConfig; + Message?: string; + + /** + *

    The time that the document classification job was submitted for processing.

    + */ + SubmitTime?: Date; + + /** + *

    The time that the document classification job completed.

    + */ + EndTime?: Date; + + /** + *

    The Amazon Resource Name (ARN) that identifies the document classifier.

    + */ + DocumentClassifierArn?: string; /** *

    The input data configuration that you supplied when you created the document @@ -1851,9 +1868,16 @@ export interface DocumentClassificationJobProperties { InputDataConfig?: InputDataConfig; /** - *

    The identifier assigned to the document classification job.

    + *

    The output data configuration that you supplied when you created the document + * classification job.

    */ - JobId?: string; + OutputDataConfig?: OutputDataConfig; + + /** + *

    The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data.

    + */ + DataAccessRoleArn?: string; /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt @@ -1874,35 +1898,11 @@ export interface DocumentClassificationJobProperties { VolumeKmsKeyId?: string; /** - *

    The time that the document classification job was submitted for processing.

    - */ - SubmitTime?: Date; - - /** - *

    The Amazon Resource Name (ARN) that identifies the document classifier.

    - */ - DocumentClassifierArn?: string; - - /** - *

    A description of the status of the job.

    - */ - Message?: string; - - /** - *

    The name that you assigned to the document classification job.

    - */ - JobName?: string; - - /** - *

    The time that the document classification job completed.

    - */ - EndTime?: Date; - - /** - *

    The output data configuration that you supplied when you created the document - * classification job.

    + *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your document classification job. For more information, see Amazon + * VPC.

    */ - OutputDataConfig?: OutputDataConfig; + VpcConfig?: VpcConfig; } export namespace DocumentClassificationJobProperties { @@ -1969,39 +1969,15 @@ export enum ModelStatus { */ export interface DocumentClassifierProperties { /** - *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt - * data on the storage volume attached to the ML compute instance(s) that process the analysis - * job. The VolumeKmsKeyId can be either of the following formats:

    - *
      - *
    • - *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    • - *

      Amazon Resource Name (ARN) of a KMS Key: - * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    - */ - VolumeKmsKeyId?: string; - - /** - *

    Provides output results configuration parameters for custom classifier jobs.

    - */ - OutputDataConfig?: DocumentClassifierOutputDataConfig; - - /** - *

    Indicates the time when the training starts on documentation classifiers. You are billed - * for the time interval between this time and the value of TrainingEndTime.

    + *

    The Amazon Resource Name (ARN) that identifies the document classifier.

    */ - TrainingStartTime?: Date; + DocumentClassifierArn?: string; /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants - * Amazon Comprehend read access to your input data.

    + *

    The language code for the language of the documents that the classifier was trained + * on.

    */ - DataAccessRoleArn?: string; + LanguageCode?: LanguageCode | string; /** *

    The status of the document classifier. If the status is TRAINED the @@ -2011,16 +1987,9 @@ export interface DocumentClassifierProperties { Status?: ModelStatus | string; /** - *

    Information about the document classifier, including the number of documents used for - * training the classifier, the number of documents used for test the classifier, and an accuracy - * rating.

    - */ - ClassifierMetadata?: ClassifierMetadata; - - /** - *

    The Amazon Resource Name (ARN) that identifies the document classifier.

    + *

    Additional information about the status of the classifier.

    */ - DocumentClassifierArn?: string; + Message?: string; /** *

    The time that the document classifier was submitted for training.

    @@ -2028,16 +1997,15 @@ export interface DocumentClassifierProperties { SubmitTime?: Date; /** - *

    Indicates the mode in which the specific classifier was trained. This also indicates the - * format of input documents and the format of the confusion matrix. Each classifier can only be - * trained in one mode and this cannot be changed once the classifier is trained.

    + *

    The time that training the document classifier completed.

    */ - Mode?: DocumentClassifierMode | string; + EndTime?: Date; /** - *

    Additional information about the status of the classifier.

    + *

    Indicates the time when the training starts on documentation classifiers. You are billed + * for the time interval between this time and the value of TrainingEndTime.

    */ - Message?: string; + TrainingStartTime?: Date; /** *

    The time that training of the document classifier was completed. Indicates the time when @@ -2046,17 +2014,48 @@ export interface DocumentClassifierProperties { */ TrainingEndTime?: Date; - /** - *

    The time that training the document classifier completed.

    - */ - EndTime?: Date; - /** *

    The input data configuration that you supplied when you created the document classifier * for training.

    */ InputDataConfig?: DocumentClassifierInputDataConfig; + /** + *

    Provides output results configuration parameters for custom classifier jobs.

    + */ + OutputDataConfig?: DocumentClassifierOutputDataConfig; + + /** + *

    Information about the document classifier, including the number of documents used for + * training the classifier, the number of documents used for test the classifier, and an accuracy + * rating.

    + */ + ClassifierMetadata?: ClassifierMetadata; + + /** + *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your input data.

    + */ + DataAccessRoleArn?: string; + + /** + *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

    + *
      + *
    • + *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    • + *

      Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    + */ + VolumeKmsKeyId?: string; + /** *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the * resources you are using for your custom classifier. For more information, see Amazon @@ -2065,10 +2064,11 @@ export interface DocumentClassifierProperties { VpcConfig?: VpcConfig; /** - *

    The language code for the language of the documents that the classifier was trained - * on.

    + *

    Indicates the mode in which the specific classifier was trained. This also indicates the + * format of input documents and the format of the confusion matrix. Each classifier can only be + * trained in one mode and this cannot be changed once the classifier is trained.

    */ - LanguageCode?: LanguageCode | string; + Mode?: DocumentClassifierMode | string; } export namespace DocumentClassifierProperties { @@ -2113,43 +2113,41 @@ export namespace DescribeDominantLanguageDetectionJobRequest { */ export interface DominantLanguageDetectionJobProperties { /** - *

    The input data configuration that you supplied when you created the dominant language - * detection job.

    + *

    The identifier assigned to the dominant language detection job.

    */ - InputDataConfig?: InputDataConfig; + JobId?: string; /** - *

    The time that the dominant language detection job was submitted for processing.

    + *

    The name that you assigned to the dominant language detection job.

    */ - SubmitTime?: Date; + JobName?: string; /** - *

    The time that the dominant language detection job completed.

    + *

    The current status of the dominant language detection job. If the status is + * FAILED, the Message field shows the reason for the failure.

    */ - EndTime?: Date; + JobStatus?: JobStatus | string; /** - *

    The name that you assigned to the dominant language detection job.

    + *

    A description for the status of a job.

    */ - JobName?: string; + Message?: string; /** - *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - * resources you are using for your dominant language detection job. For more information, see - * Amazon - * VPC.

    + *

    The time that the dominant language detection job was submitted for processing.

    */ - VpcConfig?: VpcConfig; + SubmitTime?: Date; /** - *

    The identifier assigned to the dominant language detection job.

    + *

    The time that the dominant language detection job completed.

    */ - JobId?: string; + EndTime?: Date; /** - *

    A description for the status of a job.

    + *

    The input data configuration that you supplied when you created the dominant language + * detection job.

    */ - Message?: string; + InputDataConfig?: InputDataConfig; /** *

    The output data configuration that you supplied when you created the dominant language @@ -2157,12 +2155,6 @@ export interface DominantLanguageDetectionJobProperties { */ OutputDataConfig?: OutputDataConfig; - /** - *

    The current status of the dominant language detection job. If the status is - * FAILED, the Message field shows the reason for the failure.

    - */ - JobStatus?: JobStatus | string; - /** *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input * data.

    @@ -2186,6 +2178,14 @@ export interface DominantLanguageDetectionJobProperties { * */ VolumeKmsKeyId?: string; + + /** + *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your dominant language detection job. For more information, see + * Amazon + * VPC.

    + */ + VpcConfig?: VpcConfig; } export namespace DominantLanguageDetectionJobProperties { @@ -2234,14 +2234,9 @@ export enum EndpointStatus { */ export interface EndpointProperties { /** - *

    The number of inference units currently used by the model using this endpoint.

    - */ - CurrentInferenceUnits?: number; - - /** - *

    Specifies a reason for failure in cases of Failed status.

    + *

    The Amazon Resource Number (ARN) of the endpoint.

    */ - Message?: string; + EndpointArn?: string; /** *

    Specifies the status of the endpoint. Because the endpoint updates and creation are @@ -2250,6 +2245,11 @@ export interface EndpointProperties { */ Status?: EndpointStatus | string; + /** + *

    Specifies a reason for failure in cases of Failed status.

    + */ + Message?: string; + /** *

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    */ @@ -2263,9 +2263,9 @@ export interface EndpointProperties { DesiredInferenceUnits?: number; /** - *

    The date and time that the endpoint was last modified.

    + *

    The number of inference units currently used by the model using this endpoint.

    */ - LastModifiedTime?: Date; + CurrentInferenceUnits?: number; /** *

    The creation date and time of the endpoint.

    @@ -2273,9 +2273,9 @@ export interface EndpointProperties { CreationTime?: Date; /** - *

    The Amazon Resource Number (ARN) of the endpoint.

    + *

    The date and time that the endpoint was last modified.

    */ - EndpointArn?: string; + LastModifiedTime?: Date; } export namespace EndpointProperties { @@ -2316,88 +2316,88 @@ export namespace DescribeEntitiesDetectionJobRequest { */ export interface EntitiesDetectionJobProperties { /** - *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - * resources you are using for your entity detection job. For more information, see Amazon - * VPC.

    + *

    The identifier assigned to the entities detection job.

    */ - VpcConfig?: VpcConfig; + JobId?: string; /** - *

    The language code of the input documents.

    + *

    The name that you assigned the entities detection job.

    */ - LanguageCode?: LanguageCode | string; + JobName?: string; /** - *

    The identifier assigned to the entities detection job.

    + *

    The current status of the entities detection job. If the status is FAILED, + * the Message field shows the reason for the failure.

    */ - JobId?: string; + JobStatus?: JobStatus | string; /** - *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input - * data.

    + *

    A description of the status of a job.

    */ - DataAccessRoleArn?: string; + Message?: string; /** - *

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    + *

    The time that the entities detection job was submitted for processing.

    */ - EntityRecognizerArn?: string; + SubmitTime?: Date; /** - *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt - * data on the storage volume attached to the ML compute instance(s) that process the analysis - * job. The VolumeKmsKeyId can be either of the following formats:

    - *
      - *
    • - *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    • - *

      Amazon Resource Name (ARN) of a KMS Key: - * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    + *

    The time that the entities detection job completed

    */ - VolumeKmsKeyId?: string; + EndTime?: Date; /** - *

    The output data configuration that you supplied when you created the entities detection - * job.

    + *

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    */ - OutputDataConfig?: OutputDataConfig; + EntityRecognizerArn?: string; /** - *

    A description of the status of a job.

    + *

    The input data configuration that you supplied when you created the entities detection + * job.

    */ - Message?: string; + InputDataConfig?: InputDataConfig; /** - *

    The name that you assigned the entities detection job.

    + *

    The output data configuration that you supplied when you created the entities detection + * job.

    */ - JobName?: string; + OutputDataConfig?: OutputDataConfig; /** - *

    The current status of the entities detection job. If the status is FAILED, - * the Message field shows the reason for the failure.

    + *

    The language code of the input documents.

    */ - JobStatus?: JobStatus | string; + LanguageCode?: LanguageCode | string; /** - *

    The time that the entities detection job was submitted for processing.

    + *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

    */ - SubmitTime?: Date; + DataAccessRoleArn?: string; /** - *

    The time that the entities detection job completed

    + *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

    + *
      + *
    • + *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    • + *

      Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    */ - EndTime?: Date; + VolumeKmsKeyId?: string; /** - *

    The input data configuration that you supplied when you created the entities detection - * job.

    + *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your entity detection job. For more information, see Amazon + * VPC.

    */ - InputDataConfig?: InputDataConfig; + VpcConfig?: VpcConfig; } export namespace EntitiesDetectionJobProperties { @@ -2437,6 +2437,13 @@ export namespace DescribeEntityRecognizerRequest { * type.

    */ export interface EntityTypesEvaluationMetrics { + /** + *

    A measure of the usefulness of the recognizer results for a specific entity type in the + * test data. High precision means that the recognizer returned substantially more relevant + * results than irrelevant ones.

    + */ + Precision?: number; + /** *

    A measure of how complete the recognizer results are for a specific entity type in the * test data. High recall means that the recognizer returned most of the relevant results.

    @@ -2444,19 +2451,12 @@ export interface EntityTypesEvaluationMetrics { Recall?: number; /** - *

    A measure of how accurate the recognizer results are for for a specific entity type in the + *

    A measure of how accurate the recognizer results are for a specific entity type in the * test data. It is derived from the Precision and Recall values. The * F1Score is the harmonic average of the two scores. The highest score is 1, and * the worst score is 0.

    */ F1Score?: number; - - /** - *

    A measure of the usefulness of the recognizer results for a specific entity type in the - * test data. High precision means that the recognizer returned substantially more relevant - * results than irrelevant ones.

    - */ - Precision?: number; } export namespace EntityTypesEvaluationMetrics { @@ -2471,9 +2471,10 @@ export namespace EntityTypesEvaluationMetrics { */ export interface EntityRecognizerMetadataEntityTypesListItem { /** - *

    Indicates the number of times the given entity type was seen in the training data.

    + *

    Type of entity from the list of entity types in the metadata of an entity recognizer. + *

    */ - NumberOfTrainMentions?: number; + Type?: string; /** *

    Detailed information about the accuracy of the entity recognizer for a specific item on @@ -2482,10 +2483,9 @@ export interface EntityRecognizerMetadataEntityTypesListItem { EvaluationMetrics?: EntityTypesEvaluationMetrics; /** - *

    Type of entity from the list of entity types in the metadata of an entity recognizer. - *

    + *

    Indicates the number of times the given entity type was seen in the training data.

    */ - Type?: string; + NumberOfTrainMentions?: number; } export namespace EntityRecognizerMetadataEntityTypesListItem { @@ -2498,6 +2498,13 @@ export namespace EntityRecognizerMetadataEntityTypesListItem { *

    Detailed information about the accuracy of an entity recognizer.

    */ export interface EntityRecognizerEvaluationMetrics { + /** + *

    A measure of the usefulness of the recognizer results in the test data. High precision + * means that the recognizer returned substantially more relevant results than irrelevant ones. + *

    + */ + Precision?: number; + /** *

    A measure of how complete the recognizer results are for the test data. High recall means * that the recognizer returned most of the relevant results.

    @@ -2510,13 +2517,6 @@ export interface EntityRecognizerEvaluationMetrics { * harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    */ F1Score?: number; - - /** - *

    A measure of the usefulness of the recognizer results in the test data. High precision - * means that the recognizer returned substantially more relevant results than irrelevant ones. - *

    - */ - Precision?: number; } export namespace EntityRecognizerEvaluationMetrics { @@ -2530,14 +2530,10 @@ export namespace EntityRecognizerEvaluationMetrics { */ export interface EntityRecognizerMetadata { /** - *

    Entity types from the metadata of an entity recognizer.

    - */ - EntityTypes?: EntityRecognizerMetadataEntityTypesListItem[]; - - /** - *

    Detailed information about the accuracy of an entity recognizer.

    + *

    The number of documents in the input data that were used to train the entity recognizer. + * Typically this is 80 to 90 percent of the input documents.

    */ - EvaluationMetrics?: EntityRecognizerEvaluationMetrics; + NumberOfTrainedDocuments?: number; /** *

    The number of documents in the input data that were used to test the entity recognizer. @@ -2546,10 +2542,14 @@ export interface EntityRecognizerMetadata { NumberOfTestDocuments?: number; /** - *

    The number of documents in the input data that were used to train the entity recognizer. - * Typically this is 80 to 90 percent of the input documents.

    + *

    Detailed information about the accuracy of an entity recognizer.

    */ - NumberOfTrainedDocuments?: number; + EvaluationMetrics?: EntityRecognizerEvaluationMetrics; + + /** + *

    Entity types from the metadata of an entity recognizer.

    + */ + EntityTypes?: EntityRecognizerMetadataEntityTypesListItem[]; } export namespace EntityRecognizerMetadata { @@ -2563,49 +2563,41 @@ export namespace EntityRecognizerMetadata { */ export interface EntityRecognizerProperties { /** - *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt - * data on the storage volume attached to the ML compute instance(s) that process the analysis - * job. The VolumeKmsKeyId can be either of the following formats:

    - *
      - *
    • - *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    • - *

      Amazon Resource Name (ARN) of a KMS Key: - * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    + *

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    */ - VolumeKmsKeyId?: string; + EntityRecognizerArn?: string; /** - *

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    + *

    The language of the input documents. All documents must be in the same language. Only + * English ("en") is currently supported.

    */ - EntityRecognizerArn?: string; + LanguageCode?: LanguageCode | string; /** - *

    A description of the status of the recognizer.

    + *

    Provides the status of the entity recognizer.

    */ - Message?: string; + Status?: ModelStatus | string; /** - *

    Provides information about an entity recognizer.

    + *

    A description of the status of the recognizer.

    */ - RecognizerMetadata?: EntityRecognizerMetadata; + Message?: string; /** - *

    The language of the input documents. All documents must be in the same language. Only - * English ("en") is currently supported.

    + *

    The time that the recognizer was submitted for processing.

    */ - LanguageCode?: LanguageCode | string; + SubmitTime?: Date; /** *

    The time that the recognizer creation completed.

    */ EndTime?: Date; + /** + *

    The time that training of the entity recognizer started.

    + */ + TrainingStartTime?: Date; + /** *

    The time that training of the entity recognizer was completed.

    */ @@ -2617,16 +2609,9 @@ export interface EntityRecognizerProperties { InputDataConfig?: EntityRecognizerInputDataConfig; /** - *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - * resources you are using for your custom entity recognizer. For more information, see Amazon - * VPC.

    + *

    Provides information about an entity recognizer.

    */ - VpcConfig?: VpcConfig; - - /** - *

    The time that the recognizer was submitted for processing.

    - */ - SubmitTime?: Date; + RecognizerMetadata?: EntityRecognizerMetadata; /** *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants @@ -2635,14 +2620,29 @@ export interface EntityRecognizerProperties { DataAccessRoleArn?: string; /** - *

    The time that training of the entity recognizer started.

    + *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

    + *
      + *
    • + *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    • + *

      Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    */ - TrainingStartTime?: Date; + VolumeKmsKeyId?: string; /** - *

    Provides the status of the entity recognizer.

    + *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your custom entity recognizer. For more information, see Amazon + * VPC.

    */ - Status?: ModelStatus | string; + VpcConfig?: VpcConfig; } export namespace EntityRecognizerProperties { @@ -2668,6 +2668,99 @@ export namespace DescribeEntityRecognizerResponse { }); } +export interface DescribeEventsDetectionJobRequest { + /** + *

    The identifier of the events detection job.

    + */ + JobId: string | undefined; +} + +export namespace DescribeEventsDetectionJobRequest { + export const filterSensitiveLog = (obj: DescribeEventsDetectionJobRequest): any => ({ + ...obj, + }); +} + +/** + *

    Provides information about an events detection job.

    + */ +export interface EventsDetectionJobProperties { + /** + *

    The identifier assigned to the events detection job.

    + */ + JobId?: string; + + /** + *

    The name you assigned the events detection job.

    + */ + JobName?: string; + + /** + *

    The current status of the events detection job.

    + */ + JobStatus?: JobStatus | string; + + /** + *

    A description of the status of the events detection job.

    + */ + Message?: string; + + /** + *

    The time that the events detection job was submitted for processing.

    + */ + SubmitTime?: Date; + + /** + *

    The time that the events detection job completed.

    + */ + EndTime?: Date; + + /** + *

    The input data configuration that you supplied when you created the events detection job.

    + */ + InputDataConfig?: InputDataConfig; + + /** + *

    The output data configuration that you supplied when you created the events detection job.

    + */ + OutputDataConfig?: OutputDataConfig; + + /** + *

    The language code of the input documents.

    + */ + LanguageCode?: LanguageCode | string; + + /** + *

    The Amazon Resource Name (ARN) of the AWS Identify and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data.

    + */ + DataAccessRoleArn?: string; + + /** + *

    The types of events that are detected by the job.

    + */ + TargetEventTypes?: string[]; +} + +export namespace EventsDetectionJobProperties { + export const filterSensitiveLog = (obj: EventsDetectionJobProperties): any => ({ + ...obj, + }); +} + +export interface DescribeEventsDetectionJobResponse { + /** + *

    An object that contains the properties associated with an event detection job.

    + */ + EventsDetectionJobProperties?: EventsDetectionJobProperties; +} + +export namespace DescribeEventsDetectionJobResponse { + export const filterSensitiveLog = (obj: DescribeEventsDetectionJobResponse): any => ({ + ...obj, + }); +} + export interface DescribeKeyPhrasesDetectionJobRequest { /** *

    The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its @@ -2687,32 +2780,14 @@ export namespace DescribeKeyPhrasesDetectionJobRequest { */ export interface KeyPhrasesDetectionJobProperties { /** - *

    The time that the key phrases detection job completed.

    - */ - EndTime?: Date; - - /** - *

    The time that the key phrases detection job was submitted for processing.

    + *

    The identifier assigned to the key phrases detection job.

    */ - SubmitTime?: Date; + JobId?: string; /** - *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt - * data on the storage volume attached to the ML compute instance(s) that process the analysis - * job. The VolumeKmsKeyId can be either of the following formats:

    - *
      - *
    • - *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    • - *

      Amazon Resource Name (ARN) of a KMS Key: - * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    + *

    The name that you assigned the key phrases detection job.

    */ - VolumeKmsKeyId?: string; + JobName?: string; /** *

    The current status of the key phrases detection job. If the status is FAILED, @@ -2721,26 +2796,25 @@ export interface KeyPhrasesDetectionJobProperties { JobStatus?: JobStatus | string; /** - *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input - * data.

    + *

    A description of the status of a job.

    */ - DataAccessRoleArn?: string; + Message?: string; /** - *

    The input data configuration that you supplied when you created the key phrases detection - * job.

    + *

    The time that the key phrases detection job was submitted for processing.

    */ - InputDataConfig?: InputDataConfig; + SubmitTime?: Date; /** - *

    A description of the status of a job.

    + *

    The time that the key phrases detection job completed.

    */ - Message?: string; + EndTime?: Date; /** - *

    The identifier assigned to the key phrases detection job.

    + *

    The input data configuration that you supplied when you created the key phrases detection + * job.

    */ - JobId?: string; + InputDataConfig?: InputDataConfig; /** *

    The output data configuration that you supplied when you created the key phrases detection @@ -2749,9 +2823,33 @@ export interface KeyPhrasesDetectionJobProperties { OutputDataConfig?: OutputDataConfig; /** - *

    The name that you assigned the key phrases detection job.

    + *

    The language code of the input documents.

    */ - JobName?: string; + LanguageCode?: LanguageCode | string; + + /** + *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

    + */ + DataAccessRoleArn?: string; + + /** + *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

    + *
      + *
    • + *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    • + *

      Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    + */ + VolumeKmsKeyId?: string; /** *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the @@ -2759,11 +2857,6 @@ export interface KeyPhrasesDetectionJobProperties { * VPC.

    */ VpcConfig?: VpcConfig; - - /** - *

    The language code of the input documents.

    - */ - LanguageCode?: LanguageCode | string; } export namespace KeyPhrasesDetectionJobProperties { @@ -2809,17 +2902,17 @@ export enum PiiEntitiesDetectionMode { *

    Provides configuration parameters for the output of PII entity detection jobs.

    */ export interface PiiOutputDataConfig { - /** - *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the - * output results from an analysis job.

    - */ - KmsKeyId?: string; - /** *

    When you use the PiiOutputDataConfig object with asynchronous operations, * you specify the Amazon S3 location where you want to write the output data.

    */ S3Uri: string | undefined; + + /** + *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the + * output results from an analysis job.

    + */ + KmsKeyId?: string; } export namespace PiiOutputDataConfig { @@ -2863,18 +2956,18 @@ export enum PiiEntityType { *

    Provides configuration parameters for PII entity redaction.

    */ export interface RedactionConfig { - /** - *

    Specifies whether the PII entity is redacted with the mask character or the entity - * type.

    - */ - MaskMode?: PiiEntitiesDetectionMaskMode | string; - /** *

    An array of the types of PII entities that Amazon Comprehend detects in the input text for * your request.

    */ PiiEntityTypes?: (PiiEntityType | string)[]; + /** + *

    Specifies whether the PII entity is redacted with the mask character or the entity + * type.

    + */ + MaskMode?: PiiEntitiesDetectionMaskMode | string; + /** *

    A character that replaces each character in the redacted PII entity.

    */ @@ -2892,52 +2985,46 @@ export namespace RedactionConfig { */ export interface PiiEntitiesDetectionJobProperties { /** - *

    The time that the PII entities detection job completed.

    - */ - EndTime?: Date; - - /** - *

    The output data configuration that you supplied when you created the PII entities - * detection job.

    + *

    The identifier assigned to the PII entities detection job.

    */ - OutputDataConfig?: PiiOutputDataConfig; + JobId?: string; /** - *

    A description of the status of a job.

    + *

    The name that you assigned the PII entities detection job.

    */ - Message?: string; + JobName?: string; /** - *

    The name that you assigned the PII entities detection job.

    + *

    The current status of the PII entities detection job. If the status is + * FAILED, the Message field shows the reason for the failure.

    */ - JobName?: string; + JobStatus?: JobStatus | string; /** - *

    Specifies whether the output provides the locations (offsets) of PII entities or a file in - * which PII entities are redacted.

    + *

    A description of the status of a job.

    */ - Mode?: PiiEntitiesDetectionMode | string; + Message?: string; /** - *

    The language code of the input documents

    + *

    The time that the PII entities detection job was submitted for processing.

    */ - LanguageCode?: LanguageCode | string; + SubmitTime?: Date; /** - *

    The identifier assigned to the PII entities detection job.

    + *

    The time that the PII entities detection job completed.

    */ - JobId?: string; + EndTime?: Date; /** - *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input - * data.

    + *

    The input properties for a PII entities detection job.

    */ - DataAccessRoleArn?: string; + InputDataConfig?: InputDataConfig; /** - *

    The time that the PII entities detection job was submitted for processing.

    + *

    The output data configuration that you supplied when you created the PII entities + * detection job.

    */ - SubmitTime?: Date; + OutputDataConfig?: PiiOutputDataConfig; /** *

    Provides configuration parameters for PII entity redaction.

    @@ -2948,15 +3035,21 @@ export interface PiiEntitiesDetectionJobProperties { RedactionConfig?: RedactionConfig; /** - *

    The input properties for a PII entities detection job.

    + *

    The language code of the input documents

    */ - InputDataConfig?: InputDataConfig; + LanguageCode?: LanguageCode | string; /** - *

    The current status of the PII entities detection job. If the status is - * FAILED, the Message field shows the reason for the failure.

    + *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

    */ - JobStatus?: JobStatus | string; + DataAccessRoleArn?: string; + + /** + *

    Specifies whether the output provides the locations (offsets) of PII entities or a file in + * which PII entities are redacted.

    + */ + Mode?: PiiEntitiesDetectionMode | string; } export namespace PiiEntitiesDetectionJobProperties { @@ -2997,27 +3090,30 @@ export namespace DescribeSentimentDetectionJobRequest { */ export interface SentimentDetectionJobProperties { /** - *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input - * data.

    + *

    The identifier assigned to the sentiment detection job.

    */ - DataAccessRoleArn?: string; + JobId?: string; /** - *

    The time that the sentiment detection job was submitted for processing.

    + *

    The name that you assigned to the sentiment detection job

    */ - SubmitTime?: Date; + JobName?: string; /** - *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - * resources you are using for your sentiment detection job. For more information, see Amazon - * VPC.

    + *

    The current status of the sentiment detection job. If the status is FAILED, + * the Messages field shows the reason for the failure.

    */ - VpcConfig?: VpcConfig; + JobStatus?: JobStatus | string; /** - *

    The language code of the input documents.

    + *

    A description of the status of a job.

    */ - LanguageCode?: LanguageCode | string; + Message?: string; + + /** + *

    The time that the sentiment detection job was submitted for processing.

    + */ + SubmitTime?: Date; /** *

    The time that the sentiment detection job ended.

    @@ -3025,26 +3121,27 @@ export interface SentimentDetectionJobProperties { EndTime?: Date; /** - *

    The output data configuration that you supplied when you created the sentiment detection + *

    The input data configuration that you supplied when you created the sentiment detection * job.

    */ - OutputDataConfig?: OutputDataConfig; + InputDataConfig?: InputDataConfig; /** - *

    The name that you assigned to the sentiment detection job

    + *

    The output data configuration that you supplied when you created the sentiment detection + * job.

    */ - JobName?: string; + OutputDataConfig?: OutputDataConfig; /** - *

    A description of the status of a job.

    + *

    The language code of the input documents.

    */ - Message?: string; + LanguageCode?: LanguageCode | string; /** - *

    The input data configuration that you supplied when you created the sentiment detection - * job.

    + *

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

    */ - InputDataConfig?: InputDataConfig; + DataAccessRoleArn?: string; /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt @@ -3065,15 +3162,11 @@ export interface SentimentDetectionJobProperties { VolumeKmsKeyId?: string; /** - *

    The identifier assigned to the sentiment detection job.

    - */ - JobId?: string; - - /** - *

    The current status of the sentiment detection job. If the status is FAILED, - * the Messages field shows the reason for the failure.

    + *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your sentiment detection job. For more information, see Amazon + * VPC.

    */ - JobStatus?: JobStatus | string; + VpcConfig?: VpcConfig; } export namespace SentimentDetectionJobProperties { @@ -3112,6 +3205,16 @@ export namespace DescribeTopicsDetectionJobRequest { *

    Provides information about a topic detection job.

    */ export interface TopicsDetectionJobProperties { + /** + *

    The identifier assigned to the topic detection job.

    + */ + JobId?: string; + + /** + *

    The name of the topic detection job.

    + */ + JobName?: string; + /** *

    The current status of the topic detection job. If the status is Failed, * the reason for the failure is shown in the Message field.

    @@ -3119,17 +3222,19 @@ export interface TopicsDetectionJobProperties { JobStatus?: JobStatus | string; /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants - * Amazon Comprehend read access to your job data.

    + *

    A description for the status of a job.

    */ - DataAccessRoleArn?: string; + Message?: string; /** - *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - * resources you are using for your topic detection job. For more information, see Amazon - * VPC.

    + *

    The time that the topic detection job was submitted for processing.

    */ - VpcConfig?: VpcConfig; + SubmitTime?: Date; + + /** + *

    The time that the topic detection job was completed.

    + */ + EndTime?: Date; /** *

    The input data configuration supplied when you created the topic detection @@ -3138,9 +3243,10 @@ export interface TopicsDetectionJobProperties { InputDataConfig?: InputDataConfig; /** - *

    The identifier assigned to the topic detection job.

    + *

    The output data configuration supplied when you created the topic detection + * job.

    */ - JobId?: string; + OutputDataConfig?: OutputDataConfig; /** *

    The number of topics to detect supplied when you created the topic detection job. The @@ -3148,6 +3254,12 @@ export interface TopicsDetectionJobProperties { */ NumberOfTopics?: number; + /** + *

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your job data.

    + */ + DataAccessRoleArn?: string; + /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt * data on the storage volume attached to the ML compute instance(s) that process the analysis @@ -3167,30 +3279,11 @@ export interface TopicsDetectionJobProperties { VolumeKmsKeyId?: string; /** - *

    The time that the topic detection job was submitted for processing.

    - */ - SubmitTime?: Date; - - /** - *

    A description for the status of a job.

    - */ - Message?: string; - - /** - *

    The name of the topic detection job.

    - */ - JobName?: string; - - /** - *

    The time that the topic detection job was completed.

    - */ - EndTime?: Date; - - /** - *

    The output data configuration supplied when you created the topic detection - * job.

    + *

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your topic detection job. For more information, see Amazon + * VPC.

    */ - OutputDataConfig?: OutputDataConfig; + VpcConfig?: VpcConfig; } export namespace TopicsDetectionJobProperties { @@ -3250,15 +3343,6 @@ export interface DetectEntitiesRequest { */ Text: string | undefined; - /** - *

    The Amazon Resource Name of an endpoint that is associated with a custom entity - * recognition model. Provide an endpoint if you want to detect entities by using your own custom - * model instead of the default model that is used by Amazon Comprehend.

    - *

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and - * it ignores any language code that you provide in your request.

    - */ - EndpointArn?: string; - /** *

    The language of the input documents. You can specify any of the primary languages * supported by Amazon Comprehend. All documents must be in the same language.

    @@ -3267,6 +3351,15 @@ export interface DetectEntitiesRequest { * specify here.

    */ LanguageCode?: LanguageCode | string; + + /** + *

    The Amazon Resource Name of an endpoint that is associated with a custom entity + * recognition model. Provide an endpoint if you want to detect entities by using your own custom + * model instead of the default model that is used by Amazon Comprehend.

    + *

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and + * it ignores any language code that you provide in your request.

    + */ + EndpointArn?: string; } export namespace DetectEntitiesRequest { @@ -3295,17 +3388,17 @@ export namespace DetectEntitiesResponse { } export interface DetectKeyPhrasesRequest { - /** - *

    The language of the input documents. You can specify any of the primary languages - * supported by Amazon Comprehend. All documents must be in the same language.

    - */ - LanguageCode: LanguageCode | string | undefined; - /** *

    A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded * characters.

    */ Text: string | undefined; + + /** + *

    The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

    + */ + LanguageCode: LanguageCode | string | undefined; } export namespace DetectKeyPhrasesRequest { @@ -3354,11 +3447,6 @@ export namespace DetectPiiEntitiesRequest { *

    Provides information about a PII entity.

    */ export interface PiiEntity { - /** - *

    The entity's type.

    - */ - Type?: PiiEntityType | string; - /** *

    The level of confidence that Amazon Comprehend has in the accuracy of the * detection.

    @@ -3366,12 +3454,9 @@ export interface PiiEntity { Score?: number; /** - *

    A character offset in the input text that shows where the PII entity ends. The offset - * returns the position of each UTF-8 code point in the string. A code point - * is the abstract character from a particular graphical representation. For example, a - * multi-byte UTF-8 character maps to a single code point.

    + *

    The entity's type.

    */ - EndOffset?: number; + Type?: PiiEntityType | string; /** *

    A character offset in the input text that shows where the PII entity begins (the first @@ -3381,6 +3466,14 @@ export interface PiiEntity { * point.

    */ BeginOffset?: number; + + /** + *

    A character offset in the input text that shows where the PII entity ends. The offset + * returns the position of each UTF-8 code point in the string. A code point + * is the abstract character from a particular graphical representation. For example, a + * multi-byte UTF-8 character maps to a single code point.

    + */ + EndOffset?: number; } export namespace PiiEntity { @@ -3509,13 +3602,6 @@ export interface DocumentClassificationJobFilter { */ JobName?: string; - /** - *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted after the specified time. Jobs are returned in descending order, - * newest to oldest.

    - */ - SubmitTimeAfter?: Date; - /** *

    Filters the list based on job status. Returns only jobs with the specified status.

    */ @@ -3526,7 +3612,14 @@ export interface DocumentClassificationJobFilter { * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, * oldest to newest.

    */ - SubmitTimeBefore?: Date; + SubmitTimeBefore?: Date; + + /** + *

    Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted after the specified time. Jobs are returned in descending order, + * newest to oldest.

    + */ + SubmitTimeAfter?: Date; } export namespace DocumentClassificationJobFilter { @@ -3609,17 +3702,17 @@ export namespace DocumentClassifierFilter { } export interface ListDocumentClassifiersRequest { - /** - *

    Identifies the next page of results to return.

    - */ - NextToken?: string; - /** *

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

    */ Filter?: DocumentClassifierFilter; + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in each page. The default is 100.

    */ @@ -3660,6 +3753,11 @@ export namespace ListDocumentClassifiersResponse { * information, see the operation.

    */ export interface DominantLanguageDetectionJobFilter { + /** + *

    Filters on the name of the job.

    + */ + JobName?: string; + /** *

    Filters the list of jobs based on job status. Returns only jobs with the specified * status.

    @@ -3668,22 +3766,17 @@ export interface DominantLanguageDetectionJobFilter { /** *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted after the specified time. Jobs are returned in descending order, - * newest to oldest.

    - */ - SubmitTimeAfter?: Date; - - /** - *

    Filters on the name of the job.

    + * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, + * oldest to newest.

    */ - JobName?: string; + SubmitTimeBefore?: Date; /** *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, - * oldest to newest.

    + * Returns only jobs submitted after the specified time. Jobs are returned in descending order, + * newest to oldest.

    */ - SubmitTimeBefore?: Date; + SubmitTimeAfter?: Date; } export namespace DominantLanguageDetectionJobFilter { @@ -3693,17 +3786,17 @@ export namespace DominantLanguageDetectionJobFilter { } export interface ListDominantLanguageDetectionJobsRequest { - /** - *

    Identifies the next page of results to return.

    - */ - NextToken?: string; - /** *

    Filters that jobs that are returned. You can filter jobs on their name, status, or the * date and time that they were submitted. You can only set one filter at a time.

    */ Filter?: DominantLanguageDetectionJobFilter; + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in each page. The default is 100.

    */ @@ -3718,14 +3811,14 @@ export namespace ListDominantLanguageDetectionJobsRequest { export interface ListDominantLanguageDetectionJobsResponse { /** - *

    Identifies the next page of results to return.

    + *

    A list containing the properties of each job that is returned.

    */ - NextToken?: string; + DominantLanguageDetectionJobPropertiesList?: DominantLanguageDetectionJobProperties[]; /** - *

    A list containing the properties of each job that is returned.

    + *

    Identifies the next page of results to return.

    */ - DominantLanguageDetectionJobPropertiesList?: DominantLanguageDetectionJobProperties[]; + NextToken?: string; } export namespace ListDominantLanguageDetectionJobsResponse { @@ -3735,11 +3828,16 @@ export namespace ListDominantLanguageDetectionJobsResponse { } /** - *

    The filter used to determine which endpoints are are returned. You can filter jobs on + *

    The filter used to determine which endpoints are returned. You can filter jobs on * their name, model, status, or the date and time that they were created. You can only set one * filter at a time.

    */ export interface EndpointFilter { + /** + *

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    + */ + ModelArn?: string; + /** *

    Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, * Updating, Deleting, Failed.

    @@ -3755,11 +3853,6 @@ export interface EndpointFilter { *

    Specifies a date after which the returned endpoint or endpoints were created.

    */ CreationTimeAfter?: Date; - - /** - *

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    - */ - ModelArn?: string; } export namespace EndpointFilter { @@ -3770,9 +3863,11 @@ export namespace EndpointFilter { export interface ListEndpointsRequest { /** - *

    The maximum number of results to return in each page. The default is 100.

    + *

    Filters the endpoints that are returned. You can filter endpoints on their name, model, + * status, or the date and time that they were created. You can only set one filter at a time. + *

    */ - MaxResults?: number; + Filter?: EndpointFilter; /** *

    Identifies the next page of results to return.

    @@ -3780,11 +3875,9 @@ export interface ListEndpointsRequest { NextToken?: string; /** - *

    Filters the endpoints that are returned. You can filter endpoints on their name, model, - * status, or the date and time that they were created. You can only set one filter at a time. - *

    + *

    The maximum number of results to return in each page. The default is 100.

    */ - Filter?: EndpointFilter; + MaxResults?: number; } export namespace ListEndpointsRequest { @@ -3830,17 +3923,17 @@ export interface EntitiesDetectionJobFilter { /** *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted after the specified time. Jobs are returned in descending order, - * newest to oldest.

    + * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, + * oldest to newest.

    */ - SubmitTimeAfter?: Date; + SubmitTimeBefore?: Date; /** *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, - * oldest to newest.

    + * Returns only jobs submitted after the specified time. Jobs are returned in descending order, + * newest to oldest.

    */ - SubmitTimeBefore?: Date; + SubmitTimeAfter?: Date; } export namespace EntitiesDetectionJobFilter { @@ -3850,17 +3943,17 @@ export namespace EntitiesDetectionJobFilter { } export interface ListEntitiesDetectionJobsRequest { - /** - *

    Identifies the next page of results to return.

    - */ - NextToken?: string; - /** *

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

    */ Filter?: EntitiesDetectionJobFilter; + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in each page. The default is 100.

    */ @@ -3896,6 +3989,11 @@ export namespace ListEntitiesDetectionJobsResponse { * filtering parameter in a request. For more information, see the operation./>

    */ export interface EntityRecognizerFilter { + /** + *

    The status of an entity recognizer.

    + */ + Status?: ModelStatus | string; + /** *

    Filters the list of entities based on the time that the list was submitted for processing. * Returns only jobs submitted before the specified time. Jobs are returned in descending order, @@ -3903,11 +4001,6 @@ export interface EntityRecognizerFilter { */ SubmitTimeBefore?: Date; - /** - *

    The status of an entity recognizer.

    - */ - Status?: ModelStatus | string; - /** *

    Filters the list of entities based on the time that the list was submitted for processing. * Returns only jobs submitted after the specified time. Jobs are returned in ascending order, @@ -3971,10 +4064,14 @@ export namespace ListEntityRecognizersResponse { } /** - *

    Provides information for filtering a list of dominant language detection jobs. For more - * information, see the operation.

    + *

    Provides information for filtering a list of event detection jobs.

    */ -export interface KeyPhrasesDetectionJobFilter { +export interface EventsDetectionJobFilter { + /** + *

    Filters on the name of the events detection job.

    + */ + JobName?: string; + /** *

    Filters the list of jobs based on job status. Returns only jobs with the specified * status.

    @@ -3988,11 +4085,85 @@ export interface KeyPhrasesDetectionJobFilter { */ SubmitTimeBefore?: Date; + /** + *

    Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted after the specified time. Jobs are returned in descending order, + * newest to oldest.

    + */ + SubmitTimeAfter?: Date; +} + +export namespace EventsDetectionJobFilter { + export const filterSensitiveLog = (obj: EventsDetectionJobFilter): any => ({ + ...obj, + }); +} + +export interface ListEventsDetectionJobsRequest { + /** + *

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date + * and time that they were submitted. You can only set one filter at a time.

    + */ + Filter?: EventsDetectionJobFilter; + + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; + + /** + *

    The maximum number of results to return in each page.

    + */ + MaxResults?: number; +} + +export namespace ListEventsDetectionJobsRequest { + export const filterSensitiveLog = (obj: ListEventsDetectionJobsRequest): any => ({ + ...obj, + }); +} + +export interface ListEventsDetectionJobsResponse { + /** + *

    A list containing the properties of each job that is returned.

    + */ + EventsDetectionJobPropertiesList?: EventsDetectionJobProperties[]; + + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; +} + +export namespace ListEventsDetectionJobsResponse { + export const filterSensitiveLog = (obj: ListEventsDetectionJobsResponse): any => ({ + ...obj, + }); +} + +/** + *

    Provides information for filtering a list of dominant language detection jobs. For more + * information, see the operation.

    + */ +export interface KeyPhrasesDetectionJobFilter { /** *

    Filters on the name of the job.

    */ JobName?: string; + /** + *

    Filters the list of jobs based on job status. Returns only jobs with the specified + * status.

    + */ + JobStatus?: JobStatus | string; + + /** + *

    Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, + * oldest to newest.

    + */ + SubmitTimeBefore?: Date; + /** *

    Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted after the specified time. Jobs are returned in descending order, @@ -4008,17 +4179,17 @@ export namespace KeyPhrasesDetectionJobFilter { } export interface ListKeyPhrasesDetectionJobsRequest { - /** - *

    Identifies the next page of results to return.

    - */ - NextToken?: string; - /** *

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

    */ Filter?: KeyPhrasesDetectionJobFilter; + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in each page. The default is 100.

    */ @@ -4053,13 +4224,6 @@ export namespace ListKeyPhrasesDetectionJobsResponse { *

    Provides information for filtering a list of PII entity detection jobs.

    */ export interface PiiEntitiesDetectionJobFilter { - /** - *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, - * oldest to newest.

    - */ - SubmitTimeBefore?: Date; - /** *

    Filters on the name of the job.

    */ @@ -4071,6 +4235,13 @@ export interface PiiEntitiesDetectionJobFilter { */ JobStatus?: JobStatus | string; + /** + *

    Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, + * oldest to newest.

    + */ + SubmitTimeBefore?: Date; + /** *

    Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted after the specified time. Jobs are returned in descending order, @@ -4086,17 +4257,17 @@ export namespace PiiEntitiesDetectionJobFilter { } export interface ListPiiEntitiesDetectionJobsRequest { - /** - *

    Identifies the next page of results to return.

    - */ - NextToken?: string; - /** *

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

    */ Filter?: PiiEntitiesDetectionJobFilter; + /** + *

    Identifies the next page of results to return.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in each page.

    */ @@ -4111,14 +4282,14 @@ export namespace ListPiiEntitiesDetectionJobsRequest { export interface ListPiiEntitiesDetectionJobsResponse { /** - *

    Identifies the next page of results to return.

    + *

    A list containing the properties of each job that is returned.

    */ - NextToken?: string; + PiiEntitiesDetectionJobPropertiesList?: PiiEntitiesDetectionJobProperties[]; /** - *

    A list containing the properties of each job that is returned.

    + *

    Identifies the next page of results to return.

    */ - PiiEntitiesDetectionJobPropertiesList?: PiiEntitiesDetectionJobProperties[]; + NextToken?: string; } export namespace ListPiiEntitiesDetectionJobsResponse { @@ -4132,6 +4303,11 @@ export namespace ListPiiEntitiesDetectionJobsResponse { * information, see the operation.

    */ export interface SentimentDetectionJobFilter { + /** + *

    Filters on the name of the job.

    + */ + JobName?: string; + /** *

    Filters the list of jobs based on job status. Returns only jobs with the specified * status.

    @@ -4151,11 +4327,6 @@ export interface SentimentDetectionJobFilter { * newest to oldest.

    */ SubmitTimeAfter?: Date; - - /** - *

    Filters on the name of the job.

    - */ - JobName?: string; } export namespace SentimentDetectionJobFilter { @@ -4165,11 +4336,6 @@ export namespace SentimentDetectionJobFilter { } export interface ListSentimentDetectionJobsRequest { - /** - *

    The maximum number of results to return in each page. The default is 100.

    - */ - MaxResults?: number; - /** *

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

    @@ -4180,6 +4346,11 @@ export interface ListSentimentDetectionJobsRequest { *

    Identifies the next page of results to return.

    */ NextToken?: string; + + /** + *

    The maximum number of results to return in each page. The default is 100.

    + */ + MaxResults?: number; } export namespace ListSentimentDetectionJobsRequest { @@ -4190,14 +4361,14 @@ export namespace ListSentimentDetectionJobsRequest { export interface ListSentimentDetectionJobsResponse { /** - *

    Identifies the next page of results to return.

    + *

    A list containing the properties of each job that is returned.

    */ - NextToken?: string; + SentimentDetectionJobPropertiesList?: SentimentDetectionJobProperties[]; /** - *

    A list containing the properties of each job that is returned.

    + *

    Identifies the next page of results to return.

    */ - SentimentDetectionJobPropertiesList?: SentimentDetectionJobProperties[]; + NextToken?: string; } export namespace ListSentimentDetectionJobsResponse { @@ -4220,7 +4391,13 @@ export namespace ListTagsForResourceRequest { }); } -export interface ListTagsForResourceResponse { +export interface ListTagsForResourceResponse { + /** + *

    The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are + * querying.

    + */ + ResourceArn?: string; + /** *

    Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value * pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with @@ -4228,12 +4405,6 @@ export interface ListTagsForResourceResponse { *

    */ Tags?: Tag[]; - - /** - *

    The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are - * querying.

    - */ - ResourceArn?: string; } export namespace ListTagsForResourceResponse { @@ -4253,11 +4424,10 @@ export interface TopicsDetectionJobFilter { JobName?: string; /** - *

    Filters the list of jobs based on the time that the job was submitted for processing. - * Only returns jobs submitted after the specified time. Jobs are returned in ascending order, - * oldest to newest.

    + *

    Filters the list of topic detection jobs based on job status. Returns only jobs with + * the specified status.

    */ - SubmitTimeAfter?: Date; + JobStatus?: JobStatus | string; /** *

    Filters the list of jobs based on the time that the job was submitted for processing. @@ -4267,10 +4437,11 @@ export interface TopicsDetectionJobFilter { SubmitTimeBefore?: Date; /** - *

    Filters the list of topic detection jobs based on job status. Returns only jobs with - * the specified status.

    + *

    Filters the list of jobs based on the time that the job was submitted for processing. + * Only returns jobs submitted after the specified time. Jobs are returned in ascending order, + * oldest to newest.

    */ - JobStatus?: JobStatus | string; + SubmitTimeAfter?: Date; } export namespace TopicsDetectionJobFilter { @@ -4280,6 +4451,12 @@ export namespace TopicsDetectionJobFilter { } export interface ListTopicsDetectionJobsRequest { + /** + *

    Filters the jobs that are returned. Jobs can be filtered on their name, status, or the + * date and time that they were submitted. You can set only one filter at a time.

    + */ + Filter?: TopicsDetectionJobFilter; + /** *

    Identifies the next page of results to return.

    */ @@ -4289,12 +4466,6 @@ export interface ListTopicsDetectionJobsRequest { *

    The maximum number of results to return in each page. The default is 100.

    */ MaxResults?: number; - - /** - *

    Filters the jobs that are returned. Jobs can be filtered on their name, status, or the - * date and time that they were submitted. You can set only one filter at a time.

    - */ - Filter?: TopicsDetectionJobFilter; } export namespace ListTopicsDetectionJobsRequest { @@ -4322,6 +4493,27 @@ export namespace ListTopicsDetectionJobsResponse { } export interface StartDocumentClassificationJobRequest { + /** + *

    The identifier of the job.

    + */ + JobName?: string; + + /** + *

    The Amazon Resource Name (ARN) of the document classifier to use to process the + * job.

    + */ + DocumentClassifierArn: string | undefined; + + /** + *

    Specifies the format and location of the input data for the job.

    + */ + InputDataConfig: InputDataConfig | undefined; + + /** + *

    Specifies where to send the output files.

    + */ + OutputDataConfig: OutputDataConfig | undefined; + /** *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that * grants Amazon Comprehend read access to your input data.

    @@ -4329,9 +4521,10 @@ export interface StartDocumentClassificationJobRequest { DataAccessRoleArn: string | undefined; /** - *

    Specifies the format and location of the input data for the job.

    + *

    A unique identifier for the request. If you do not set the client request token, Amazon + * Comprehend generates one.

    */ - InputDataConfig: InputDataConfig | undefined; + ClientRequestToken?: string; /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt @@ -4351,28 +4544,6 @@ export interface StartDocumentClassificationJobRequest { */ VolumeKmsKeyId?: string; - /** - *

    The Amazon Resource Name (ARN) of the document classifier to use to process the - * job.

    - */ - DocumentClassifierArn: string | undefined; - - /** - *

    Specifies where to send the output files.

    - */ - OutputDataConfig: OutputDataConfig | undefined; - - /** - *

    A unique identifier for the request. If you do not set the client request token, Amazon - * Comprehend generates one.

    - */ - ClientRequestToken?: string; - - /** - *

    The identifier of the job.

    - */ - JobName?: string; - /** *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing * the resources you are using for your document classification job. For more information, see @@ -4389,6 +4560,12 @@ export namespace StartDocumentClassificationJobRequest { } export interface StartDocumentClassificationJobResponse { + /** + *

    The identifier generated for the job. To get the status of the job, use this identifier + * with the operation.

    + */ + JobId?: string; + /** *

    The status of the job:

    *
      @@ -4414,12 +4591,6 @@ export interface StartDocumentClassificationJobResponse { *
    */ JobStatus?: JobStatus | string; - - /** - *

    The identifier generated for the job. To get the status of the job, use this identifier - * with the operation.

    - */ - JobId?: string; } export namespace StartDocumentClassificationJobResponse { @@ -4429,6 +4600,27 @@ export namespace StartDocumentClassificationJobResponse { } export interface StartDominantLanguageDetectionJobRequest { + /** + *

    Specifies the format and location of the input data for the job.

    + */ + InputDataConfig: InputDataConfig | undefined; + + /** + *

    Specifies where to send the output files.

    + */ + OutputDataConfig: OutputDataConfig | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    + */ + DataAccessRoleArn: string | undefined; + + /** + *

    An identifier for the job.

    + */ + JobName?: string; + /** *

    A unique identifier for the request. If you do not set the client request token, Amazon * Comprehend generates one.

    @@ -4453,33 +4645,12 @@ export interface StartDominantLanguageDetectionJobRequest { */ VolumeKmsKeyId?: string; - /** - *

    Specifies the format and location of the input data for the job.

    - */ - InputDataConfig: InputDataConfig | undefined; - /** *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing * the resources you are using for your dominant language detection job. For more information, * see Amazon VPC.

    */ VpcConfig?: VpcConfig; - - /** - *

    An identifier for the job.

    - */ - JobName?: string; - - /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    - */ - DataAccessRoleArn: string | undefined; - - /** - *

    Specifies where to send the output files.

    - */ - OutputDataConfig: OutputDataConfig | undefined; } export namespace StartDominantLanguageDetectionJobRequest { @@ -4523,18 +4694,14 @@ export namespace StartDominantLanguageDetectionJobResponse { export interface StartEntitiesDetectionJobRequest { /** - *

    The language of the input documents. All documents must be in the same language. You can - * specify any of the languages supported by Amazon Comprehend. If custom entities recognition is - * used, this parameter is ignored and the language used for training the model is used - * instead.

    + *

    Specifies the format and location of the input data for the job.

    */ - LanguageCode: LanguageCode | string | undefined; + InputDataConfig: InputDataConfig | undefined; /** - *

    A unique identifier for the request. If you don't set the client request token, Amazon - * Comprehend generates one.

    + *

    Specifies where to send the output files.

    */ - ClientRequestToken?: string; + OutputDataConfig: OutputDataConfig | undefined; /** *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that @@ -4543,9 +4710,9 @@ export interface StartEntitiesDetectionJobRequest { DataAccessRoleArn: string | undefined; /** - *

    Specifies the format and location of the input data for the job.

    + *

    The identifier of the job.

    */ - InputDataConfig: InputDataConfig | undefined; + JobName?: string; /** *

    The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used @@ -4554,6 +4721,20 @@ export interface StartEntitiesDetectionJobRequest { */ EntityRecognizerArn?: string; + /** + *

    The language of the input documents. All documents must be in the same language. You can + * specify any of the languages supported by Amazon Comprehend. If custom entities recognition is + * used, this parameter is ignored and the language used for training the model is used + * instead.

    + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

    A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

    + */ + ClientRequestToken?: string; + /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt * data on the storage volume attached to the ML compute instance(s) that process the analysis @@ -4572,22 +4753,12 @@ export interface StartEntitiesDetectionJobRequest { */ VolumeKmsKeyId?: string; - /** - *

    Specifies where to send the output files.

    - */ - OutputDataConfig: OutputDataConfig | undefined; - /** *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing * the resources you are using for your entity detection job. For more information, see Amazon * VPC.

    */ VpcConfig?: VpcConfig; - - /** - *

    The identifier of the job.

    - */ - JobName?: string; } export namespace StartEntitiesDetectionJobRequest { @@ -4597,6 +4768,12 @@ export namespace StartEntitiesDetectionJobRequest { } export interface StartEntitiesDetectionJobResponse { + /** + *

    The identifier generated for the job. To get the status of job, use this identifier with + * the operation.

    + */ + JobId?: string; + /** *

    The status of the job.

    *
      @@ -4622,43 +4799,93 @@ export interface StartEntitiesDetectionJobResponse { *
    */ JobStatus?: JobStatus | string; +} + +export namespace StartEntitiesDetectionJobResponse { + export const filterSensitiveLog = (obj: StartEntitiesDetectionJobResponse): any => ({ + ...obj, + }); +} +export interface StartEventsDetectionJobRequest { /** - *

    The identifier generated for the job. To get the status of job, use this identifier with - * the operation.

    + *

    Specifies the format and location of the input data for the job.

    + */ + InputDataConfig: InputDataConfig | undefined; + + /** + *

    Specifies where to send the output files.

    + */ + OutputDataConfig: OutputDataConfig | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data.

    + */ + DataAccessRoleArn: string | undefined; + + /** + *

    The identifier of the events detection job.

    + */ + JobName?: string; + + /** + *

    The language code of the input documents.

    + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

    An unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    + */ + ClientRequestToken?: string; + + /** + *

    The types of events to detect in the input documents.

    + */ + TargetEventTypes: string[] | undefined; +} + +export namespace StartEventsDetectionJobRequest { + export const filterSensitiveLog = (obj: StartEventsDetectionJobRequest): any => ({ + ...obj, + }); +} + +export interface StartEventsDetectionJobResponse { + /** + *

    An unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

    */ JobId?: string; + + /** + *

    The status of the events detection job.

    + */ + JobStatus?: JobStatus | string; } -export namespace StartEntitiesDetectionJobResponse { - export const filterSensitiveLog = (obj: StartEntitiesDetectionJobResponse): any => ({ +export namespace StartEventsDetectionJobResponse { + export const filterSensitiveLog = (obj: StartEventsDetectionJobResponse): any => ({ ...obj, }); } export interface StartKeyPhrasesDetectionJobRequest { /** - *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt - * data on the storage volume attached to the ML compute instance(s) that process the analysis - * job. The VolumeKmsKeyId can be either of the following formats:

    - *
      - *
    • - *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    • - *

      Amazon Resource Name (ARN) of a KMS Key: - * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

      - *
    • - *
    + *

    Specifies the format and location of the input data for the job.

    */ - VolumeKmsKeyId?: string; + InputDataConfig: InputDataConfig | undefined; + + /** + *

    Specifies where to send the output files.

    + */ + OutputDataConfig: OutputDataConfig | undefined; /** - *

    Specifies the format and location of the input data for the job.

    + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    */ - InputDataConfig: InputDataConfig | undefined; + DataAccessRoleArn: string | undefined; /** *

    The identifier of the job.

    @@ -4677,6 +4904,24 @@ export interface StartKeyPhrasesDetectionJobRequest { */ ClientRequestToken?: string; + /** + *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

    + *
      + *
    • + *

      KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    • + *

      Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

      + *
    • + *
    + */ + VolumeKmsKeyId?: string; + /** *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing * the resources you are using for your key phrases detection job. For more information, see @@ -4684,17 +4929,6 @@ export interface StartKeyPhrasesDetectionJobRequest { * VPC.

    */ VpcConfig?: VpcConfig; - - /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    - */ - DataAccessRoleArn: string | undefined; - - /** - *

    Specifies where to send the output files.

    - */ - OutputDataConfig: OutputDataConfig | undefined; } export namespace StartKeyPhrasesDetectionJobRequest { @@ -4704,6 +4938,12 @@ export namespace StartKeyPhrasesDetectionJobRequest { } export interface StartKeyPhrasesDetectionJobResponse { + /** + *

    The identifier generated for the job. To get the status of a job, use this identifier with + * the operation.

    + */ + JobId?: string; + /** *

    The status of the job.

    *
      @@ -4722,12 +4962,6 @@ export interface StartKeyPhrasesDetectionJobResponse { *
    */ JobStatus?: JobStatus | string; - - /** - *

    The identifier generated for the job. To get the status of a job, use this identifier with - * the operation.

    - */ - JobId?: string; } export namespace StartKeyPhrasesDetectionJobResponse { @@ -4738,21 +4972,14 @@ export namespace StartKeyPhrasesDetectionJobResponse { export interface StartPiiEntitiesDetectionJobRequest { /** - *

    The language of the input documents.

    - */ - LanguageCode: LanguageCode | string | undefined; - - /** - *

    A unique identifier for the request. If you don't set the client request token, Amazon - * Comprehend generates one.

    + *

    The input properties for a PII entities detection job.

    */ - ClientRequestToken?: string; + InputDataConfig: InputDataConfig | undefined; /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data.

    + *

    Provides configuration parameters for the output of PII entity detection jobs.

    */ - DataAccessRoleArn: string | undefined; + OutputDataConfig: OutputDataConfig | undefined; /** *

    Specifies whether the output provides the locations (offsets) of PII entities or a file in @@ -4761,27 +4988,34 @@ export interface StartPiiEntitiesDetectionJobRequest { Mode: PiiEntitiesDetectionMode | string | undefined; /** - *

    The identifier of the job.

    + *

    Provides configuration parameters for PII entity redaction.

    + *

    This parameter is required if you set the Mode parameter to + * ONLY_REDACTION. In that case, you must provide a RedactionConfig + * definition that includes the PiiEntityTypes parameter.

    */ - JobName?: string; + RedactionConfig?: RedactionConfig; /** - *

    Provides configuration parameters for the output of PII entity detection jobs.

    + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data.

    */ - OutputDataConfig: OutputDataConfig | undefined; + DataAccessRoleArn: string | undefined; /** - *

    Provides configuration parameters for PII entity redaction.

    - *

    This parameter is required if you set the Mode parameter to - * ONLY_REDACTION. In that case, you must provide a RedactionConfig - * definition that includes the PiiEntityTypes parameter.

    + *

    The identifier of the job.

    */ - RedactionConfig?: RedactionConfig; + JobName?: string; /** - *

    The input properties for a PII entities detection job.

    + *

    The language of the input documents.

    */ - InputDataConfig: InputDataConfig | undefined; + LanguageCode: LanguageCode | string | undefined; + + /** + *

    A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

    + */ + ClientRequestToken?: string; } export namespace StartPiiEntitiesDetectionJobRequest { @@ -4810,9 +5044,9 @@ export namespace StartPiiEntitiesDetectionJobResponse { export interface StartSentimentDetectionJobRequest { /** - *

    The identifier of the job.

    + *

    Specifies the format and location of the input data for the job.

    */ - JobName?: string; + InputDataConfig: InputDataConfig | undefined; /** *

    Specifies where to send the output files.

    @@ -4820,9 +5054,27 @@ export interface StartSentimentDetectionJobRequest { OutputDataConfig: OutputDataConfig | undefined; /** - *

    Specifies the format and location of the input data for the job.

    + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    */ - InputDataConfig: InputDataConfig | undefined; + DataAccessRoleArn: string | undefined; + + /** + *

    The identifier of the job.

    + */ + JobName?: string; + + /** + *

    The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

    + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

    A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

    + */ + ClientRequestToken?: string; /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt @@ -4842,30 +5094,12 @@ export interface StartSentimentDetectionJobRequest { */ VolumeKmsKeyId?: string; - /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    - */ - DataAccessRoleArn: string | undefined; - /** *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing * the resources you are using for your sentiment detection job. For more information, see Amazon * VPC.

    */ VpcConfig?: VpcConfig; - - /** - *

    A unique identifier for the request. If you don't set the client request token, Amazon - * Comprehend generates one.

    - */ - ClientRequestToken?: string; - - /** - *

    The language of the input documents. You can specify any of the primary languages - * supported by Amazon Comprehend. All documents must be in the same language.

    - */ - LanguageCode: LanguageCode | string | undefined; } export namespace StartSentimentDetectionJobRequest { @@ -4909,22 +5143,39 @@ export namespace StartSentimentDetectionJobResponse { export interface StartTopicsDetectionJobRequest { /** - *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing - * the resources you are using for your topic detection job. For more information, see Amazon - * VPC.

    + *

    Specifies the format and location of the input data for the job.

    */ - VpcConfig?: VpcConfig; + InputDataConfig: InputDataConfig | undefined; /** - *

    Specifies the format and location of the input data for the job.

    + *

    Specifies where to send the output files. The output is a compressed archive with two + * files, topic-terms.csv that lists the terms associated with each topic, and + * doc-topics.csv that lists the documents associated with each topic

    */ - InputDataConfig: InputDataConfig | undefined; + OutputDataConfig: OutputDataConfig | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role + * that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    + */ + DataAccessRoleArn: string | undefined; /** *

    The identifier of the job.

    */ JobName?: string; + /** + *

    The number of topics to detect.

    + */ + NumberOfTopics?: number; + + /** + *

    A unique identifier for the request. If you do not set the client request token, Amazon + * Comprehend generates one.

    + */ + ClientRequestToken?: string; + /** *

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt * data on the storage volume attached to the ML compute instance(s) that process the analysis @@ -4944,28 +5195,11 @@ export interface StartTopicsDetectionJobRequest { VolumeKmsKeyId?: string; /** - *

    The number of topics to detect.

    - */ - NumberOfTopics?: number; - - /** - *

    A unique identifier for the request. If you do not set the client request token, Amazon - * Comprehend generates one.

    - */ - ClientRequestToken?: string; - - /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role - * that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    - */ - DataAccessRoleArn: string | undefined; - - /** - *

    Specifies where to send the output files. The output is a compressed archive with two - * files, topic-terms.csv that lists the terms associated with each topic, and - * doc-topics.csv that lists the documents associated with each topic

    + *

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your topic detection job. For more information, see Amazon + * VPC.

    */ - OutputDataConfig: OutputDataConfig | undefined; + VpcConfig?: VpcConfig; } export namespace StartTopicsDetectionJobRequest { @@ -4975,6 +5209,12 @@ export namespace StartTopicsDetectionJobRequest { } export interface StartTopicsDetectionJobResponse { + /** + *

    The identifier generated for the job. To get the status of the job, use this identifier + * with the DescribeTopicDetectionJob operation.

    + */ + JobId?: string; + /** *

    The status of the job:

    *
      @@ -4995,12 +5235,6 @@ export interface StartTopicsDetectionJobResponse { *
    */ JobStatus?: JobStatus | string; - - /** - *

    The identifier generated for the job. To get the status of the job, use this identifier - * with the DescribeTopicDetectionJob operation.

    - */ - JobId?: string; } export namespace StartTopicsDetectionJobResponse { @@ -5056,21 +5290,52 @@ export namespace StopEntitiesDetectionJobRequest { } export interface StopEntitiesDetectionJobResponse { + /** + *

    The identifier of the entities detection job to stop.

    + */ + JobId?: string; + /** *

    Either STOP_REQUESTED if the job is currently running, or * STOPPED if the job was previously stopped with the * StopEntitiesDetectionJob operation.

    */ JobStatus?: JobStatus | string; +} + +export namespace StopEntitiesDetectionJobResponse { + export const filterSensitiveLog = (obj: StopEntitiesDetectionJobResponse): any => ({ + ...obj, + }); +} +export interface StopEventsDetectionJobRequest { /** - *

    The identifier of the entities detection job to stop.

    + *

    The identifier of the events detection job to stop.

    + */ + JobId: string | undefined; +} + +export namespace StopEventsDetectionJobRequest { + export const filterSensitiveLog = (obj: StopEventsDetectionJobRequest): any => ({ + ...obj, + }); +} + +export interface StopEventsDetectionJobResponse { + /** + *

    The identifier of the events detection job to stop.

    */ JobId?: string; + + /** + *

    The status of the events detection job.

    + */ + JobStatus?: JobStatus | string; } -export namespace StopEntitiesDetectionJobResponse { - export const filterSensitiveLog = (obj: StopEntitiesDetectionJobResponse): any => ({ +export namespace StopEventsDetectionJobResponse { + export const filterSensitiveLog = (obj: StopEventsDetectionJobResponse): any => ({ ...obj, }); } @@ -5123,14 +5388,14 @@ export namespace StopPiiEntitiesDetectionJobRequest { export interface StopPiiEntitiesDetectionJobResponse { /** - *

    The status of the PII entities detection job.

    + *

    The identifier of the PII entities detection job to stop.

    */ - JobStatus?: JobStatus | string; + JobId?: string; /** - *

    The identifier of the PII entities detection job to stop.

    + *

    The status of the PII entities detection job.

    */ - JobId?: string; + JobStatus?: JobStatus | string; } export namespace StopPiiEntitiesDetectionJobResponse { @@ -5153,17 +5418,17 @@ export namespace StopSentimentDetectionJobRequest { } export interface StopSentimentDetectionJobResponse { + /** + *

    The identifier of the sentiment detection job to stop.

    + */ + JobId?: string; + /** *

    Either STOP_REQUESTED if the job is currently running, or * STOPPED if the job was previously stopped with the * StopSentimentDetectionJob operation.

    */ JobStatus?: JobStatus | string; - - /** - *

    The identifier of the sentiment detection job to stop.

    - */ - JobId?: string; } export namespace StopSentimentDetectionJobResponse { @@ -5307,17 +5572,17 @@ export namespace UntagResourceResponse { } export interface UpdateEndpointRequest { + /** + *

    The Amazon Resource Number (ARN) of the endpoint being updated.

    + */ + EndpointArn: string | undefined; + /** *

    The desired number of inference units to be used by the model using this endpoint. * * Each inference unit represents of a throughput of 100 characters per second.

    */ DesiredInferenceUnits: number | undefined; - - /** - *

    The Amazon Resource Number (ARN) of the endpoint being updated.

    - */ - EndpointArn: string | undefined; } export namespace UpdateEndpointRequest { diff --git a/clients/client-comprehend/pagination/ListEventsDetectionJobsPaginator.ts b/clients/client-comprehend/pagination/ListEventsDetectionJobsPaginator.ts new file mode 100644 index 0000000000000..511ff1f91f758 --- /dev/null +++ b/clients/client-comprehend/pagination/ListEventsDetectionJobsPaginator.ts @@ -0,0 +1,57 @@ +import { Comprehend } from "../Comprehend"; +import { ComprehendClient } from "../ComprehendClient"; +import { + ListEventsDetectionJobsCommand, + ListEventsDetectionJobsCommandInput, + ListEventsDetectionJobsCommandOutput, +} from "../commands/ListEventsDetectionJobsCommand"; +import { ComprehendPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: ComprehendClient, + input: ListEventsDetectionJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListEventsDetectionJobsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Comprehend, + input: ListEventsDetectionJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listEventsDetectionJobs(input, ...args); +}; +export async function* paginateListEventsDetectionJobs( + config: ComprehendPaginationConfiguration, + input: ListEventsDetectionJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListEventsDetectionJobsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Comprehend) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ComprehendClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Comprehend | ComprehendClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-comprehend/protocols/Aws_json1_1.ts b/clients/client-comprehend/protocols/Aws_json1_1.ts index 6c57de3c7d973..1701a85e07d79 100644 --- a/clients/client-comprehend/protocols/Aws_json1_1.ts +++ b/clients/client-comprehend/protocols/Aws_json1_1.ts @@ -55,6 +55,10 @@ import { DescribeEntityRecognizerCommandInput, DescribeEntityRecognizerCommandOutput, } from "../commands/DescribeEntityRecognizerCommand"; +import { + DescribeEventsDetectionJobCommandInput, + DescribeEventsDetectionJobCommandOutput, +} from "../commands/DescribeEventsDetectionJobCommand"; import { DescribeKeyPhrasesDetectionJobCommandInput, DescribeKeyPhrasesDetectionJobCommandOutput, @@ -101,6 +105,10 @@ import { ListEntityRecognizersCommandInput, ListEntityRecognizersCommandOutput, } from "../commands/ListEntityRecognizersCommand"; +import { + ListEventsDetectionJobsCommandInput, + ListEventsDetectionJobsCommandOutput, +} from "../commands/ListEventsDetectionJobsCommand"; import { ListKeyPhrasesDetectionJobsCommandInput, ListKeyPhrasesDetectionJobsCommandOutput, @@ -133,6 +141,10 @@ import { StartEntitiesDetectionJobCommandInput, StartEntitiesDetectionJobCommandOutput, } from "../commands/StartEntitiesDetectionJobCommand"; +import { + StartEventsDetectionJobCommandInput, + StartEventsDetectionJobCommandOutput, +} from "../commands/StartEventsDetectionJobCommand"; import { StartKeyPhrasesDetectionJobCommandInput, StartKeyPhrasesDetectionJobCommandOutput, @@ -157,6 +169,10 @@ import { StopEntitiesDetectionJobCommandInput, StopEntitiesDetectionJobCommandOutput, } from "../commands/StopEntitiesDetectionJobCommand"; +import { + StopEventsDetectionJobCommandInput, + StopEventsDetectionJobCommandOutput, +} from "../commands/StopEventsDetectionJobCommand"; import { StopKeyPhrasesDetectionJobCommandInput, StopKeyPhrasesDetectionJobCommandOutput, @@ -228,6 +244,8 @@ import { DescribeEntitiesDetectionJobResponse, DescribeEntityRecognizerRequest, DescribeEntityRecognizerResponse, + DescribeEventsDetectionJobRequest, + DescribeEventsDetectionJobResponse, DescribeKeyPhrasesDetectionJobRequest, DescribeKeyPhrasesDetectionJobResponse, DescribePiiEntitiesDetectionJobRequest, @@ -275,6 +293,8 @@ import { EntityRecognizerProperties, EntityTypesEvaluationMetrics, EntityTypesListItem, + EventsDetectionJobFilter, + EventsDetectionJobProperties, InputDataConfig, InternalServerException, InvalidFilterException, @@ -296,6 +316,8 @@ import { ListEntitiesDetectionJobsResponse, ListEntityRecognizersRequest, ListEntityRecognizersResponse, + ListEventsDetectionJobsRequest, + ListEventsDetectionJobsResponse, ListKeyPhrasesDetectionJobsRequest, ListKeyPhrasesDetectionJobsResponse, ListPiiEntitiesDetectionJobsRequest, @@ -327,6 +349,8 @@ import { StartDominantLanguageDetectionJobResponse, StartEntitiesDetectionJobRequest, StartEntitiesDetectionJobResponse, + StartEventsDetectionJobRequest, + StartEventsDetectionJobResponse, StartKeyPhrasesDetectionJobRequest, StartKeyPhrasesDetectionJobResponse, StartPiiEntitiesDetectionJobRequest, @@ -339,6 +363,8 @@ import { StopDominantLanguageDetectionJobResponse, StopEntitiesDetectionJobRequest, StopEntitiesDetectionJobResponse, + StopEventsDetectionJobRequest, + StopEventsDetectionJobResponse, StopKeyPhrasesDetectionJobRequest, StopKeyPhrasesDetectionJobResponse, StopPiiEntitiesDetectionJobRequest, @@ -611,6 +637,19 @@ export const serializeAws_json1_1DescribeEntityRecognizerCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeEventsDetectionJobCommand = async ( + input: DescribeEventsDetectionJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.DescribeEventsDetectionJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeEventsDetectionJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeKeyPhrasesDetectionJobCommand = async ( input: DescribeKeyPhrasesDetectionJobCommandInput, context: __SerdeContext @@ -819,6 +858,19 @@ export const serializeAws_json1_1ListEntityRecognizersCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListEventsDetectionJobsCommand = async ( + input: ListEventsDetectionJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.ListEventsDetectionJobs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListEventsDetectionJobsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListKeyPhrasesDetectionJobsCommand = async ( input: ListKeyPhrasesDetectionJobsCommandInput, context: __SerdeContext @@ -923,6 +975,19 @@ export const serializeAws_json1_1StartEntitiesDetectionJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartEventsDetectionJobCommand = async ( + input: StartEventsDetectionJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.StartEventsDetectionJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartEventsDetectionJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StartKeyPhrasesDetectionJobCommand = async ( input: StartKeyPhrasesDetectionJobCommandInput, context: __SerdeContext @@ -1001,6 +1066,19 @@ export const serializeAws_json1_1StopEntitiesDetectionJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StopEventsDetectionJobCommand = async ( + input: StopEventsDetectionJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.StopEventsDetectionJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StopEventsDetectionJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StopKeyPhrasesDetectionJobCommand = async ( input: StopKeyPhrasesDetectionJobCommandInput, context: __SerdeContext @@ -2695,6 +2773,85 @@ const deserializeAws_json1_1DescribeEntityRecognizerCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeEventsDetectionJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeEventsDetectionJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeEventsDetectionJobResponse(data, context); + const response: DescribeEventsDetectionJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeEventsDetectionJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "JobNotFoundException": + case "com.amazonaws.comprehend#JobNotFoundException": + response = { + ...(await deserializeAws_json1_1JobNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DescribeKeyPhrasesDetectionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3951,6 +4108,85 @@ const deserializeAws_json1_1ListEntityRecognizersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListEventsDetectionJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListEventsDetectionJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListEventsDetectionJobsResponse(data, context); + const response: ListEventsDetectionJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListEventsDetectionJobsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidFilterException": + case "com.amazonaws.comprehend#InvalidFilterException": + response = { + ...(await deserializeAws_json1_1InvalidFilterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1ListKeyPhrasesDetectionJobsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4607,6 +4843,85 @@ const deserializeAws_json1_1StartEntitiesDetectionJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StartEventsDetectionJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StartEventsDetectionJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StartEventsDetectionJobResponse(data, context); + const response: StartEventsDetectionJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StartEventsDetectionJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "KmsKeyValidationException": + case "com.amazonaws.comprehend#KmsKeyValidationException": + response = { + ...(await deserializeAws_json1_1KmsKeyValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1StartKeyPhrasesDetectionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5065,6 +5380,77 @@ const deserializeAws_json1_1StopEntitiesDetectionJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StopEventsDetectionJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StopEventsDetectionJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StopEventsDetectionJobResponse(data, context); + const response: StopEventsDetectionJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StopEventsDetectionJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "JobNotFoundException": + case "com.amazonaws.comprehend#JobNotFoundException": + response = { + ...(await deserializeAws_json1_1JobNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1StopKeyPhrasesDetectionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6164,6 +6550,15 @@ const serializeAws_json1_1DescribeEntityRecognizerRequest = ( }; }; +const serializeAws_json1_1DescribeEventsDetectionJobRequest = ( + input: DescribeEventsDetectionJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + }; +}; + const serializeAws_json1_1DescribeKeyPhrasesDetectionJobRequest = ( input: DescribeKeyPhrasesDetectionJobRequest, context: __SerdeContext @@ -6428,6 +6823,20 @@ const serializeAws_json1_1EntityTypesListItem = (input: EntityTypesListItem, con }; }; +const serializeAws_json1_1EventsDetectionJobFilter = ( + input: EventsDetectionJobFilter, + context: __SerdeContext +): any => { + return { + ...(input.JobName !== undefined && { JobName: input.JobName }), + ...(input.JobStatus !== undefined && { JobStatus: input.JobStatus }), + ...(input.SubmitTimeAfter !== undefined && { SubmitTimeAfter: Math.round(input.SubmitTimeAfter.getTime() / 1000) }), + ...(input.SubmitTimeBefore !== undefined && { + SubmitTimeBefore: Math.round(input.SubmitTimeBefore.getTime() / 1000), + }), + }; +}; + const serializeAws_json1_1InputDataConfig = (input: InputDataConfig, context: __SerdeContext): any => { return { ...(input.InputFormat !== undefined && { InputFormat: input.InputFormat }), @@ -6518,6 +6927,17 @@ const serializeAws_json1_1ListEntityRecognizersRequest = ( }; }; +const serializeAws_json1_1ListEventsDetectionJobsRequest = ( + input: ListEventsDetectionJobsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filter !== undefined && { Filter: serializeAws_json1_1EventsDetectionJobFilter(input.Filter, context) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListKeyPhrasesDetectionJobsRequest = ( input: ListKeyPhrasesDetectionJobsRequest, context: __SerdeContext @@ -6690,6 +7110,27 @@ const serializeAws_json1_1StartEntitiesDetectionJobRequest = ( }; }; +const serializeAws_json1_1StartEventsDetectionJobRequest = ( + input: StartEventsDetectionJobRequest, + context: __SerdeContext +): any => { + return { + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.DataAccessRoleArn !== undefined && { DataAccessRoleArn: input.DataAccessRoleArn }), + ...(input.InputDataConfig !== undefined && { + InputDataConfig: serializeAws_json1_1InputDataConfig(input.InputDataConfig, context), + }), + ...(input.JobName !== undefined && { JobName: input.JobName }), + ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), + ...(input.OutputDataConfig !== undefined && { + OutputDataConfig: serializeAws_json1_1OutputDataConfig(input.OutputDataConfig, context), + }), + ...(input.TargetEventTypes !== undefined && { + TargetEventTypes: serializeAws_json1_1TargetEventTypes(input.TargetEventTypes, context), + }), + }; +}; + const serializeAws_json1_1StartKeyPhrasesDetectionJobRequest = ( input: StartKeyPhrasesDetectionJobRequest, context: __SerdeContext @@ -6790,6 +7231,15 @@ const serializeAws_json1_1StopEntitiesDetectionJobRequest = ( }; }; +const serializeAws_json1_1StopEventsDetectionJobRequest = ( + input: StopEventsDetectionJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + }; +}; + const serializeAws_json1_1StopKeyPhrasesDetectionJobRequest = ( input: StopKeyPhrasesDetectionJobRequest, context: __SerdeContext @@ -6861,6 +7311,10 @@ const serializeAws_json1_1TagResourceRequest = (input: TagResourceRequest, conte }; }; +const serializeAws_json1_1TargetEventTypes = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1TopicsDetectionJobFilter = ( input: TopicsDetectionJobFilter, context: __SerdeContext @@ -7267,6 +7721,18 @@ const deserializeAws_json1_1DescribeEntityRecognizerResponse = ( } as any; }; +const deserializeAws_json1_1DescribeEventsDetectionJobResponse = ( + output: any, + context: __SerdeContext +): DescribeEventsDetectionJobResponse => { + return { + EventsDetectionJobProperties: + output.EventsDetectionJobProperties !== undefined && output.EventsDetectionJobProperties !== null + ? deserializeAws_json1_1EventsDetectionJobProperties(output.EventsDetectionJobProperties, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeKeyPhrasesDetectionJobResponse = ( output: any, context: __SerdeContext @@ -7873,6 +8339,48 @@ const deserializeAws_json1_1EntityTypesListItem = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1EventsDetectionJobProperties = ( + output: any, + context: __SerdeContext +): EventsDetectionJobProperties => { + return { + DataAccessRoleArn: + output.DataAccessRoleArn !== undefined && output.DataAccessRoleArn !== null + ? output.DataAccessRoleArn + : undefined, + EndTime: + output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, + InputDataConfig: + output.InputDataConfig !== undefined && output.InputDataConfig !== null + ? deserializeAws_json1_1InputDataConfig(output.InputDataConfig, context) + : undefined, + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobName: output.JobName !== undefined && output.JobName !== null ? output.JobName : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + LanguageCode: output.LanguageCode !== undefined && output.LanguageCode !== null ? output.LanguageCode : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + OutputDataConfig: + output.OutputDataConfig !== undefined && output.OutputDataConfig !== null + ? deserializeAws_json1_1OutputDataConfig(output.OutputDataConfig, context) + : undefined, + SubmitTime: + output.SubmitTime !== undefined && output.SubmitTime !== null + ? new Date(Math.round(output.SubmitTime * 1000)) + : undefined, + TargetEventTypes: + output.TargetEventTypes !== undefined && output.TargetEventTypes !== null + ? deserializeAws_json1_1TargetEventTypes(output.TargetEventTypes, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1EventsDetectionJobPropertiesList = ( + output: any, + context: __SerdeContext +): EventsDetectionJobProperties[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1EventsDetectionJobProperties(entry, context)); +}; + const deserializeAws_json1_1InputDataConfig = (output: any, context: __SerdeContext): InputDataConfig => { return { InputFormat: output.InputFormat !== undefined && output.InputFormat !== null ? output.InputFormat : undefined, @@ -8055,6 +8563,19 @@ const deserializeAws_json1_1ListEntityRecognizersResponse = ( } as any; }; +const deserializeAws_json1_1ListEventsDetectionJobsResponse = ( + output: any, + context: __SerdeContext +): ListEventsDetectionJobsResponse => { + return { + EventsDetectionJobPropertiesList: + output.EventsDetectionJobPropertiesList !== undefined && output.EventsDetectionJobPropertiesList !== null + ? deserializeAws_json1_1EventsDetectionJobPropertiesList(output.EventsDetectionJobPropertiesList, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + const deserializeAws_json1_1ListKeyPhrasesDetectionJobsResponse = ( output: any, context: __SerdeContext @@ -8404,6 +8925,16 @@ const deserializeAws_json1_1StartEntitiesDetectionJobResponse = ( } as any; }; +const deserializeAws_json1_1StartEventsDetectionJobResponse = ( + output: any, + context: __SerdeContext +): StartEventsDetectionJobResponse => { + return { + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + } as any; +}; + const deserializeAws_json1_1StartKeyPhrasesDetectionJobResponse = ( output: any, context: __SerdeContext @@ -8464,6 +8995,16 @@ const deserializeAws_json1_1StopEntitiesDetectionJobResponse = ( } as any; }; +const deserializeAws_json1_1StopEventsDetectionJobResponse = ( + output: any, + context: __SerdeContext +): StopEventsDetectionJobResponse => { + return { + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + } as any; +}; + const deserializeAws_json1_1StopKeyPhrasesDetectionJobResponse = ( output: any, context: __SerdeContext @@ -8540,6 +9081,10 @@ const deserializeAws_json1_1TagResourceResponse = (output: any, context: __Serde return {} as any; }; +const deserializeAws_json1_1TargetEventTypes = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1TextSizeLimitExceededException = ( output: any, context: __SerdeContext diff --git a/clients/client-dynamodb/DynamoDB.ts b/clients/client-dynamodb/DynamoDB.ts index fc70d8fb49b2a..133aea8e83697 100644 --- a/clients/client-dynamodb/DynamoDB.ts +++ b/clients/client-dynamodb/DynamoDB.ts @@ -1,4 +1,9 @@ import { DynamoDBClient } from "./DynamoDBClient"; +import { + BatchExecuteStatementCommand, + BatchExecuteStatementCommandInput, + BatchExecuteStatementCommandOutput, +} from "./commands/BatchExecuteStatementCommand"; import { BatchGetItemCommand, BatchGetItemCommandInput, @@ -62,6 +67,11 @@ import { DescribeGlobalTableSettingsCommandInput, DescribeGlobalTableSettingsCommandOutput, } from "./commands/DescribeGlobalTableSettingsCommand"; +import { + DescribeKinesisStreamingDestinationCommand, + DescribeKinesisStreamingDestinationCommandInput, + DescribeKinesisStreamingDestinationCommandOutput, +} from "./commands/DescribeKinesisStreamingDestinationCommand"; import { DescribeLimitsCommand, DescribeLimitsCommandInput, @@ -82,6 +92,26 @@ import { DescribeTimeToLiveCommandInput, DescribeTimeToLiveCommandOutput, } from "./commands/DescribeTimeToLiveCommand"; +import { + DisableKinesisStreamingDestinationCommand, + DisableKinesisStreamingDestinationCommandInput, + DisableKinesisStreamingDestinationCommandOutput, +} from "./commands/DisableKinesisStreamingDestinationCommand"; +import { + EnableKinesisStreamingDestinationCommand, + EnableKinesisStreamingDestinationCommandInput, + EnableKinesisStreamingDestinationCommandOutput, +} from "./commands/EnableKinesisStreamingDestinationCommand"; +import { + ExecuteStatementCommand, + ExecuteStatementCommandInput, + ExecuteStatementCommandOutput, +} from "./commands/ExecuteStatementCommand"; +import { + ExecuteTransactionCommand, + ExecuteTransactionCommandInput, + ExecuteTransactionCommandOutput, +} from "./commands/ExecuteTransactionCommand"; import { ExportTableToPointInTimeCommand, ExportTableToPointInTimeCommandInput, @@ -191,6 +221,40 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * built-in high availability and data durability.

    */ export class DynamoDB extends DynamoDBClient { + /** + *

    + * This operation allows you to perform batch reads and writes on data stored in DynamoDB, using PartiQL. + *

    + */ + public batchExecuteStatement( + args: BatchExecuteStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchExecuteStatement( + args: BatchExecuteStatementCommandInput, + cb: (err: any, data?: BatchExecuteStatementCommandOutput) => void + ): void; + public batchExecuteStatement( + args: BatchExecuteStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchExecuteStatementCommandOutput) => void + ): void; + public batchExecuteStatement( + args: BatchExecuteStatementCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchExecuteStatementCommandOutput) => void), + cb?: (err: any, data?: BatchExecuteStatementCommandOutput) => void + ): Promise | void { + const command = new BatchExecuteStatementCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    The BatchGetItem operation returns the attributes of one or more items from one or * more tables. You identify requested items by primary key.

    @@ -911,6 +975,38 @@ export class DynamoDB extends DynamoDBClient { } } + /** + *

    Returns information about the status of Kinesis streaming.

    + */ + public describeKinesisStreamingDestination( + args: DescribeKinesisStreamingDestinationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeKinesisStreamingDestination( + args: DescribeKinesisStreamingDestinationCommandInput, + cb: (err: any, data?: DescribeKinesisStreamingDestinationCommandOutput) => void + ): void; + public describeKinesisStreamingDestination( + args: DescribeKinesisStreamingDestinationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeKinesisStreamingDestinationCommandOutput) => void + ): void; + public describeKinesisStreamingDestination( + args: DescribeKinesisStreamingDestinationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeKinesisStreamingDestinationCommandOutput) => void), + cb?: (err: any, data?: DescribeKinesisStreamingDestinationCommandOutput) => void + ): Promise | void { + const command = new DescribeKinesisStreamingDestinationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Returns the current provisioned-capacity quotas for your AWS account in a Region, both * for the Region as a whole and for any one DynamoDB table that you create there.

    @@ -1111,6 +1207,142 @@ export class DynamoDB extends DynamoDBClient { } } + /** + *

    Stops replication from the DynamoDB table to the Kinesis data stream. This is done + * without deleting either of the resources.

    + */ + public disableKinesisStreamingDestination( + args: DisableKinesisStreamingDestinationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disableKinesisStreamingDestination( + args: DisableKinesisStreamingDestinationCommandInput, + cb: (err: any, data?: DisableKinesisStreamingDestinationCommandOutput) => void + ): void; + public disableKinesisStreamingDestination( + args: DisableKinesisStreamingDestinationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisableKinesisStreamingDestinationCommandOutput) => void + ): void; + public disableKinesisStreamingDestination( + args: DisableKinesisStreamingDestinationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisableKinesisStreamingDestinationCommandOutput) => void), + cb?: (err: any, data?: DisableKinesisStreamingDestinationCommandOutput) => void + ): Promise | void { + const command = new DisableKinesisStreamingDestinationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Starts table data replication to the specified Kinesis data stream at a timestamp chosen + * during the enable workflow. If this operation doesn't return results immediately, use + * DescribeKinesisStreamingDestination to check if streaming to the Kinesis data stream is + * ACTIVE.

    + */ + public enableKinesisStreamingDestination( + args: EnableKinesisStreamingDestinationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public enableKinesisStreamingDestination( + args: EnableKinesisStreamingDestinationCommandInput, + cb: (err: any, data?: EnableKinesisStreamingDestinationCommandOutput) => void + ): void; + public enableKinesisStreamingDestination( + args: EnableKinesisStreamingDestinationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: EnableKinesisStreamingDestinationCommandOutput) => void + ): void; + public enableKinesisStreamingDestination( + args: EnableKinesisStreamingDestinationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: EnableKinesisStreamingDestinationCommandOutput) => void), + cb?: (err: any, data?: EnableKinesisStreamingDestinationCommandOutput) => void + ): Promise | void { + const command = new EnableKinesisStreamingDestinationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    + * This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL. + *

    + */ + public executeStatement( + args: ExecuteStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public executeStatement( + args: ExecuteStatementCommandInput, + cb: (err: any, data?: ExecuteStatementCommandOutput) => void + ): void; + public executeStatement( + args: ExecuteStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ExecuteStatementCommandOutput) => void + ): void; + public executeStatement( + args: ExecuteStatementCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExecuteStatementCommandOutput) => void), + cb?: (err: any, data?: ExecuteStatementCommandOutput) => void + ): Promise | void { + const command = new ExecuteStatementCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    + * This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL. + *

    + */ + public executeTransaction( + args: ExecuteTransactionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public executeTransaction( + args: ExecuteTransactionCommandInput, + cb: (err: any, data?: ExecuteTransactionCommandOutput) => void + ): void; + public executeTransaction( + args: ExecuteTransactionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ExecuteTransactionCommandOutput) => void + ): void; + public executeTransaction( + args: ExecuteTransactionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExecuteTransactionCommandOutput) => void), + cb?: (err: any, data?: ExecuteTransactionCommandOutput) => void + ): Promise | void { + const command = new ExecuteTransactionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Exports table data to an S3 bucket. The table must have point in time recovery * enabled, and you can export data from any time within the point in time recovery diff --git a/clients/client-dynamodb/DynamoDBClient.ts b/clients/client-dynamodb/DynamoDBClient.ts index 6b4a95c3fd384..3d4cceb1b3e11 100644 --- a/clients/client-dynamodb/DynamoDBClient.ts +++ b/clients/client-dynamodb/DynamoDBClient.ts @@ -1,3 +1,7 @@ +import { + BatchExecuteStatementCommandInput, + BatchExecuteStatementCommandOutput, +} from "./commands/BatchExecuteStatementCommand"; import { BatchGetItemCommandInput, BatchGetItemCommandOutput } from "./commands/BatchGetItemCommand"; import { BatchWriteItemCommandInput, BatchWriteItemCommandOutput } from "./commands/BatchWriteItemCommand"; import { CreateBackupCommandInput, CreateBackupCommandOutput } from "./commands/CreateBackupCommand"; @@ -25,6 +29,10 @@ import { DescribeGlobalTableSettingsCommandInput, DescribeGlobalTableSettingsCommandOutput, } from "./commands/DescribeGlobalTableSettingsCommand"; +import { + DescribeKinesisStreamingDestinationCommandInput, + DescribeKinesisStreamingDestinationCommandOutput, +} from "./commands/DescribeKinesisStreamingDestinationCommand"; import { DescribeLimitsCommandInput, DescribeLimitsCommandOutput } from "./commands/DescribeLimitsCommand"; import { DescribeTableCommandInput, DescribeTableCommandOutput } from "./commands/DescribeTableCommand"; import { @@ -32,6 +40,16 @@ import { DescribeTableReplicaAutoScalingCommandOutput, } from "./commands/DescribeTableReplicaAutoScalingCommand"; import { DescribeTimeToLiveCommandInput, DescribeTimeToLiveCommandOutput } from "./commands/DescribeTimeToLiveCommand"; +import { + DisableKinesisStreamingDestinationCommandInput, + DisableKinesisStreamingDestinationCommandOutput, +} from "./commands/DisableKinesisStreamingDestinationCommand"; +import { + EnableKinesisStreamingDestinationCommandInput, + EnableKinesisStreamingDestinationCommandOutput, +} from "./commands/EnableKinesisStreamingDestinationCommand"; +import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "./commands/ExecuteStatementCommand"; +import { ExecuteTransactionCommandInput, ExecuteTransactionCommandOutput } from "./commands/ExecuteTransactionCommand"; import { ExportTableToPointInTimeCommandInput, ExportTableToPointInTimeCommandOutput, @@ -131,6 +149,7 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | BatchExecuteStatementCommandInput | BatchGetItemCommandInput | BatchWriteItemCommandInput | CreateBackupCommandInput @@ -146,10 +165,15 @@ export type ServiceInputTypes = | DescribeExportCommandInput | DescribeGlobalTableCommandInput | DescribeGlobalTableSettingsCommandInput + | DescribeKinesisStreamingDestinationCommandInput | DescribeLimitsCommandInput | DescribeTableCommandInput | DescribeTableReplicaAutoScalingCommandInput | DescribeTimeToLiveCommandInput + | DisableKinesisStreamingDestinationCommandInput + | EnableKinesisStreamingDestinationCommandInput + | ExecuteStatementCommandInput + | ExecuteTransactionCommandInput | ExportTableToPointInTimeCommandInput | GetItemCommandInput | ListBackupsCommandInput @@ -177,6 +201,7 @@ export type ServiceInputTypes = | UpdateTimeToLiveCommandInput; export type ServiceOutputTypes = + | BatchExecuteStatementCommandOutput | BatchGetItemCommandOutput | BatchWriteItemCommandOutput | CreateBackupCommandOutput @@ -192,10 +217,15 @@ export type ServiceOutputTypes = | DescribeExportCommandOutput | DescribeGlobalTableCommandOutput | DescribeGlobalTableSettingsCommandOutput + | DescribeKinesisStreamingDestinationCommandOutput | DescribeLimitsCommandOutput | DescribeTableCommandOutput | DescribeTableReplicaAutoScalingCommandOutput | DescribeTimeToLiveCommandOutput + | DisableKinesisStreamingDestinationCommandOutput + | EnableKinesisStreamingDestinationCommandOutput + | ExecuteStatementCommandOutput + | ExecuteTransactionCommandOutput | ExportTableToPointInTimeCommandOutput | GetItemCommandOutput | ListBackupsCommandOutput diff --git a/clients/client-dynamodb/commands/BatchExecuteStatementCommand.ts b/clients/client-dynamodb/commands/BatchExecuteStatementCommand.ts new file mode 100644 index 0000000000000..210c445d3a8a0 --- /dev/null +++ b/clients/client-dynamodb/commands/BatchExecuteStatementCommand.ts @@ -0,0 +1,90 @@ +import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; +import { BatchExecuteStatementInput, BatchExecuteStatementOutput } from "../models/models_0"; +import { + deserializeAws_json1_0BatchExecuteStatementCommand, + serializeAws_json1_0BatchExecuteStatementCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type BatchExecuteStatementCommandInput = BatchExecuteStatementInput; +export type BatchExecuteStatementCommandOutput = BatchExecuteStatementOutput & __MetadataBearer; + +/** + *

    + * This operation allows you to perform batch reads and writes on data stored in DynamoDB, using PartiQL. + *

    + */ +export class BatchExecuteStatementCommand extends $Command< + BatchExecuteStatementCommandInput, + BatchExecuteStatementCommandOutput, + DynamoDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchExecuteStatementCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DynamoDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DynamoDBClient"; + const commandName = "BatchExecuteStatementCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: BatchExecuteStatementInput.filterSensitiveLog, + outputFilterSensitiveLog: BatchExecuteStatementOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchExecuteStatementCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0BatchExecuteStatementCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0BatchExecuteStatementCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-dynamodb/commands/DescribeKinesisStreamingDestinationCommand.ts b/clients/client-dynamodb/commands/DescribeKinesisStreamingDestinationCommand.ts new file mode 100644 index 0000000000000..8ca2228e402f6 --- /dev/null +++ b/clients/client-dynamodb/commands/DescribeKinesisStreamingDestinationCommand.ts @@ -0,0 +1,98 @@ +import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; +import { + DescribeKinesisStreamingDestinationInput, + DescribeKinesisStreamingDestinationOutput, +} from "../models/models_0"; +import { + deserializeAws_json1_0DescribeKinesisStreamingDestinationCommand, + serializeAws_json1_0DescribeKinesisStreamingDestinationCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeKinesisStreamingDestinationCommandInput = DescribeKinesisStreamingDestinationInput; +export type DescribeKinesisStreamingDestinationCommandOutput = DescribeKinesisStreamingDestinationOutput & + __MetadataBearer; + +/** + *

    Returns information about the status of Kinesis streaming.

    + */ +export class DescribeKinesisStreamingDestinationCommand extends $Command< + DescribeKinesisStreamingDestinationCommandInput, + DescribeKinesisStreamingDestinationCommandOutput, + DynamoDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeKinesisStreamingDestinationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DynamoDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DynamoDBClient"; + const commandName = "DescribeKinesisStreamingDestinationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeKinesisStreamingDestinationInput.filterSensitiveLog, + outputFilterSensitiveLog: DescribeKinesisStreamingDestinationOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeKinesisStreamingDestinationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_0DescribeKinesisStreamingDestinationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_0DescribeKinesisStreamingDestinationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-dynamodb/commands/DisableKinesisStreamingDestinationCommand.ts b/clients/client-dynamodb/commands/DisableKinesisStreamingDestinationCommand.ts new file mode 100644 index 0000000000000..695fdc74a8888 --- /dev/null +++ b/clients/client-dynamodb/commands/DisableKinesisStreamingDestinationCommand.ts @@ -0,0 +1,95 @@ +import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; +import { KinesisStreamingDestinationInput, KinesisStreamingDestinationOutput } from "../models/models_0"; +import { + deserializeAws_json1_0DisableKinesisStreamingDestinationCommand, + serializeAws_json1_0DisableKinesisStreamingDestinationCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisableKinesisStreamingDestinationCommandInput = KinesisStreamingDestinationInput; +export type DisableKinesisStreamingDestinationCommandOutput = KinesisStreamingDestinationOutput & __MetadataBearer; + +/** + *

    Stops replication from the DynamoDB table to the Kinesis data stream. This is done + * without deleting either of the resources.

    + */ +export class DisableKinesisStreamingDestinationCommand extends $Command< + DisableKinesisStreamingDestinationCommandInput, + DisableKinesisStreamingDestinationCommandOutput, + DynamoDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisableKinesisStreamingDestinationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DynamoDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DynamoDBClient"; + const commandName = "DisableKinesisStreamingDestinationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: KinesisStreamingDestinationInput.filterSensitiveLog, + outputFilterSensitiveLog: KinesisStreamingDestinationOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisableKinesisStreamingDestinationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_0DisableKinesisStreamingDestinationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_0DisableKinesisStreamingDestinationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-dynamodb/commands/EnableKinesisStreamingDestinationCommand.ts b/clients/client-dynamodb/commands/EnableKinesisStreamingDestinationCommand.ts new file mode 100644 index 0000000000000..ac1b50ef0c052 --- /dev/null +++ b/clients/client-dynamodb/commands/EnableKinesisStreamingDestinationCommand.ts @@ -0,0 +1,97 @@ +import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; +import { KinesisStreamingDestinationInput, KinesisStreamingDestinationOutput } from "../models/models_0"; +import { + deserializeAws_json1_0EnableKinesisStreamingDestinationCommand, + serializeAws_json1_0EnableKinesisStreamingDestinationCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type EnableKinesisStreamingDestinationCommandInput = KinesisStreamingDestinationInput; +export type EnableKinesisStreamingDestinationCommandOutput = KinesisStreamingDestinationOutput & __MetadataBearer; + +/** + *

    Starts table data replication to the specified Kinesis data stream at a timestamp chosen + * during the enable workflow. If this operation doesn't return results immediately, use + * DescribeKinesisStreamingDestination to check if streaming to the Kinesis data stream is + * ACTIVE.

    + */ +export class EnableKinesisStreamingDestinationCommand extends $Command< + EnableKinesisStreamingDestinationCommandInput, + EnableKinesisStreamingDestinationCommandOutput, + DynamoDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: EnableKinesisStreamingDestinationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DynamoDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DynamoDBClient"; + const commandName = "EnableKinesisStreamingDestinationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: KinesisStreamingDestinationInput.filterSensitiveLog, + outputFilterSensitiveLog: KinesisStreamingDestinationOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: EnableKinesisStreamingDestinationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_0EnableKinesisStreamingDestinationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_0EnableKinesisStreamingDestinationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-dynamodb/commands/ExecuteStatementCommand.ts b/clients/client-dynamodb/commands/ExecuteStatementCommand.ts new file mode 100644 index 0000000000000..36e595da4cba4 --- /dev/null +++ b/clients/client-dynamodb/commands/ExecuteStatementCommand.ts @@ -0,0 +1,90 @@ +import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; +import { ExecuteStatementInput, ExecuteStatementOutput } from "../models/models_0"; +import { + deserializeAws_json1_0ExecuteStatementCommand, + serializeAws_json1_0ExecuteStatementCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ExecuteStatementCommandInput = ExecuteStatementInput; +export type ExecuteStatementCommandOutput = ExecuteStatementOutput & __MetadataBearer; + +/** + *

    + * This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL. + *

    + */ +export class ExecuteStatementCommand extends $Command< + ExecuteStatementCommandInput, + ExecuteStatementCommandOutput, + DynamoDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExecuteStatementCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DynamoDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DynamoDBClient"; + const commandName = "ExecuteStatementCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ExecuteStatementInput.filterSensitiveLog, + outputFilterSensitiveLog: ExecuteStatementOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ExecuteStatementCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0ExecuteStatementCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0ExecuteStatementCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-dynamodb/commands/ExecuteTransactionCommand.ts b/clients/client-dynamodb/commands/ExecuteTransactionCommand.ts new file mode 100644 index 0000000000000..b809aa1591ca9 --- /dev/null +++ b/clients/client-dynamodb/commands/ExecuteTransactionCommand.ts @@ -0,0 +1,90 @@ +import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; +import { ExecuteTransactionInput, ExecuteTransactionOutput } from "../models/models_0"; +import { + deserializeAws_json1_0ExecuteTransactionCommand, + serializeAws_json1_0ExecuteTransactionCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ExecuteTransactionCommandInput = ExecuteTransactionInput; +export type ExecuteTransactionCommandOutput = ExecuteTransactionOutput & __MetadataBearer; + +/** + *

    + * This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL. + *

    + */ +export class ExecuteTransactionCommand extends $Command< + ExecuteTransactionCommandInput, + ExecuteTransactionCommandOutput, + DynamoDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExecuteTransactionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DynamoDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DynamoDBClient"; + const commandName = "ExecuteTransactionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ExecuteTransactionInput.filterSensitiveLog, + outputFilterSensitiveLog: ExecuteTransactionOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ExecuteTransactionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0ExecuteTransactionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0ExecuteTransactionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-dynamodb/index.ts b/clients/client-dynamodb/index.ts index f8de7e43125ca..f67f38efd73d3 100644 --- a/clients/client-dynamodb/index.ts +++ b/clients/client-dynamodb/index.ts @@ -1,5 +1,6 @@ export * from "./DynamoDBClient"; export * from "./DynamoDB"; +export * from "./commands/BatchExecuteStatementCommand"; export * from "./commands/BatchGetItemCommand"; export * from "./commands/BatchWriteItemCommand"; export * from "./commands/CreateBackupCommand"; @@ -15,10 +16,15 @@ export * from "./commands/DescribeEndpointsCommand"; export * from "./commands/DescribeExportCommand"; export * from "./commands/DescribeGlobalTableCommand"; export * from "./commands/DescribeGlobalTableSettingsCommand"; +export * from "./commands/DescribeKinesisStreamingDestinationCommand"; export * from "./commands/DescribeLimitsCommand"; export * from "./commands/DescribeTableCommand"; export * from "./commands/DescribeTableReplicaAutoScalingCommand"; export * from "./commands/DescribeTimeToLiveCommand"; +export * from "./commands/DisableKinesisStreamingDestinationCommand"; +export * from "./commands/EnableKinesisStreamingDestinationCommand"; +export * from "./commands/ExecuteStatementCommand"; +export * from "./commands/ExecuteTransactionCommand"; export * from "./commands/ExportTableToPointInTimeCommand"; export * from "./commands/GetItemCommand"; export * from "./commands/ListBackupsCommand"; diff --git a/clients/client-dynamodb/models/models_0.ts b/clients/client-dynamodb/models/models_0.ts index d8b42c32108bc..54afca973d32f 100644 --- a/clients/client-dynamodb/models/models_0.ts +++ b/clients/client-dynamodb/models/models_0.ts @@ -947,6 +947,80 @@ export enum BackupTypeFilter { USER = "USER", } +export enum BatchStatementErrorCodeEnum { + AccessDenied = "AccessDenied", + ConditionalCheckFailed = "ConditionalCheckFailed", + DuplicateItem = "DuplicateItem", + InternalServerError = "InternalServerError", + ItemCollectionSizeLimitExceeded = "ItemCollectionSizeLimitExceeded", + ProvisionedThroughputExceeded = "ProvisionedThroughputExceeded", + RequestLimitExceeded = "RequestLimitExceeded", + ResourceNotFound = "ResourceNotFound", + ThrottlingError = "ThrottlingError", + TransactionConflict = "TransactionConflict", + ValidationError = "ValidationError", +} + +/** + *

    + * An error associated with a statement in a PartiQL batch that was run. + *

    + */ +export interface BatchStatementError { + /** + *

    + * The error code associated with the failed PartiQL batch statement. + *

    + */ + Code?: BatchStatementErrorCodeEnum | string; + + /** + *

    + * The error message associated with the PartiQL batch resposne. + *

    + */ + Message?: string; +} + +export namespace BatchStatementError { + export const filterSensitiveLog = (obj: BatchStatementError): any => ({ + ...obj, + }); +} + +/** + *

    An error occurred on the server side.

    + */ +export interface InternalServerError extends __SmithyException, $MetadataBearer { + name: "InternalServerError"; + $fault: "server"; + /** + *

    The server encountered an internal error trying to fulfill the request.

    + */ + message?: string; +} + +export namespace InternalServerError { + export const filterSensitiveLog = (obj: InternalServerError): any => ({ + ...obj, + }); +} + +/** + *

    Throughput exceeds the current throughput quota for your account. Please contact AWS Support at AWS Support to request a quota increase.

    + */ +export interface RequestLimitExceeded extends __SmithyException, $MetadataBearer { + name: "RequestLimitExceeded"; + $fault: "client"; + message?: string; +} + +export namespace RequestLimitExceeded { + export const filterSensitiveLog = (obj: RequestLimitExceeded): any => ({ + ...obj, + }); +} + export type ReturnConsumedCapacity = "INDEXES" | "NONE" | "TOTAL"; /** @@ -1025,24 +1099,6 @@ export namespace ConsumedCapacity { }); } -/** - *

    An error occurred on the server side.

    - */ -export interface InternalServerError extends __SmithyException, $MetadataBearer { - name: "InternalServerError"; - $fault: "server"; - /** - *

    The server encountered an internal error trying to fulfill the request.

    - */ - message?: string; -} - -export namespace InternalServerError { - export const filterSensitiveLog = (obj: InternalServerError): any => ({ - ...obj, - }); -} - export interface InvalidEndpointException extends __SmithyException, $MetadataBearer { name: "InvalidEndpointException"; $fault: "client"; @@ -1077,21 +1133,6 @@ export namespace ProvisionedThroughputExceededException { }); } -/** - *

    Throughput exceeds the current throughput quota for your account. Please contact AWS Support at AWS Support to request a quota increase.

    - */ -export interface RequestLimitExceeded extends __SmithyException, $MetadataBearer { - name: "RequestLimitExceeded"; - $fault: "client"; - message?: string; -} - -export namespace RequestLimitExceeded { - export const filterSensitiveLog = (obj: RequestLimitExceeded): any => ({ - ...obj, - }); -} - /** *

    The operation tried to access a nonexistent table or index. The resource might not be specified * correctly, or its status might not be ACTIVE.

    @@ -3551,6 +3592,65 @@ export namespace DescribeGlobalTableSettingsOutput { }); } +export interface DescribeKinesisStreamingDestinationInput { + /** + *

    The name of the table being described.

    + */ + TableName: string | undefined; +} + +export namespace DescribeKinesisStreamingDestinationInput { + export const filterSensitiveLog = (obj: DescribeKinesisStreamingDestinationInput): any => ({ + ...obj, + }); +} + +export type DestinationStatus = "ACTIVE" | "DISABLED" | "DISABLING" | "ENABLE_FAILED" | "ENABLING"; + +/** + *

    Describes a Kinesis data stream destination.

    + */ +export interface KinesisDataStreamDestination { + /** + *

    The ARN for a specific Kinesis data stream.

    + */ + StreamArn?: string; + + /** + *

    The current status of replication.

    + */ + DestinationStatus?: DestinationStatus | string; + + /** + *

    The human-readable string that corresponds to the replica status.

    + */ + DestinationStatusDescription?: string; +} + +export namespace KinesisDataStreamDestination { + export const filterSensitiveLog = (obj: KinesisDataStreamDestination): any => ({ + ...obj, + }); +} + +export interface DescribeKinesisStreamingDestinationOutput { + /** + *

    The name of the table being described.

    + */ + TableName?: string; + + /** + *

    The list of replica structures for the table being described.

    + */ + KinesisDataStreamDestinations?: KinesisDataStreamDestination[]; +} + +export namespace DescribeKinesisStreamingDestinationOutput { + export const filterSensitiveLog = (obj: DescribeKinesisStreamingDestinationOutput): any => ({ + ...obj, + }); +} + /** *

    Represents the input of a DescribeLimits operation. Has no content.

    */ @@ -3834,6 +3934,95 @@ export namespace DescribeTimeToLiveOutput { }); } +export interface KinesisStreamingDestinationInput { + /** + *

    The name of the DynamoDB table.

    + */ + TableName: string | undefined; + + /** + *

    The ARN for a Kinesis data stream.

    + */ + StreamArn: string | undefined; +} + +export namespace KinesisStreamingDestinationInput { + export const filterSensitiveLog = (obj: KinesisStreamingDestinationInput): any => ({ + ...obj, + }); +} + +export interface KinesisStreamingDestinationOutput { + /** + *

    The name of the table being modified.

    + */ + TableName?: string; + + /** + *

    The ARN for the specific Kinesis data stream.

    + */ + StreamArn?: string; + + /** + *

    The current status of the replication.

    + */ + DestinationStatus?: DestinationStatus | string; +} + +export namespace KinesisStreamingDestinationOutput { + export const filterSensitiveLog = (obj: KinesisStreamingDestinationOutput): any => ({ + ...obj, + }); +} + +/** + *

    + * There was an attempt to insert an item with the same primary key as an item that already exists in the DynamoDB table. + *

    + */ +export interface DuplicateItemException extends __SmithyException, $MetadataBearer { + name: "DuplicateItemException"; + $fault: "client"; + message?: string; +} + +export namespace DuplicateItemException { + export const filterSensitiveLog = (obj: DuplicateItemException): any => ({ + ...obj, + }); +} + +/** + *

    DynamoDB rejected the request because you retried a request with a different payload but + * with an idempotent token that was already used.

    + */ +export interface IdempotentParameterMismatchException extends __SmithyException, $MetadataBearer { + name: "IdempotentParameterMismatchException"; + $fault: "client"; + Message?: string; +} + +export namespace IdempotentParameterMismatchException { + export const filterSensitiveLog = (obj: IdempotentParameterMismatchException): any => ({ + ...obj, + }); +} + +/** + *

    The transaction with the given request token is already in progress.

    + */ +export interface TransactionInProgressException extends __SmithyException, $MetadataBearer { + name: "TransactionInProgressException"; + $fault: "client"; + Message?: string; +} + +export namespace TransactionInProgressException { + export const filterSensitiveLog = (obj: TransactionInProgressException): any => ({ + ...obj, + }); +} + /** *

    There was a conflict when writing to the specified S3 bucket.

    */ @@ -4504,37 +4693,6 @@ export namespace TagResourceInput { }); } -/** - *

    DynamoDB rejected the request because you retried a request with a different payload but - * with an idempotent token that was already used.

    - */ -export interface IdempotentParameterMismatchException extends __SmithyException, $MetadataBearer { - name: "IdempotentParameterMismatchException"; - $fault: "client"; - Message?: string; -} - -export namespace IdempotentParameterMismatchException { - export const filterSensitiveLog = (obj: IdempotentParameterMismatchException): any => ({ - ...obj, - }); -} - -/** - *

    The transaction with the given request token is already in progress.

    - */ -export interface TransactionInProgressException extends __SmithyException, $MetadataBearer { - name: "TransactionInProgressException"; - $fault: "client"; - Message?: string; -} - -export namespace TransactionInProgressException { - export const filterSensitiveLog = (obj: TransactionInProgressException): any => ({ - ...obj, - }); -} - export interface UntagResourceInput { /** *

    The DynamoDB resource that the tags will be removed from. This value is an Amazon @@ -5364,14 +5522,39 @@ export namespace UpdateTimeToLiveOutput { *

    For more information, see Data Types in the * Amazon DynamoDB Developer Guide.

    */ -export interface AttributeValue { +export type AttributeValue = + | AttributeValue.BMember + | AttributeValue.BOOLMember + | AttributeValue.BSMember + | AttributeValue.LMember + | AttributeValue.MMember + | AttributeValue.NMember + | AttributeValue.NSMember + | AttributeValue.NULLMember + | AttributeValue.SMember + | AttributeValue.SSMember + | AttributeValue.$UnknownMember; + +export namespace AttributeValue { /** *

    An attribute of type String. For example:

    *

    * "S": "Hello" *

    */ - S?: string; + export interface SMember { + S: string; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Number. For example:

    @@ -5380,7 +5563,19 @@ export interface AttributeValue { *

    *

    Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

    */ - N?: string; + export interface NMember { + S?: never; + N: string; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Binary. For example:

    @@ -5388,7 +5583,19 @@ export interface AttributeValue { * "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" *

    */ - B?: Uint8Array; + export interface BMember { + S?: never; + N?: never; + B: Uint8Array; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type String Set. For example:

    @@ -5396,7 +5603,19 @@ export interface AttributeValue { * "SS": ["Giraffe", "Hippo" ,"Zebra"] *

    */ - SS?: string[]; + export interface SSMember { + S?: never; + N?: never; + B?: never; + SS: string[]; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Number Set. For example:

    @@ -5405,7 +5624,19 @@ export interface AttributeValue { *

    *

    Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

    */ - NS?: string[]; + export interface NSMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS: string[]; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Binary Set. For example:

    @@ -5413,7 +5644,19 @@ export interface AttributeValue { * "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] *

    */ - BS?: Uint8Array[]; + export interface BSMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS: Uint8Array[]; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Map. For example:

    @@ -5421,7 +5664,19 @@ export interface AttributeValue { * "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}} *

    */ - M?: { [key: string]: AttributeValue }; + export interface MMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M: { [key: string]: AttributeValue }; + L?: never; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type List. For example:

    @@ -5429,7 +5684,19 @@ export interface AttributeValue { * "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] *

    */ - L?: AttributeValue[]; + export interface LMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L: AttributeValue[]; + NULL?: never; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Null. For example:

    @@ -5437,7 +5704,19 @@ export interface AttributeValue { * "NULL": true *

    */ - NULL?: boolean; + export interface NULLMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL: boolean; + BOOL?: never; + $unknown?: never; + } /** *

    An attribute of type Boolean. For example:

    @@ -5445,13 +5724,84 @@ export interface AttributeValue { * "BOOL": true *

    */ - BOOL?: boolean; -} - -export namespace AttributeValue { - export const filterSensitiveLog = (obj: AttributeValue): any => ({ - ...obj, - }); + export interface BOOLMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL: boolean; + $unknown?: never; + } + + export interface $UnknownMember { + S?: never; + N?: never; + B?: never; + SS?: never; + NS?: never; + BS?: never; + M?: never; + L?: never; + NULL?: never; + BOOL?: never; + $unknown: [string, any]; + } + + export interface Visitor { + S: (value: string) => T; + N: (value: string) => T; + B: (value: Uint8Array) => T; + SS: (value: string[]) => T; + NS: (value: string[]) => T; + BS: (value: Uint8Array[]) => T; + M: (value: { [key: string]: AttributeValue }) => T; + L: (value: AttributeValue[]) => T; + NULL: (value: boolean) => T; + BOOL: (value: boolean) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: AttributeValue, visitor: Visitor): T => { + if (value.S !== undefined) return visitor.S(value.S); + if (value.N !== undefined) return visitor.N(value.N); + if (value.B !== undefined) return visitor.B(value.B); + if (value.SS !== undefined) return visitor.SS(value.SS); + if (value.NS !== undefined) return visitor.NS(value.NS); + if (value.BS !== undefined) return visitor.BS(value.BS); + if (value.M !== undefined) return visitor.M(value.M); + if (value.L !== undefined) return visitor.L(value.L); + if (value.NULL !== undefined) return visitor.NULL(value.NULL); + if (value.BOOL !== undefined) return visitor.BOOL(value.BOOL); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: AttributeValue): any => { + if (obj.S !== undefined) return { S: obj.S }; + if (obj.N !== undefined) return { N: obj.N }; + if (obj.B !== undefined) return { B: obj.B }; + if (obj.SS !== undefined) return { SS: obj.SS }; + if (obj.NS !== undefined) return { NS: obj.NS }; + if (obj.BS !== undefined) return { BS: obj.BS }; + if (obj.M !== undefined) + return { + M: Object.entries(obj.M).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }; + if (obj.L !== undefined) return { L: obj.L.map((item) => AttributeValue.filterSensitiveLog(item)) }; + if (obj.NULL !== undefined) return { NULL: obj.NULL }; + if (obj.BOOL !== undefined) return { BOOL: obj.BOOL }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } /** @@ -5570,6 +5920,85 @@ export interface AttributeValueUpdate { export namespace AttributeValueUpdate { export const filterSensitiveLog = (obj: AttributeValueUpdate): any => ({ ...obj, + ...(obj.Value && { Value: AttributeValue.filterSensitiveLog(obj.Value) }), + }); +} + +/** + *

    + * A PartiQL batch statement request. + *

    + */ +export interface BatchStatementRequest { + /** + *

    + * A valid PartiQL statement. + *

    + */ + Statement: string | undefined; + + /** + *

    + * The parameters associated with a PartiQL statement in the batch request. + *

    + */ + Parameters?: AttributeValue[]; + + /** + *

    + * The read consistency of the PartiQL batch request. + *

    + */ + ConsistentRead?: boolean; +} + +export namespace BatchStatementRequest { + export const filterSensitiveLog = (obj: BatchStatementRequest): any => ({ + ...obj, + ...(obj.Parameters && { Parameters: obj.Parameters.map((item) => AttributeValue.filterSensitiveLog(item)) }), + }); +} + +/** + *

    + * A PartiQL batch statement response.. + *

    + */ +export interface BatchStatementResponse { + /** + *

    + * The error associated with a failed PartiQL batch statement. + *

    + */ + Error?: BatchStatementError; + + /** + *

    + * The table name associated with a failed PartiQL batch statement. + *

    + */ + TableName?: string; + + /** + *

    + * A DynamoDB item associated with a BatchStatementResponse + *

    + */ + Item?: { [key: string]: AttributeValue }; +} + +export namespace BatchStatementResponse { + export const filterSensitiveLog = (obj: BatchStatementResponse): any => ({ + ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -5600,6 +6029,15 @@ export interface CancellationReason { export namespace CancellationReason { export const filterSensitiveLog = (obj: CancellationReason): any => ({ ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -5791,6 +6229,9 @@ export interface Condition { export namespace Condition { export const filterSensitiveLog = (obj: Condition): any => ({ ...obj, + ...(obj.AttributeValueList && { + AttributeValueList: obj.AttributeValueList.map((item) => AttributeValue.filterSensitiveLog(item)), + }), }); } @@ -5807,6 +6248,52 @@ export interface DeleteRequest { export namespace DeleteRequest { export const filterSensitiveLog = (obj: DeleteRequest): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + }); +} + +export interface ExecuteStatementInput { + /** + *

    + * The PartiQL statement representing the operation to run. + *

    + */ + Statement: string | undefined; + + /** + *

    + * The parameters for the PartiQL statement, if any. + *

    + */ + Parameters?: AttributeValue[]; + + /** + *

    + * The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used. + *

    + */ + ConsistentRead?: boolean; + + /** + *

    + * Set this value to get remaining results, if NextToken was returned in the statement response. + *

    + */ + NextToken?: string; +} + +export namespace ExecuteStatementInput { + export const filterSensitiveLog = (obj: ExecuteStatementInput): any => ({ + ...obj, + ...(obj.Parameters && { Parameters: obj.Parameters.map((item) => AttributeValue.filterSensitiveLog(item)) }), }); } @@ -5845,6 +6332,15 @@ export interface Get { export namespace Get { export const filterSensitiveLog = (obj: Get): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -5953,6 +6449,15 @@ export interface GetItemInput { export namespace GetItemInput { export const filterSensitiveLog = (obj: GetItemInput): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -5980,6 +6485,15 @@ export interface GetItemOutput { export namespace GetItemOutput { export const filterSensitiveLog = (obj: GetItemOutput): any => ({ ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -6004,6 +6518,15 @@ export interface ItemCollectionMetrics { export namespace ItemCollectionMetrics { export const filterSensitiveLog = (obj: ItemCollectionMetrics): any => ({ ...obj, + ...(obj.ItemCollectionKey && { + ItemCollectionKey: Object.entries(obj.ItemCollectionKey).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -6020,6 +6543,43 @@ export interface ItemResponse { export namespace ItemResponse { export const filterSensitiveLog = (obj: ItemResponse): any => ({ ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + }); +} + +/** + *

    + * Represents a PartiQL statment that uses parameters. + *

    + */ +export interface ParameterizedStatement { + /** + *

    + * A PartiQL statment that uses parameters. + *

    + */ + Statement: string | undefined; + + /** + *

    + * The parameter values. + *

    + */ + Parameters?: AttributeValue[]; +} + +export namespace ParameterizedStatement { + export const filterSensitiveLog = (obj: ParameterizedStatement): any => ({ + ...obj, + ...(obj.Parameters && { Parameters: obj.Parameters.map((item) => AttributeValue.filterSensitiveLog(item)) }), }); } @@ -6040,6 +6600,48 @@ export interface PutRequest { export namespace PutRequest { export const filterSensitiveLog = (obj: PutRequest): any => ({ ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + }); +} + +export interface ExecuteStatementOutput { + /** + *

    + * If a read operation was used, this property will contain the result of the reade operation; a map of attribute names and their values. For the write operations this value will be empty. + *

    + */ + Items?: { [key: string]: AttributeValue }[]; + + /** + *

    + * If the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results. + *

    + */ + NextToken?: string; +} + +export namespace ExecuteStatementOutput { + export const filterSensitiveLog = (obj: ExecuteStatementOutput): any => ({ + ...obj, + ...(obj.Items && { + Items: obj.Items.map((item) => + Object.entries(item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ) + ), + }), }); } @@ -6124,6 +6726,17 @@ export interface KeysAndAttributes { export namespace KeysAndAttributes { export const filterSensitiveLog = (obj: KeysAndAttributes): any => ({ ...obj, + ...(obj.Keys && { + Keys: obj.Keys.map((item) => + Object.entries(item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ) + ), + }), }); } @@ -6142,6 +6755,76 @@ export interface TransactGetItem { export namespace TransactGetItem { export const filterSensitiveLog = (obj: TransactGetItem): any => ({ ...obj, + ...(obj.Get && { Get: Get.filterSensitiveLog(obj.Get) }), + }); +} + +export interface BatchExecuteStatementInput { + /** + *

    + * The list of PartiQL statements representing the batch to run. + *

    + */ + Statements: BatchStatementRequest[] | undefined; +} + +export namespace BatchExecuteStatementInput { + export const filterSensitiveLog = (obj: BatchExecuteStatementInput): any => ({ + ...obj, + }); +} + +export interface BatchExecuteStatementOutput { + /** + *

    + * The response to each PartiQL statement in the batch. + *

    + */ + Responses?: BatchStatementResponse[]; +} + +export namespace BatchExecuteStatementOutput { + export const filterSensitiveLog = (obj: BatchExecuteStatementOutput): any => ({ + ...obj, + ...(obj.Responses && { Responses: obj.Responses.map((item) => BatchStatementResponse.filterSensitiveLog(item)) }), + }); +} + +export interface ExecuteTransactionInput { + /** + *

    + * The list of PartiQL statements representing the transaction to run. + *

    + */ + TransactStatements: ParameterizedStatement[] | undefined; + + /** + *

    + * Set this value to get remaining results, if NextToken was returned in the statement response. + *

    + */ + ClientRequestToken?: string; +} + +export namespace ExecuteTransactionInput { + export const filterSensitiveLog = (obj: ExecuteTransactionInput): any => ({ + ...obj, + }); +} + +export interface ExecuteTransactionOutput { + /** + *

    + * The response to a PartiQL transaction. + *

    + */ + Responses?: ItemResponse[]; +} + +export namespace ExecuteTransactionOutput { + export const filterSensitiveLog = (obj: ExecuteTransactionOutput): any => ({ + ...obj, + ...(obj.Responses && { Responses: obj.Responses.map((item) => ItemResponse.filterSensitiveLog(item)) }), }); } @@ -6171,6 +6854,7 @@ export interface TransactGetItemsOutput { export namespace TransactGetItemsOutput { export const filterSensitiveLog = (obj: TransactGetItemsOutput): any => ({ ...obj, + ...(obj.Responses && { Responses: obj.Responses.map((item) => ItemResponse.filterSensitiveLog(item)) }), }); } @@ -6392,6 +7076,9 @@ export interface TransactionCanceledException extends __SmithyException, $Metada export namespace TransactionCanceledException { export const filterSensitiveLog = (obj: TransactionCanceledException): any => ({ ...obj, + ...(obj.CancellationReasons && { + CancellationReasons: obj.CancellationReasons.map((item) => CancellationReason.filterSensitiveLog(item)), + }), }); } @@ -6745,6 +7432,10 @@ export interface ExpectedAttributeValue { export namespace ExpectedAttributeValue { export const filterSensitiveLog = (obj: ExpectedAttributeValue): any => ({ ...obj, + ...(obj.Value && { Value: AttributeValue.filterSensitiveLog(obj.Value) }), + ...(obj.AttributeValueList && { + AttributeValueList: obj.AttributeValueList.map((item) => AttributeValue.filterSensitiveLog(item)), + }), }); } @@ -6766,6 +7457,9 @@ export interface TransactGetItemsInput { export namespace TransactGetItemsInput { export const filterSensitiveLog = (obj: TransactGetItemsInput): any => ({ ...obj, + ...(obj.TransactItems && { + TransactItems: obj.TransactItems.map((item) => TransactGetItem.filterSensitiveLog(item)), + }), }); } @@ -6836,6 +7530,24 @@ export interface ConditionCheck { export namespace ConditionCheck { export const filterSensitiveLog = (obj: ConditionCheck): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -6881,6 +7593,24 @@ export interface Delete { export namespace Delete { export const filterSensitiveLog = (obj: Delete): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -6929,6 +7659,24 @@ export interface Put { export namespace Put { export const filterSensitiveLog = (obj: Put): any => ({ ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -6981,6 +7729,24 @@ export interface Update { export namespace Update { export const filterSensitiveLog = (obj: Update): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -7039,6 +7805,18 @@ export interface DeleteItemOutput { export namespace DeleteItemOutput { export const filterSensitiveLog = (obj: DeleteItemOutput): any => ({ ...obj, + ...(obj.Attributes && { + Attributes: Object.entries(obj.Attributes).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ItemCollectionMetrics && { + ItemCollectionMetrics: ItemCollectionMetrics.filterSensitiveLog(obj.ItemCollectionMetrics), + }), }); } @@ -7095,6 +7873,18 @@ export interface PutItemOutput { export namespace PutItemOutput { export const filterSensitiveLog = (obj: PutItemOutput): any => ({ ...obj, + ...(obj.Attributes && { + Attributes: Object.entries(obj.Attributes).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ItemCollectionMetrics && { + ItemCollectionMetrics: ItemCollectionMetrics.filterSensitiveLog(obj.ItemCollectionMetrics), + }), }); } @@ -7148,6 +7938,26 @@ export interface QueryOutput { export namespace QueryOutput { export const filterSensitiveLog = (obj: QueryOutput): any => ({ ...obj, + ...(obj.Items && { + Items: obj.Items.map((item) => + Object.entries(item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ) + ), + }), + ...(obj.LastEvaluatedKey && { + LastEvaluatedKey: Object.entries(obj.LastEvaluatedKey).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -7206,6 +8016,26 @@ export interface ScanOutput { export namespace ScanOutput { export const filterSensitiveLog = (obj: ScanOutput): any => ({ ...obj, + ...(obj.Items && { + Items: obj.Items.map((item) => + Object.entries(item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ) + ), + }), + ...(obj.LastEvaluatedKey && { + LastEvaluatedKey: Object.entries(obj.LastEvaluatedKey).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -7264,6 +8094,18 @@ export interface UpdateItemOutput { export namespace UpdateItemOutput { export const filterSensitiveLog = (obj: UpdateItemOutput): any => ({ ...obj, + ...(obj.Attributes && { + Attributes: Object.entries(obj.Attributes).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ItemCollectionMetrics && { + ItemCollectionMetrics: ItemCollectionMetrics.filterSensitiveLog(obj.ItemCollectionMetrics), + }), }); } @@ -7288,6 +8130,8 @@ export interface WriteRequest { export namespace WriteRequest { export const filterSensitiveLog = (obj: WriteRequest): any => ({ ...obj, + ...(obj.PutRequest && { PutRequest: PutRequest.filterSensitiveLog(obj.PutRequest) }), + ...(obj.DeleteRequest && { DeleteRequest: DeleteRequest.filterSensitiveLog(obj.DeleteRequest) }), }); } @@ -7626,6 +8470,33 @@ export interface ScanInput { export namespace ScanInput { export const filterSensitiveLog = (obj: ScanInput): any => ({ ...obj, + ...(obj.ScanFilter && { + ScanFilter: Object.entries(obj.ScanFilter).reduce( + (acc: any, [key, value]: [string, Condition]) => ({ + ...acc, + [key]: Condition.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExclusiveStartKey && { + ExclusiveStartKey: Object.entries(obj.ExclusiveStartKey).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -7878,6 +8749,33 @@ export interface DeleteItemInput { export namespace DeleteItemInput { export const filterSensitiveLog = (obj: DeleteItemInput): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.Expected && { + Expected: Object.entries(obj.Expected).reduce( + (acc: any, [key, value]: [string, ExpectedAttributeValue]) => ({ + ...acc, + [key]: ExpectedAttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -8058,6 +8956,33 @@ export interface PutItemInput { export namespace PutItemInput { export const filterSensitiveLog = (obj: PutItemInput): any => ({ ...obj, + ...(obj.Item && { + Item: Object.entries(obj.Item).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.Expected && { + Expected: Object.entries(obj.Expected).reduce( + (acc: any, [key, value]: [string, ExpectedAttributeValue]) => ({ + ...acc, + [key]: ExpectedAttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -8424,6 +9349,42 @@ export interface QueryInput { export namespace QueryInput { export const filterSensitiveLog = (obj: QueryInput): any => ({ ...obj, + ...(obj.KeyConditions && { + KeyConditions: Object.entries(obj.KeyConditions).reduce( + (acc: any, [key, value]: [string, Condition]) => ({ + ...acc, + [key]: Condition.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.QueryFilter && { + QueryFilter: Object.entries(obj.QueryFilter).reduce( + (acc: any, [key, value]: [string, Condition]) => ({ + ...acc, + [key]: Condition.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExclusiveStartKey && { + ExclusiveStartKey: Object.entries(obj.ExclusiveStartKey).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -8805,6 +9766,42 @@ export interface UpdateItemInput { export namespace UpdateItemInput { export const filterSensitiveLog = (obj: UpdateItemInput): any => ({ ...obj, + ...(obj.Key && { + Key: Object.entries(obj.Key).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.AttributeUpdates && { + AttributeUpdates: Object.entries(obj.AttributeUpdates).reduce( + (acc: any, [key, value]: [string, AttributeValueUpdate]) => ({ + ...acc, + [key]: AttributeValueUpdate.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.Expected && { + Expected: Object.entries(obj.Expected).reduce( + (acc: any, [key, value]: [string, ExpectedAttributeValue]) => ({ + ...acc, + [key]: ExpectedAttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.ExpressionAttributeValues && { + ExpressionAttributeValues: Object.entries(obj.ExpressionAttributeValues).reduce( + (acc: any, [key, value]: [string, AttributeValue]) => ({ + ...acc, + [key]: AttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -8836,6 +9833,10 @@ export interface TransactWriteItem { export namespace TransactWriteItem { export const filterSensitiveLog = (obj: TransactWriteItem): any => ({ ...obj, + ...(obj.ConditionCheck && { ConditionCheck: ConditionCheck.filterSensitiveLog(obj.ConditionCheck) }), + ...(obj.Put && { Put: Put.filterSensitiveLog(obj.Put) }), + ...(obj.Delete && { Delete: Delete.filterSensitiveLog(obj.Delete) }), + ...(obj.Update && { Update: Update.filterSensitiveLog(obj.Update) }), }); } @@ -8902,5 +9903,8 @@ export interface TransactWriteItemsInput { export namespace TransactWriteItemsInput { export const filterSensitiveLog = (obj: TransactWriteItemsInput): any => ({ ...obj, + ...(obj.TransactItems && { + TransactItems: obj.TransactItems.map((item) => TransactWriteItem.filterSensitiveLog(item)), + }), }); } diff --git a/clients/client-dynamodb/protocols/Aws_json1_0.ts b/clients/client-dynamodb/protocols/Aws_json1_0.ts index afc8998d0fe56..67053470b1f66 100644 --- a/clients/client-dynamodb/protocols/Aws_json1_0.ts +++ b/clients/client-dynamodb/protocols/Aws_json1_0.ts @@ -1,3 +1,7 @@ +import { + BatchExecuteStatementCommandInput, + BatchExecuteStatementCommandOutput, +} from "../commands/BatchExecuteStatementCommand"; import { BatchGetItemCommandInput, BatchGetItemCommandOutput } from "../commands/BatchGetItemCommand"; import { BatchWriteItemCommandInput, BatchWriteItemCommandOutput } from "../commands/BatchWriteItemCommand"; import { CreateBackupCommandInput, CreateBackupCommandOutput } from "../commands/CreateBackupCommand"; @@ -25,6 +29,10 @@ import { DescribeGlobalTableSettingsCommandInput, DescribeGlobalTableSettingsCommandOutput, } from "../commands/DescribeGlobalTableSettingsCommand"; +import { + DescribeKinesisStreamingDestinationCommandInput, + DescribeKinesisStreamingDestinationCommandOutput, +} from "../commands/DescribeKinesisStreamingDestinationCommand"; import { DescribeLimitsCommandInput, DescribeLimitsCommandOutput } from "../commands/DescribeLimitsCommand"; import { DescribeTableCommandInput, DescribeTableCommandOutput } from "../commands/DescribeTableCommand"; import { @@ -32,6 +40,16 @@ import { DescribeTableReplicaAutoScalingCommandOutput, } from "../commands/DescribeTableReplicaAutoScalingCommand"; import { DescribeTimeToLiveCommandInput, DescribeTimeToLiveCommandOutput } from "../commands/DescribeTimeToLiveCommand"; +import { + DisableKinesisStreamingDestinationCommandInput, + DisableKinesisStreamingDestinationCommandOutput, +} from "../commands/DisableKinesisStreamingDestinationCommand"; +import { + EnableKinesisStreamingDestinationCommandInput, + EnableKinesisStreamingDestinationCommandOutput, +} from "../commands/EnableKinesisStreamingDestinationCommand"; +import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "../commands/ExecuteStatementCommand"; +import { ExecuteTransactionCommandInput, ExecuteTransactionCommandOutput } from "../commands/ExecuteTransactionCommand"; import { ExportTableToPointInTimeCommandInput, ExportTableToPointInTimeCommandOutput, @@ -97,8 +115,13 @@ import { BackupInUseException, BackupNotFoundException, BackupSummary, + BatchExecuteStatementInput, + BatchExecuteStatementOutput, BatchGetItemInput, BatchGetItemOutput, + BatchStatementError, + BatchStatementRequest, + BatchStatementResponse, BatchWriteItemInput, BatchWriteItemOutput, BillingModeSummary, @@ -145,6 +168,8 @@ import { DescribeGlobalTableOutput, DescribeGlobalTableSettingsInput, DescribeGlobalTableSettingsOutput, + DescribeKinesisStreamingDestinationInput, + DescribeKinesisStreamingDestinationOutput, DescribeLimitsInput, DescribeLimitsOutput, DescribeTableInput, @@ -153,7 +178,12 @@ import { DescribeTableReplicaAutoScalingOutput, DescribeTimeToLiveInput, DescribeTimeToLiveOutput, + DuplicateItemException, Endpoint, + ExecuteStatementInput, + ExecuteStatementOutput, + ExecuteTransactionInput, + ExecuteTransactionOutput, ExpectedAttributeValue, ExportConflictException, ExportDescription, @@ -186,6 +216,9 @@ import { ItemResponse, KeySchemaElement, KeysAndAttributes, + KinesisDataStreamDestination, + KinesisStreamingDestinationInput, + KinesisStreamingDestinationOutput, LimitExceededException, ListBackupsInput, ListBackupsOutput, @@ -202,6 +235,7 @@ import { LocalSecondaryIndex, LocalSecondaryIndexDescription, LocalSecondaryIndexInfo, + ParameterizedStatement, PointInTimeRecoveryDescription, PointInTimeRecoverySpecification, PointInTimeRecoveryUnavailableException, @@ -298,6 +332,19 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_json1_0BatchExecuteStatementCommand = async ( + input: BatchExecuteStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "DynamoDB_20120810.BatchExecuteStatement", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0BatchExecuteStatementInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_0BatchGetItemCommand = async ( input: BatchGetItemCommandInput, context: __SerdeContext @@ -493,6 +540,19 @@ export const serializeAws_json1_0DescribeGlobalTableSettingsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_0DescribeKinesisStreamingDestinationCommand = async ( + input: DescribeKinesisStreamingDestinationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "DynamoDB_20120810.DescribeKinesisStreamingDestination", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DescribeKinesisStreamingDestinationInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_0DescribeLimitsCommand = async ( input: DescribeLimitsCommandInput, context: __SerdeContext @@ -545,6 +605,58 @@ export const serializeAws_json1_0DescribeTimeToLiveCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_0DisableKinesisStreamingDestinationCommand = async ( + input: DisableKinesisStreamingDestinationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "DynamoDB_20120810.DisableKinesisStreamingDestination", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0KinesisStreamingDestinationInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0EnableKinesisStreamingDestinationCommand = async ( + input: EnableKinesisStreamingDestinationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "DynamoDB_20120810.EnableKinesisStreamingDestination", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0KinesisStreamingDestinationInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0ExecuteStatementCommand = async ( + input: ExecuteStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "DynamoDB_20120810.ExecuteStatement", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0ExecuteStatementInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0ExecuteTransactionCommand = async ( + input: ExecuteTransactionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "DynamoDB_20120810.ExecuteTransaction", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0ExecuteTransactionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_0ExportTableToPointInTimeCommand = async ( input: ExportTableToPointInTimeCommandInput, context: __SerdeContext @@ -870,6 +982,69 @@ export const serializeAws_json1_0UpdateTimeToLiveCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const deserializeAws_json1_0BatchExecuteStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0BatchExecuteStatementCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0BatchExecuteStatementOutput(data, context); + const response: BatchExecuteStatementCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0BatchExecuteStatementCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.dynamodb#InternalServerError": + response = { + ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RequestLimitExceeded": + case "com.amazonaws.dynamodb#RequestLimitExceeded": + response = { + ...(await deserializeAws_json1_0RequestLimitExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_0BatchGetItemCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2071,6 +2246,77 @@ const deserializeAws_json1_0DescribeGlobalTableSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_0DescribeKinesisStreamingDestinationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DescribeKinesisStreamingDestinationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeKinesisStreamingDestinationOutput(data, context); + const response: DescribeKinesisStreamingDestinationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeKinesisStreamingDestinationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.dynamodb#InternalServerError": + response = { + ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.dynamodb#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.dynamodb#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_0DescribeLimitsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2210,22 +2456,330 @@ export const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommand = asyn context: __SerdeContext ): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError(output, context); + return deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeTableReplicaAutoScalingOutput(data, context); + const response: DescribeTableReplicaAutoScalingCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.dynamodb#InternalServerError": + response = { + ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.dynamodb#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_0DescribeTimeToLiveCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DescribeTimeToLiveCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeTimeToLiveOutput(data, context); + const response: DescribeTimeToLiveCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeTimeToLiveCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.dynamodb#InternalServerError": + response = { + ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.dynamodb#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.dynamodb#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_0DisableKinesisStreamingDestinationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DisableKinesisStreamingDestinationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0KinesisStreamingDestinationOutput(data, context); + const response: DisableKinesisStreamingDestinationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DisableKinesisStreamingDestinationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.dynamodb#InternalServerError": + response = { + ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.dynamodb#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.dynamodb#LimitExceededException": + response = { + ...(await deserializeAws_json1_0LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.dynamodb#ResourceInUseException": + response = { + ...(await deserializeAws_json1_0ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.dynamodb#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_0EnableKinesisStreamingDestinationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0EnableKinesisStreamingDestinationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0KinesisStreamingDestinationOutput(data, context); + const response: EnableKinesisStreamingDestinationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0EnableKinesisStreamingDestinationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.dynamodb#InternalServerError": + response = { + ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.dynamodb#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.dynamodb#LimitExceededException": + response = { + ...(await deserializeAws_json1_0LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.dynamodb#ResourceInUseException": + response = { + ...(await deserializeAws_json1_0ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.dynamodb#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_0ExecuteStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0ExecuteStatementCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_0DescribeTableReplicaAutoScalingOutput(data, context); - const response: DescribeTableReplicaAutoScalingCommandOutput = { + contents = deserializeAws_json1_0ExecuteStatementOutput(data, context); + const response: ExecuteStatementCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError = async ( +const deserializeAws_json1_0ExecuteStatementCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2235,6 +2789,22 @@ const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError = async const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "ConditionalCheckFailedException": + case "com.amazonaws.dynamodb#ConditionalCheckFailedException": + response = { + ...(await deserializeAws_json1_0ConditionalCheckFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DuplicateItemException": + case "com.amazonaws.dynamodb#DuplicateItemException": + response = { + ...(await deserializeAws_json1_0DuplicateItemExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerError": case "com.amazonaws.dynamodb#InternalServerError": response = { @@ -2243,6 +2813,30 @@ const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError = async $metadata: deserializeMetadata(output), }; break; + case "ItemCollectionSizeLimitExceededException": + case "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException": + response = { + ...(await deserializeAws_json1_0ItemCollectionSizeLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ProvisionedThroughputExceededException": + case "com.amazonaws.dynamodb#ProvisionedThroughputExceededException": + response = { + ...(await deserializeAws_json1_0ProvisionedThroughputExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RequestLimitExceeded": + case "com.amazonaws.dynamodb#RequestLimitExceeded": + response = { + ...(await deserializeAws_json1_0RequestLimitExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.dynamodb#ResourceNotFoundException": response = { @@ -2251,6 +2845,14 @@ const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError = async $metadata: deserializeMetadata(output), }; break; + case "TransactionConflictException": + case "com.amazonaws.dynamodb#TransactionConflictException": + response = { + ...(await deserializeAws_json1_0TransactionConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -2268,27 +2870,27 @@ const deserializeAws_json1_0DescribeTableReplicaAutoScalingCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_0DescribeTimeToLiveCommand = async ( +export const deserializeAws_json1_0ExecuteTransactionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_0DescribeTimeToLiveCommandError(output, context); + return deserializeAws_json1_0ExecuteTransactionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_0DescribeTimeToLiveOutput(data, context); - const response: DescribeTimeToLiveCommandOutput = { + contents = deserializeAws_json1_0ExecuteTransactionOutput(data, context); + const response: ExecuteTransactionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_0DescribeTimeToLiveCommandError = async ( +const deserializeAws_json1_0ExecuteTransactionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2298,6 +2900,14 @@ const deserializeAws_json1_0DescribeTimeToLiveCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "IdempotentParameterMismatchException": + case "com.amazonaws.dynamodb#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_json1_0IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerError": case "com.amazonaws.dynamodb#InternalServerError": response = { @@ -2306,10 +2916,18 @@ const deserializeAws_json1_0DescribeTimeToLiveCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidEndpointException": - case "com.amazonaws.dynamodb#InvalidEndpointException": + case "ProvisionedThroughputExceededException": + case "com.amazonaws.dynamodb#ProvisionedThroughputExceededException": response = { - ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_0ProvisionedThroughputExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RequestLimitExceeded": + case "com.amazonaws.dynamodb#RequestLimitExceeded": + response = { + ...(await deserializeAws_json1_0RequestLimitExceededResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2322,6 +2940,22 @@ const deserializeAws_json1_0DescribeTimeToLiveCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TransactionCanceledException": + case "com.amazonaws.dynamodb#TransactionCanceledException": + response = { + ...(await deserializeAws_json1_0TransactionCanceledExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TransactionInProgressException": + case "com.amazonaws.dynamodb#TransactionInProgressException": + response = { + ...(await deserializeAws_json1_0TransactionInProgressExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -4544,6 +5178,21 @@ const deserializeAws_json1_0ContinuousBackupsUnavailableExceptionResponse = asyn return contents; }; +const deserializeAws_json1_0DuplicateItemExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0DuplicateItemException(body, context); + const contents: DuplicateItemException = { + name: "DuplicateItemException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_0ExportConflictExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -4948,18 +5597,19 @@ const serializeAws_json1_0AttributeUpdates = ( }; const serializeAws_json1_0AttributeValue = (input: AttributeValue, context: __SerdeContext): any => { - return { - ...(input.B !== undefined && { B: context.base64Encoder(input.B) }), - ...(input.BOOL !== undefined && { BOOL: input.BOOL }), - ...(input.BS !== undefined && { BS: serializeAws_json1_0BinarySetAttributeValue(input.BS, context) }), - ...(input.L !== undefined && { L: serializeAws_json1_0ListAttributeValue(input.L, context) }), - ...(input.M !== undefined && { M: serializeAws_json1_0MapAttributeValue(input.M, context) }), - ...(input.N !== undefined && { N: input.N }), - ...(input.NS !== undefined && { NS: serializeAws_json1_0NumberSetAttributeValue(input.NS, context) }), - ...(input.NULL !== undefined && { NULL: input.NULL }), - ...(input.S !== undefined && { S: input.S }), - ...(input.SS !== undefined && { SS: serializeAws_json1_0StringSetAttributeValue(input.SS, context) }), - }; + return AttributeValue.visit(input, { + B: (value) => ({ B: context.base64Encoder(value) }), + BOOL: (value) => ({ BOOL: value }), + BS: (value) => ({ BS: serializeAws_json1_0BinarySetAttributeValue(value, context) }), + L: (value) => ({ L: serializeAws_json1_0ListAttributeValue(value, context) }), + M: (value) => ({ M: serializeAws_json1_0MapAttributeValue(value, context) }), + N: (value) => ({ N: value }), + NS: (value) => ({ NS: serializeAws_json1_0NumberSetAttributeValue(value, context) }), + NULL: (value) => ({ NULL: value }), + S: (value) => ({ S: value }), + SS: (value) => ({ SS: serializeAws_json1_0StringSetAttributeValue(value, context) }), + _: (name, value) => ({ name: value } as any), + }); }; const serializeAws_json1_0AttributeValueList = (input: AttributeValue[], context: __SerdeContext): any => { @@ -5012,6 +5662,17 @@ const serializeAws_json1_0AutoScalingTargetTrackingScalingPolicyConfigurationUpd }; }; +const serializeAws_json1_0BatchExecuteStatementInput = ( + input: BatchExecuteStatementInput, + context: __SerdeContext +): any => { + return { + ...(input.Statements !== undefined && { + Statements: serializeAws_json1_0PartiQLBatchRequest(input.Statements, context), + }), + }; +}; + const serializeAws_json1_0BatchGetItemInput = (input: BatchGetItemInput, context: __SerdeContext): any => { return { ...(input.RequestItems !== undefined && { @@ -5034,6 +5695,16 @@ const serializeAws_json1_0BatchGetRequestMap = ( ); }; +const serializeAws_json1_0BatchStatementRequest = (input: BatchStatementRequest, context: __SerdeContext): any => { + return { + ...(input.ConsistentRead !== undefined && { ConsistentRead: input.ConsistentRead }), + ...(input.Parameters !== undefined && { + Parameters: serializeAws_json1_0PreparedStatementParameters(input.Parameters, context), + }), + ...(input.Statement !== undefined && { Statement: input.Statement }), + }; +}; + const serializeAws_json1_0BatchWriteItemInput = (input: BatchWriteItemInput, context: __SerdeContext): any => { return { ...(input.RequestItems !== undefined && { @@ -5321,6 +5992,15 @@ const serializeAws_json1_0DescribeGlobalTableSettingsInput = ( }; }; +const serializeAws_json1_0DescribeKinesisStreamingDestinationInput = ( + input: DescribeKinesisStreamingDestinationInput, + context: __SerdeContext +): any => { + return { + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + const serializeAws_json1_0DescribeLimitsInput = (input: DescribeLimitsInput, context: __SerdeContext): any => { return {}; }; @@ -5346,6 +6026,26 @@ const serializeAws_json1_0DescribeTimeToLiveInput = (input: DescribeTimeToLiveIn }; }; +const serializeAws_json1_0ExecuteStatementInput = (input: ExecuteStatementInput, context: __SerdeContext): any => { + return { + ...(input.ConsistentRead !== undefined && { ConsistentRead: input.ConsistentRead }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.Parameters !== undefined && { + Parameters: serializeAws_json1_0PreparedStatementParameters(input.Parameters, context), + }), + ...(input.Statement !== undefined && { Statement: input.Statement }), + }; +}; + +const serializeAws_json1_0ExecuteTransactionInput = (input: ExecuteTransactionInput, context: __SerdeContext): any => { + return { + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.TransactStatements !== undefined && { + TransactStatements: serializeAws_json1_0ParameterizedStatements(input.TransactStatements, context), + }), + }; +}; + const serializeAws_json1_0ExpectedAttributeMap = ( input: { [key: string]: ExpectedAttributeValue }, context: __SerdeContext @@ -5585,6 +6285,16 @@ const serializeAws_json1_0KeySchemaElement = (input: KeySchemaElement, context: }; }; +const serializeAws_json1_0KinesisStreamingDestinationInput = ( + input: KinesisStreamingDestinationInput, + context: __SerdeContext +): any => { + return { + ...(input.StreamArn !== undefined && { StreamArn: input.StreamArn }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + const serializeAws_json1_0ListAttributeValue = (input: AttributeValue[], context: __SerdeContext): any => { return input.map((entry) => serializeAws_json1_0AttributeValue(entry, context)); }; @@ -5680,6 +6390,23 @@ const serializeAws_json1_0NumberSetAttributeValue = (input: string[], context: _ return input.map((entry) => entry); }; +const serializeAws_json1_0ParameterizedStatement = (input: ParameterizedStatement, context: __SerdeContext): any => { + return { + ...(input.Parameters !== undefined && { + Parameters: serializeAws_json1_0PreparedStatementParameters(input.Parameters, context), + }), + ...(input.Statement !== undefined && { Statement: input.Statement }), + }; +}; + +const serializeAws_json1_0ParameterizedStatements = (input: ParameterizedStatement[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_0ParameterizedStatement(entry, context)); +}; + +const serializeAws_json1_0PartiQLBatchRequest = (input: BatchStatementRequest[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_0BatchStatementRequest(entry, context)); +}; + const serializeAws_json1_0PointInTimeRecoverySpecification = ( input: PointInTimeRecoverySpecification, context: __SerdeContext @@ -5691,6 +6418,10 @@ const serializeAws_json1_0PointInTimeRecoverySpecification = ( }; }; +const serializeAws_json1_0PreparedStatementParameters = (input: AttributeValue[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_0AttributeValue(entry, context)); +}; + const serializeAws_json1_0Projection = (input: Projection, context: __SerdeContext): any => { return { ...(input.NonKeyAttributes !== undefined && { @@ -6458,33 +7189,57 @@ const deserializeAws_json1_0AttributeNameList = (output: any, context: __SerdeCo }; const deserializeAws_json1_0AttributeValue = (output: any, context: __SerdeContext): AttributeValue => { - return { - B: output.B !== undefined && output.B !== null ? context.base64Decoder(output.B) : undefined, - BOOL: output.BOOL !== undefined && output.BOOL !== null ? output.BOOL : undefined, - BS: - output.BS !== undefined && output.BS !== null - ? deserializeAws_json1_0BinarySetAttributeValue(output.BS, context) - : undefined, - L: - output.L !== undefined && output.L !== null - ? deserializeAws_json1_0ListAttributeValue(output.L, context) - : undefined, - M: - output.M !== undefined && output.M !== null - ? deserializeAws_json1_0MapAttributeValue(output.M, context) - : undefined, - N: output.N !== undefined && output.N !== null ? output.N : undefined, - NS: - output.NS !== undefined && output.NS !== null - ? deserializeAws_json1_0NumberSetAttributeValue(output.NS, context) - : undefined, - NULL: output.NULL !== undefined && output.NULL !== null ? output.NULL : undefined, - S: output.S !== undefined && output.S !== null ? output.S : undefined, - SS: - output.SS !== undefined && output.SS !== null - ? deserializeAws_json1_0StringSetAttributeValue(output.SS, context) - : undefined, - } as any; + if (output.B !== undefined && output.B !== null) { + return { + B: context.base64Decoder(output.B), + }; + } + if (output.BOOL !== undefined && output.BOOL !== null) { + return { + BOOL: output.BOOL, + }; + } + if (output.BS !== undefined && output.BS !== null) { + return { + BS: deserializeAws_json1_0BinarySetAttributeValue(output.BS, context), + }; + } + if (output.L !== undefined && output.L !== null) { + return { + L: deserializeAws_json1_0ListAttributeValue(output.L, context), + }; + } + if (output.M !== undefined && output.M !== null) { + return { + M: deserializeAws_json1_0MapAttributeValue(output.M, context), + }; + } + if (output.N !== undefined && output.N !== null) { + return { + N: output.N, + }; + } + if (output.NS !== undefined && output.NS !== null) { + return { + NS: deserializeAws_json1_0NumberSetAttributeValue(output.NS, context), + }; + } + if (output.NULL !== undefined && output.NULL !== null) { + return { + NULL: output.NULL, + }; + } + if (output.S !== undefined && output.S !== null) { + return { + S: output.S, + }; + } + if (output.SS !== undefined && output.SS !== null) { + return { + SS: deserializeAws_json1_0StringSetAttributeValue(output.SS, context), + }; + } + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_json1_0AutoScalingPolicyDescription = ( @@ -6625,6 +7380,18 @@ const deserializeAws_json1_0BackupSummary = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_0BatchExecuteStatementOutput = ( + output: any, + context: __SerdeContext +): BatchExecuteStatementOutput => { + return { + Responses: + output.Responses !== undefined && output.Responses !== null + ? deserializeAws_json1_0PartiQLBatchResponse(output.Responses, context) + : undefined, + } as any; +}; + const deserializeAws_json1_0BatchGetItemOutput = (output: any, context: __SerdeContext): BatchGetItemOutput => { return { ConsumedCapacity: @@ -6668,6 +7435,27 @@ const deserializeAws_json1_0BatchGetResponseMap = ( ); }; +const deserializeAws_json1_0BatchStatementError = (output: any, context: __SerdeContext): BatchStatementError => { + return { + Code: output.Code !== undefined && output.Code !== null ? output.Code : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0BatchStatementResponse = (output: any, context: __SerdeContext): BatchStatementResponse => { + return { + Error: + output.Error !== undefined && output.Error !== null + ? deserializeAws_json1_0BatchStatementError(output.Error, context) + : undefined, + Item: + output.Item !== undefined && output.Item !== null + ? deserializeAws_json1_0AttributeMap(output.Item, context) + : undefined, + TableName: output.TableName !== undefined && output.TableName !== null ? output.TableName : undefined, + } as any; +}; + const deserializeAws_json1_0BatchWriteItemOutput = (output: any, context: __SerdeContext): BatchWriteItemOutput => { return { ConsumedCapacity: @@ -6998,6 +7786,19 @@ const deserializeAws_json1_0DescribeGlobalTableSettingsOutput = ( } as any; }; +const deserializeAws_json1_0DescribeKinesisStreamingDestinationOutput = ( + output: any, + context: __SerdeContext +): DescribeKinesisStreamingDestinationOutput => { + return { + KinesisDataStreamDestinations: + output.KinesisDataStreamDestinations !== undefined && output.KinesisDataStreamDestinations !== null + ? deserializeAws_json1_0KinesisDataStreamDestinations(output.KinesisDataStreamDestinations, context) + : undefined, + TableName: output.TableName !== undefined && output.TableName !== null ? output.TableName : undefined, + } as any; +}; + const deserializeAws_json1_0DescribeLimitsOutput = (output: any, context: __SerdeContext): DescribeLimitsOutput => { return { AccountMaxReadCapacityUnits: @@ -7052,6 +7853,12 @@ const deserializeAws_json1_0DescribeTimeToLiveOutput = ( } as any; }; +const deserializeAws_json1_0DuplicateItemException = (output: any, context: __SerdeContext): DuplicateItemException => { + return { + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + const deserializeAws_json1_0Endpoint = (output: any, context: __SerdeContext): Endpoint => { return { Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, @@ -7066,6 +7873,28 @@ const deserializeAws_json1_0Endpoints = (output: any, context: __SerdeContext): return (output || []).map((entry: any) => deserializeAws_json1_0Endpoint(entry, context)); }; +const deserializeAws_json1_0ExecuteStatementOutput = (output: any, context: __SerdeContext): ExecuteStatementOutput => { + return { + Items: + output.Items !== undefined && output.Items !== null + ? deserializeAws_json1_0ItemList(output.Items, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_0ExecuteTransactionOutput = ( + output: any, + context: __SerdeContext +): ExecuteTransactionOutput => { + return { + Responses: + output.Responses !== undefined && output.Responses !== null + ? deserializeAws_json1_0ItemResponseList(output.Responses, context) + : undefined, + } as any; +}; + const deserializeAws_json1_0ExportConflictException = ( output: any, context: __SerdeContext @@ -7470,6 +8299,44 @@ const deserializeAws_json1_0KeySchemaElement = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_json1_0KinesisDataStreamDestination = ( + output: any, + context: __SerdeContext +): KinesisDataStreamDestination => { + return { + DestinationStatus: + output.DestinationStatus !== undefined && output.DestinationStatus !== null + ? output.DestinationStatus + : undefined, + DestinationStatusDescription: + output.DestinationStatusDescription !== undefined && output.DestinationStatusDescription !== null + ? output.DestinationStatusDescription + : undefined, + StreamArn: output.StreamArn !== undefined && output.StreamArn !== null ? output.StreamArn : undefined, + } as any; +}; + +const deserializeAws_json1_0KinesisDataStreamDestinations = ( + output: any, + context: __SerdeContext +): KinesisDataStreamDestination[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0KinesisDataStreamDestination(entry, context)); +}; + +const deserializeAws_json1_0KinesisStreamingDestinationOutput = ( + output: any, + context: __SerdeContext +): KinesisStreamingDestinationOutput => { + return { + DestinationStatus: + output.DestinationStatus !== undefined && output.DestinationStatus !== null + ? output.DestinationStatus + : undefined, + StreamArn: output.StreamArn !== undefined && output.StreamArn !== null ? output.StreamArn : undefined, + TableName: output.TableName !== undefined && output.TableName !== null ? output.TableName : undefined, + } as any; +}; + const deserializeAws_json1_0LimitExceededException = (output: any, context: __SerdeContext): LimitExceededException => { return { message: output.message !== undefined && output.message !== null ? output.message : undefined, @@ -7628,6 +8495,10 @@ const deserializeAws_json1_0NumberSetAttributeValue = (output: any, context: __S return (output || []).map((entry: any) => entry); }; +const deserializeAws_json1_0PartiQLBatchResponse = (output: any, context: __SerdeContext): BatchStatementResponse[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0BatchStatementResponse(entry, context)); +}; + const deserializeAws_json1_0PointInTimeRecoveryDescription = ( output: any, context: __SerdeContext diff --git a/clients/client-ec2/commands/GetEbsEncryptionByDefaultCommand.ts b/clients/client-ec2/commands/GetEbsEncryptionByDefaultCommand.ts index dc690fefd7ddd..33c28a518983f 100644 --- a/clients/client-ec2/commands/GetEbsEncryptionByDefaultCommand.ts +++ b/clients/client-ec2/commands/GetEbsEncryptionByDefaultCommand.ts @@ -1,6 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetEbsEncryptionByDefaultRequest } from "../models/models_3"; -import { GetEbsEncryptionByDefaultResult } from "../models/models_4"; +import { GetEbsEncryptionByDefaultRequest, GetEbsEncryptionByDefaultResult } from "../models/models_4"; import { deserializeAws_ec2GetEbsEncryptionByDefaultCommand, serializeAws_ec2GetEbsEncryptionByDefaultCommand, diff --git a/clients/client-ec2/index.ts b/clients/client-ec2/index.ts index b34a1c13f7f61..8f3f86c6fee52 100644 --- a/clients/client-ec2/index.ts +++ b/clients/client-ec2/index.ts @@ -159,6 +159,7 @@ export * from "./commands/DescribeAggregateIdFormatCommand"; export * from "./commands/DescribeAvailabilityZonesCommand"; export * from "./commands/DescribeBundleTasksCommand"; export * from "./commands/DescribeByoipCidrsCommand"; +export * from "./pagination/DescribeByoipCidrsPaginator"; export * from "./commands/DescribeCapacityReservationsCommand"; export * from "./pagination/DescribeCapacityReservationsPaginator"; export * from "./commands/DescribeCarrierGatewaysCommand"; diff --git a/clients/client-ec2/models/models_0.ts b/clients/client-ec2/models/models_0.ts index 05cc552b4f30a..5284e753c43cc 100644 --- a/clients/client-ec2/models/models_0.ts +++ b/clients/client-ec2/models/models_0.ts @@ -5573,6 +5573,7 @@ export type _InstanceType = | "m6gd.medium" | "m6gd.metal" | "m6gd.xlarge" + | "mac1.metal" | "p2.16xlarge" | "p2.8xlarge" | "p2.xlarge" diff --git a/clients/client-ec2/models/models_3.ts b/clients/client-ec2/models/models_3.ts index 8d8df9b2e62e5..baeb794dabd75 100644 --- a/clients/client-ec2/models/models_3.ts +++ b/clients/client-ec2/models/models_3.ts @@ -8109,6 +8109,22 @@ export namespace DescribeVpcEndpointServicesRequest { }); } +/** + *

    Information about the Private DNS name for interface endpoints.

    + */ +export interface PrivateDnsDetails { + /** + *

    The private DNS name assigned to the VPC endpoint service.

    + */ + PrivateDnsName?: string; +} + +export namespace PrivateDnsDetails { + export const filterSensitiveLog = (obj: PrivateDnsDetails): any => ({ + ...obj, + }); +} + /** *

    Describes a VPC endpoint service.

    */ @@ -8148,6 +8164,11 @@ export interface ServiceDetail { */ PrivateDnsName?: string; + /** + *

    The private DNS names assigned to the VPC endpoint service.

    + */ + PrivateDnsNames?: PrivateDnsDetails[]; + /** *

    Indicates whether the service supports endpoint policies.

    */ @@ -10692,18 +10713,3 @@ export namespace GetEbsDefaultKmsKeyIdResult { ...obj, }); } - -export interface GetEbsEncryptionByDefaultRequest { - /** - *

    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

    - */ - DryRun?: boolean; -} - -export namespace GetEbsEncryptionByDefaultRequest { - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/models/models_4.ts b/clients/client-ec2/models/models_4.ts index d0651049b7a9b..b48ea87ad2a45 100644 --- a/clients/client-ec2/models/models_4.ts +++ b/clients/client-ec2/models/models_4.ts @@ -119,6 +119,21 @@ import { } from "./models_3"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface GetEbsEncryptionByDefaultRequest { + /** + *

    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + DryRun?: boolean; +} + +export namespace GetEbsEncryptionByDefaultRequest { + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); +} + export interface GetEbsEncryptionByDefaultResult { /** *

    Indicates whether encryption by default is enabled.

    diff --git a/clients/client-ec2/pagination/DescribeByoipCidrsPaginator.ts b/clients/client-ec2/pagination/DescribeByoipCidrsPaginator.ts new file mode 100644 index 0000000000000..3549bdd07b155 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeByoipCidrsPaginator.ts @@ -0,0 +1,57 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeByoipCidrsCommand, + DescribeByoipCidrsCommandInput, + DescribeByoipCidrsCommandOutput, +} from "../commands/DescribeByoipCidrsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeByoipCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeByoipCidrsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeByoipCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeByoipCidrs(input, ...args); +}; +export async function* paginateDescribeByoipCidrs( + config: EC2PaginationConfiguration, + input: DescribeByoipCidrsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeByoipCidrsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/protocols/Aws_ec2.ts b/clients/client-ec2/protocols/Aws_ec2.ts index 5bcbd3267ddb1..ad2c49799beb1 100644 --- a/clients/client-ec2/protocols/Aws_ec2.ts +++ b/clients/client-ec2/protocols/Aws_ec2.ts @@ -2340,7 +2340,6 @@ import { GetDefaultCreditSpecificationResult, GetEbsDefaultKmsKeyIdRequest, GetEbsDefaultKmsKeyIdResult, - GetEbsEncryptionByDefaultRequest, HistoryRecord, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, @@ -2358,6 +2357,7 @@ import { PrefixList, PricingDetail, PrincipalIdFormat, + PrivateDnsDetails, PublicIpv4Pool, PublicIpv4PoolRange, RecurringCharge, @@ -2421,6 +2421,7 @@ import { EbsInstanceBlockDeviceSpecification, ElasticInferenceAccelerator, EnclaveOptionsRequest, + GetEbsEncryptionByDefaultRequest, GetEbsEncryptionByDefaultResult, GetGroupsForCapacityReservationRequest, GetGroupsForCapacityReservationResult, @@ -58556,6 +58557,20 @@ const deserializeAws_ec2PrincipalIdFormatList = (output: any, context: __SerdeCo return (output || []).map((entry: any) => deserializeAws_ec2PrincipalIdFormat(entry, context)); }; +const deserializeAws_ec2PrivateDnsDetails = (output: any, context: __SerdeContext): PrivateDnsDetails => { + let contents: any = { + PrivateDnsName: undefined, + }; + if (output["privateDnsName"] !== undefined) { + contents.PrivateDnsName = output["privateDnsName"]; + } + return contents; +}; + +const deserializeAws_ec2PrivateDnsDetailsSet = (output: any, context: __SerdeContext): PrivateDnsDetails[] => { + return (output || []).map((entry: any) => deserializeAws_ec2PrivateDnsDetails(entry, context)); +}; + const deserializeAws_ec2PrivateDnsNameConfiguration = ( output: any, context: __SerdeContext @@ -60631,6 +60646,7 @@ const deserializeAws_ec2ServiceDetail = (output: any, context: __SerdeContext): Owner: undefined, BaseEndpointDnsNames: undefined, PrivateDnsName: undefined, + PrivateDnsNames: undefined, VpcEndpointPolicySupported: undefined, AcceptanceRequired: undefined, ManagesVpcEndpoints: undefined, @@ -60676,6 +60692,15 @@ const deserializeAws_ec2ServiceDetail = (output: any, context: __SerdeContext): if (output["privateDnsName"] !== undefined) { contents.PrivateDnsName = output["privateDnsName"]; } + if (output.privateDnsNameSet === "") { + contents.PrivateDnsNames = []; + } + if (output["privateDnsNameSet"] !== undefined && output["privateDnsNameSet"]["item"] !== undefined) { + contents.PrivateDnsNames = deserializeAws_ec2PrivateDnsDetailsSet( + __getArrayIfSingleItem(output["privateDnsNameSet"]["item"]), + context + ); + } if (output["vpcEndpointPolicySupported"] !== undefined) { contents.VpcEndpointPolicySupported = output["vpcEndpointPolicySupported"] == "true"; } diff --git a/clients/client-ecs/ECS.ts b/clients/client-ecs/ECS.ts index 7ffdcc68207ba..2c4e530f1e790 100644 --- a/clients/client-ecs/ECS.ts +++ b/clients/client-ecs/ECS.ts @@ -194,6 +194,11 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; +import { + UpdateCapacityProviderCommand, + UpdateCapacityProviderCommandInput, + UpdateCapacityProviderCommandOutput, +} from "./commands/UpdateCapacityProviderCommand"; import { UpdateClusterSettingsCommand, UpdateClusterSettingsCommandInput, @@ -1938,6 +1943,38 @@ export class ECS extends ECSClient { } } + /** + *

    Modifies the parameters for a capacity provider.

    + */ + public updateCapacityProvider( + args: UpdateCapacityProviderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateCapacityProvider( + args: UpdateCapacityProviderCommandInput, + cb: (err: any, data?: UpdateCapacityProviderCommandOutput) => void + ): void; + public updateCapacityProvider( + args: UpdateCapacityProviderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateCapacityProviderCommandOutput) => void + ): void; + public updateCapacityProvider( + args: UpdateCapacityProviderCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateCapacityProviderCommandOutput) => void), + cb?: (err: any, data?: UpdateCapacityProviderCommandOutput) => void + ): Promise | void { + const command = new UpdateCapacityProviderCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Modifies the settings to use for a cluster.

    */ diff --git a/clients/client-ecs/ECSClient.ts b/clients/client-ecs/ECSClient.ts index 375864a289335..ebd58433e908b 100644 --- a/clients/client-ecs/ECSClient.ts +++ b/clients/client-ecs/ECSClient.ts @@ -104,6 +104,10 @@ import { } from "./commands/SubmitTaskStateChangeCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdateCapacityProviderCommandInput, + UpdateCapacityProviderCommandOutput, +} from "./commands/UpdateCapacityProviderCommand"; import { UpdateClusterSettingsCommandInput, UpdateClusterSettingsCommandOutput, @@ -215,6 +219,7 @@ export type ServiceInputTypes = | SubmitTaskStateChangeCommandInput | TagResourceCommandInput | UntagResourceCommandInput + | UpdateCapacityProviderCommandInput | UpdateClusterSettingsCommandInput | UpdateContainerAgentCommandInput | UpdateContainerInstancesStateCommandInput @@ -266,6 +271,7 @@ export type ServiceOutputTypes = | SubmitTaskStateChangeCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput + | UpdateCapacityProviderCommandOutput | UpdateClusterSettingsCommandOutput | UpdateContainerAgentCommandOutput | UpdateContainerInstancesStateCommandOutput diff --git a/clients/client-ecs/commands/UpdateCapacityProviderCommand.ts b/clients/client-ecs/commands/UpdateCapacityProviderCommand.ts new file mode 100644 index 0000000000000..f42429fb10b27 --- /dev/null +++ b/clients/client-ecs/commands/UpdateCapacityProviderCommand.ts @@ -0,0 +1,88 @@ +import { ECSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ECSClient"; +import { UpdateCapacityProviderRequest, UpdateCapacityProviderResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateCapacityProviderCommand, + serializeAws_json1_1UpdateCapacityProviderCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateCapacityProviderCommandInput = UpdateCapacityProviderRequest; +export type UpdateCapacityProviderCommandOutput = UpdateCapacityProviderResponse & __MetadataBearer; + +/** + *

    Modifies the parameters for a capacity provider.

    + */ +export class UpdateCapacityProviderCommand extends $Command< + UpdateCapacityProviderCommandInput, + UpdateCapacityProviderCommandOutput, + ECSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateCapacityProviderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ECSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ECSClient"; + const commandName = "UpdateCapacityProviderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateCapacityProviderRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateCapacityProviderResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateCapacityProviderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateCapacityProviderCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateCapacityProviderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ecs/index.ts b/clients/client-ecs/index.ts index 1aeb5096cd25d..92e1f9307c831 100644 --- a/clients/client-ecs/index.ts +++ b/clients/client-ecs/index.ts @@ -51,6 +51,7 @@ export * from "./commands/SubmitContainerStateChangeCommand"; export * from "./commands/SubmitTaskStateChangeCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdateCapacityProviderCommand"; export * from "./commands/UpdateClusterSettingsCommand"; export * from "./commands/UpdateContainerAgentCommand"; export * from "./commands/UpdateContainerInstancesStateCommand"; diff --git a/clients/client-ecs/models/models_0.ts b/clients/client-ecs/models/models_0.ts index 0408209dec724..67e3b9833817d 100644 --- a/clients/client-ecs/models/models_0.ts +++ b/clients/client-ecs/models/models_0.ts @@ -58,24 +58,9 @@ export enum ManagedScalingStatus { */ export interface ManagedScaling { /** - *

    The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale - * in process is not affected by this parameter If this parameter is omitted, the default - * value of 1 is used.

    - *

    When additional capacity is required, Amazon ECS will scale up the minimum scaling step - * size even if the actual demand is less than the minimum scaling step size.

    - *

    If you use a capacity provider with an Auto Scaling group configured with more than - * one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum - * scaling step size value and will ignore both the maximum scaling step size as well as - * the capacity demand.

    - */ - minimumScalingStepSize?: number; - - /** - *

    The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale - * in process is not affected by this parameter. If this parameter is omitted, the default - * value of 10000 is used.

    + *

    Whether or not to enable managed scaling for the capacity provider.

    */ - maximumScalingStepSize?: number; + status?: ManagedScalingStatus | string; /** *

    The target capacity value for the capacity provider. The specified value must be @@ -86,9 +71,24 @@ export interface ManagedScaling { targetCapacity?: number; /** - *

    Whether or not to enable managed scaling for the capacity provider.

    + *

    The minimum number of container instances that Amazon ECS will scale in or scale out at one + * time. If this parameter is omitted, the default value of 1 is used.

    */ - status?: ManagedScalingStatus | string; + minimumScalingStepSize?: number; + + /** + *

    The maximum number of container instances that Amazon ECS will scale in or scale out at one + * time. If this parameter is omitted, the default value of 10000 is + * used.

    + */ + maximumScalingStepSize?: number; + + /** + *

    The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute + * to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value + * of 300 seconds is used.

    + */ + instanceWarmupPeriod?: number; } export namespace ManagedScaling { @@ -106,6 +106,16 @@ export enum ManagedTerminationProtection { *

    The details of the Auto Scaling group for the capacity provider.

    */ export interface AutoScalingGroupProvider { + /** + *

    The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

    + */ + autoScalingGroupArn: string | undefined; + + /** + *

    The managed scaling settings for the Auto Scaling group capacity provider.

    + */ + managedScaling?: ManagedScaling; + /** *

    The managed termination protection setting to use for the Auto Scaling group capacity * provider. This determines whether the Auto Scaling group has managed termination @@ -122,16 +132,6 @@ export interface AutoScalingGroupProvider { * protected from termination when the Auto Scaling group scales in.

    */ managedTerminationProtection?: ManagedTerminationProtection | string; - - /** - *

    The managed scaling settings for the Auto Scaling group capacity provider.

    - */ - managedScaling?: ManagedScaling; - - /** - *

    The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

    - */ - autoScalingGroupArn: string | undefined; } export namespace AutoScalingGroupProvider { @@ -176,17 +176,17 @@ export namespace AutoScalingGroupProvider { * */ export interface Tag { - /** - *

    The optional part of a key-value pair that make up a tag. A value acts as - * a descriptor within a tag category (key).

    - */ - value?: string; - /** *

    One part of a key-value pair that make up a tag. A key is a general label * that acts like a category for more specific tag values.

    */ key?: string; + + /** + *

    The optional part of a key-value pair that make up a tag. A value acts as + * a descriptor within a tag category (key).

    + */ + value?: string; } export namespace Tag { @@ -196,11 +196,6 @@ export namespace Tag { } export interface CreateCapacityProviderRequest { - /** - *

    The details of the Auto Scaling group for the capacity provider.

    - */ - autoScalingGroupProvider: AutoScalingGroupProvider | undefined; - /** *

    The name of the capacity provider. Up to 255 characters are allowed, including letters * (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed @@ -208,6 +203,11 @@ export interface CreateCapacityProviderRequest { */ name: string | undefined; + /** + *

    The details of the Auto Scaling group for the capacity provider.

    + */ + autoScalingGroupProvider: AutoScalingGroupProvider | undefined; + /** *

    The metadata that you apply to the capacity provider to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which you @@ -262,12 +262,59 @@ export enum CapacityProviderUpdateStatus { DELETE_COMPLETE = "DELETE_COMPLETE", DELETE_FAILED = "DELETE_FAILED", DELETE_IN_PROGRESS = "DELETE_IN_PROGRESS", + UPDATE_COMPLETE = "UPDATE_COMPLETE", + UPDATE_FAILED = "UPDATE_FAILED", + UPDATE_IN_PROGRESS = "UPDATE_IN_PROGRESS", } /** *

    The details of a capacity provider.

    */ export interface CapacityProvider { + /** + *

    The Amazon Resource Name (ARN) that identifies the capacity provider.

    + */ + capacityProviderArn?: string; + + /** + *

    The name of the capacity provider.

    + */ + name?: string; + + /** + *

    The current status of the capacity provider. Only capacity providers in an + * ACTIVE state can be used in a cluster. When a capacity provider is + * successfully deleted, it will have an INACTIVE status.

    + */ + status?: CapacityProviderStatus | string; + + /** + *

    The Auto Scaling group settings for the capacity provider.

    + */ + autoScalingGroupProvider?: AutoScalingGroupProvider; + + /** + *

    The update status of the capacity provider. The following are the possible states that + * will be returned.

    + *
    + *
    DELETE_IN_PROGRESS
    + *
    + *

    The capacity provider is in the process of being deleted.

    + *
    + *
    DELETE_COMPLETE
    + *
    + *

    The capacity provider has been successfully deleted and will have an + * INACTIVE status.

    + *
    + *
    DELETE_FAILED
    + *
    + *

    The capacity provider was unable to be deleted. The update status reason + * will provide further details about why the delete failed.

    + *
    + *
    + */ + updateStatus?: CapacityProviderUpdateStatus | string; + /** *

    The update status reason. This provides further details about the update status for * the capacity provider.

    @@ -311,50 +358,6 @@ export interface CapacityProvider { * */ tags?: Tag[]; - - /** - *

    The current status of the capacity provider. Only capacity providers in an - * ACTIVE state can be used in a cluster. When a capacity provider is - * successfully deleted, it will have an INACTIVE status.

    - */ - status?: CapacityProviderStatus | string; - - /** - *

    The Amazon Resource Name (ARN) that identifies the capacity provider.

    - */ - capacityProviderArn?: string; - - /** - *

    The Auto Scaling group settings for the capacity provider.

    - */ - autoScalingGroupProvider?: AutoScalingGroupProvider; - - /** - *

    The name of the capacity provider.

    - */ - name?: string; - - /** - *

    The update status of the capacity provider. The following are the possible states that - * will be returned.

    - *
    - *
    DELETE_IN_PROGRESS
    - *
    - *

    The capacity provider is in the process of being deleted.

    - *
    - *
    DELETE_COMPLETE
    - *
    - *

    The capacity provider has been successfully deleted and will have an - * INACTIVE status.

    - *
    - *
    DELETE_FAILED
    - *
    - *

    The capacity provider was unable to be deleted. The update status reason - * will provide further details about why the delete failed.

    - *
    - *
    - */ - updateStatus?: CapacityProviderUpdateStatus | string; } export namespace CapacityProvider { @@ -445,6 +448,11 @@ export namespace UpdateInProgressException { *

    The details of a capacity provider strategy.

    */ export interface CapacityProviderStrategyItem { + /** + *

    The short name of the capacity provider.

    + */ + capacityProvider: string | undefined; + /** *

    The weight value designates the relative percentage of the total * number of tasks launched that should use the specified capacity provider.

    @@ -458,11 +466,6 @@ export interface CapacityProviderStrategyItem { */ weight?: number; - /** - *

    The short name of the capacity provider.

    - */ - capacityProvider: string | undefined; - /** *

    The base value designates how many tasks, at a minimum, to run on * the specified capacity provider. Only one capacity provider in a capacity provider @@ -553,29 +556,6 @@ export interface CreateClusterRequest { */ tags?: Tag[]; - /** - *

    The capacity provider strategy to use by default for the cluster.

    - *

    When creating a service or running a task on a cluster, if no capacity provider or - * launch type is specified then the default capacity provider strategy for the cluster is - * used.

    - *

    A capacity provider strategy consists of one or more capacity providers along with the - * base and weight to assign to them. A capacity provider - * must be associated with the cluster to be used in a capacity provider strategy. The - * PutClusterCapacityProviders API is used to associate a capacity - * provider with a cluster. Only capacity providers with an ACTIVE or - * UPDATING status can be used.

    - *

    If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    - *

    To use a AWS Fargate capacity provider, specify either the FARGATE or - * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are - * available to all accounts and only need to be associated with a cluster to be - * used.

    - *

    If a default capacity provider strategy is not defined for a cluster during creation, - * it can be defined later with the PutClusterCapacityProviders API - * operation.

    - */ - defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; - /** *

    The setting to use when creating a cluster. This parameter is used to enable CloudWatch * Container Insights for a cluster. If this value is specified, it will override the @@ -599,6 +579,29 @@ export interface CreateClusterRequest { * list of available capacity providers for a cluster after the cluster is created.

    */ capacityProviders?: string[]; + + /** + *

    The capacity provider strategy to use by default for the cluster.

    + *

    When creating a service or running a task on a cluster, if no capacity provider or + * launch type is specified then the default capacity provider strategy for the cluster is + * used.

    + *

    A capacity provider strategy consists of one or more capacity providers along with the + * base and weight to assign to them. A capacity provider + * must be associated with the cluster to be used in a capacity provider strategy. The + * PutClusterCapacityProviders API is used to associate a capacity + * provider with a cluster. Only capacity providers with an ACTIVE or + * UPDATING status can be used.

    + *

    If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    + *

    To use a AWS Fargate capacity provider, specify either the FARGATE or + * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + * available to all accounts and only need to be associated with a cluster to be + * used.

    + *

    If a default capacity provider strategy is not defined for a cluster during creation, + * it can be defined later with the PutClusterCapacityProviders API + * operation.

    + */ + defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; } export namespace CreateClusterRequest { @@ -612,16 +615,16 @@ export namespace CreateClusterRequest { */ export interface KeyValuePair { /** - *

    The value of the key-value pair. For environment variables, this is the value of the + *

    The name of the key-value pair. For environment variables, this is the name of the * environment variable.

    */ - value?: string; + name?: string; /** - *

    The name of the key-value pair. For environment variables, this is the name of the + *

    The value of the key-value pair. For environment variables, this is the value of the * environment variable.

    */ - name?: string; + value?: string; } export namespace KeyValuePair { @@ -635,11 +638,9 @@ export namespace KeyValuePair { */ export interface Attachment { /** - *

    The status of the attachment. Valid values are PRECREATED, - * CREATED, ATTACHING, ATTACHED, - * DETACHING, DETACHED, and DELETED.

    + *

    The unique identifier for the attachment.

    */ - status?: string; + id?: string; /** *

    The type of the attachment, such as ElasticNetworkInterface.

    @@ -647,9 +648,11 @@ export interface Attachment { type?: string; /** - *

    The unique identifier for the attachment.

    + *

    The status of the attachment. Valid values are PRECREATED, + * CREATED, ATTACHING, ATTACHED, + * DETACHING, DETACHED, and DELETED.

    */ - id?: string; + status?: string; /** *

    Details of the attachment. For elastic network interfaces, this includes the network @@ -672,71 +675,14 @@ export namespace Attachment { */ export interface Cluster { /** - *

    The settings for the cluster. This parameter indicates whether CloudWatch Container Insights - * is enabled or disabled for a cluster.

    - */ - settings?: ClusterSetting[]; - - /** - *

    The number of services that are running on the cluster in an ACTIVE - * state. You can view these services with ListServices.

    - */ - activeServicesCount?: number; - - /** - *

    The resources attached to a cluster. When using a capacity provider with a cluster, - * the Auto Scaling plan that is created will be returned as a cluster attachment.

    - */ - attachments?: Attachment[]; - - /** - *

    The capacity providers associated with the cluster.

    + *

    The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

    */ - capacityProviders?: string[]; + clusterArn?: string; /** - *

    The number of tasks in the cluster that are in the RUNNING state.

    + *

    A user-generated string that you use to identify your cluster.

    */ - runningTasksCount?: number; - - /** - *

    Additional information about your clusters that are separated by launch type, - * including:

    - *
      - *
    • - *

      runningEC2TasksCount

      - *
    • - *
    • - *

      RunningFargateTasksCount

      - *
    • - *
    • - *

      pendingEC2TasksCount

      - *
    • - *
    • - *

      pendingFargateTasksCount

      - *
    • - *
    • - *

      activeEC2ServiceCount

      - *
    • - *
    • - *

      activeFargateServiceCount

      - *
    • - *
    • - *

      drainingEC2ServiceCount

      - *
    • - *
    • - *

      drainingFargateServiceCount

      - *
    • - *
    - */ - statistics?: KeyValuePair[]; - - /** - *

    The default capacity provider strategy for the cluster. When services or tasks are run - * in the cluster with no launch type or capacity provider strategy specified, the default - * capacity provider strategy is used.

    - */ - defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; + clusterName?: string; /** *

    The status of the cluster. The following are the possible states that will be @@ -774,46 +720,58 @@ export interface Cluster { status?: string; /** - *

    The number of tasks in the cluster that are in the PENDING state.

    + *

    The number of container instances registered into the cluster. This includes container + * instances in both ACTIVE and DRAINING status.

    */ - pendingTasksCount?: number; + registeredContainerInstancesCount?: number; /** - *

    The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

    + *

    The number of tasks in the cluster that are in the RUNNING state.

    */ - clusterArn?: string; + runningTasksCount?: number; /** - *

    A user-generated string that you use to identify your cluster.

    + *

    The number of tasks in the cluster that are in the PENDING state.

    */ - clusterName?: string; + pendingTasksCount?: number; /** - *

    The number of container instances registered into the cluster. This includes container - * instances in both ACTIVE and DRAINING status.

    + *

    The number of services that are running on the cluster in an ACTIVE + * state. You can view these services with ListServices.

    */ - registeredContainerInstancesCount?: number; + activeServicesCount?: number; /** - *

    The status of the capacity providers associated with the cluster. The following are - * the states that will be returned:

    - *
    - *
    UPDATE_IN_PROGRESS
    - *
    - *

    The available capacity providers for the cluster are updating. This occurs - * when the Auto Scaling plan is provisioning or deprovisioning.

    - *
    - *
    UPDATE_COMPLETE
    - *
    - *

    The capacity providers have successfully updated.

    - *
    - *
    UPDATE_FAILED
    - *
    - *

    The capacity provider updates failed.

    - *
    - *
    + *

    Additional information about your clusters that are separated by launch type, + * including:

    + *
      + *
    • + *

      runningEC2TasksCount

      + *
    • + *
    • + *

      RunningFargateTasksCount

      + *
    • + *
    • + *

      pendingEC2TasksCount

      + *
    • + *
    • + *

      pendingFargateTasksCount

      + *
    • + *
    • + *

      activeEC2ServiceCount

      + *
    • + *
    • + *

      activeFargateServiceCount

      + *
    • + *
    • + *

      drainingEC2ServiceCount

      + *
    • + *
    • + *

      drainingFargateServiceCount

      + *
    • + *
    */ - attachmentsStatus?: string; + statistics?: KeyValuePair[]; /** *

    The metadata that you apply to the cluster to help you categorize and organize them. @@ -851,6 +809,51 @@ export interface Cluster { * */ tags?: Tag[]; + + /** + *

    The settings for the cluster. This parameter indicates whether CloudWatch Container Insights + * is enabled or disabled for a cluster.

    + */ + settings?: ClusterSetting[]; + + /** + *

    The capacity providers associated with the cluster.

    + */ + capacityProviders?: string[]; + + /** + *

    The default capacity provider strategy for the cluster. When services or tasks are run + * in the cluster with no launch type or capacity provider strategy specified, the default + * capacity provider strategy is used.

    + */ + defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; + + /** + *

    The resources attached to a cluster. When using a capacity provider with a cluster, + * the Auto Scaling plan that is created will be returned as a cluster attachment.

    + */ + attachments?: Attachment[]; + + /** + *

    The status of the capacity providers associated with the cluster. The following are + * the states that will be returned:

    + *
    + *
    UPDATE_IN_PROGRESS
    + *
    + *

    The available capacity providers for the cluster are updating. This occurs + * when the Auto Scaling plan is provisioning or deprovisioning.

    + *
    + *
    UPDATE_COMPLETE
    + *
    + *

    The capacity providers have successfully updated.

    + *
    + *
    UPDATE_FAILED
    + *
    + *

    The capacity provider updates failed.

    + *
    + *
    + */ + attachmentsStatus?: string; } export namespace Cluster { @@ -888,36 +891,55 @@ export namespace ClusterNotFoundException { }); } +/** + * + *

    The deployment circuit breaker can only be used for services using the rolling + * update (ECS) deployment type that are not behind a Classic Load Balancer.

    + *
    + *

    The deployment circuit breaker determines whether a + * service deployment will fail if the service can't reach a steady state. If enabled, a + * service deployment will transition to a failed state and stop launching new tasks. You + * can also enable Amazon ECS to roll back your service to the last completed deployment after a + * failure. For more information, see Rolling + * update in the Amazon Elastic Container Service Developer Guide.

    + */ +export interface DeploymentCircuitBreaker { + /** + *

    Whether to enable the deployment circuit breaker logic for the service.

    + */ + enable: boolean | undefined; + + /** + *

    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If + * rollback is enabled, when a service deployment fails, the service is rolled back to the + * last deployment that completed successfully.

    + */ + rollback: boolean | undefined; +} + +export namespace DeploymentCircuitBreaker { + export const filterSensitiveLog = (obj: DeploymentCircuitBreaker): any => ({ + ...obj, + }); +} + /** *

    Optional deployment parameters that control how many tasks run during a deployment and * the ordering of stopping and starting tasks.

    */ export interface DeploymentConfiguration { /** - *

    If a service is using the rolling update (ECS) deployment type, the - * minimum healthy percent represents a lower limit on - * the number of tasks in a service that must remain in the RUNNING state - * during a deployment, as a percentage of the desired number of tasks (rounded up to the - * nearest integer), and while any container instances are in the DRAINING - * state if the service contains tasks using the EC2 launch type. This - * parameter enables you to deploy without using additional cluster capacity. For example, - * if your service has a desired number of four tasks and a minimum healthy percent of 50%, - * the scheduler may stop two existing tasks to free up cluster capacity before starting - * two new tasks. Tasks for services that do not use a load balancer - * are considered healthy if they are in the RUNNING state; tasks for services - * that do use a load balancer are considered healthy if they are in - * the RUNNING state and they are reported as healthy by the load balancer. - * The default value for minimum healthy percent is 100%.

    - *

    If a service is using the blue/green (CODE_DEPLOY) or - * EXTERNAL deployment types and tasks that use the EC2 - * launch type, the minimum healthy percent value is set - * to the default value and is used to define the lower limit on the number of the tasks in - * the service that remain in the RUNNING state while the container instances - * are in the DRAINING state. If the tasks in the service use the - * Fargate launch type, the minimum healthy percent value is not used, - * although it is returned when describing your service.

    + * + *

    The deployment circuit breaker can only be used for services using the rolling + * update (ECS) deployment type.

    + *
    + *

    The deployment circuit breaker determines whether a + * service deployment will fail if the service can't reach a steady state. If deployment + * circuit breaker is enabled, a service deployment will transition to a failed state and + * stop launching new tasks. If rollback is enabled, when a service deployment fails, the + * service is rolled back to the last deployment that completed successfully.

    */ - minimumHealthyPercent?: number; + deploymentCircuitBreaker?: DeploymentCircuitBreaker; /** *

    If a service is using the rolling update (ECS) deployment type, the @@ -941,6 +963,32 @@ export interface DeploymentConfiguration { * returned when describing your service.

    */ maximumPercent?: number; + + /** + *

    If a service is using the rolling update (ECS) deployment type, the + * minimum healthy percent represents a lower limit on + * the number of tasks in a service that must remain in the RUNNING state + * during a deployment, as a percentage of the desired number of tasks (rounded up to the + * nearest integer), and while any container instances are in the DRAINING + * state if the service contains tasks using the EC2 launch type. This + * parameter enables you to deploy without using additional cluster capacity. For example, + * if your service has a desired number of four tasks and a minimum healthy percent of 50%, + * the scheduler may stop two existing tasks to free up cluster capacity before starting + * two new tasks. Tasks for services that do not use a load balancer + * are considered healthy if they are in the RUNNING state; tasks for services + * that do use a load balancer are considered healthy if they are in + * the RUNNING state and they are reported as healthy by the load balancer. + * The default value for minimum healthy percent is 100%.

    + *

    If a service is using the blue/green (CODE_DEPLOY) or + * EXTERNAL deployment types and tasks that use the EC2 + * launch type, the minimum healthy percent value is set + * to the default value and is used to define the lower limit on the number of the tasks in + * the service that remain in the RUNNING state while the container instances + * are in the DRAINING state. If the tasks in the service use the + * Fargate launch type, the minimum healthy percent value is not used, + * although it is returned when describing your service.

    + */ + minimumHealthyPercent?: number; } export namespace DeploymentConfiguration { @@ -1005,21 +1053,6 @@ export enum LaunchType { * and task sets, see the CreateService and CreateTaskSet actions.

    */ export interface LoadBalancer { - /** - *

    The name of the container (as it appears in a container definition) to associate with - * the load balancer.

    - */ - containerName?: string; - - /** - *

    The port on the container to associate with the load balancer. This port must - * correspond to a containerPort in the task definition the tasks in the - * service are using. For tasks that use the EC2 launch type, the container - * instance they are launched on must allow ingress traffic on the hostPort of - * the port mapping.

    - */ - containerPort?: number; - /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or * task set.

    @@ -1048,6 +1081,21 @@ export interface LoadBalancer { * or a Network Load Balancer the load balancer name parameter should be omitted.

    */ loadBalancerName?: string; + + /** + *

    The name of the container (as it appears in a container definition) to associate with + * the load balancer.

    + */ + containerName?: string; + + /** + *

    The port on the container to associate with the load balancer. This port must + * correspond to a containerPort in the task definition the tasks in the + * service are using. For tasks that use the EC2 launch type, the container + * instance they are launched on must allow ingress traffic on the hostPort of + * the port mapping.

    + */ + containerPort?: number; } export namespace LoadBalancer { @@ -1065,6 +1113,16 @@ export enum AssignPublicIp { *

    An object representing the networking details for a task or service.

    */ export interface AwsVpcConfiguration { + /** + *

    The IDs of the subnets associated with the task or service. There is a limit of 16 + * subnets that can be specified per AwsVpcConfiguration.

    + * + * + *

    All specified subnets must be from the same VPC.

    + *
    + */ + subnets: string[] | undefined; + /** *

    The IDs of the security groups associated with the task or service. If you do not * specify a security group, the default security group for the VPC is used. There is a @@ -1082,17 +1140,7 @@ export interface AwsVpcConfiguration { * value is DISABLED.

    */ assignPublicIp?: AssignPublicIp | string; - - /** - *

    The IDs of the subnets associated with the task or service. There is a limit of 16 - * subnets that can be specified per AwsVpcConfiguration.

    - * - * - *

    All specified subnets must be from the same VPC.

    - *
    - */ - subnets: string[] | undefined; -} +} export namespace AwsVpcConfiguration { export const filterSensitiveLog = (obj: AwsVpcConfiguration): any => ({ @@ -1168,17 +1216,6 @@ export enum PlacementStrategyType { * Amazon Elastic Container Service Developer Guide.

    */ export interface PlacementStrategy { - /** - *

    The field to apply the placement strategy against. For the spread - * placement strategy, valid values are instanceId (or host, - * which has the same effect), or any platform or custom attribute that is applied to a - * container instance, such as attribute:ecs.availability-zone. For the - * binpack placement strategy, valid values are cpu and - * memory. For the random placement strategy, this field is - * not used.

    - */ - field?: string; - /** *

    The type of placement strategy. The random placement strategy randomly * places tasks on available candidates. The spread placement strategy spreads @@ -1189,6 +1226,17 @@ export interface PlacementStrategy { * the least amount of remaining memory (but still enough to run the task).

    */ type?: PlacementStrategyType | string; + + /** + *

    The field to apply the placement strategy against. For the spread + * placement strategy, valid values are instanceId (or host, + * which has the same effect), or any platform or custom attribute that is applied to a + * container instance, such as attribute:ecs.availability-zone. For the + * binpack placement strategy, valid values are cpu and + * memory. For the random placement strategy, this field is + * not used.

    + */ + field?: string; } export namespace PlacementStrategy { @@ -1212,16 +1260,17 @@ export enum SchedulingStrategy { */ export interface ServiceRegistry { /** - *

    The port value, already specified in the task definition, to be used for your service - * discovery service. If the task definition your service task specifies uses the - * bridge or host network mode, you must specify a - * containerName and containerPort combination from the task - * definition. If the task definition your service task specifies uses the - * awsvpc network mode and a type SRV DNS record is used, you must specify - * either a containerName and containerPort combination or a - * port value, but not both.

    + *

    The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is + * AWS Cloud Map. For more information, see CreateService.

    */ - containerPort?: number; + registryArn?: string; + + /** + *

    The port value used if your service discovery service specified an SRV record. This + * field may be used if both the awsvpc network mode and SRV records are + * used.

    + */ + port?: number; /** *

    The container name value, already specified in the task definition, to be used for @@ -1236,17 +1285,16 @@ export interface ServiceRegistry { containerName?: string; /** - *

    The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is - * AWS Cloud Map. For more information, see CreateService.

    - */ - registryArn?: string; - - /** - *

    The port value used if your service discovery service specified an SRV record. This - * field may be used if both the awsvpc network mode and SRV records are - * used.

    + *

    The port value, already specified in the task definition, to be used for your service + * discovery service. If the task definition your service task specifies uses the + * bridge or host network mode, you must specify a + * containerName and containerPort combination from the task + * definition. If the task definition your service task specifies uses the + * awsvpc network mode and a type SRV DNS record is used, you must specify + * either a containerName and containerPort combination or a + * port value, but not both.

    */ - port?: number; + containerPort?: number; } export namespace ServiceRegistry { @@ -1256,6 +1304,28 @@ export namespace ServiceRegistry { } export interface CreateServiceRequest { + /** + *

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. + * If you do not specify a cluster, the default cluster is assumed.

    + */ + cluster?: string; + + /** + *

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within + * a cluster, but you can have similarly named services in multiple clusters within a + * Region or across multiple Regions.

    + */ + serviceName: string | undefined; + + /** + *

    The family and revision (family:revision) or + * full ARN of the task definition to run in your service. If a revision is + * not specified, the latest ACTIVE revision is used.

    + *

    A task definition must be specified if the service is using either the + * ECS or CODE_DEPLOY deployment controllers.

    + */ + taskDefinition?: string; + /** *

    A load balancer object representing the load balancers to use with your service. For * more information, see Service Load Balancing in the @@ -1310,60 +1380,50 @@ export interface CreateServiceRequest { serviceRegistries?: ServiceRegistry[]; /** - *

    The deployment controller to use for the service.

    + *

    The number of instantiations of the specified task definition to place and keep + * running on your cluster.

    + *

    This is required if schedulingStrategy is REPLICA or is not + * specified. If schedulingStrategy is DAEMON then this is not + * required.

    */ - deploymentController?: DeploymentController; + desiredCount?: number; /** - *

    Specifies whether to propagate the tags from the task definition or the service to the - * tasks in the service. If no value is specified, the tags are not propagated. Tags can - * only be propagated to the tasks within the service during service creation. To add tags - * to a task after service creation, use the TagResource API - * action.

    + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. Up to 32 ASCII characters are allowed.

    */ - propagateTags?: PropagateTags | string; + clientToken?: string; /** - *

    The scheduling strategy to use for the service. For more information, see Services.

    - *

    There are two service scheduler strategies available:

    - *
      - *
    • - *

      - * REPLICA-The replica scheduling strategy places and - * maintains the desired number of tasks across your cluster. By default, the - * service scheduler spreads tasks across Availability Zones. You can use task - * placement strategies and constraints to customize task placement decisions. This - * scheduler strategy is required if the service is using the - * CODE_DEPLOY or EXTERNAL deployment controller - * types.

      - *
    • - *
    • - *

      - * DAEMON-The daemon scheduling strategy deploys exactly one - * task on each active container instance that meets all of the task placement - * constraints that you specify in your cluster. The service scheduler also - * evaluates the task placement constraints for running tasks and will stop tasks - * that do not meet the placement constraints. When you're using this strategy, you - * don't need to specify a desired number of tasks, a task placement strategy, or - * use Service Auto Scaling policies.

      - * - *

      Tasks using the Fargate launch type or the - * CODE_DEPLOY or EXTERNAL deployment controller - * types don't support the DAEMON scheduling strategy.

      - *
      - *
    • - *
    + *

    The launch type on which to run your service. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + *

    If a launchType is specified, the capacityProviderStrategy + * parameter must be omitted.

    */ - schedulingStrategy?: SchedulingStrategy | string; + launchType?: LaunchType | string; /** - *

    The network configuration for the service. This parameter is required for task - * definitions that use the awsvpc network mode to receive their own elastic - * network interface, and it is not supported for other network modes. For more - * information, see Task Networking - * in the Amazon Elastic Container Service Developer Guide.

    + *

    The capacity provider strategy to use for the service.

    + *

    A capacity provider strategy consists of one or more capacity providers along with the + * base and weight to assign to them. A capacity provider + * must be associated with the cluster to be used in a capacity provider strategy. The + * PutClusterCapacityProviders API is used to associate a capacity + * provider with a cluster. Only capacity providers with an ACTIVE or + * UPDATING status can be used.

    + *

    If a capacityProviderStrategy is specified, the launchType + * parameter must be omitted. If no capacityProviderStrategy or + * launchType is specified, the + * defaultCapacityProviderStrategy for the cluster is used.

    + *

    If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    + *

    To use a AWS Fargate capacity provider, specify either the FARGATE or + * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + * available to all accounts and only need to be associated with a cluster to be + * used.

    + *

    The PutClusterCapacityProviders API operation is used to update the + * list of available capacity providers for a cluster after the cluster is created.

    */ - networkConfiguration?: NetworkConfiguration; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** *

    The platform version that your tasks in the service are running on. A platform version @@ -1374,12 +1434,6 @@ export interface CreateServiceRequest { */ platformVersion?: string; - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. - * If you do not specify a cluster, the default cluster is assumed.

    - */ - cluster?: string; - /** *

    The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your * load balancer on your behalf. This parameter is only permitted if you are using a load @@ -1411,11 +1465,78 @@ export interface CreateServiceRequest { deploymentConfiguration?: DeploymentConfiguration; /** - *

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within - * a cluster, but you can have similarly named services in multiple clusters within a - * Region or across multiple Regions.

    + *

    An array of placement constraint objects to use for tasks in your service. You can + * specify a maximum of 10 constraints per task (this limit includes constraints in the + * task definition and those specified at runtime).

    */ - serviceName: string | undefined; + placementConstraints?: PlacementConstraint[]; + + /** + *

    The placement strategy objects to use for tasks in your service. You can specify a + * maximum of five strategy rules per service.

    + */ + placementStrategy?: PlacementStrategy[]; + + /** + *

    The network configuration for the service. This parameter is required for task + * definitions that use the awsvpc network mode to receive their own elastic + * network interface, and it is not supported for other network modes. For more + * information, see Task Networking + * in the Amazon Elastic Container Service Developer Guide.

    + */ + networkConfiguration?: NetworkConfiguration; + + /** + *

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore + * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used + * when your service is configured to use a load balancer. If your service has a load + * balancer defined and you don't specify a health check grace period value, the default + * value of 0 is used.

    + *

    If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you + * can specify a health check grace period of up to 2,147,483,647 seconds. During that + * time, the Amazon ECS service scheduler ignores health check status. This grace period can + * prevent the service scheduler from marking tasks as unhealthy and stopping them before + * they have time to come up.

    + */ + healthCheckGracePeriodSeconds?: number; + + /** + *

    The scheduling strategy to use for the service. For more information, see Services.

    + *

    There are two service scheduler strategies available:

    + *
      + *
    • + *

      + * REPLICA-The replica scheduling strategy places and + * maintains the desired number of tasks across your cluster. By default, the + * service scheduler spreads tasks across Availability Zones. You can use task + * placement strategies and constraints to customize task placement decisions. This + * scheduler strategy is required if the service is using the + * CODE_DEPLOY or EXTERNAL deployment controller + * types.

      + *
    • + *
    • + *

      + * DAEMON-The daemon scheduling strategy deploys exactly one + * task on each active container instance that meets all of the task placement + * constraints that you specify in your cluster. The service scheduler also + * evaluates the task placement constraints for running tasks and will stop tasks + * that do not meet the placement constraints. When you're using this strategy, you + * don't need to specify a desired number of tasks, a task placement strategy, or + * use Service Auto Scaling policies.

      + * + *

      Tasks using the Fargate launch type or the + * CODE_DEPLOY or EXTERNAL deployment controller + * types don't support the DAEMON scheduling strategy.

      + *
      + *
    • + *
    + */ + schedulingStrategy?: SchedulingStrategy | string; + + /** + *

    The deployment controller to use for the service.

    + */ + deploymentController?: DeploymentController; /** *

    The metadata that you apply to the service to help you categorize and organize them. @@ -1463,87 +1584,14 @@ export interface CreateServiceRequest { enableECSManagedTags?: boolean; /** - *

    The placement strategy objects to use for tasks in your service. You can specify a - * maximum of five strategy rules per service.

    + *

    Specifies whether to propagate the tags from the task definition or the service to the + * tasks in the service. If no value is specified, the tags are not propagated. Tags can + * only be propagated to the tasks within the service during service creation. To add tags + * to a task after service creation, use the TagResource API + * action.

    */ - placementStrategy?: PlacementStrategy[]; - - /** - *

    The number of instantiations of the specified task definition to place and keep - * running on your cluster.

    - *

    This is required if schedulingStrategy is REPLICA or is not - * specified. If schedulingStrategy is DAEMON then this is not - * required.

    - */ - desiredCount?: number; - - /** - *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. Up to 32 ASCII characters are allowed.

    - */ - clientToken?: string; - - /** - *

    An array of placement constraint objects to use for tasks in your service. You can - * specify a maximum of 10 constraints per task (this limit includes constraints in the - * task definition and those specified at runtime).

    - */ - placementConstraints?: PlacementConstraint[]; - - /** - *

    The family and revision (family:revision) or - * full ARN of the task definition to run in your service. If a revision is - * not specified, the latest ACTIVE revision is used.

    - *

    A task definition must be specified if the service is using either the - * ECS or CODE_DEPLOY deployment controllers.

    - */ - taskDefinition?: string; - - /** - *

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore - * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used - * when your service is configured to use a load balancer. If your service has a load - * balancer defined and you don't specify a health check grace period value, the default - * value of 0 is used.

    - *

    If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you - * can specify a health check grace period of up to 2,147,483,647 seconds. During that - * time, the Amazon ECS service scheduler ignores health check status. This grace period can - * prevent the service scheduler from marking tasks as unhealthy and stopping them before - * they have time to come up.

    - */ - healthCheckGracePeriodSeconds?: number; - - /** - *

    The capacity provider strategy to use for the service.

    - *

    A capacity provider strategy consists of one or more capacity providers along with the - * base and weight to assign to them. A capacity provider - * must be associated with the cluster to be used in a capacity provider strategy. The - * PutClusterCapacityProviders API is used to associate a capacity - * provider with a cluster. Only capacity providers with an ACTIVE or - * UPDATING status can be used.

    - *

    If a capacityProviderStrategy is specified, the launchType - * parameter must be omitted. If no capacityProviderStrategy or - * launchType is specified, the - * defaultCapacityProviderStrategy for the cluster is used.

    - *

    If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    - *

    To use a AWS Fargate capacity provider, specify either the FARGATE or - * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are - * available to all accounts and only need to be associated with a cluster to be - * used.

    - *

    The PutClusterCapacityProviders API operation is used to update the - * list of available capacity providers for a cluster after the cluster is created.

    - */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; - - /** - *

    The launch type on which to run your service. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

    - *

    If a launchType is specified, the capacityProviderStrategy - * parameter must be omitted.

    - */ - launchType?: LaunchType | string; -} + propagateTags?: PropagateTags | string; +} export namespace CreateServiceRequest { export const filterSensitiveLog = (obj: CreateServiceRequest): any => ({ @@ -1551,31 +1599,59 @@ export namespace CreateServiceRequest { }); } +export enum DeploymentRolloutState { + COMPLETED = "COMPLETED", + FAILED = "FAILED", + IN_PROGRESS = "IN_PROGRESS", +} + /** *

    The details of an Amazon ECS service deployment. This is used only when a service uses the * ECS deployment controller type.

    */ export interface Deployment { /** - *

    The capacity provider strategy that the deployment is using.

    + *

    The ID of the deployment.

    */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + id?: string; /** - *

    The launch type the tasks in the service are using. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + *

    The status of the deployment. The following describes each state:

    + *
    + *
    PRIMARY
    + *
    + *

    The most recent deployment of a service.

    + *
    + *
    ACTIVE
    + *
    + *

    A service deployment that still has running tasks, but are in the process + * of being replaced with a new PRIMARY deployment.

    + *
    + *
    INACTIVE
    + *
    + *

    A deployment that has been completely replaced.

    + *
    + *
    */ - launchType?: LaunchType | string; + status?: string; /** - *

    The Unix timestamp for when the service deployment was last updated.

    + *

    The most recent task definition that was specified for the tasks in the service to + * use.

    */ - updatedAt?: Date; + taskDefinition?: string; /** - *

    The ID of the deployment.

    + *

    The most recent desired count of tasks that was specified for the service to deploy or + * maintain.

    */ - id?: string; + desiredCount?: number; + + /** + *

    The number of tasks in the deployment that are in the PENDING + * status.

    + */ + pendingCount?: number; /** *

    The number of tasks in the deployment that are in the RUNNING @@ -1584,47 +1660,37 @@ export interface Deployment { runningCount?: number; /** - *

    The Unix timestamp for when the service deployment was created.

    + *

    The number of consecutively failed tasks in the deployment. A task is considered a + * failure if the service scheduler can't launch the task, the task doesn't transition to a + * RUNNING state, or if it fails any of its defined health checks and is + * stopped.

    + * + *

    Once a service deployment has one or more successfully running tasks, the failed + * task count resets to zero and stops being evaluated.

    + *
    */ - createdAt?: Date; + failedTasks?: number; /** - *

    The number of tasks in the deployment that are in the PENDING - * status.

    + *

    The Unix timestamp for when the service deployment was created.

    */ - pendingCount?: number; + createdAt?: Date; /** - *

    The VPC subnet and security group configuration for tasks that receive their own - * elastic network interface by using the awsvpc networking mode.

    + *

    The Unix timestamp for when the service deployment was last updated.

    */ - networkConfiguration?: NetworkConfiguration; + updatedAt?: Date; /** - *

    The most recent desired count of tasks that was specified for the service to deploy or - * maintain.

    + *

    The capacity provider strategy that the deployment is using.

    */ - desiredCount?: number; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *

    The status of the deployment. The following describes each state:

    - *
    - *
    PRIMARY
    - *
    - *

    The most recent deployment of a service.

    - *
    - *
    ACTIVE
    - *
    - *

    A service deployment that still has running tasks, but are in the process - * of being replaced with a new PRIMARY deployment.

    - *
    - *
    INACTIVE
    - *
    - *

    A deployment that has been completely replaced.

    - *
    - *
    + *

    The launch type the tasks in the service are using. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    */ - status?: string; + launchType?: LaunchType | string; /** *

    The platform version on which your tasks in the service are running. A platform @@ -1636,10 +1702,30 @@ export interface Deployment { platformVersion?: string; /** - *

    The most recent task definition that was specified for the tasks in the service to - * use.

    + *

    The VPC subnet and security group configuration for tasks that receive their own + * elastic network interface by using the awsvpc networking mode.

    */ - taskDefinition?: string; + networkConfiguration?: NetworkConfiguration; + + /** + * + *

    The rolloutState of a service is only returned for services that use + * the rolling update (ECS) deployment type that are not behind a + * Classic Load Balancer.

    + *
    + *

    The rollout state of the deployment. When a service deployment is started, it begins + * in an IN_PROGRESS state. When the service reaches a steady state, the + * deployment will transition to a COMPLETED state. If the service fails to + * reach a steady state and circuit breaker is enabled, the deployment will transition to a + * FAILED state. A deployment in FAILED state will launch no + * new tasks. For more information, see DeploymentCircuitBreaker.

    + */ + rolloutState?: DeploymentRolloutState | string; + + /** + *

    A description of the rollout state of a deployment.

    + */ + rolloutStateReason?: string; } export namespace Deployment { @@ -1683,16 +1769,16 @@ export enum ScaleUnit { * in the task set.

    */ export interface Scale { - /** - *

    The unit of measure for the scale value.

    - */ - unit?: ScaleUnit | string; - /** *

    The value, specified as a percent total of a service's desiredCount, to * scale the task set. Accepted values are numbers between 0 and 100.

    */ value?: number; + + /** + *

    The unit of measure for the scale value.

    + */ + unit?: ScaleUnit | string; } export namespace Scale { @@ -1713,17 +1799,33 @@ export enum StabilityStatus { */ export interface TaskSet { /** - *

    The details of the service discovery registries to assign to this task set. For more - * information, see Service - * Discovery.

    + *

    The ID of the task set.

    */ - serviceRegistries?: ServiceRegistry[]; + id?: string; + + /** + *

    The Amazon Resource Name (ARN) of the task set.

    + */ + taskSetArn?: string; /** *

    The Amazon Resource Name (ARN) of the service the task set exists in.

    */ serviceArn?: string; + /** + *

    The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists + * in.

    + */ + clusterArn?: string; + + /** + *

    The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy + * deployment, the startedBy parameter is CODE_DEPLOY. For a task + * set created for an external deployment, the startedBy field isn't used.

    + */ + startedBy?: string; + /** *

    The external ID associated with the task set.

    *

    If a task set is created by an AWS CodeDeploy deployment, the externalId parameter @@ -1735,18 +1837,29 @@ export interface TaskSet { externalId?: string; /** - *

    Details on a load balancer that is used with a task set.

    + *

    The status of the task set. The following describes each state:

    + *
    + *
    PRIMARY
    + *
    + *

    The task set is serving production traffic.

    + *
    + *
    ACTIVE
    + *
    + *

    The task set is not serving production traffic.

    + *
    + *
    DRAINING
    + *
    + *

    The tasks in the task set are being stopped and their corresponding + * targets are being deregistered from their target group.

    + *
    + *
    */ - loadBalancers?: LoadBalancer[]; + status?: string; /** - *

    The platform version on which the tasks in the task set are running. A platform - * version is only specified for tasks using the Fargate launch type. If one - * is not specified, the LATEST platform version is used by default. For more - * information, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

    + *

    The task definition the task set is using.

    */ - platformVersion?: string; + taskDefinition?: string; /** *

    The computed desired count for the task set. This is calculated by multiplying the @@ -1757,20 +1870,25 @@ export interface TaskSet { computedDesiredCount?: number; /** - *

    The ID of the task set.

    + *

    The number of tasks in the task set that are in the PENDING status during + * a deployment. A task in the PENDING state is preparing to enter the + * RUNNING state. A task set enters the PENDING status when + * it launches for the first time or when it is restarted after being in the + * STOPPED state.

    */ - id?: string; + pendingCount?: number; /** - *

    The task definition the task set is using.

    + *

    The number of tasks in the task set that are in the RUNNING status during + * a deployment. A task in the RUNNING state is running and ready for + * use.

    */ - taskDefinition?: string; + runningCount?: number; /** - *

    The launch type the tasks in the task set are using. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + *

    The Unix timestamp for when the task set was created.

    */ - launchType?: LaunchType | string; + createdAt?: Date; /** *

    The Unix timestamp for when the task set was last updated.

    @@ -1778,92 +1896,41 @@ export interface TaskSet { updatedAt?: Date; /** - *

    The capacity provider strategy associated with the task set.

    + *

    The launch type the tasks in the task set are using. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + launchType?: LaunchType | string; /** - *

    The Unix timestamp for when the task set was created.

    - */ - createdAt?: Date; - - /** - *

    The number of tasks in the task set that are in the PENDING status during - * a deployment. A task in the PENDING state is preparing to enter the - * RUNNING state. A task set enters the PENDING status when - * it launches for the first time or when it is restarted after being in the - * STOPPED state.

    + *

    The capacity provider strategy associated with the task set.

    */ - pendingCount?: number; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *

    The metadata that you apply to the task set to help you categorize and organize them. - * Each tag consists of a key and an optional value, both of which you define.

    - *

    The following basic restrictions apply to tags:

    - *
      - *
    • - *

      Maximum number of tags per resource - 50

      - *
    • - *
    • - *

      For each resource, each tag key must be unique, and each tag key can have only - * one value.

      - *
    • - *
    • - *

      Maximum key length - 128 Unicode characters in UTF-8

      - *
    • - *
    • - *

      Maximum value length - 256 Unicode characters in UTF-8

      - *
    • - *
    • - *

      If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

      - *
    • - *
    • - *

      Tag keys and values are case-sensitive.

      - *
    • - *
    • - *

      Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

      - *
    • - *
    + *

    The platform version on which the tasks in the task set are running. A platform + * version is only specified for tasks using the Fargate launch type. If one + * is not specified, the LATEST platform version is used by default. For more + * information, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

    */ - tags?: Tag[]; + platformVersion?: string; /** - *

    The status of the task set. The following describes each state:

    - *
    - *
    PRIMARY
    - *
    - *

    The task set is serving production traffic.

    - *
    - *
    ACTIVE
    - *
    - *

    The task set is not serving production traffic.

    - *
    - *
    DRAINING
    - *
    - *

    The tasks in the task set are being stopped and their corresponding - * targets are being deregistered from their target group.

    - *
    - *
    + *

    The network configuration for the task set.

    */ - status?: string; + networkConfiguration?: NetworkConfiguration; /** - *

    The number of tasks in the task set that are in the RUNNING status during - * a deployment. A task in the RUNNING state is running and ready for - * use.

    + *

    Details on a load balancer that is used with a task set.

    */ - runningCount?: number; + loadBalancers?: LoadBalancer[]; /** - *

    The Amazon Resource Name (ARN) of the task set.

    + *

    The details of the service discovery registries to assign to this task set. For more + * information, see Service + * Discovery.

    */ - taskSetArn?: string; + serviceRegistries?: ServiceRegistry[]; /** *

    A floating-point percentage of the desired number of tasks to place and keep running @@ -1903,22 +1970,41 @@ export interface TaskSet { stabilityStatusAt?: Date; /** - *

    The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists - * in.

    - */ - clusterArn?: string; - - /** - *

    The network configuration for the task set.

    - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

    The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy - * deployment, the startedBy parameter is CODE_DEPLOY. For a task - * set created for an external deployment, the startedBy field isn't used.

    + *

    The metadata that you apply to the task set to help you categorize and organize them. + * Each tag consists of a key and an optional value, both of which you define.

    + *

    The following basic restrictions apply to tags:

    + *
      + *
    • + *

      Maximum number of tags per resource - 50

      + *
    • + *
    • + *

      For each resource, each tag key must be unique, and each tag key can have only + * one value.

      + *
    • + *
    • + *

      Maximum key length - 128 Unicode characters in UTF-8

      + *
    • + *
    • + *

      Maximum value length - 256 Unicode characters in UTF-8

      + *
    • + *
    • + *

      If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

      + *
    • + *
    • + *

      Tag keys and values are case-sensitive.

      + *
    • + *
    • + *

      Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

      + *
    • + *
    */ - startedBy?: string; + tags?: Tag[]; } export namespace TaskSet { @@ -1932,22 +2018,21 @@ export namespace TaskSet { */ export interface Service { /** - *

    Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL - * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how - * many tasks are running, and whether the task set serves production traffic.

    + *

    The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

    */ - taskSets?: TaskSet[]; + serviceArn?: string; /** - *

    The placement strategy that determines how tasks for the service are placed.

    + *

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within + * a cluster, but you can have similarly named services in multiple clusters within a + * Region or across multiple Regions.

    */ - placementStrategy?: PlacementStrategy[]; + serviceName?: string; /** - *

    The status of the service. The valid values are ACTIVE, - * DRAINING, or INACTIVE.

    + *

    The Amazon Resource Name (ARN) of the cluster that hosts the service.

    */ - status?: string; + clusterArn?: string; /** *

    A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the @@ -1957,17 +2042,46 @@ export interface Service { loadBalancers?: LoadBalancer[]; /** - *

    Specifies whether to propagate the tags from the task definition or the service to the - * task. If no value is specified, the tags are not propagated.

    + *

    The details of the service discovery registries to assign to this service. For more + * information, see Service + * Discovery.

    */ - propagateTags?: PropagateTags | string; + serviceRegistries?: ServiceRegistry[]; /** - *

    The task definition to use for tasks in the service. This value is specified when the - * service is created with CreateService, and it can be modified with - * UpdateService.

    + *

    The status of the service. The valid values are ACTIVE, + * DRAINING, or INACTIVE.

    */ - taskDefinition?: string; + status?: string; + + /** + *

    The desired number of instantiations of the task definition to keep running on the + * service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

    + */ + desiredCount?: number; + + /** + *

    The number of tasks in the cluster that are in the RUNNING state.

    + */ + runningCount?: number; + + /** + *

    The number of tasks in the cluster that are in the PENDING state.

    + */ + pendingCount?: number; + + /** + *

    The launch type on which your service is running. If no value is specified, it will + * default to EC2. Valid values include EC2 and + * FARGATE. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + */ + launchType?: LaunchType | string; + + /** + *

    The capacity provider strategy associated with the service.

    + */ + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** *

    The platform version on which to run your service. A platform version is only @@ -1978,6 +2092,26 @@ export interface Service { */ platformVersion?: string; + /** + *

    The task definition to use for tasks in the service. This value is specified when the + * service is created with CreateService, and it can be modified with + * UpdateService.

    + */ + taskDefinition?: string; + + /** + *

    Optional deployment parameters that control how many tasks run during the deployment + * and the ordering of stopping and starting tasks.

    + */ + deploymentConfiguration?: DeploymentConfiguration; + + /** + *

    Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL + * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how + * many tasks are running, and whether the task set serves production traffic.

    + */ + taskSets?: TaskSet[]; + /** *

    The current state of deployments for the service.

    */ @@ -1990,50 +2124,83 @@ export interface Service { roleArn?: string; /** - *

    The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

    + *

    The event stream for your service. A maximum of 100 of the latest events are + * displayed.

    */ - serviceArn?: string; + events?: ServiceEvent[]; /** - *

    The principal that created the service.

    + *

    The Unix timestamp for when the service was created.

    */ - createdBy?: string; + createdAt?: Date; /** - *

    The deployment controller type the service is using. When using the DescribeServices - * API, this field is omitted if the service is using the ECS deployment - * controller type.

    + *

    The placement constraints for the tasks in the service.

    */ - deploymentController?: DeploymentController; + placementConstraints?: PlacementConstraint[]; /** - *

    The details of the service discovery registries to assign to this service. For more - * information, see Service - * Discovery.

    + *

    The placement strategy that determines how tasks for the service are placed.

    */ - serviceRegistries?: ServiceRegistry[]; + placementStrategy?: PlacementStrategy[]; /** - *

    Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.

    + *

    The VPC subnet and security group configuration for tasks that receive their own + * elastic network interface by using the awsvpc networking mode.

    */ - deploymentConfiguration?: DeploymentConfiguration; + networkConfiguration?: NetworkConfiguration; /** - *

    The Amazon Resource Name (ARN) of the cluster that hosts the service.

    + *

    The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy + * Elastic Load Balancing target health checks after a task has first started.

    */ - clusterArn?: string; + healthCheckGracePeriodSeconds?: number; /** - *

    The metadata that you apply to the service to help you categorize and organize them. - * Each tag consists of a key and an optional value, both of which you define.

    - *

    The following basic restrictions apply to tags:

    - *
      - *
    • - *

      Maximum number of tags per resource - 50

      - *
    • + *

      The scheduling strategy to use for the service. For more information, see Services.

      + *

      There are two service scheduler strategies available:

      + *
        *
      • - *

        For each resource, each tag key must be unique, and each tag key can have only + *

        + * REPLICA-The replica scheduling strategy places and + * maintains the desired number of tasks across your cluster. By default, the + * service scheduler spreads tasks across Availability Zones. You can use task + * placement strategies and constraints to customize task placement + * decisions.

        + *
      • + *
      • + *

        + * DAEMON-The daemon scheduling strategy deploys exactly one + * task on each active container instance that meets all of the task placement + * constraints that you specify in your cluster. The service scheduler also + * evaluates the task placement constraints for running tasks and will stop tasks + * that do not meet the placement constraints.

        + * + *

        Fargate tasks do not support the DAEMON + * scheduling strategy.

        + *
        + *
      • + *
      + */ + schedulingStrategy?: SchedulingStrategy | string; + + /** + *

      The deployment controller type the service is using. When using the DescribeServices + * API, this field is omitted if the service is using the ECS deployment + * controller type.

      + */ + deploymentController?: DeploymentController; + + /** + *

      The metadata that you apply to the service to help you categorize and organize them. + * Each tag consists of a key and an optional value, both of which you define.

      + *

      The following basic restrictions apply to tags:

      + *
        + *
      • + *

        Maximum number of tags per resource - 50

        + *
      • + *
      • + *

        For each resource, each tag key must be unique, and each tag key can have only * one value.

        *
      • *
      • @@ -2061,6 +2228,11 @@ export interface Service { */ tags?: Tag[]; + /** + *

        The principal that created the service.

        + */ + createdBy?: string; + /** *

        Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more * information, see Tagging Your Amazon ECS @@ -2069,96 +2241,10 @@ export interface Service { enableECSManagedTags?: boolean; /** - *

        The number of tasks in the cluster that are in the RUNNING state.

        - */ - runningCount?: number; - - /** - *

        The number of tasks in the cluster that are in the PENDING state.

        - */ - pendingCount?: number; - - /** - *

        The desired number of instantiations of the task definition to keep running on the - * service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

        - */ - desiredCount?: number; - - /** - *

        The placement constraints for the tasks in the service.

        - */ - placementConstraints?: PlacementConstraint[]; - - /** - *

        The Unix timestamp for when the service was created.

        - */ - createdAt?: Date; - - /** - *

        The capacity provider strategy associated with the service.

        - */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; - - /** - *

        The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy - * Elastic Load Balancing target health checks after a task has first started.

        - */ - healthCheckGracePeriodSeconds?: number; - - /** - *

        The launch type on which your service is running. If no value is specified, it will - * default to EC2. Valid values include EC2 and - * FARGATE. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

        - */ - launchType?: LaunchType | string; - - /** - *

        The event stream for your service. A maximum of 100 of the latest events are - * displayed.

        - */ - events?: ServiceEvent[]; - - /** - *

        The VPC subnet and security group configuration for tasks that receive their own - * elastic network interface by using the awsvpc networking mode.

        - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

        The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within - * a cluster, but you can have similarly named services in multiple clusters within a - * Region or across multiple Regions.

        - */ - serviceName?: string; - - /** - *

        The scheduling strategy to use for the service. For more information, see Services.

        - *

        There are two service scheduler strategies available:

        - *
          - *
        • - *

          - * REPLICA-The replica scheduling strategy places and - * maintains the desired number of tasks across your cluster. By default, the - * service scheduler spreads tasks across Availability Zones. You can use task - * placement strategies and constraints to customize task placement - * decisions.

          - *
        • - *
        • - *

          - * DAEMON-The daemon scheduling strategy deploys exactly one - * task on each active container instance that meets all of the task placement - * constraints that you specify in your cluster. The service scheduler also - * evaluates the task placement constraints for running tasks and will stop tasks - * that do not meet the placement constraints.

          - * - *

          Fargate tasks do not support the DAEMON - * scheduling strategy.

          - *
          - *
        • - *
        + *

        Specifies whether to propagate the tags from the task definition or the service to the + * task. If no value is specified, the tags are not propagated.

        */ - schedulingStrategy?: SchedulingStrategy | string; + propagateTags?: PropagateTags | string; } export namespace Service { @@ -2234,6 +2320,56 @@ export namespace UnsupportedFeatureException { } export interface CreateTaskSetRequest { + /** + *

        The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

        + */ + service: string | undefined; + + /** + *

        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the + * task set in.

        + */ + cluster: string | undefined; + + /** + *

        An optional non-unique tag that identifies this task set in external systems. If the + * task set is associated with a service discovery registry, the tasks in this task set + * will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided + * value.

        + */ + externalId?: string; + + /** + *

        The task definition for the tasks in the task set to use.

        + */ + taskDefinition: string | undefined; + + /** + *

        An object representing the network configuration for a task or service.

        + */ + networkConfiguration?: NetworkConfiguration; + + /** + *

        A load balancer object representing the load balancer to use with the task set. The + * supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

        + */ + loadBalancers?: LoadBalancer[]; + + /** + *

        The details of the service discovery registries to assign to this task set. For more + * information, see Service + * Discovery.

        + */ + serviceRegistries?: ServiceRegistry[]; + + /** + *

        The launch type that new tasks in the task set will use. For more information, see + * Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

        + *

        If a launchType is specified, the capacityProviderStrategy + * parameter must be omitted.

        + */ + launchType?: LaunchType | string; + /** *

        The capacity provider strategy to use for the task set.

        *

        A capacity provider strategy consists of one or more capacity providers along with the @@ -2257,12 +2393,25 @@ export interface CreateTaskSetRequest { */ capacityProviderStrategy?: CapacityProviderStrategyItem[]; + /** + *

        The platform version that the tasks in the task set should use. A platform version is + * specified only for tasks using the Fargate launch type. If one isn't + * specified, the LATEST platform version is used by default.

        + */ + platformVersion?: string; + /** *

        A floating-point percentage of the desired number of tasks to place and keep running * in the task set.

        */ scale?: Scale; + /** + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. Up to 32 ASCII characters are allowed.

        + */ + clientToken?: string; + /** *

        The metadata that you apply to the task set to help you categorize and organize them. * Each tag consists of a key and an optional value, both of which you define. When a @@ -2300,101 +2449,38 @@ export interface CreateTaskSetRequest { *

      */ tags?: Tag[]; +} - /** - *

      The launch type that new tasks in the task set will use. For more information, see - * Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

      - *

      If a launchType is specified, the capacityProviderStrategy - * parameter must be omitted.

      - */ - launchType?: LaunchType | string; - - /** - *

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. Up to 32 ASCII characters are allowed.

      - */ - clientToken?: string; +export namespace CreateTaskSetRequest { + export const filterSensitiveLog = (obj: CreateTaskSetRequest): any => ({ + ...obj, + }); +} +export interface CreateTaskSetResponse { /** - *

      The platform version that the tasks in the task set should use. A platform version is - * specified only for tasks using the Fargate launch type. If one isn't - * specified, the LATEST platform version is used by default.

      + *

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL + * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how + * many tasks are running, and whether the task set serves production traffic.

      */ - platformVersion?: string; + taskSet?: TaskSet; +} - /** - *

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the - * task set in.

      - */ - cluster: string | undefined; +export namespace CreateTaskSetResponse { + export const filterSensitiveLog = (obj: CreateTaskSetResponse): any => ({ + ...obj, + }); +} - /** - *

      A load balancer object representing the load balancer to use with the task set. The - * supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

      - */ - loadBalancers?: LoadBalancer[]; - - /** - *

      An optional non-unique tag that identifies this task set in external systems. If the - * task set is associated with a service discovery registry, the tasks in this task set - * will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided - * value.

      - */ - externalId?: string; - - /** - *

      An object representing the network configuration for a task or service.

      - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

      The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

      - */ - service: string | undefined; - - /** - *

      The task definition for the tasks in the task set to use.

      - */ - taskDefinition: string | undefined; - - /** - *

      The details of the service discovery registries to assign to this task set. For more - * information, see Service - * Discovery.

      - */ - serviceRegistries?: ServiceRegistry[]; -} - -export namespace CreateTaskSetRequest { - export const filterSensitiveLog = (obj: CreateTaskSetRequest): any => ({ - ...obj, - }); -} - -export interface CreateTaskSetResponse { - /** - *

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL - * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how - * many tasks are running, and whether the task set serves production traffic.

      - */ - taskSet?: TaskSet; -} - -export namespace CreateTaskSetResponse { - export const filterSensitiveLog = (obj: CreateTaskSetResponse): any => ({ - ...obj, - }); -} - -/** - *

      The specified service is not active. You can't update a service that is inactive. If - * you have previously deleted a service, you can re-create it with CreateService.

      - */ -export interface ServiceNotActiveException extends __SmithyException, $MetadataBearer { - name: "ServiceNotActiveException"; - $fault: "client"; - message?: string; -} +/** + *

      The specified service is not active. You can't update a service that is inactive. If + * you have previously deleted a service, you can re-create it with CreateService.

      + */ +export interface ServiceNotActiveException extends __SmithyException, $MetadataBearer { + name: "ServiceNotActiveException"; + $fault: "client"; + message?: string; +} export namespace ServiceNotActiveException { export const filterSensitiveLog = (obj: ServiceNotActiveException): any => ({ @@ -2428,15 +2514,6 @@ export enum SettingName { } export interface DeleteAccountSettingRequest { - /** - *

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you - * specify the root user, it disables the account setting for all IAM users, IAM roles, and - * the root user of the account unless an IAM user or role explicitly overrides these - * settings. If this field is omitted, the setting is changed only for the authenticated - * user.

      - */ - principalArn?: string; - /** *

      The resource name for which to disable the account setting. If * serviceLongArnFormat is specified, the ARN for your Amazon ECS services is @@ -2447,6 +2524,15 @@ export interface DeleteAccountSettingRequest { * instances is affected.

      */ name: SettingName | string | undefined; + + /** + *

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + * specify the root user, it disables the account setting for all IAM users, IAM roles, and + * the root user of the account unless an IAM user or role explicitly overrides these + * settings. If this field is omitted, the setting is changed only for the authenticated + * user.

      + */ + principalArn?: string; } export namespace DeleteAccountSettingRequest { @@ -2459,12 +2545,6 @@ export namespace DeleteAccountSettingRequest { *

      The current account setting for a resource.

      */ export interface Setting { - /** - *

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If - * this field is omitted, the authenticated user is assumed.

      - */ - principalArn?: string; - /** *

      The Amazon ECS resource name.

      */ @@ -2474,6 +2554,12 @@ export interface Setting { *

      Whether the account setting is enabled or disabled for the specified resource.

      */ value?: string; + + /** + *

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + * this field is omitted, the authenticated user is assumed.

      + */ + principalArn?: string; } export namespace Setting { @@ -2505,6 +2591,13 @@ export enum TargetType { * information, see Attributes in the Amazon Elastic Container Service Developer Guide.

      */ export interface Attribute { + /** + *

      The name of the attribute. The name must contain between 1 and 128 + * characters and name may contain letters (uppercase and lowercase), numbers, hyphens, + * underscores, forward slashes, back slashes, or periods.

      + */ + name: string | undefined; + /** *

      The value of the attribute. The value must contain between 1 and 128 * characters and may contain letters (uppercase and lowercase), numbers, hyphens, @@ -2513,12 +2606,6 @@ export interface Attribute { */ value?: string; - /** - *

      The ID of the target. You can specify the short form ID for a resource or the full - * Amazon Resource Name (ARN).

      - */ - targetId?: string; - /** *

      The type of the target with which to attach the attribute. This parameter is required * if you use the short form ID for a resource instead of the full ARN.

      @@ -2526,11 +2613,10 @@ export interface Attribute { targetType?: TargetType | string; /** - *

      The name of the attribute. The name must contain between 1 and 128 - * characters and name may contain letters (uppercase and lowercase), numbers, hyphens, - * underscores, forward slashes, back slashes, or periods.

      + *

      The ID of the target. You can specify the short form ID for a resource or the full + * Amazon Resource Name (ARN).

      */ - name: string | undefined; + targetId?: string; } export namespace Attribute { @@ -2540,6 +2626,12 @@ export namespace Attribute { } export interface DeleteAttributesRequest { + /** + *

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete + * attributes. If you do not specify a cluster, the default cluster is assumed.

      + */ + cluster?: string; + /** *

      The attributes to delete from your resource. You can specify up to 10 attributes per * request. For custom attributes, specify the attribute name and target ID, but do not @@ -2547,12 +2639,6 @@ export interface DeleteAttributesRequest { * specify the target type.

      */ attributes: Attribute[] | undefined; - - /** - *

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete - * attributes. If you do not specify a cluster, the default cluster is assumed.

      - */ - cluster?: string; } export namespace DeleteAttributesRequest { @@ -2699,17 +2785,17 @@ export interface DeleteServiceRequest { */ cluster?: string; + /** + *

      The name of the service to delete.

      + */ + service: string | undefined; + /** *

      If true, allows you to delete a service even if it has not been scaled * down to zero tasks. It is only necessary to use this if the service is using the * REPLICA scheduling strategy.

      */ force?: boolean; - - /** - *

      The name of the service to delete.

      - */ - service: string | undefined; } export namespace DeleteServiceRequest { @@ -2732,12 +2818,6 @@ export namespace DeleteServiceResponse { } export interface DeleteTaskSetRequest { - /** - *

      If true, this allows you to delete a task set even if it hasn't been - * scaled down to zero.

      - */ - force?: boolean; - /** *

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task * set exists in to delete.

      @@ -2754,6 +2834,12 @@ export interface DeleteTaskSetRequest { *

      The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

      */ taskSet: string | undefined; + + /** + *

      If true, this allows you to delete a task set even if it hasn't been + * scaled down to zero.

      + */ + force?: boolean; } export namespace DeleteTaskSetRequest { @@ -2832,12 +2918,6 @@ export namespace DeregisterContainerInstanceRequest { *

      Describes the resources available for a container instance.

      */ export interface Resource { - /** - *

      When the doubleValue type is set, the value of the resource must be a - * double precision floating-point type.

      - */ - doubleValue?: number; - /** *

      The name of the resource, such as CPU, MEMORY, * PORTS, PORTS_UDP, or a user-defined resource.

      @@ -2845,16 +2925,16 @@ export interface Resource { name?: string; /** - *

      When the integerValue type is set, the value of the resource must be an - * integer.

      + *

      The type of the resource, such as INTEGER, DOUBLE, + * LONG, or STRINGSET.

      */ - integerValue?: number; + type?: string; /** - *

      When the stringSetValue type is set, the value of the resource must be a - * string type.

      + *

      When the doubleValue type is set, the value of the resource must be a + * double precision floating-point type.

      */ - stringSetValue?: string[]; + doubleValue?: number; /** *

      When the longValue type is set, the value of the resource must be an @@ -2863,10 +2943,16 @@ export interface Resource { longValue?: number; /** - *

      The type of the resource, such as INTEGER, DOUBLE, - * LONG, or STRINGSET.

      + *

      When the integerValue type is set, the value of the resource must be an + * integer.

      */ - type?: string; + integerValue?: number; + + /** + *

      When the stringSetValue type is set, the value of the resource must be a + * string type.

      + */ + stringSetValue?: string[]; } export namespace Resource { @@ -2909,14 +2995,36 @@ export namespace VersionInfo { */ export interface ContainerInstance { /** - *

      For CPU and memory resource types, this parameter describes the amount of each - * resource that was available on the container instance when the container agent - * registered it with Amazon ECS. This value represents the total amount of CPU and memory that - * can be allocated on this container instance to tasks. For port resource types, this - * parameter describes the ports that were reserved by the Amazon ECS container agent when it - * registered the container instance with Amazon ECS.

      + *

      The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

      */ - registeredResources?: Resource[]; + containerInstanceArn?: string; + + /** + *

      The EC2 instance ID of the container instance.

      + */ + ec2InstanceId?: string; + + /** + *

      The capacity provider associated with the container instance.

      + */ + capacityProviderName?: string; + + /** + *

      The version counter for the container instance. Every time a container instance + * experiences a change that triggers a CloudWatch event, the version counter is + * incremented. If you are replicating your Amazon ECS container instance state with CloudWatch + * Events, you can compare the version of a container instance reported by the Amazon ECS APIs + * with the version reported in CloudWatch Events for the container instance (inside the + * detail object) to verify that the version in your event stream is + * current.

      + */ + version?: number; + + /** + *

      The version information for the Amazon ECS container agent and Docker daemon running on the + * container instance.

      + */ + versionInfo?: VersionInfo; /** *

      For CPU and memory resource types, this parameter describes the remaining CPU and @@ -2930,42 +3038,14 @@ export interface ContainerInstance { remainingResources?: Resource[]; /** - *

      The metadata that you apply to the container instance to help you categorize and - * organize them. Each tag consists of a key and an optional value, both of which you - * define.

      - *

      The following basic restrictions apply to tags:

      - *
        - *
      • - *

        Maximum number of tags per resource - 50

        - *
      • - *
      • - *

        For each resource, each tag key must be unique, and each tag key can have only - * one value.

        - *
      • - *
      • - *

        Maximum key length - 128 Unicode characters in UTF-8

        - *
      • - *
      • - *

        Maximum value length - 256 Unicode characters in UTF-8

        - *
      • - *
      • - *

        If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

        - *
      • - *
      • - *

        Tag keys and values are case-sensitive.

        - *
      • - *
      • - *

        Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

        - *
      • - *
      + *

      For CPU and memory resource types, this parameter describes the amount of each + * resource that was available on the container instance when the container agent + * registered it with Amazon ECS. This value represents the total amount of CPU and memory that + * can be allocated on this container instance to tasks. For port resource types, this + * parameter describes the ports that were reserved by the Amazon ECS container agent when it + * registered the container instance with Amazon ECS.

      */ - tags?: Tag[]; + registeredResources?: Resource[]; /** *

      The status of the container instance. The valid values are REGISTERING, @@ -2989,30 +3069,23 @@ export interface ContainerInstance { status?: string; /** - *

      The EC2 instance ID of the container instance.

      + *

      The reason that the container instance reached its current status.

      */ - ec2InstanceId?: string; + statusReason?: string; /** - *

      The capacity provider associated with the container instance.

      - */ - capacityProviderName?: string; - - /** - *

      The version counter for the container instance. Every time a container instance - * experiences a change that triggers a CloudWatch event, the version counter is - * incremented. If you are replicating your Amazon ECS container instance state with CloudWatch - * Events, you can compare the version of a container instance reported by the Amazon ECS APIs - * with the version reported in CloudWatch Events for the container instance (inside the - * detail object) to verify that the version in your event stream is - * current.

      + *

      This parameter returns true if the agent is connected to Amazon ECS. + * Registered instances with an agent that may be unhealthy or stopped return + * false. Only instances connected to an agent can accept placement + * requests.

      */ - version?: number; + agentConnected?: boolean; /** - *

      The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

      + *

      The number of tasks on the container instance that are in the RUNNING + * status.

      */ - containerInstanceArn?: string; + runningTasksCount?: number; /** *

      The number of tasks on the container instance that are in the PENDING @@ -3026,12 +3099,6 @@ export interface ContainerInstance { */ agentUpdateStatus?: AgentUpdateStatus | string; - /** - *

      The resources attached to a container instance, such as elastic network - * interfaces.

      - */ - attachments?: Attachment[]; - /** *

      The attributes set for the container instance, either by the Amazon ECS container agent at * instance registration or manually with the PutAttributes @@ -3039,35 +3106,54 @@ export interface ContainerInstance { */ attributes?: Attribute[]; - /** - *

      The number of tasks on the container instance that are in the RUNNING - * status.

      - */ - runningTasksCount?: number; - - /** - *

      The reason that the container instance reached its current status.

      - */ - statusReason?: string; - /** *

      The Unix timestamp for when the container instance was registered.

      */ registeredAt?: Date; /** - *

      The version information for the Amazon ECS container agent and Docker daemon running on the - * container instance.

      + *

      The resources attached to a container instance, such as elastic network + * interfaces.

      */ - versionInfo?: VersionInfo; + attachments?: Attachment[]; /** - *

      This parameter returns true if the agent is connected to Amazon ECS. - * Registered instances with an agent that may be unhealthy or stopped return - * false. Only instances connected to an agent can accept placement - * requests.

      + *

      The metadata that you apply to the container instance to help you categorize and + * organize them. Each tag consists of a key and an optional value, both of which you + * define.

      + *

      The following basic restrictions apply to tags:

      + *
        + *
      • + *

        Maximum number of tags per resource - 50

        + *
      • + *
      • + *

        For each resource, each tag key must be unique, and each tag key can have only + * one value.

        + *
      • + *
      • + *

        Maximum key length - 128 Unicode characters in UTF-8

        + *
      • + *
      • + *

        Maximum value length - 256 Unicode characters in UTF-8

        + *
      • + *
      • + *

        If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

        + *
      • + *
      • + *

        Tag keys and values are case-sensitive.

        + *
      • + *
      • + *

        Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

        + *
      • + *
      */ - agentConnected?: boolean; + tags?: Tag[]; } export namespace ContainerInstance { @@ -3135,6 +3221,11 @@ export enum ContainerCondition { * */ export interface ContainerDependency { + /** + *

      The name of a container.

      + */ + containerName: string | undefined; + /** *

      The dependency condition of the container. The following are the available conditions * and their behavior:

      @@ -3169,11 +3260,6 @@ export interface ContainerDependency { *
    */ condition: ContainerCondition | string | undefined; - - /** - *

    The name of a container.

    - */ - containerName: string | undefined; } export namespace ContainerDependency { @@ -3228,14 +3314,14 @@ export namespace EnvironmentFile { */ export interface HostEntry { /** - *

    The IP address to use in the /etc/hosts entry.

    + *

    The hostname to use in the /etc/hosts entry.

    */ - ipAddress: string | undefined; + hostname: string | undefined; /** - *

    The hostname to use in the /etc/hosts entry.

    + *

    The IP address to use in the /etc/hosts entry.

    */ - hostname: string | undefined; + ipAddress: string | undefined; } export namespace HostEntry { @@ -3350,10 +3436,24 @@ export namespace FirelensConfiguration { */ export interface HealthCheck { /** - *

    The number of times to retry a failed health check before the container is considered - * unhealthy. You may specify between 1 and 10 retries. The default value is 3.

    + *

    A string array representing the command that the container runs to determine if it is + * healthy. The string array must start with CMD to execute the command + * arguments directly, or CMD-SHELL to run the command with the container's + * default shell. For example:

    + *

    + * [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] + *

    + *

    An exit code of 0 indicates success, and non-zero exit code indicates failure. For + * more information, see HealthCheck in the Create a container + * section of the Docker Remote API.

    */ - retries?: number; + command: string[] | undefined; + + /** + *

    The time period in seconds between each health check execution. You may specify + * between 5 and 300 seconds. The default value is 30 seconds.

    + */ + interval?: number; /** *

    The time period in seconds to wait for a health check to succeed before it is @@ -3362,6 +3462,12 @@ export interface HealthCheck { */ timeout?: number; + /** + *

    The number of times to retry a failed health check before the container is considered + * unhealthy. You may specify between 1 and 10 retries. The default value is 3.

    + */ + retries?: number; + /** *

    The optional grace period within which to provide containers time to bootstrap before * failed health checks count towards the maximum number of retries. You may specify @@ -3373,26 +3479,6 @@ export interface HealthCheck { * */ startPeriod?: number; - - /** - *

    The time period in seconds between each health check execution. You may specify - * between 5 and 300 seconds. The default value is 30 seconds.

    - */ - interval?: number; - - /** - *

    A string array representing the command that the container runs to determine if it is - * healthy. The string array must start with CMD to execute the command - * arguments directly, or CMD-SHELL to run the command with the container's - * default shell. For example:

    - *

    - * [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] - *

    - *

    An exit code of 0 indicates success, and non-zero exit code indicates failure. For - * more information, see HealthCheck in the Create a container - * section of the Docker Remote API.

    - */ - command: string[] | undefined; } export namespace HealthCheck { @@ -3466,13 +3552,6 @@ export enum DeviceCgroupPermission { *

    An object representing a container instance host device.

    */ export interface Device { - /** - *

    The explicit permissions to provide to the container for the device. By default, the - * container has permissions for read, write, and - * mknod for the device.

    - */ - permissions?: (DeviceCgroupPermission | string)[]; - /** *

    The path for the device on the host container instance.

    */ @@ -3482,6 +3561,13 @@ export interface Device { *

    The path inside the container at which to expose the host device.

    */ containerPath?: string; + + /** + *

    The explicit permissions to provide to the container for the device. By default, the + * container has permissions for read, write, and + * mknod for the device.

    + */ + permissions?: (DeviceCgroupPermission | string)[]; } export namespace Device { @@ -3494,6 +3580,16 @@ export namespace Device { *

    The container path, mount options, and size of the tmpfs mount.

    */ export interface Tmpfs { + /** + *

    The absolute file path where the tmpfs volume is to be mounted.

    + */ + containerPath: string | undefined; + + /** + *

    The maximum size (in MiB) of the tmpfs volume.

    + */ + size: number | undefined; + /** *

    The list of tmpfs volume mount options.

    *

    Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | @@ -3505,16 +3601,6 @@ export interface Tmpfs { *

    */ mountOptions?: string[]; - - /** - *

    The maximum size (in MiB) of the tmpfs volume.

    - */ - size: number | undefined; - - /** - *

    The absolute file path where the tmpfs volume is to be mounted.

    - */ - containerPath: string | undefined; } export namespace Tmpfs { @@ -3527,16 +3613,6 @@ export namespace Tmpfs { *

    Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

    */ export interface LinuxParameters { - /** - *

    The container path, mount options, and size (in MiB) of the tmpfs mount. This - * parameter maps to the --tmpfs option to docker run.

    - * - *

    If you are using tasks that use the Fargate launch type, the - * tmpfs parameter is not supported.

    - *
    - */ - tmpfs?: Tmpfs[]; - /** *

    The Linux capabilities for the container that are added to or dropped from the default * configuration provided by Docker.

    @@ -3549,6 +3625,17 @@ export interface LinuxParameters { */ capabilities?: KernelCapabilities; + /** + *

    Any host devices to expose to the container. This parameter maps to + * Devices in the Create a container section of the + * Docker Remote API and the --device option to docker run.

    + * + *

    If you are using tasks that use the Fargate launch type, the + * devices parameter is not supported.

    + *
    + */ + devices?: Device[]; + /** *

    Run an init process inside the container that forwards signals and reaps * processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' @@ -3567,6 +3654,16 @@ export interface LinuxParameters { */ sharedMemorySize?: number; + /** + *

    The container path, mount options, and size (in MiB) of the tmpfs mount. This + * parameter maps to the --tmpfs option to docker run.

    + * + *

    If you are using tasks that use the Fargate launch type, the + * tmpfs parameter is not supported.

    + *
    + */ + tmpfs?: Tmpfs[]; + /** *

    The total amount of swap memory (in MiB) a container can use. This parameter will be * translated to the --memory-swap option to docker run where the value would be the sum of @@ -3598,17 +3695,6 @@ export interface LinuxParameters { * */ swappiness?: number; - - /** - *

    Any host devices to expose to the container. This parameter maps to - * Devices in the Create a container section of the - * Docker Remote API and the --device option to docker run.

    - * - *

    If you are using tasks that use the Fargate launch type, the - * devices parameter is not supported.

    - *
    - */ - devices?: Device[]; } export namespace LinuxParameters { @@ -3756,11 +3842,10 @@ export namespace LogConfiguration { */ export interface MountPoint { /** - *

    If this value is true, the container has read-only access to the volume. - * If this value is false, then the container can write to the volume. The - * default value is false.

    + *

    The name of the volume to mount. Must be a volume name referenced in the + * name parameter of task definition volume.

    */ - readOnly?: boolean; + sourceVolume?: string; /** *

    The path on the container to mount the host volume at.

    @@ -3768,10 +3853,11 @@ export interface MountPoint { containerPath?: string; /** - *

    The name of the volume to mount. Must be a volume name referenced in the - * name parameter of task definition volume.

    + *

    If this value is true, the container has read-only access to the volume. + * If this value is false, then the container can write to the volume. The + * default value is false.

    */ - sourceVolume?: string; + readOnly?: boolean; } export namespace MountPoint { @@ -3799,10 +3885,18 @@ export enum TransportProtocol { */ export interface PortMapping { /** - *

    The protocol used for the port mapping. Valid values are tcp and - * udp. The default is tcp.

    + *

    The port number on the container that is bound to the user-specified or automatically + * assigned host port.

    + *

    If you are using containers in a task with the awsvpc or + * host network mode, exposed ports should be specified using + * containerPort.

    + *

    If you are using containers in a task with the bridge network mode and + * you specify a container port and not a host port, your container automatically receives + * a host port in the ephemeral port range. For more information, see + * hostPort. Port mappings that are automatically assigned in this way do not + * count toward the 100 reserved ports limit of a container instance.

    */ - protocol?: TransportProtocol | string; + containerPort?: number; /** *

    The port number on the container instance to reserve for your container.

    @@ -3837,18 +3931,10 @@ export interface PortMapping { hostPort?: number; /** - *

    The port number on the container that is bound to the user-specified or automatically - * assigned host port.

    - *

    If you are using containers in a task with the awsvpc or - * host network mode, exposed ports should be specified using - * containerPort.

    - *

    If you are using containers in a task with the bridge network mode and - * you specify a container port and not a host port, your container automatically receives - * a host port in the ephemeral port range. For more information, see - * hostPort. Port mappings that are automatically assigned in this way do not - * count toward the 100 reserved ports limit of a container instance.

    + *

    The protocol used for the port mapping. Valid values are tcp and + * udp. The default is tcp.

    */ - containerPort?: number; + protocol?: TransportProtocol | string; } export namespace PortMapping { @@ -3989,14 +4075,14 @@ export interface Ulimit { name: UlimitName | string | undefined; /** - *

    The hard limit for the ulimit type.

    + *

    The soft limit for the ulimit type.

    */ - hardLimit: number | undefined; + softLimit: number | undefined; /** - *

    The soft limit for the ulimit type.

    + *

    The hard limit for the ulimit type.

    */ - softLimit: number | undefined; + hardLimit: number | undefined; } export namespace Ulimit { @@ -4009,18 +4095,18 @@ export namespace Ulimit { *

    Details on a data volume from another container in the same task definition.

    */ export interface VolumeFrom { + /** + *

    The name of another container within the same task definition from which to mount + * volumes.

    + */ + sourceContainer?: string; + /** *

    If this value is true, the container has read-only access to the volume. * If this value is false, then the container can write to the volume. The * default value is false.

    */ readOnly?: boolean; - - /** - *

    The name of another container within the same task definition from which to mount - * volumes.

    - */ - sourceContainer?: string; } export namespace VolumeFrom { @@ -4035,73 +4121,113 @@ export namespace VolumeFrom { */ export interface ContainerDefinition { /** - *

    When this parameter is true, networking is disabled within the container. This - * parameter maps to NetworkDisabled in the Create a container - * section of the Docker Remote API.

    - * - *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    - *
    + *

    The name of a container. If you are linking multiple containers together in a task + * definition, the name of one container can be entered in the + * links of another container to connect the containers. + * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the + * Create a container section of the Docker Remote API and the + * --name option to docker + * run.

    */ - disableNetworking?: boolean; + name?: string; /** - *

    A list of hostnames and IP address mappings to append to the /etc/hosts - * file on the container. This parameter maps to ExtraHosts in the + *

    The image used to start a container. This string is passed directly to the Docker + * daemon. Images in the Docker Hub registry are available by default. Other repositories + * are specified with either + * repository-url/image:tag + * or + * repository-url/image@digest + * . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the * Create a container section of the Docker Remote API and the - * --add-host option to docker + * IMAGE parameter of docker * run.

    - * - *

    This parameter is not supported for Windows containers or tasks that use the - * awsvpc network mode.

    - *
    - */ - extraHosts?: HostEntry[]; - - /** - *

    A list of ulimits to set in the container. If a ulimit value is specified - * in a task definition, it will override the default values set by Docker. This parameter - * maps to Ulimits in the Create a container section of the - * Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed - * in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

    - * - *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    - *
    - */ - ulimits?: Ulimit[]; - - /** - *

    When this parameter is true, a TTY is allocated. This parameter maps to - * Tty in the Create a container section of the - * Docker Remote API and the --tty option to docker run.

    - */ - pseudoTerminal?: boolean; - - /** - *

    Data volumes to mount from another container. This parameter maps to - * VolumesFrom in the Create a container section of the - * Docker Remote API and the --volumes-from option to docker run.

    + *
      + *
    • + *

      When a new task starts, the Amazon ECS container agent pulls the latest version of + * the specified image and tag for the container to use. However, subsequent + * updates to a repository image are not propagated to already running + * tasks.

      + *
    • + *
    • + *

      Images in Amazon ECR repositories can be specified by either using the full + * registry/repository:tag or + * registry/repository@digest. For example, + * 012345678910.dkr.ecr..amazonaws.com/:latest + * or + * 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. + *

      + *
    • + *
    • + *

      Images in official repositories on Docker Hub use a single name (for example, + * ubuntu or mongo).

      + *
    • + *
    • + *

      Images in other repositories on Docker Hub are qualified with an organization + * name (for example, amazon/amazon-ecs-agent).

      + *
    • + *
    • + *

      Images in other online repositories are qualified further by a domain name + * (for example, quay.io/assemblyline/ubuntu).

      + *
    • + *
    */ - volumesFrom?: VolumeFrom[]; + image?: string; /** - *

    The container health check command and associated configuration parameters for the - * container. This parameter maps to HealthCheck in the - * Create a container section of the Docker Remote API and the - * HEALTHCHECK parameter of docker - * run.

    + *

    The private repository authentication credentials to use.

    */ - healthCheck?: HealthCheck; + repositoryCredentials?: RepositoryCredentials; /** - *

    A list of DNS search domains that are presented to the container. This parameter maps - * to DnsSearch in the Create a container section of the - * Docker Remote API and the --dns-search option to docker run.

    - * - *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    - *
    + *

    The number of cpu units reserved for the container. This parameter maps + * to CpuShares in the Create a container section of the + * Docker Remote API and the --cpu-shares option to docker run.

    + *

    This field is optional for tasks using the Fargate launch type, and the + * only requirement is that the total amount of CPU reserved for all containers within a + * task be lower than the task-level cpu value.

    + * + *

    You can determine the number of CPU units that are available per EC2 instance type + * by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page + * by 1,024.

    + *
    + *

    Linux containers share unallocated CPU units with other containers on the container + * instance with the same ratio as their allocated amount. For example, if you run a + * single-container task on a single-core instance type with 512 CPU units specified for + * that container, and that is the only task running on the container instance, that + * container could use the full 1,024 CPU unit share at any given time. However, if you + * launched another copy of the same task on that container instance, each task would be + * guaranteed a minimum of 512 CPU units when needed, and each container could float to + * higher CPU usage if the other container was not using it, but if both tasks were 100% + * active all of the time, they would be limited to 512 CPU units.

    + *

    On Linux container instances, the Docker daemon on the container instance uses the CPU + * value to calculate the relative CPU share ratios for running containers. For more + * information, see CPU share + * constraint in the Docker documentation. The minimum valid CPU share value + * that the Linux kernel allows is 2. However, the CPU parameter is not required, and you + * can use CPU values below 2 in your container definitions. For CPU values below 2 + * (including null), the behavior varies based on your Amazon ECS container agent + * version:

    + *
      + *
    • + *

      + * Agent versions less than or equal to 1.1.0: + * Null and zero CPU values are passed to Docker as 0, which Docker then converts + * to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux + * kernel converts to two CPU shares.

      + *
    • + *
    • + *

      + * Agent versions greater than or equal to 1.2.0: + * Null, zero, and CPU values of 1 are passed to Docker as 2.

      + *
    • + *
    + *

    On Windows container instances, the CPU limit is enforced as an absolute limit, or a + * quota. Windows containers only have access to the specified amount of CPU that is + * described in the task definition. A null or zero CPU value is passed to Docker as + * 0, which Windows interprets as 1% of one CPU.

    */ - dnsSearchDomains?: string[]; + cpu?: number; /** *

    The amount (in MiB) of memory to present to the container. If your container attempts @@ -4124,49 +4250,94 @@ export interface ContainerDefinition { memory?: number; /** - *

    The user name to use inside the container. This parameter maps to User in - * the Create a container section of the Docker Remote API and the - * --user option to docker + *

    The soft limit (in MiB) of memory to reserve for the container. When system memory is + * under heavy contention, Docker attempts to keep the container memory to this soft limit. + * However, your container can consume more memory when it needs to, up to either the hard + * limit specified with the memory parameter (if applicable), or all of the + * available memory on the container instance, whichever comes first. This parameter maps + * to MemoryReservation in the Create a container section of + * the Docker Remote API and the --memory-reservation option to docker run.

    + *

    If a task-level memory value is not specified, you must specify a non-zero integer for + * one or both of memory or memoryReservation in a container + * definition. If you specify both, memory must be greater than + * memoryReservation. If you specify memoryReservation, then + * that value is subtracted from the available memory resources for the container instance + * on which the container is placed. Otherwise, the value of memory is + * used.

    + *

    For example, if your container normally uses 128 MiB of memory, but occasionally + * bursts to 256 MiB of memory for short periods of time, you can set a + * memoryReservation of 128 MiB, and a memory hard limit of + * 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory + * from the remaining resources on the container instance, but also allow the container to + * consume more memory resources when needed.

    + *

    The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + * not specify fewer than 4 MiB of memory for your containers.

    + */ + memoryReservation?: number; + + /** + *

    The links parameter allows containers to communicate with each other + * without the need for port mappings. This parameter is only supported if the network mode + * of a task definition is bridge. The name:internalName + * construct is analogous to name:alias in Docker links. + * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to + * Legacy container links + * in the Docker documentation. This parameter maps to Links in the + * Create a container section of the Docker Remote API and the + * --link option to docker * run.

    - *

    You can use the following formats. If specifying a UID or GID, you must specify it as - * a positive integer.

    - *
      - *
    • - *

      - * user - *

      - *
    • - *
    • - *

      - * user:group - *

      - *
    • - *
    • - *

      - * uid - *

      - *
    • - *
    • - *

      - * uid:gid - *

      - *
    • - *
    • - *

      - * user:gid - *

      - *
    • - *
    • - *

      - * uid:group - *

      - *
    • - *
    * *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    *
    + * + *

    Containers that are collocated on a single container instance may be able to + * communicate with each other without requiring links or host port mappings. Network + * isolation is achieved on the container instance using security groups and VPC + * settings.

    + *
    */ - user?: string; + links?: string[]; + + /** + *

    The list of port mappings for the container. Port mappings allow containers to access + * ports on the host container instance to send or receive traffic.

    + *

    For task definitions that use the awsvpc network mode, you should only + * specify the containerPort. The hostPort can be left blank or + * it must be the same value as the containerPort.

    + *

    Port mappings on Windows use the NetNAT gateway address rather than + * localhost. There is no loopback for port mappings on Windows, so you + * cannot access a container's mapped port from the host itself.

    + *

    This parameter maps to PortBindings in the + * Create a container section of the Docker Remote API and the + * --publish option to docker + * run. If the network mode of a task definition is set to none, + * then you can't specify port mappings. If the network mode of a task definition is set to + * host, then host ports must either be undefined or they must match the + * container port in the port mapping.

    + * + *

    After a task reaches the RUNNING status, manual and automatic host + * and container port assignments are visible in the Network + * Bindings section of a container description for a selected task in + * the Amazon ECS console. The assignments are also visible in the + * networkBindings section DescribeTasks + * responses.

    + *
    + */ + portMappings?: PortMapping[]; + + /** + *

    If the essential parameter of a container is marked as true, + * and that container fails or stops for any reason, all other containers that are part of + * the task are stopped. If the essential parameter of a container is marked + * as false, then its failure does not affect the rest of the containers in a + * task. If this parameter is omitted, a container is assumed to be essential.

    + *

    All tasks must have at least one essential container. If you have an application that + * is composed of multiple containers, you should group containers that are used for a + * common purpose into components, and separate the different components into multiple task + * definitions. For more information, see Application + * Architecture in the Amazon Elastic Container Service Developer Guide.

    + */ + essential?: boolean; /** * @@ -4182,66 +4353,94 @@ export interface ContainerDefinition { entryPoint?: string[]; /** - *

    When this parameter is true, this allows you to deploy containerized - * applications that require stdin or a tty to be allocated. This - * parameter maps to OpenStdin in the Create a container - * section of the Docker Remote API and the --interactive option to docker run.

    + *

    The command that is passed to the container. This parameter maps to Cmd + * in the Create a container section of the Docker Remote API and the + * COMMAND parameter to docker + * run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each + * argument should be a separated string in the array.

    */ - interactive?: boolean; + command?: string[]; /** - *

    The log configuration specification for the container.

    - *

    This parameter maps to LogConfig in the - * Create a container section of the Docker Remote API and the - * --log-driver option to docker - * run. By default, containers use the same logging driver that the Docker - * daemon uses. However the container may use a different logging driver than the Docker - * daemon by specifying a log driver with this parameter in the container definition. To - * use a different logging driver for a container, the log system must be configured - * properly on the container instance (or on a different log server for remote logging - * options). For more information on the options for different supported log drivers, see - * Configure - * logging drivers in the Docker documentation.

    - * - *

    Amazon ECS currently supports a subset of the logging drivers available to the Docker - * daemon (shown in the LogConfiguration data type). Additional log - * drivers may be available in future releases of the Amazon ECS container agent.

    - *
    - *

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

    + *

    The environment variables to pass to a container. This parameter maps to + * Env in the Create a container section of the + * Docker Remote API and the --env option to docker run.

    + * + *

    We do not recommend using plaintext environment variables for sensitive + * information, such as credential data.

    + *
    + */ + environment?: KeyValuePair[]; + + /** + *

    A list of files containing the environment variables to pass to a container. This + * parameter maps to the --env-file option to docker run.

    + *

    You can specify up to ten environment files. The file must have a .env + * file extension. Each line in an environment file should contain an environment variable + * in VARIABLE=VALUE format. Lines beginning with # are treated + * as comments and are ignored. For more information on the environment variable file + * syntax, see Declare default + * environment variables in file.

    + *

    If there are environment variables specified using the environment + * parameter in a container definition, they take precedence over the variables contained + * within an environment file. If multiple environment files are specified that contain the + * same variable, they are processed from the top down. It is recommended to use unique + * variable names. For more information, see Specifying Environment + * Variables in the Amazon Elastic Container Service Developer Guide.

    + *

    This field is not valid for containers in tasks using the Fargate launch + * type.

    + */ + environmentFiles?: EnvironmentFile[]; + + /** + *

    The mount points for data volumes in your container.

    + *

    This parameter maps to Volumes in the Create a container + * section of the Docker Remote API and the --volume option to docker run.

    + *

    Windows containers can mount whole directories on the same drive as + * $env:ProgramData. Windows containers cannot mount directories on a + * different drive, and mount point cannot be across drives.

    + */ + mountPoints?: MountPoint[]; + + /** + *

    Data volumes to mount from another container. This parameter maps to + * VolumesFrom in the Create a container section of the + * Docker Remote API and the --volumes-from option to docker run.

    + */ + volumesFrom?: VolumeFrom[]; + + /** + *

    Linux-specific modifications that are applied to the container, such as Linux kernel + * capabilities. For more information see KernelCapabilities.

    * - *

    The Amazon ECS container agent running on a container instance must register the - * logging drivers available on that instance with the - * ECS_AVAILABLE_LOGGING_DRIVERS environment variable before - * containers placed on that instance can use these log configuration options. For more - * information, see Amazon ECS Container - * Agent Configuration in the Amazon Elastic Container Service Developer Guide.

    + *

    This parameter is not supported for Windows containers.

    *
    */ - logConfiguration?: LogConfiguration; + linuxParameters?: LinuxParameters; /** - *

    The links parameter allows containers to communicate with each other - * without the need for port mappings. This parameter is only supported if the network mode - * of a task definition is bridge. The name:internalName - * construct is analogous to name:alias in Docker links. - * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to - * Legacy container links - * in the Docker documentation. This parameter maps to Links in the - * Create a container section of the Docker Remote API and the - * --link option to docker - * run.

    - * - *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    - *
    - * - *

    Containers that are collocated on a single container instance may be able to - * communicate with each other without requiring links or host port mappings. Network - * isolation is achieved on the container instance using security groups and VPC - * settings.

    - *
    + *

    The secrets to pass to the container. For more information, see Specifying + * Sensitive Data in the Amazon Elastic Container Service Developer Guide.

    */ - links?: string[]; + secrets?: Secret[]; + + /** + *

    The dependencies defined for container startup and shutdown. A container can contain + * multiple dependencies. When a dependency is defined for container startup, for container + * shutdown it is reversed.

    + *

    For tasks using the EC2 launch type, the container instances require at + * least version 1.26.0 of the container agent to enable container dependencies. However, + * we recommend using the latest container agent version. For information about checking + * your agent version and updating to the latest version, see Updating the Amazon ECS + * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + * ecs-init package. If your container instances are launched from version + * 20190301 or later, then they contain the required versions of the + * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    + *

    For tasks using the Fargate launch type, the task or service requires + * platform version 1.3.0 or later.

    + */ + dependsOn?: ContainerDependency[]; /** *

    Time duration (in seconds) to wait before giving up on resolving dependencies for a @@ -4270,6 +4469,30 @@ export interface ContainerDefinition { */ startTimeout?: number; + /** + *

    Time duration (in seconds) to wait before the container is forcefully killed if it + * doesn't exit normally on its own.

    + *

    For tasks using the Fargate launch type, the task or service requires + * platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the + * parameter is not specified, the default value of 30 seconds is used.

    + *

    For tasks using the EC2 launch type, if the stopTimeout + * parameter is not specified, the value set for the Amazon ECS container agent configuration + * variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the + * stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT + * agent configuration variable are set, then the default values of 30 seconds for Linux + * containers and 30 seconds on Windows containers are used. Your container instances + * require at least version 1.26.0 of the container agent to enable a container stop + * timeout value. However, we recommend using the latest container agent version. For + * information about checking your agent version and updating to the latest version, see + * Updating the Amazon ECS + * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + * ecs-init package. If your container instances are launched from version + * 20190301 or later, then they contain the required versions of the + * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    + */ + stopTimeout?: number; + /** *

    The hostname to use for your container. This parameter maps to Hostname * in the Create a container section of the Docker Remote API and the @@ -4283,236 +4506,94 @@ export interface ContainerDefinition { hostname?: string; /** - *

    The type and amount of a resource to assign to a container. The only supported - * resource is a GPU.

    - */ - resourceRequirements?: ResourceRequirement[]; - - /** - *

    The FireLens configuration for the container. This is used to specify and configure a - * log router for container logs. For more information, see Custom Log Routing - * in the Amazon Elastic Container Service Developer Guide.

    - */ - firelensConfiguration?: FirelensConfiguration; - - /** - *

    The image used to start a container. This string is passed directly to the Docker - * daemon. Images in the Docker Hub registry are available by default. Other repositories - * are specified with either - * repository-url/image:tag - * or - * repository-url/image@digest - * . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the + *

    The user to use inside the container. This parameter maps to User in the * Create a container section of the Docker Remote API and the - * IMAGE parameter of docker - * run.

    + * --user option to docker + * run.

    + * + *

    When running tasks using the host network mode, you should not run + * containers using the root user (UID 0). It is considered best practice to use a + * non-root user.

    + *
    + *

    You can specify the user using the following formats. If specifying a UID + * or GID, you must specify it as a positive integer.

    *
      *
    • - *

      When a new task starts, the Amazon ECS container agent pulls the latest version of - * the specified image and tag for the container to use. However, subsequent - * updates to a repository image are not propagated to already running - * tasks.

      - *
    • - *
    • - *

      Images in Amazon ECR repositories can be specified by either using the full - * registry/repository:tag or - * registry/repository@digest. For example, - * 012345678910.dkr.ecr..amazonaws.com/:latest - * or - * 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. - *

      + *

      + * user + *

      *
    • *
    • - *

      Images in official repositories on Docker Hub use a single name (for example, - * ubuntu or mongo).

      + *

      + * user:group + *

      *
    • *
    • - *

      Images in other repositories on Docker Hub are qualified with an organization - * name (for example, amazon/amazon-ecs-agent).

      + *

      + * uid + *

      *
    • *
    • - *

      Images in other online repositories are qualified further by a domain name - * (for example, quay.io/assemblyline/ubuntu).

      + *

      + * uid:gid + *

      *
    • - *
    - */ - image?: string; - - /** - *

    The soft limit (in MiB) of memory to reserve for the container. When system memory is - * under heavy contention, Docker attempts to keep the container memory to this soft limit. - * However, your container can consume more memory when it needs to, up to either the hard - * limit specified with the memory parameter (if applicable), or all of the - * available memory on the container instance, whichever comes first. This parameter maps - * to MemoryReservation in the Create a container section of - * the Docker Remote API and the --memory-reservation option to docker run.

    - *

    If a task-level memory value is not specified, you must specify a non-zero integer for - * one or both of memory or memoryReservation in a container - * definition. If you specify both, memory must be greater than - * memoryReservation. If you specify memoryReservation, then - * that value is subtracted from the available memory resources for the container instance - * on which the container is placed. Otherwise, the value of memory is - * used.

    - *

    For example, if your container normally uses 128 MiB of memory, but occasionally - * bursts to 256 MiB of memory for short periods of time, you can set a - * memoryReservation of 128 MiB, and a memory hard limit of - * 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory - * from the remaining resources on the container instance, but also allow the container to - * consume more memory resources when needed.

    - *

    The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should - * not specify fewer than 4 MiB of memory for your containers.

    - */ - memoryReservation?: number; - - /** - *

    The list of port mappings for the container. Port mappings allow containers to access - * ports on the host container instance to send or receive traffic.

    - *

    For task definitions that use the awsvpc network mode, you should only - * specify the containerPort. The hostPort can be left blank or - * it must be the same value as the containerPort.

    - *

    Port mappings on Windows use the NetNAT gateway address rather than - * localhost. There is no loopback for port mappings on Windows, so you - * cannot access a container's mapped port from the host itself.

    - *

    This parameter maps to PortBindings in the - * Create a container section of the Docker Remote API and the - * --publish option to docker - * run. If the network mode of a task definition is set to none, - * then you can't specify port mappings. If the network mode of a task definition is set to - * host, then host ports must either be undefined or they must match the - * container port in the port mapping.

    - * - *

    After a task reaches the RUNNING status, manual and automatic host - * and container port assignments are visible in the Network - * Bindings section of a container description for a selected task in - * the Amazon ECS console. The assignments are also visible in the - * networkBindings section DescribeTasks - * responses.

    - *
    - */ - portMappings?: PortMapping[]; - - /** - *

    The dependencies defined for container startup and shutdown. A container can contain - * multiple dependencies. When a dependency is defined for container startup, for container - * shutdown it is reversed.

    - *

    For tasks using the EC2 launch type, the container instances require at - * least version 1.26.0 of the container agent to enable container dependencies. However, - * we recommend using the latest container agent version. For information about checking - * your agent version and updating to the latest version, see Updating the Amazon ECS - * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are - * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the - * ecs-init package. If your container instances are launched from version - * 20190301 or later, then they contain the required versions of the - * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    - *

    For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later.

    - */ - dependsOn?: ContainerDependency[]; - - /** - *

    The number of cpu units reserved for the container. This parameter maps - * to CpuShares in the Create a container section of the - * Docker Remote API and the --cpu-shares option to docker run.

    - *

    This field is optional for tasks using the Fargate launch type, and the - * only requirement is that the total amount of CPU reserved for all containers within a - * task be lower than the task-level cpu value.

    - * - *

    You can determine the number of CPU units that are available per EC2 instance type - * by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page - * by 1,024.

    - *
    - *

    Linux containers share unallocated CPU units with other containers on the container - * instance with the same ratio as their allocated amount. For example, if you run a - * single-container task on a single-core instance type with 512 CPU units specified for - * that container, and that is the only task running on the container instance, that - * container could use the full 1,024 CPU unit share at any given time. However, if you - * launched another copy of the same task on that container instance, each task would be - * guaranteed a minimum of 512 CPU units when needed, and each container could float to - * higher CPU usage if the other container was not using it, but if both tasks were 100% - * active all of the time, they would be limited to 512 CPU units.

    - *

    On Linux container instances, the Docker daemon on the container instance uses the CPU - * value to calculate the relative CPU share ratios for running containers. For more - * information, see CPU share - * constraint in the Docker documentation. The minimum valid CPU share value - * that the Linux kernel allows is 2. However, the CPU parameter is not required, and you - * can use CPU values below 2 in your container definitions. For CPU values below 2 - * (including null), the behavior varies based on your Amazon ECS container agent - * version:

    - *
      *
    • *

      - * Agent versions less than or equal to 1.1.0: - * Null and zero CPU values are passed to Docker as 0, which Docker then converts - * to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux - * kernel converts to two CPU shares.

      + * user:gid + *

      *
    • *
    • *

      - * Agent versions greater than or equal to 1.2.0: - * Null, zero, and CPU values of 1 are passed to Docker as 2.

      + * uid:group + *

      *
    • *
    - *

    On Windows container instances, the CPU limit is enforced as an absolute limit, or a - * quota. Windows containers only have access to the specified amount of CPU that is - * described in the task definition. A null or zero CPU value is passed to Docker as - * 0, which Windows interprets as 1% of one CPU.

    + * + *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    + *
    */ - cpu?: number; + user?: string; /** - *

    Time duration (in seconds) to wait before the container is forcefully killed if it - * doesn't exit normally on its own.

    - *

    For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the - * parameter is not specified, the default value of 30 seconds is used.

    - *

    For tasks using the EC2 launch type, if the stopTimeout - * parameter is not specified, the value set for the Amazon ECS container agent configuration - * variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the - * stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT - * agent configuration variable are set, then the default values of 30 seconds for Linux - * containers and 30 seconds on Windows containers are used. Your container instances - * require at least version 1.26.0 of the container agent to enable a container stop - * timeout value. However, we recommend using the latest container agent version. For - * information about checking your agent version and updating to the latest version, see - * Updating the Amazon ECS - * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are - * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the - * ecs-init package. If your container instances are launched from version - * 20190301 or later, then they contain the required versions of the - * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    + *

    The working directory in which to run commands inside the container. This parameter + * maps to WorkingDir in the Create a container section of the + * Docker Remote API and the --workdir option to docker run.

    */ - stopTimeout?: number; + workingDirectory?: string; /** - *

    A key/value map of labels to add to the container. This parameter maps to - * Labels in the Create a container section of the - * Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

    + *

    When this parameter is true, networking is disabled within the container. This + * parameter maps to NetworkDisabled in the Create a container + * section of the Docker Remote API.

    + * + *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    + *
    */ - dockerLabels?: { [key: string]: string }; + disableNetworking?: boolean; /** - *

    If the essential parameter of a container is marked as true, - * and that container fails or stops for any reason, all other containers that are part of - * the task are stopped. If the essential parameter of a container is marked - * as false, then its failure does not affect the rest of the containers in a - * task. If this parameter is omitted, a container is assumed to be essential.

    - *

    All tasks must have at least one essential container. If you have an application that - * is composed of multiple containers, you should group containers that are used for a - * common purpose into components, and separate the different components into multiple task - * definitions. For more information, see Application - * Architecture in the Amazon Elastic Container Service Developer Guide.

    + *

    When this parameter is true, the container is given elevated privileges on the host + * container instance (similar to the root user). This parameter maps to + * Privileged in the Create a container section of the + * Docker Remote API and the --privileged option to docker run.

    + * + *

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    + *
    */ - essential?: boolean; + privileged?: boolean; /** - *

    Linux-specific modifications that are applied to the container, such as Linux kernel - * capabilities. For more information see KernelCapabilities.

    - * - *

    This parameter is not supported for Windows containers.

    - *
    + *

    When this parameter is true, the container is given read-only access to its root file + * system. This parameter maps to ReadonlyRootfs in the + * Create a container section of the Docker Remote API and the + * --read-only option to docker + * run.

    + * + *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    + *
    */ - linuxParameters?: LinuxParameters; + readonlyRootFilesystem?: boolean; /** *

    A list of DNS servers that are presented to the container. This parameter maps to @@ -4525,46 +4606,27 @@ export interface ContainerDefinition { dnsServers?: string[]; /** - *

    The private repository authentication credentials to use.

    + *

    A list of DNS search domains that are presented to the container. This parameter maps + * to DnsSearch in the Create a container section of the + * Docker Remote API and the --dns-search option to docker run.

    + * + *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    + *
    */ - repositoryCredentials?: RepositoryCredentials; + dnsSearchDomains?: string[]; /** - *

    A list of namespaced kernel parameters to set in the container. This parameter maps to - * Sysctls in the Create a container section of the - * Docker Remote API and the --sysctl option to docker run.

    + *

    A list of hostnames and IP address mappings to append to the /etc/hosts + * file on the container. This parameter maps to ExtraHosts in the + * Create a container section of the Docker Remote API and the + * --add-host option to docker + * run.

    * - *

    It is not recommended that you specify network-related systemControls - * parameters for multiple containers in a single task that also uses either the - * awsvpc or host network modes. For tasks that use the - * awsvpc network mode, the container that is started last determines - * which systemControls parameters take effect. For tasks that use the - * host network mode, it changes the container instance's namespaced - * kernel parameters as well as the containers.

    + *

    This parameter is not supported for Windows containers or tasks that use the + * awsvpc network mode.

    *
    */ - systemControls?: SystemControl[]; - - /** - *

    The mount points for data volumes in your container.

    - *

    This parameter maps to Volumes in the Create a container - * section of the Docker Remote API and the --volume option to docker run.

    - *

    Windows containers can mount whole directories on the same drive as - * $env:ProgramData. Windows containers cannot mount directories on a - * different drive, and mount point cannot be across drives.

    - */ - mountPoints?: MountPoint[]; - - /** - *

    The name of a container. If you are linking multiple containers together in a task - * definition, the name of one container can be entered in the - * links of another container to connect the containers. - * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the - * Create a container section of the Docker Remote API and the - * --name option to docker - * run.

    - */ - name?: string; + extraHosts?: HostEntry[]; /** *

    A list of strings to provide custom labels for SELinux and AppArmor multi-level @@ -4593,80 +4655,109 @@ export interface ContainerDefinition { dockerSecurityOptions?: string[]; /** - *

    A list of files containing the environment variables to pass to a container. This - * parameter maps to the --env-file option to docker run.

    - *

    You can specify up to ten environment files. The file must have a .env - * file extension. Each line in an environment file should contain an environment variable - * in VARIABLE=VALUE format. Lines beginning with # are treated - * as comments and are ignored. For more information on the environment variable file - * syntax, see Declare default - * environment variables in file.

    - *

    If there are environment variables specified using the environment - * parameter in a container definition, they take precedence over the variables contained - * within an environment file. If multiple environment files are specified that contain the - * same variable, they are processed from the top down. It is recommended to use unique - * variable names. For more information, see Specifying Environment - * Variables in the Amazon Elastic Container Service Developer Guide.

    - *

    This field is not valid for containers in tasks using the Fargate launch - * type.

    + *

    When this parameter is true, this allows you to deploy containerized + * applications that require stdin or a tty to be allocated. This + * parameter maps to OpenStdin in the Create a container + * section of the Docker Remote API and the --interactive option to docker run.

    */ - environmentFiles?: EnvironmentFile[]; + interactive?: boolean; /** - *

    The environment variables to pass to a container. This parameter maps to - * Env in the Create a container section of the - * Docker Remote API and the --env option to docker run.

    - * - *

    We do not recommend using plaintext environment variables for sensitive - * information, such as credential data.

    - *
    + *

    When this parameter is true, a TTY is allocated. This parameter maps to + * Tty in the Create a container section of the + * Docker Remote API and the --tty option to docker run.

    */ - environment?: KeyValuePair[]; + pseudoTerminal?: boolean; /** - *

    When this parameter is true, the container is given read-only access to its root file - * system. This parameter maps to ReadonlyRootfs in the - * Create a container section of the Docker Remote API and the - * --read-only option to docker - * run.

    + *

    A key/value map of labels to add to the container. This parameter maps to + * Labels in the Create a container section of the + * Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

    + */ + dockerLabels?: { [key: string]: string }; + + /** + *

    A list of ulimits to set in the container. If a ulimit value is specified + * in a task definition, it will override the default values set by Docker. This parameter + * maps to Ulimits in the Create a container section of the + * Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed + * in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

    * *

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    *
    */ - readonlyRootFilesystem?: boolean; + ulimits?: Ulimit[]; /** - *

    The working directory in which to run commands inside the container. This parameter - * maps to WorkingDir in the Create a container section of the - * Docker Remote API and the --workdir option to docker run.

    + *

    The log configuration specification for the container.

    + *

    This parameter maps to LogConfig in the + * Create a container section of the Docker Remote API and the + * --log-driver option to docker + * run. By default, containers use the same logging driver that the Docker + * daemon uses. However the container may use a different logging driver than the Docker + * daemon by specifying a log driver with this parameter in the container definition. To + * use a different logging driver for a container, the log system must be configured + * properly on the container instance (or on a different log server for remote logging + * options). For more information on the options for different supported log drivers, see + * Configure + * logging drivers in the Docker documentation.

    + * + *

    Amazon ECS currently supports a subset of the logging drivers available to the Docker + * daemon (shown in the LogConfiguration data type). Additional log + * drivers may be available in future releases of the Amazon ECS container agent.

    + *
    + *

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

    + * + *

    The Amazon ECS container agent running on a container instance must register the + * logging drivers available on that instance with the + * ECS_AVAILABLE_LOGGING_DRIVERS environment variable before + * containers placed on that instance can use these log configuration options. For more + * information, see Amazon ECS Container + * Agent Configuration in the Amazon Elastic Container Service Developer Guide.

    + *
    */ - workingDirectory?: string; + logConfiguration?: LogConfiguration; /** - *

    When this parameter is true, the container is given elevated privileges on the host - * container instance (similar to the root user). This parameter maps to - * Privileged in the Create a container section of the - * Docker Remote API and the --privileged option to docker run.

    - * - *

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    - *
    + *

    The container health check command and associated configuration parameters for the + * container. This parameter maps to HealthCheck in the + * Create a container section of the Docker Remote API and the + * HEALTHCHECK parameter of docker + * run.

    */ - privileged?: boolean; + healthCheck?: HealthCheck; /** - *

    The command that is passed to the container. This parameter maps to Cmd - * in the Create a container section of the Docker Remote API and the - * COMMAND parameter to docker - * run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each - * argument should be a separated string in the array.

    + *

    A list of namespaced kernel parameters to set in the container. This parameter maps to + * Sysctls in the Create a container section of the + * Docker Remote API and the --sysctl option to docker run.

    + * + *

    It is not recommended that you specify network-related systemControls + * parameters for multiple containers in a single task that also uses either the + * awsvpc or host network modes. For tasks that use the + * awsvpc network mode, the container that is started last determines + * which systemControls parameters take effect. For tasks that use the + * host network mode, it changes the container instance's namespaced + * kernel parameters as well as the containers.

    + *
    */ - command?: string[]; + systemControls?: SystemControl[]; /** - *

    The secrets to pass to the container. For more information, see Specifying - * Sensitive Data in the Amazon Elastic Container Service Developer Guide.

    + *

    The type and amount of a resource to assign to a container. The only supported + * resource is a GPU.

    */ - secrets?: Secret[]; + resourceRequirements?: ResourceRequirement[]; + + /** + *

    The FireLens configuration for the container. This is used to specify and configure a + * log router for container logs. For more information, see Custom Log Routing + * in the Amazon Elastic Container Service Developer Guide.

    + */ + firelensConfiguration?: FirelensConfiguration; } export namespace ContainerDefinition { @@ -4763,11 +4854,19 @@ export enum ProxyConfigurationType { * instances are launched from the Amazon ECS-optimized AMI version 20190301 or * later, then they contain the required versions of the container agent and * ecs-init. For more information, see Amazon ECS-optimized Linux AMI - * in the Amazon Elastic Container Service Developer Guide.

    - *

    For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later.

    + *

    */ export interface ProxyConfiguration { + /** + *

    The proxy type. The only supported value is APPMESH.

    + */ + type?: ProxyConfigurationType | string; + + /** + *

    The name of the container that will serve as the App Mesh proxy.

    + */ + containerName: string | undefined; + /** *

    The set of network configuration parameters to provide the Container Network Interface * (CNI) plugin, specified as key-value pairs.

    @@ -4810,23 +4909,13 @@ export interface ProxyConfiguration { * *
  • *

    - * EgressIgnoredIPs - (Required) The egress traffic going to - * the specified IP addresses is ignored and not redirected to the - * ProxyEgressPort. It can be an empty list.

    - *
  • - * - */ - properties?: KeyValuePair[]; - - /** - *

    The proxy type. The only supported value is APPMESH.

    - */ - type?: ProxyConfigurationType | string; - - /** - *

    The name of the container that will serve as the App Mesh proxy.

    + * EgressIgnoredIPs - (Required) The egress traffic going to + * the specified IP addresses is ignored and not redirected to the + * ProxyEgressPort. It can be an empty list.

    + * + * */ - containerName: string | undefined; + properties?: KeyValuePair[]; } export namespace ProxyConfiguration { @@ -4852,6 +4941,14 @@ export enum Scope { * host instead.

    */ export interface DockerVolumeConfiguration { + /** + *

    The scope for the Docker volume that determines its lifecycle. Docker volumes that are + * scoped to a task are automatically provisioned when the task starts and + * destroyed when the task stops. Docker volumes that are scoped as shared + * persist after the task stops.

    + */ + scope?: Scope | string; + /** *

    If this value is true, the Docker volume is created if it does not * already exist.

    @@ -4861,14 +4958,6 @@ export interface DockerVolumeConfiguration { */ autoprovision?: boolean; - /** - *

    Custom metadata to add to your Docker volume. This parameter maps to - * Labels in the Create a volume section of the - * Docker Remote API and the xxlabel option to docker - * volume create.

    - */ - labels?: { [key: string]: string }; - /** *

    The Docker volume driver to use. The driver value must match the driver name provided * by Docker because it is used for task placement. If the driver was installed using the @@ -4891,12 +4980,12 @@ export interface DockerVolumeConfiguration { driverOpts?: { [key: string]: string }; /** - *

    The scope for the Docker volume that determines its lifecycle. Docker volumes that are - * scoped to a task are automatically provisioned when the task starts and - * destroyed when the task stops. Docker volumes that are scoped as shared - * persist after the task stops.

    + *

    Custom metadata to add to your Docker volume. This parameter maps to + * Labels in the Create a volume section of the + * Docker Remote API and the xxlabel option to docker + * volume create.

    */ - scope?: Scope | string; + labels?: { [key: string]: string }; } export namespace DockerVolumeConfiguration { @@ -4914,15 +5003,6 @@ export enum EFSAuthorizationConfigIAM { *

    The authorization configuration details for the Amazon EFS file system.

    */ export interface EFSAuthorizationConfig { - /** - *

    Whether or not to use the Amazon ECS task IAM role defined in a task definition when - * mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the - * EFSVolumeConfiguration. If this parameter is omitted, the default value - * of DISABLED is used. For more information, see Using - * Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

    - */ - iam?: EFSAuthorizationConfigIAM | string; - /** *

    The Amazon EFS access point ID to use. If an access point is specified, the root directory * value specified in the EFSVolumeConfiguration must either be omitted or set @@ -4932,6 +5012,15 @@ export interface EFSAuthorizationConfig { * EFS Access Points in the Amazon Elastic File System User Guide.

    */ accessPointId?: string; + + /** + *

    Whether or not to use the Amazon ECS task IAM role defined in a task definition when + * mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the + * EFSVolumeConfiguration. If this parameter is omitted, the default value + * of DISABLED is used. For more information, see Using + * Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

    + */ + iam?: EFSAuthorizationConfigIAM | string; } export namespace EFSAuthorizationConfig { @@ -4952,17 +5041,21 @@ export enum EFSTransitEncryption { */ export interface EFSVolumeConfiguration { /** - *

    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS - * server. If you do not specify a transit encryption port, it will use the port selection - * strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount - * Helper in the Amazon Elastic File System User Guide.

    + *

    The Amazon EFS file system ID to use.

    */ - transitEncryptionPort?: number; + fileSystemId: string | undefined; /** - *

    The Amazon EFS file system ID to use.

    + *

    The directory within the Amazon EFS file system to mount as the root directory inside the + * host. If this parameter is omitted, the root of the Amazon EFS volume will be used. + * Specifying / will have the same effect as omitting this parameter.

    + * + *

    If an EFS access point is specified in the authorizationConfig, the + * root directory parameter must either be omitted or set to / which will + * enforce the path set on the EFS access point.

    + *
    */ - fileSystemId: string | undefined; + rootDirectory?: string; /** *

    Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host @@ -4974,16 +5067,12 @@ export interface EFSVolumeConfiguration { transitEncryption?: EFSTransitEncryption | string; /** - *

    The directory within the Amazon EFS file system to mount as the root directory inside the - * host. If this parameter is omitted, the root of the Amazon EFS volume will be used. - * Specifying / will have the same effect as omitting this parameter.

    - * - *

    If an EFS access point is specified in the authorizationConfig, the - * root directory parameter must either be omitted or set to / which will - * enforce the path set on the EFS access point.

    - *
    + *

    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS + * server. If you do not specify a transit encryption port, it will use the port selection + * strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount + * Helper in the Amazon Elastic File System User Guide.

    */ - rootDirectory?: string; + transitEncryptionPort?: number; /** *

    The authorization configuration details for the Amazon EFS file system.

    @@ -5005,33 +5094,17 @@ export namespace EFSVolumeConfiguration { */ export interface FSxWindowsFileServerAuthorizationConfig { /** - *

    A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted EC2 - * AD.

    + *

    The authorization credential option to use. The authorization credential options can + * be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager + * Parameter Store parameter. The ARNs refer to the stored credentials.

    */ - domain: string | undefined; + credentialsParameter: string | undefined; /** - *

    The authorization credential option to use.

    - *

    The authorization credential options can be provided using either the AWS Secrets Manager ARN or - * the AWS Systems Manager ARN. The ARNs refer to the stored credentials.

    - *

    - * options: - *

    - * + *

    A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on + * Amazon EC2.

    */ - credentialsParameter: string | undefined; + domain: string | undefined; } export namespace FSxWindowsFileServerAuthorizationConfig { @@ -5048,15 +5121,15 @@ export namespace FSxWindowsFileServerAuthorizationConfig { */ export interface FSxWindowsFileServerVolumeConfiguration { /** - *

    The directory within the Amazon FSx for Windows File Server file system to mount as the root directory - * inside the host.

    + *

    The Amazon FSx for Windows File Server file system ID to use.

    */ - rootDirectory: string | undefined; + fileSystemId: string | undefined; /** - *

    The Amazon FSx for Windows File Server file system ID to use.

    + *

    The directory within the Amazon FSx for Windows File Server file system to mount as the root directory + * inside the host.

    */ - fileSystemId: string | undefined; + rootDirectory: string | undefined; /** *

    The authorization configuration details for the Amazon FSx for Windows File Server file system.

    @@ -5106,6 +5179,13 @@ export namespace HostVolumeProperties { * Tasks.

    */ export interface Volume { + /** + *

    The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the + * sourceVolume parameter of container definition + * mountPoints.

    + */ + name?: string; + /** *

    This parameter is specified when you are using bind mount host volumes. The contents * of the host parameter determine whether your bind mount host volume @@ -5121,13 +5201,6 @@ export interface Volume { */ host?: HostVolumeProperties; - /** - *

    The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the - * sourceVolume parameter of container definition - * mountPoints.

    - */ - name?: string; - /** *

    This parameter is specified when you are using Docker volumes. Docker volumes are only * supported when you are using the EC2 launch type. Windows containers only @@ -5163,53 +5236,53 @@ export namespace Volume { */ export interface TaskDefinition { /** - *

    The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the - * task permission to call AWS APIs on your behalf. For more information, see Amazon ECS - * Task Role in the Amazon Elastic Container Service Developer Guide.

    - *

    IAM roles for tasks on Windows require that the -EnableTaskIAMRole option - * is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some - * configuration code in order to take advantage of the feature. For more information, see - * Windows IAM Roles - * for Tasks in the Amazon Elastic Container Service Developer Guide.

    + *

    The full Amazon Resource Name (ARN) of the task definition.

    */ - taskRoleArn?: string; + taskDefinitionArn?: string; /** - *

    The revision of the task in a particular family. The revision is a version number of a - * task definition in a family. When you register a task definition for the first time, the - * revision is 1. Each time that you register a new revision of a task - * definition in the same family, the revision value always increases by one, even if you - * have deregistered previous revisions in this family.

    + *

    A list of container definitions in JSON format that describe the different containers + * that make up your task. For more information about container definition parameters and + * defaults, see Amazon ECS Task + * Definitions in the Amazon Elastic Container Service Developer Guide.

    */ - revision?: number; + containerDefinitions?: ContainerDefinition[]; /** - *

    The status of the task definition.

    + *

    The name of a family that this task definition is registered to. Up to 255 letters + * (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

    + *

    A family groups multiple versions of a task definition. Amazon ECS gives the first task + * definition that you registered to a family a revision number of 1. Amazon ECS gives + * sequential revision numbers to each task definition that you add.

    */ - status?: TaskDefinitionStatus | string; + family?: string; /** - *

    The configuration details for the App Mesh proxy.

    - *

    Your Amazon ECS container instances require at least version 1.26.0 of the container agent - * and at least version 1.26.0-1 of the ecs-init package to enable a proxy - * configuration. If your container instances are launched from the Amazon ECS-optimized AMI - * version 20190301 or later, then they contain the required versions of the - * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    + *

    The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the + * task permission to call AWS APIs on your behalf. For more information, see Amazon ECS + * Task Role in the Amazon Elastic Container Service Developer Guide.

    + *

    IAM roles for tasks on Windows require that the -EnableTaskIAMRole option + * is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some + * configuration code in order to take advantage of the feature. For more information, see + * Windows IAM Roles + * for Tasks in the Amazon Elastic Container Service Developer Guide.

    */ - proxyConfiguration?: ProxyConfiguration; + taskRoleArn?: string; /** - *

    An array of placement constraint objects to use for tasks. This field is not valid if - * you are using the Fargate launch type for your task.

    + *

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + * permission to make AWS API calls on your behalf. The task execution IAM role is required + * depending on the requirements of your task. For more information, see Amazon ECS task + * execution IAM role in the Amazon Elastic Container Service Developer Guide.

    */ - placementConstraints?: TaskDefinitionPlacementConstraint[]; + executionRoleArn?: string; /** *

    The Docker networking mode to use for the containers in the task. The valid values are * none, bridge, awsvpc, and host. - * The default Docker network mode is bridge. If you are using the - * Fargate launch type, the awsvpc network mode is required. If - * you are using the EC2 launch type, any network mode can be used. If the network + * If no network mode is specified, the default is bridge.

    + *

    For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + * For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network * mode is set to none, you cannot specify port mappings in your container * definitions, and the tasks containers do not have external connectivity. The * host and awsvpc network modes offer the highest networking @@ -5220,6 +5293,11 @@ export interface TaskDefinition { * network mode) or the attached elastic network interface port (for the * awsvpc network mode), so you cannot take advantage of dynamic host port * mappings.

    + * + *

    When using the host network mode, you should not run + * containers using the root user (UID 0). It is considered best practice + * to use a non-root user.

    + *
    *

    If the network mode is awsvpc, the task is allocated an elastic network * interface, and you must specify a NetworkConfiguration value when you create * a service or run a task with the task definition. For more information, see Task Networking in the @@ -5241,20 +5319,111 @@ export interface TaskDefinition { networkMode?: NetworkMode | string; /** - *

    The name of a family that this task definition is registered to. Up to 255 letters - * (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

    - *

    A family groups multiple versions of a task definition. Amazon ECS gives the first task - * definition that you registered to a family a revision number of 1. Amazon ECS gives - * sequential revision numbers to each task definition that you add.

    + *

    The revision of the task in a particular family. The revision is a version number of a + * task definition in a family. When you register a task definition for the first time, the + * revision is 1. Each time that you register a new revision of a task + * definition in the same family, the revision value always increases by one, even if you + * have deregistered previous revisions in this family.

    + */ + revision?: number; + + /** + *

    The list of volume definitions for the task.

    + *

    If your tasks are using the Fargate launch type, the host + * and sourcePath parameters are not supported.

    + *

    For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

    + */ + volumes?: Volume[]; + + /** + *

    The status of the task definition.

    + */ + status?: TaskDefinitionStatus | string; + + /** + *

    The container instance attributes required by your task. This field is not valid if + * you are using the Fargate launch type for your task.

    + */ + requiresAttributes?: Attribute[]; + + /** + *

    An array of placement constraint objects to use for tasks. This field is not valid if + * you are using the Fargate launch type for your task.

    + */ + placementConstraints?: TaskDefinitionPlacementConstraint[]; + + /** + *

    The launch type to use with your task. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + */ + compatibilities?: (Compatibility | string)[]; + + /** + *

    The launch type the task requires. If no value is specified, it will default to + * EC2. Valid values include EC2 and + * FARGATE.

    + */ + requiresCompatibilities?: (Compatibility | string)[]; + + /** + *

    The number of cpu units used by the task. If you are using the EC2 launch + * type, this field is optional and any value can be used. If you are using the Fargate + * launch type, this field is required and you must use one of the following values, which + * determines your range of valid values for the memory parameter:

    + *
      + *
    • + *

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      + *
    • + *
    • + *

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      + *
    • + *
    • + *

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      + *
    • + *
    • + *

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      + *
    • + *
    • + *

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      + *
    • + *
    + */ + cpu?: string; + + /** + *

    The amount (in MiB) of memory used by the task.

    + *

    If using the EC2 launch type, you must specify either a task-level + * memory value or a container-level memory value. This field is optional and any value can + * be used. If a task-level memory value is specified then the container-level memory value + * is optional. For more information regarding container-level memory and memory + * reservation, see ContainerDefinition.

    + *

    If using the Fargate launch type, this field is required and you must + * use one of the following values, which determines your range of valid values for the + * cpu parameter:

    + *
      + *
    • + *

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      + *
    • + *
    • + *

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      + *
    • + *
    • + *

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      + *
    • + *
    • + *

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      + *
    • + *
    • + *

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      + *
    • + *
    */ - family?: string; + memory?: string; /** - *

    The launch type the task requires. If no value is specified, it will default to - * EC2. Valid values include EC2 and - * FARGATE.

    + *

    The Elastic Inference accelerator associated with the task.

    */ - requiresCompatibilities?: (Compatibility | string)[]; + inferenceAccelerators?: InferenceAccelerator[]; /** *

    The process namespace to use for the containers in the task. The valid @@ -5276,30 +5445,6 @@ export interface TaskDefinition { */ pidMode?: PidMode | string; - /** - *

    The full Amazon Resource Name (ARN) of the task definition.

    - */ - taskDefinitionArn?: string; - - /** - *

    The launch type to use with your task. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

    - */ - compatibilities?: (Compatibility | string)[]; - - /** - *

    A list of container definitions in JSON format that describe the different containers - * that make up your task. For more information about container definition parameters and - * defaults, see Amazon ECS Task - * Definitions in the Amazon Elastic Container Service Developer Guide.

    - */ - containerDefinitions?: ContainerDefinition[]; - - /** - *

    The Elastic Inference accelerator associated with the task.

    - */ - inferenceAccelerators?: InferenceAccelerator[]; - /** *

    The IPC resource namespace to use for the containers in the task. The valid values are * host, task, or none. If host is @@ -5337,81 +5482,14 @@ export interface TaskDefinition { ipcMode?: IpcMode | string; /** - *

    The amount (in MiB) of memory used by the task.

    - *

    If using the EC2 launch type, you must specify either a task-level - * memory value or a container-level memory value. This field is optional and any value can - * be used. If a task-level memory value is specified then the container-level memory value - * is optional. For more information regarding container-level memory and memory - * reservation, see ContainerDefinition.

    - *

    If using the Fargate launch type, this field is required and you must - * use one of the following values, which determines your range of valid values for the - * cpu parameter:

    - *
      - *
    • - *

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      - *
    • - *
    • - *

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      - *
    • - *
    • - *

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      - *
    • - *
    • - *

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      - *
    • - *
    • - *

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      - *
    • - *
    - */ - memory?: string; - - /** - *

    The container instance attributes required by your task. This field is not valid if - * you are using the Fargate launch type for your task.

    - */ - requiresAttributes?: Attribute[]; - - /** - *

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent - * permission to make AWS API calls on your behalf. The task execution IAM role is required - * depending on the requirements of your task. For more information, see Amazon ECS task - * execution IAM role in the Amazon Elastic Container Service Developer Guide.

    - */ - executionRoleArn?: string; - - /** - *

    The number of cpu units used by the task. If you are using the EC2 launch - * type, this field is optional and any value can be used. If you are using the Fargate - * launch type, this field is required and you must use one of the following values, which - * determines your range of valid values for the memory parameter:

    - *
      - *
    • - *

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      - *
    • - *
    • - *

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      - *
    • - *
    • - *

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      - *
    • - *
    • - *

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      - *
    • - *
    • - *

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      - *
    • - *
    - */ - cpu?: string; - - /** - *

    The list of volume definitions for the task.

    - *

    If your tasks are using the Fargate launch type, the host - * and sourcePath parameters are not supported.

    - *

    For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

    + *

    The configuration details for the App Mesh proxy.

    + *

    Your Amazon ECS container instances require at least version 1.26.0 of the container agent + * and at least version 1.26.0-1 of the ecs-init package to enable a proxy + * configuration. If your container instances are launched from the Amazon ECS-optimized AMI + * version 20190301 or later, then they contain the required versions of the + * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    */ - volumes?: Volume[]; + proxyConfiguration?: ProxyConfiguration; } export namespace TaskDefinition { @@ -5438,6 +5516,19 @@ export enum CapacityProviderField { } export interface DescribeCapacityProvidersRequest { + /** + *

    The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to + * 100 capacity providers can be described in an action.

    + */ + capacityProviders?: string[]; + + /** + *

    Specifies whether or not you want to see the resource tags for the capacity provider. + * If TAGS is specified, the tags are included in the response. If this field + * is omitted, tags are not included in the response.

    + */ + include?: (CapacityProviderField | string)[]; + /** *

    The maximum number of account setting results returned by * DescribeCapacityProviders in paginated output. When this parameter is @@ -5453,12 +5544,6 @@ export interface DescribeCapacityProvidersRequest { */ maxResults?: number; - /** - *

    The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to - * 100 capacity providers can be described in an action.

    - */ - capacityProviders?: string[]; - /** *

    The nextToken value returned from a previous paginated * DescribeCapacityProviders request where maxResults was @@ -5470,13 +5555,6 @@ export interface DescribeCapacityProvidersRequest { * */ nextToken?: string; - - /** - *

    Specifies whether or not you want to see the resource tags for the capacity provider. - * If TAGS is specified, the tags are included in the response. If this field - * is omitted, tags are not included in the response.

    - */ - include?: (CapacityProviderField | string)[]; } export namespace DescribeCapacityProvidersRequest { @@ -5490,6 +5568,11 @@ export namespace DescribeCapacityProvidersRequest { * reasons in the Amazon Elastic Container Service Developer Guide.

    */ export interface Failure { + /** + *

    The Amazon Resource Name (ARN) of the failed resource.

    + */ + arn?: string; + /** *

    The reason for the failure.

    */ @@ -5499,11 +5582,6 @@ export interface Failure { *

    The details of the failure.

    */ detail?: string; - - /** - *

    The Amazon Resource Name (ARN) of the failed resource.

    - */ - arn?: string; } export namespace Failure { @@ -5518,6 +5596,11 @@ export interface DescribeCapacityProvidersResponse { */ capacityProviders?: CapacityProvider[]; + /** + *

    Any failures associated with the call.

    + */ + failures?: Failure[]; + /** *

    The nextToken value to include in a future * DescribeCapacityProviders request. When the results of a @@ -5526,11 +5609,6 @@ export interface DescribeCapacityProvidersResponse { * when there are no more results to return.

    */ nextToken?: string; - - /** - *

    Any failures associated with the call.

    - */ - failures?: Failure[]; } export namespace DescribeCapacityProvidersResponse { @@ -5602,14 +5680,14 @@ export namespace DescribeClustersRequest { export interface DescribeClustersResponse { /** - *

    Any failures associated with the call.

    + *

    The list of clusters.

    */ - failures?: Failure[]; + clusters?: Cluster[]; /** - *

    The list of clusters.

    + *

    Any failures associated with the call.

    */ - clusters?: Cluster[]; + failures?: Failure[]; } export namespace DescribeClustersResponse { @@ -5623,13 +5701,6 @@ export enum ContainerInstanceField { } export interface DescribeContainerInstancesRequest { - /** - *

    Specifies whether you want to see the resource tags for the container instance. If - * TAGS is specified, the tags are included in the response. If this field - * is omitted, tags are not included in the response.

    - */ - include?: (ContainerInstanceField | string)[]; - /** *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance @@ -5642,6 +5713,13 @@ export interface DescribeContainerInstancesRequest { *

    A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

    */ containerInstances: string[] | undefined; + + /** + *

    Specifies whether you want to see the resource tags for the container instance. If + * TAGS is specified, the tags are included in the response. If this field + * is omitted, tags are not included in the response.

    + */ + include?: (ContainerInstanceField | string)[]; } export namespace DescribeContainerInstancesRequest { @@ -5673,6 +5751,13 @@ export enum ServiceField { } export interface DescribeServicesRequest { + /** + *

    The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. + * If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are + * describing were launched in any cluster other than the default cluster.

    + */ + cluster?: string; + /** *

    A list of services to describe. You may specify up to 10 services to describe in a * single operation.

    @@ -5685,13 +5770,6 @@ export interface DescribeServicesRequest { * is omitted, tags are not included in the response.

    */ include?: (ServiceField | string)[]; - - /** - *

    The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. - * If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are - * describing were launched in any cluster other than the default cluster.

    - */ - cluster?: string; } export namespace DescribeServicesRequest { @@ -5723,13 +5801,6 @@ export enum TaskDefinitionField { } export interface DescribeTaskDefinitionRequest { - /** - *

    Specifies whether to see the resource tags for the task definition. If - * TAGS is specified, the tags are included in the response. If this field - * is omitted, tags are not included in the response.

    - */ - include?: (TaskDefinitionField | string)[]; - /** *

    The family for the latest ACTIVE revision, * family and revision (family:revision) for a @@ -5737,6 +5808,13 @@ export interface DescribeTaskDefinitionRequest { * describe.

    */ taskDefinition: string | undefined; + + /** + *

    Specifies whether to see the resource tags for the task definition. If + * TAGS is specified, the tags are included in the response. If this field + * is omitted, tags are not included in the response.

    + */ + include?: (TaskDefinitionField | string)[]; } export namespace DescribeTaskDefinitionRequest { @@ -5846,9 +5924,9 @@ export enum HealthStatus { */ export interface NetworkBinding { /** - *

    The port number on the host that is used with the network binding.

    + *

    The IP address that the container is bound to on the container instance.

    */ - hostPort?: number; + bindIP?: string; /** *

    The port number on the container that is used with the network binding.

    @@ -5856,9 +5934,9 @@ export interface NetworkBinding { containerPort?: number; /** - *

    The IP address that the container is bound to on the container instance.

    + *

    The port number on the host that is used with the network binding.

    */ - bindIP?: string; + hostPort?: number; /** *

    The protocol used for the network binding.

    @@ -5877,11 +5955,6 @@ export namespace NetworkBinding { * awsvpc network mode.

    */ export interface NetworkInterface { - /** - *

    The private IPv6 address for the network interface.

    - */ - ipv6Address?: string; - /** *

    The attachment ID for the network interface.

    */ @@ -5891,6 +5964,11 @@ export interface NetworkInterface { *

    The private IPv4 address for the network interface.

    */ privateIpv4Address?: string; + + /** + *

    The private IPv6 address for the network interface.

    + */ + ipv6Address?: string; } export namespace NetworkInterface { @@ -5904,38 +5982,25 @@ export namespace NetworkInterface { */ export interface Container { /** - *

    The network bindings associated with the container.

    - */ - networkBindings?: NetworkBinding[]; - - /** - *

    The soft limit (in MiB) of memory set for the container.

    + *

    The Amazon Resource Name (ARN) of the container.

    */ - memoryReservation?: string; + containerArn?: string; /** - *

    The number of CPU units set for the container. The value will be 0 if no - * value was specified in the container definition when the task definition was - * registered.

    + *

    The ARN of the task.

    */ - cpu?: string; + taskArn?: string; /** - *

    The hard limit (in MiB) of memory set for the container.

    + *

    The name of the container.

    */ - memory?: string; + name?: string; /** *

    The image used for the container.

    */ image?: string; - /** - *

    A short (255 max characters) human-readable string to provide additional details about - * a running or stopped container.

    - */ - reason?: string; - /** *

    The container image manifest digest.

    * @@ -5946,31 +6011,30 @@ export interface Container { imageDigest?: string; /** - *

    The IDs of each GPU assigned to the container.

    + *

    The ID of the Docker container.

    */ - gpuIds?: string[]; + runtimeId?: string; /** - *

    The ID of the Docker container.

    + *

    The last known status of the container.

    */ - runtimeId?: string; + lastStatus?: string; /** - *

    The Amazon Resource Name (ARN) of the container.

    + *

    The exit code returned from the container.

    */ - containerArn?: string; + exitCode?: number; /** - *

    The health status of the container. If health checks are not configured for this - * container in its task definition, then it reports the health status as - * UNKNOWN.

    + *

    A short (255 max characters) human-readable string to provide additional details about + * a running or stopped container.

    */ - healthStatus?: HealthStatus | string; + reason?: string; /** - *

    The ARN of the task.

    + *

    The network bindings associated with the container.

    */ - taskArn?: string; + networkBindings?: NetworkBinding[]; /** *

    The network interfaces associated with the container.

    @@ -5978,19 +6042,33 @@ export interface Container { networkInterfaces?: NetworkInterface[]; /** - *

    The name of the container.

    + *

    The health status of the container. If health checks are not configured for this + * container in its task definition, then it reports the health status as + * UNKNOWN.

    */ - name?: string; + healthStatus?: HealthStatus | string; /** - *

    The last known status of the container.

    + *

    The number of CPU units set for the container. The value will be 0 if no + * value was specified in the container definition when the task definition was + * registered.

    */ - lastStatus?: string; + cpu?: string; /** - *

    The exit code returned from the container.

    + *

    The hard limit (in MiB) of memory set for the container.

    */ - exitCode?: number; + memory?: string; + + /** + *

    The soft limit (in MiB) of memory set for the container.

    + */ + memoryReservation?: string; + + /** + *

    The IDs of each GPU assigned to the container.

    + */ + gpuIds?: string[]; } export namespace Container { @@ -6007,10 +6085,10 @@ export namespace Container { */ export interface ContainerOverride { /** - *

    The number of cpu units reserved for the container, instead of the - * default value from the task definition. You must also specify a container name.

    + *

    The name of the container that receives the override. This parameter is required if + * any override is specified.

    */ - cpu?: number; + name?: string; /** *

    The command to send to the container that overrides the default command from the @@ -6019,22 +6097,12 @@ export interface ContainerOverride { command?: string[]; /** - *

    The soft limit (in MiB) of memory to reserve for the container, instead of the default - * value from the task definition. You must also specify a container name.

    - */ - memoryReservation?: number; - - /** - *

    The type and amount of a resource to assign to a container, instead of the default - * value from the task definition. The only supported resource is a GPU.

    - */ - resourceRequirements?: ResourceRequirement[]; - - /** - *

    The name of the container that receives the override. This parameter is required if - * any override is specified.

    + *

    The environment variables to send to the container. You can add new environment + * variables, which are added to the container at launch, or you can override the existing + * environment variables from the Docker image or the task definition. You must also + * specify a container name.

    */ - name?: string; + environment?: KeyValuePair[]; /** *

    A list of files containing the environment variables to pass to a container, instead @@ -6042,6 +6110,12 @@ export interface ContainerOverride { */ environmentFiles?: EnvironmentFile[]; + /** + *

    The number of cpu units reserved for the container, instead of the + * default value from the task definition. You must also specify a container name.

    + */ + cpu?: number; + /** *

    The hard limit (in MiB) of memory to present to the container, instead of the default * value from the task definition. If your container attempts to exceed the memory @@ -6050,12 +6124,16 @@ export interface ContainerOverride { memory?: number; /** - *

    The environment variables to send to the container. You can add new environment - * variables, which are added to the container at launch, or you can override the existing - * environment variables from the Docker image or the task definition. You must also - * specify a container name.

    + *

    The soft limit (in MiB) of memory to reserve for the container, instead of the default + * value from the task definition. You must also specify a container name.

    */ - environment?: KeyValuePair[]; + memoryReservation?: number; + + /** + *

    The type and amount of a resource to assign to a container, instead of the default + * value from the task definition. The only supported resource is a GPU.

    + */ + resourceRequirements?: ResourceRequirement[]; } export namespace ContainerOverride { @@ -6099,9 +6177,14 @@ export interface TaskOverride { containerOverrides?: ContainerOverride[]; /** - *

    The memory override for the task.

    + *

    The cpu override for the task.

    */ - memory?: string; + cpu?: string; + + /** + *

    The Elastic Inference accelerator override for the task.

    + */ + inferenceAcceleratorOverrides?: InferenceAcceleratorOverride[]; /** *

    The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

    @@ -6109,20 +6192,15 @@ export interface TaskOverride { executionRoleArn?: string; /** - *

    The cpu override for the task.

    + *

    The memory override for the task.

    */ - cpu?: string; + memory?: string; /** *

    The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers * in this task are granted the permissions that are specified in this role.

    */ taskRoleArn?: string; - - /** - *

    The Elastic Inference accelerator override for the task.

    - */ - inferenceAcceleratorOverrides?: InferenceAcceleratorOverride[]; } export namespace TaskOverride { @@ -6142,23 +6220,20 @@ export enum TaskStopCode { */ export interface Task { /** - *

    The Amazon Resource Name (ARN) of the task.

    + *

    The Elastic Network Adapter associated with the task if the task uses the + * awsvpc network mode.

    */ - taskArn?: string; + attachments?: Attachment[]; /** - *

    The platform version on which your task is running. A platform version is only - * specified for tasks using the Fargate launch type. If one is not - * specified, the LATEST platform version is used by default. For more - * information, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

    + *

    The attributes of the task

    */ - platformVersion?: string; + attributes?: Attribute[]; /** - *

    The ARN of the cluster that hosts the task.

    + *

    The availability zone of the task.

    */ - clusterArn?: string; + availabilityZone?: string; /** *

    The capacity provider associated with the task.

    @@ -6166,20 +6241,30 @@ export interface Task { capacityProviderName?: string; /** - *

    The Unix timestamp for when the task execution stopped.

    + *

    The ARN of the cluster that hosts the task.

    */ - executionStoppedAt?: Date; + clusterArn?: string; /** - *

    The availability zone of the task.

    + *

    The connectivity status of a task.

    */ - availabilityZone?: string; + connectivity?: Connectivity | string; /** - *

    The Unix timestamp for when the task started (the task transitioned from the - * PENDING state to the RUNNING state).

    + *

    The Unix timestamp for when the task last went into CONNECTED + * status.

    */ - startedAt?: Date; + connectivityAt?: Date; + + /** + *

    The ARN of the container instances that host the task.

    + */ + containerInstanceArn?: string; + + /** + *

    The containers associated with the task.

    + */ + containers?: Container[]; /** *

    The number of CPU units used by the task as expressed in a task definition. It can be @@ -6211,51 +6296,123 @@ export interface Task { * * */ - cpu?: string; - - /** - *

    The Unix timestamp for when the container image pull began.

    - */ - pullStartedAt?: Date; - - /** - *

    The Unix timestamp for when the task was created (the task entered the - * PENDING state).

    - */ - createdAt?: Date; - - /** - *

    The Elastic Inference accelerator associated with the task.

    - */ - inferenceAccelerators?: InferenceAccelerator[]; + cpu?: string; + + /** + *

    The Unix timestamp for when the task was created (the task entered the + * PENDING state).

    + */ + createdAt?: Date; + + /** + *

    The desired status of the task. For more information, see Task + * Lifecycle.

    + */ + desiredStatus?: string; + + /** + *

    The Unix timestamp for when the task execution stopped.

    + */ + executionStoppedAt?: Date; + + /** + *

    The name of the task group associated with the task.

    + */ + group?: string; + + /** + *

    The health status for the task, which is determined by the health of the essential + * containers in the task. If all essential containers in the task are reporting as + * HEALTHY, then the task status also reports as HEALTHY. If + * any essential containers in the task are reporting as UNHEALTHY or + * UNKNOWN, then the task status also reports as UNHEALTHY or + * UNKNOWN, accordingly.

    + * + *

    The Amazon ECS container agent does not monitor or report on Docker health checks that + * are embedded in a container image (such as those specified in a parent image or from + * the image's Dockerfile) and not specified in the container definition. Health check + * parameters that are specified in a container definition override any Docker health + * checks that exist in the container image.

    + *
    + */ + healthStatus?: HealthStatus | string; + + /** + *

    The Elastic Inference accelerator associated with the task.

    + */ + inferenceAccelerators?: InferenceAccelerator[]; + + /** + *

    The last known status of the task. For more information, see Task + * Lifecycle.

    + */ + lastStatus?: string; + + /** + *

    The launch type on which your task is running. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + */ + launchType?: LaunchType | string; + + /** + *

    The amount of memory (in MiB) used by the task as expressed in a task definition. It + * can be expressed as an integer using MiB, for example 1024. It can also be + * expressed as a string using GB, for example 1GB or 1 GB. + * String values are converted to an integer indicating the MiB when the task definition is + * registered.

    + *

    If you are using the EC2 launch type, this field is optional.

    + *

    If you are using the Fargate launch type, this field is required and you + * must use one of the following values, which determines your range of supported values + * for the cpu parameter:

    + *
      + *
    • + *

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      + *
    • + *
    • + *

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      + *
    • + *
    • + *

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      + *
    • + *
    • + *

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      + *
    • + *
    • + *

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      + *
    • + *
    + */ + memory?: string; /** - *

    The ARN of the container instances that host the task.

    + *

    One or more container overrides.

    */ - containerInstanceArn?: string; + overrides?: TaskOverride; /** - *

    The launch type on which your task is running. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + *

    The platform version on which your task is running. A platform version is only + * specified for tasks using the Fargate launch type. If one is not + * specified, the LATEST platform version is used by default. For more + * information, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

    */ - launchType?: LaunchType | string; + platformVersion?: string; /** - *

    The Elastic Network Adapter associated with the task if the task uses the - * awsvpc network mode.

    + *

    The Unix timestamp for when the container image pull began.

    */ - attachments?: Attachment[]; + pullStartedAt?: Date; /** - *

    The name of the task group associated with the task.

    + *

    The Unix timestamp for when the container image pull completed.

    */ - group?: string; + pullStoppedAt?: Date; /** - *

    The desired status of the task. For more information, see Task - * Lifecycle.

    + *

    The Unix timestamp for when the task started (the task transitioned from the + * PENDING state to the RUNNING state).

    */ - desiredStatus?: string; + startedAt?: Date; /** *

    The tag specified when a task is started. If the task is started by an Amazon ECS service, @@ -6265,47 +6422,27 @@ export interface Task { startedBy?: string; /** - *

    The Unix timestamp for when the container image pull completed.

    - */ - pullStoppedAt?: Date; - - /** - *

    The connectivity status of a task.

    + *

    The stop code indicating why a task was stopped. The stoppedReason may + * contain additional details.

    */ - connectivity?: Connectivity | string; + stopCode?: TaskStopCode | string; /** - *

    The Unix timestamp for when the task last went into CONNECTED - * status.

    + *

    The Unix timestamp for when the task was stopped (the task transitioned from the + * RUNNING state to the STOPPED state).

    */ - connectivityAt?: Date; + stoppedAt?: Date; /** - *

    The health status for the task, which is determined by the health of the essential - * containers in the task. If all essential containers in the task are reporting as - * HEALTHY, then the task status also reports as HEALTHY. If - * any essential containers in the task are reporting as UNHEALTHY or - * UNKNOWN, then the task status also reports as UNHEALTHY or - * UNKNOWN, accordingly.

    - * - *

    The Amazon ECS container agent does not monitor or report on Docker health checks that - * are embedded in a container image (such as those specified in a parent image or from - * the image's Dockerfile) and not specified in the container definition. Health check - * parameters that are specified in a container definition override any Docker health - * checks that exist in the container image.

    - *
    + *

    The reason that the task was stopped.

    */ - healthStatus?: HealthStatus | string; + stoppedReason?: string; /** - *

    The version counter for the task. Every time a task experiences a change that triggers - * a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task - * state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API - * actions with the version reported in CloudWatch Events for the task (inside the - * detail object) to verify that the version in your event stream is - * current.

    + *

    The Unix timestamp for when the task stops (transitions from the RUNNING + * state to STOPPED).

    */ - version?: number; + stoppingAt?: Date; /** *

    The metadata that you apply to the task to help you categorize and organize them. Each @@ -6345,30 +6482,9 @@ export interface Task { tags?: Tag[]; /** - *

    One or more container overrides.

    - */ - overrides?: TaskOverride; - - /** - *

    The Unix timestamp for when the task was stopped (the task transitioned from the - * RUNNING state to the STOPPED state).

    - */ - stoppedAt?: Date; - - /** - *

    The attributes of the task

    - */ - attributes?: Attribute[]; - - /** - *

    The reason that the task was stopped.

    - */ - stoppedReason?: string; - - /** - *

    The containers associated with the task.

    + *

    The Amazon Resource Name (ARN) of the task.

    */ - containers?: Container[]; + taskArn?: string; /** *

    The ARN of the task definition that creates the task.

    @@ -6376,52 +6492,14 @@ export interface Task { taskDefinitionArn?: string; /** - *

    The amount of memory (in MiB) used by the task as expressed in a task definition. It - * can be expressed as an integer using MiB, for example 1024. It can also be - * expressed as a string using GB, for example 1GB or 1 GB. - * String values are converted to an integer indicating the MiB when the task definition is - * registered.

    - *

    If you are using the EC2 launch type, this field is optional.

    - *

    If you are using the Fargate launch type, this field is required and you - * must use one of the following values, which determines your range of supported values - * for the cpu parameter:

    - *
      - *
    • - *

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      - *
    • - *
    • - *

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      - *
    • - *
    • - *

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      - *
    • - *
    • - *

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      - *
    • - *
    • - *

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      - *
    • - *
    - */ - memory?: string; - - /** - *

    The last known status of the task. For more information, see Task - * Lifecycle.

    - */ - lastStatus?: string; - - /** - *

    The Unix timestamp for when the task stops (transitions from the RUNNING - * state to STOPPED).

    - */ - stoppingAt?: Date; - - /** - *

    The stop code indicating why a task was stopped. The stoppedReason may - * contain additional details.

    + *

    The version counter for the task. Every time a task experiences a change that triggers + * a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task + * state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API + * actions with the version reported in CloudWatch Events for the task (inside the + * detail object) to verify that the version in your event stream is + * current.

    */ - stopCode?: TaskStopCode | string; + version?: number; } export namespace Task { @@ -6453,12 +6531,6 @@ export enum TaskSetField { } export interface DescribeTaskSetsRequest { - /** - *

    The ID or full Amazon Resource Name (ARN) of task sets to - * describe.

    - */ - taskSets?: string[]; - /** *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task * sets exist in.

    @@ -6470,6 +6542,12 @@ export interface DescribeTaskSetsRequest { */ service: string | undefined; + /** + *

    The ID or full Amazon Resource Name (ARN) of task sets to + * describe.

    + */ + taskSets?: string[]; + /** *

    Specifies whether to see the resource tags for the task set. If TAGS is * specified, the tags are included in the response. If this field is omitted, tags are not @@ -6503,17 +6581,17 @@ export namespace DescribeTaskSetsResponse { } export interface DiscoverPollEndpointRequest { - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance - * belongs.

    - */ - cluster?: string; - /** *

    The container instance ID or full ARN of the container instance. * The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

    */ containerInstance?: string; + + /** + *

    The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance + * belongs.

    + */ + cluster?: string; } export namespace DiscoverPollEndpointRequest { @@ -6542,16 +6620,9 @@ export namespace DiscoverPollEndpointResponse { export interface ListAccountSettingsRequest { /** - *

    The nextToken value returned from a ListAccountSettings - * request indicating that more results are available to fulfill the request and further - * calls will be needed. If maxResults was provided, it is possible the number - * of results to be fewer than maxResults.

    - * - *

    This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

    - *
    + *

    The name of the account setting you want to list the settings for.

    */ - nextToken?: string; + name?: SettingName | string; /** *

    The value of the account settings with which to filter results. You must also specify @@ -6560,9 +6631,11 @@ export interface ListAccountSettingsRequest { value?: string; /** - *

    The name of the account setting you want to list the settings for.

    + *

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + * this field is omitted, the account settings are listed only for the authenticated + * user.

    */ - name?: SettingName | string; + principalArn?: string; /** *

    Specifies whether to return the effective settings. If true, the account @@ -6572,6 +6645,18 @@ export interface ListAccountSettingsRequest { */ effectiveSettings?: boolean; + /** + *

    The nextToken value returned from a ListAccountSettings + * request indicating that more results are available to fulfill the request and further + * calls will be needed. If maxResults was provided, it is possible the number + * of results to be fewer than maxResults.

    + * + *

    This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

    + *
    + */ + nextToken?: string; + /** *

    The maximum number of account setting results returned by * ListAccountSettings in paginated output. When this parameter is used, @@ -6585,13 +6670,6 @@ export interface ListAccountSettingsRequest { * if applicable.

    */ maxResults?: number; - - /** - *

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If - * this field is omitted, the account settings are listed only for the authenticated - * user.

    - */ - principalArn?: string; } export namespace ListAccountSettingsRequest { @@ -6624,33 +6702,20 @@ export namespace ListAccountSettingsResponse { export interface ListAttributesRequest { /** - *

    The type of the target with which to list attributes.

    + *

    The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. + * If you do not specify a cluster, the default cluster is assumed.

    */ - targetType: TargetType | string | undefined; + cluster?: string; /** - *

    The maximum number of cluster results returned by ListAttributes in - * paginated output. When this parameter is used, ListAttributes only returns - * maxResults results in a single page along with a nextToken - * response element. The remaining results of the initial request can be seen by sending - * another ListAttributes request with the returned nextToken - * value. This value can be between 1 and 100. If this - * parameter is not used, then ListAttributes returns up to - * 100 results and a nextToken value if applicable.

    + *

    The type of the target with which to list attributes.

    */ - maxResults?: number; + targetType: TargetType | string | undefined; /** - *

    The nextToken value returned from a ListAttributes request - * indicating that more results are available to fulfill the request and further calls will - * be needed. If maxResults was provided, it is possible the number of results - * to be fewer than maxResults.

    - * - *

    This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

    - *
    + *

    The name of the attribute with which to filter the results.

    */ - nextToken?: string; + attributeName?: string; /** *

    The value of the attribute with which to filter results. You must also specify an @@ -6658,16 +6723,29 @@ export interface ListAttributesRequest { */ attributeValue?: string; - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. - * If you do not specify a cluster, the default cluster is assumed.

    + /** + *

    The nextToken value returned from a ListAttributes request + * indicating that more results are available to fulfill the request and further calls will + * be needed. If maxResults was provided, it is possible the number of results + * to be fewer than maxResults.

    + * + *

    This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

    + *
    */ - cluster?: string; + nextToken?: string; /** - *

    The name of the attribute with which to filter the results.

    + *

    The maximum number of cluster results returned by ListAttributes in + * paginated output. When this parameter is used, ListAttributes only returns + * maxResults results in a single page along with a nextToken + * response element. The remaining results of the initial request can be seen by sending + * another ListAttributes request with the returned nextToken + * value. This value can be between 1 and 100. If this + * parameter is not used, then ListAttributes returns up to + * 100 results and a nextToken value if applicable.

    */ - attributeName?: string; + maxResults?: number; } export namespace ListAttributesRequest { @@ -6731,6 +6809,12 @@ export namespace ListClustersRequest { } export interface ListClustersResponse { + /** + *

    The list of full Amazon Resource Name (ARN) entries for each cluster associated with your + * account.

    + */ + clusterArns?: string[]; + /** *

    The nextToken value to include in a future ListClusters * request. When the results of a ListClusters request exceed @@ -6739,12 +6823,6 @@ export interface ListClustersResponse { * return.

    */ nextToken?: string; - - /** - *

    The list of full Amazon Resource Name (ARN) entries for each cluster associated with your - * account.

    - */ - clusterArns?: string[]; } export namespace ListClustersResponse { @@ -6762,6 +6840,12 @@ export enum ContainerInstanceStatus { } export interface ListContainerInstancesRequest { + /** + *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + * list. If you do not specify a cluster, the default cluster is assumed.

    + */ + cluster?: string; + /** *

    You can filter the results of a ListContainerInstances operation with * cluster query language statements. For more information, see Cluster Query Language in the @@ -6769,12 +6853,6 @@ export interface ListContainerInstancesRequest { */ filter?: string; - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to - * list. If you do not specify a cluster, the default cluster is assumed.

    - */ - cluster?: string; - /** *

    The nextToken value returned from a ListContainerInstances * request indicating that more results are available to fulfill the request and further @@ -6817,6 +6895,12 @@ export namespace ListContainerInstancesRequest { } export interface ListContainerInstancesResponse { + /** + *

    The list of container instances with full ARN entries for each container instance + * associated with the specified cluster.

    + */ + containerInstanceArns?: string[]; + /** *

    The nextToken value to include in a future * ListContainerInstances request. When the results of a @@ -6825,12 +6909,6 @@ export interface ListContainerInstancesResponse { * when there are no more results to return.

    */ nextToken?: string; - - /** - *

    The list of container instances with full ARN entries for each container instance - * associated with the specified cluster.

    - */ - containerInstanceArns?: string[]; } export namespace ListContainerInstancesResponse { @@ -6840,6 +6918,12 @@ export namespace ListContainerInstancesResponse { } export interface ListServicesRequest { + /** + *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. + * If you do not specify a cluster, the default cluster is assumed.

    + */ + cluster?: string; + /** *

    The nextToken value returned from a ListServices request * indicating that more results are available to fulfill the request and further calls will @@ -6852,16 +6936,6 @@ export interface ListServicesRequest { */ nextToken?: string; - /** - *

    The scheduling strategy for services to list.

    - */ - schedulingStrategy?: SchedulingStrategy | string; - - /** - *

    The launch type for the services to list.

    - */ - launchType?: LaunchType | string; - /** *

    The maximum number of service results returned by ListServices in * paginated output. When this parameter is used, ListServices only returns @@ -6876,10 +6950,14 @@ export interface ListServicesRequest { maxResults?: number; /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. - * If you do not specify a cluster, the default cluster is assumed.

    + *

    The launch type for the services to list.

    */ - cluster?: string; + launchType?: LaunchType | string; + + /** + *

    The scheduling strategy for services to list.

    + */ + schedulingStrategy?: SchedulingStrategy | string; } export namespace ListServicesRequest { @@ -6947,18 +7025,12 @@ export enum TaskDefinitionFamilyStatus { export interface ListTaskDefinitionFamiliesRequest { /** - *

    The maximum number of task definition family results returned by - * ListTaskDefinitionFamilies in paginated output. When this parameter is - * used, ListTaskDefinitions only returns maxResults results in a - * single page along with a nextToken response element. The remaining results - * of the initial request can be seen by sending another - * ListTaskDefinitionFamilies request with the returned - * nextToken value. This value can be between 1 and - * 100. If this parameter is not used, then - * ListTaskDefinitionFamilies returns up to 100 results - * and a nextToken value if applicable.

    + *

    The familyPrefix is a string that is used to filter the results of + * ListTaskDefinitionFamilies. If you specify a familyPrefix, + * only task definition family names that begin with the familyPrefix string + * are returned.

    */ - maxResults?: number; + familyPrefix?: string; /** *

    The task definition family status with which to filter the @@ -6973,14 +7045,6 @@ export interface ListTaskDefinitionFamiliesRequest { */ status?: TaskDefinitionFamilyStatus | string; - /** - *

    The familyPrefix is a string that is used to filter the results of - * ListTaskDefinitionFamilies. If you specify a familyPrefix, - * only task definition family names that begin with the familyPrefix string - * are returned.

    - */ - familyPrefix?: string; - /** *

    The nextToken value returned from a * ListTaskDefinitionFamilies request indicating that more results are @@ -6993,6 +7057,20 @@ export interface ListTaskDefinitionFamiliesRequest { * */ nextToken?: string; + + /** + *

    The maximum number of task definition family results returned by + * ListTaskDefinitionFamilies in paginated output. When this parameter is + * used, ListTaskDefinitions only returns maxResults results in a + * single page along with a nextToken response element. The remaining results + * of the initial request can be seen by sending another + * ListTaskDefinitionFamilies request with the returned + * nextToken value. This value can be between 1 and + * 100. If this parameter is not used, then + * ListTaskDefinitionFamilies returns up to 100 results + * and a nextToken value if applicable.

    + */ + maxResults?: number; } export namespace ListTaskDefinitionFamiliesRequest { @@ -7002,6 +7080,12 @@ export namespace ListTaskDefinitionFamiliesRequest { } export interface ListTaskDefinitionFamiliesResponse { + /** + *

    The list of task definition family names that match the + * ListTaskDefinitionFamilies request.

    + */ + families?: string[]; + /** *

    The nextToken value to include in a future * ListTaskDefinitionFamilies request. When the results of a @@ -7010,12 +7094,6 @@ export interface ListTaskDefinitionFamiliesResponse { * when there are no more results to return.

    */ nextToken?: string; - - /** - *

    The list of task definition family names that match the - * ListTaskDefinitionFamilies request.

    - */ - families?: string[]; } export namespace ListTaskDefinitionFamiliesResponse { @@ -7030,19 +7108,6 @@ export enum SortOrder { } export interface ListTaskDefinitionsRequest { - /** - *

    The maximum number of task definition results returned by - * ListTaskDefinitions in paginated output. When this parameter is used, - * ListTaskDefinitions only returns maxResults results in a - * single page along with a nextToken response element. The remaining results - * of the initial request can be seen by sending another ListTaskDefinitions - * request with the returned nextToken value. This value can be between - * 1 and 100. If this parameter is not used, then - * ListTaskDefinitions returns up to 100 results and a - * nextToken value if applicable.

    - */ - maxResults?: number; - /** *

    The full family name with which to filter the ListTaskDefinitions * results. Specifying a familyPrefix limits the listed task definitions to @@ -7051,16 +7116,14 @@ export interface ListTaskDefinitionsRequest { familyPrefix?: string; /** - *

    The nextToken value returned from a ListTaskDefinitions - * request indicating that more results are available to fulfill the request and further - * calls will be needed. If maxResults was provided, it is possible the number - * of results to be fewer than maxResults.

    - * - *

    This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

    - *
    + *

    The task definition status with which to filter the ListTaskDefinitions + * results. By default, only ACTIVE task definitions are listed. By setting + * this parameter to INACTIVE, you can view task definitions that are + * INACTIVE as long as an active task or service still references them. If + * you paginate the resulting output, be sure to keep the status value + * constant in each subsequent request.

    */ - nextToken?: string; + status?: TaskDefinitionStatus | string; /** *

    The order in which to sort the results. Valid values are ASC and @@ -7073,14 +7136,29 @@ export interface ListTaskDefinitionsRequest { sort?: SortOrder | string; /** - *

    The task definition status with which to filter the ListTaskDefinitions - * results. By default, only ACTIVE task definitions are listed. By setting - * this parameter to INACTIVE, you can view task definitions that are - * INACTIVE as long as an active task or service still references them. If - * you paginate the resulting output, be sure to keep the status value - * constant in each subsequent request.

    + *

    The nextToken value returned from a ListTaskDefinitions + * request indicating that more results are available to fulfill the request and further + * calls will be needed. If maxResults was provided, it is possible the number + * of results to be fewer than maxResults.

    + * + *

    This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

    + *
    */ - status?: TaskDefinitionStatus | string; + nextToken?: string; + + /** + *

    The maximum number of task definition results returned by + * ListTaskDefinitions in paginated output. When this parameter is used, + * ListTaskDefinitions only returns maxResults results in a + * single page along with a nextToken response element. The remaining results + * of the initial request can be seen by sending another ListTaskDefinitions + * request with the returned nextToken value. This value can be between + * 1 and 100. If this parameter is not used, then + * ListTaskDefinitions returns up to 100 results and a + * nextToken value if applicable.

    + */ + maxResults?: number; } export namespace ListTaskDefinitionsRequest { @@ -7126,16 +7204,11 @@ export interface ListTasksRequest { cluster?: string; /** - *

    The launch type for services to list.

    - */ - launchType?: LaunchType | string; - - /** - *

    The name of the service with which to filter the ListTasks results. - * Specifying a serviceName limits the results to tasks that belong to that - * service.

    + *

    The container instance ID or full ARN of the container instance with which to filter + * the ListTasks results. Specifying a containerInstance limits + * the results to tasks that belong to that container instance.

    */ - serviceName?: string; + containerInstance?: string; /** *

    The name of the family with which to filter the ListTasks results. @@ -7145,20 +7218,28 @@ export interface ListTasksRequest { family?: string; /** - *

    The task desired status with which to filter the ListTasks results. - * Specifying a desiredStatus of STOPPED limits the results to - * tasks that Amazon ECS has set the desired status to STOPPED. This can be useful - * for debugging tasks that are not starting properly or have died or finished. The default - * status filter is RUNNING, which shows tasks that Amazon ECS has set the desired - * status to RUNNING.

    - * - *

    Although you can filter results based on a desired status of PENDING, - * this does not return any results. Amazon ECS never sets the desired status of a task to - * that value (only a task's lastStatus may have a value of - * PENDING).

    - *
    + *

    The nextToken value returned from a ListTasks request + * indicating that more results are available to fulfill the request and further calls will + * be needed. If maxResults was provided, it is possible the number of results + * to be fewer than maxResults.

    + * + *

    This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

    + *
    */ - desiredStatus?: DesiredStatus | string; + nextToken?: string; + + /** + *

    The maximum number of task results returned by ListTasks in paginated + * output. When this parameter is used, ListTasks only returns + * maxResults results in a single page along with a nextToken + * response element. The remaining results of the initial request can be seen by sending + * another ListTasks request with the returned nextToken value. + * This value can be between 1 and 100. If this parameter is + * not used, then ListTasks returns up to 100 results and a + * nextToken value if applicable.

    + */ + maxResults?: number; /** *

    The startedBy value with which to filter the task results. Specifying a @@ -7168,35 +7249,32 @@ export interface ListTasksRequest { startedBy?: string; /** - *

    The container instance ID or full ARN of the container instance with which to filter - * the ListTasks results. Specifying a containerInstance limits - * the results to tasks that belong to that container instance.

    + *

    The name of the service with which to filter the ListTasks results. + * Specifying a serviceName limits the results to tasks that belong to that + * service.

    */ - containerInstance?: string; - - /** - *

    The nextToken value returned from a ListTasks request - * indicating that more results are available to fulfill the request and further calls will - * be needed. If maxResults was provided, it is possible the number of results - * to be fewer than maxResults.

    - * - *

    This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

    - *
    + serviceName?: string; + + /** + *

    The task desired status with which to filter the ListTasks results. + * Specifying a desiredStatus of STOPPED limits the results to + * tasks that Amazon ECS has set the desired status to STOPPED. This can be useful + * for debugging tasks that are not starting properly or have died or finished. The default + * status filter is RUNNING, which shows tasks that Amazon ECS has set the desired + * status to RUNNING.

    + * + *

    Although you can filter results based on a desired status of PENDING, + * this does not return any results. Amazon ECS never sets the desired status of a task to + * that value (only a task's lastStatus may have a value of + * PENDING).

    + *
    */ - nextToken?: string; + desiredStatus?: DesiredStatus | string; /** - *

    The maximum number of task results returned by ListTasks in paginated - * output. When this parameter is used, ListTasks only returns - * maxResults results in a single page along with a nextToken - * response element. The remaining results of the initial request can be seen by sending - * another ListTasks request with the returned nextToken value. - * This value can be between 1 and 100. If this parameter is - * not used, then ListTasks returns up to 100 results and a - * nextToken value if applicable.

    + *

    The launch type for services to list.

    */ - maxResults?: number; + launchType?: LaunchType | string; } export namespace ListTasksRequest { @@ -7206,6 +7284,11 @@ export namespace ListTasksRequest { } export interface ListTasksResponse { + /** + *

    The list of task ARN entries for the ListTasks request.

    + */ + taskArns?: string[]; + /** *

    The nextToken value to include in a future ListTasks * request. When the results of a ListTasks request exceed @@ -7214,11 +7297,6 @@ export interface ListTasksResponse { * return.

    */ nextToken?: string; - - /** - *

    The list of task ARN entries for the ListTasks request.

    - */ - taskArns?: string[]; } export namespace ListTasksResponse { @@ -7228,21 +7306,6 @@ export namespace ListTasksResponse { } export interface PutAccountSettingRequest { - /** - *

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you - * specify the root user, it modifies the account setting for all IAM users, IAM roles, and - * the root user of the account unless an IAM user or role explicitly overrides these - * settings. If this field is omitted, the setting is changed only for the authenticated - * user.

    - */ - principalArn?: string; - - /** - *

    The account setting value for the specified principal ARN. Accepted values are - * enabled and disabled.

    - */ - value: string | undefined; - /** *

    The Amazon ECS resource name for which to modify the account setting. If * serviceLongArnFormat is specified, the ARN for your Amazon ECS services is @@ -7255,6 +7318,21 @@ export interface PutAccountSettingRequest { * affected.

    */ name: SettingName | string | undefined; + + /** + *

    The account setting value for the specified principal ARN. Accepted values are + * enabled and disabled.

    + */ + value: string | undefined; + + /** + *

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + * specify the root user, it modifies the account setting for all IAM users, IAM roles, and + * the root user of the account unless an IAM user or role explicitly overrides these + * settings. If this field is omitted, the setting is changed only for the authenticated + * user.

    + */ + principalArn?: string; } export namespace PutAccountSettingRequest { @@ -7277,12 +7355,6 @@ export namespace PutAccountSettingResponse { } export interface PutAccountSettingDefaultRequest { - /** - *

    The account setting value for the specified principal ARN. Accepted values are - * enabled and disabled.

    - */ - value: string | undefined; - /** *

    The resource name for which to modify the account setting. If * serviceLongArnFormat is specified, the ARN for your Amazon ECS services is @@ -7294,6 +7366,12 @@ export interface PutAccountSettingDefaultRequest { * setting for CloudWatch Container Insights for your clusters is affected.

    */ name: SettingName | string | undefined; + + /** + *

    The account setting value for the specified principal ARN. Accepted values are + * enabled and disabled.

    + */ + value: string | undefined; } export namespace PutAccountSettingDefaultRequest { @@ -7333,17 +7411,17 @@ export namespace AttributeLimitExceededException { } export interface PutAttributesRequest { - /** - *

    The attributes to apply to your resource. You can specify up to 10 custom attributes - * per resource. You can specify up to 10 attributes in a single call.

    - */ - attributes: Attribute[] | undefined; - /** *

    The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply * attributes. If you do not specify a cluster, the default cluster is assumed.

    */ cluster?: string; + + /** + *

    The attributes to apply to your resource. You can specify up to 10 custom attributes + * per resource. You can specify up to 10 attributes in a single call.

    + */ + attributes: Attribute[] | undefined; } export namespace PutAttributesRequest { @@ -7450,18 +7528,18 @@ export enum PlatformDeviceType { * type is a GPU.

    */ export interface PlatformDevice { - /** - *

    The type of device that is available on the container instance. The only supported - * value is GPU.

    - */ - type: PlatformDeviceType | string | undefined; - /** *

    The ID for the GPU(s) on the container instance. The available GPU IDs can also be * obtained on the container instance in the * /var/lib/ecs/gpu/nvidia_gpu_info.json file.

    */ id: string | undefined; + + /** + *

    The type of device that is available on the container instance. The only supported + * value is GPU.

    + */ + type: PlatformDeviceType | string | undefined; } export namespace PlatformDevice { @@ -7472,10 +7550,10 @@ export namespace PlatformDevice { export interface RegisterContainerInstanceRequest { /** - *

    The devices that are available on the container instance. The only supported device - * type is a GPU.

    + *

    The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container + * instance. If you do not specify a cluster, the default cluster is assumed.

    */ - platformDevices?: PlatformDevice[]; + cluster?: string; /** *

    The instance identity document for the EC2 instance to register. This document can be @@ -7498,6 +7576,28 @@ export interface RegisterContainerInstanceRequest { */ totalResources?: Resource[]; + /** + *

    The version information for the Amazon ECS container agent and Docker daemon running on the + * container instance.

    + */ + versionInfo?: VersionInfo; + + /** + *

    The ARN of the container instance (if it was previously registered).

    + */ + containerInstanceArn?: string; + + /** + *

    The container instance attributes that this container instance supports.

    + */ + attributes?: Attribute[]; + + /** + *

    The devices that are available on the container instance. The only supported device + * type is a GPU.

    + */ + platformDevices?: PlatformDevice[]; + /** *

    The metadata that you apply to the container instance to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which you @@ -7535,28 +7635,6 @@ export interface RegisterContainerInstanceRequest { * */ tags?: Tag[]; - - /** - *

    The ARN of the container instance (if it was previously registered).

    - */ - containerInstanceArn?: string; - - /** - *

    The container instance attributes that this container instance supports.

    - */ - attributes?: Attribute[]; - - /** - *

    The version information for the Amazon ECS container agent and Docker daemon running on the - * container instance.

    - */ - versionInfo?: VersionInfo; - - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container - * instance. If you do not specify a cluster, the default cluster is assumed.

    - */ - cluster?: string; } export namespace RegisterContainerInstanceRequest { @@ -7594,12 +7672,81 @@ export interface RegisterTaskDefinitionRequest { */ taskRoleArn?: string; + /** + *

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + * permission to make AWS API calls on your behalf. The task execution IAM role is required + * depending on the requirements of your task. For more information, see Amazon ECS task + * execution IAM role in the Amazon Elastic Container Service Developer Guide.

    + */ + executionRoleArn?: string; + + /** + *

    The Docker networking mode to use for the containers in the task. The valid values are + * none, bridge, awsvpc, and host. + * If no network mode is specified, the default is bridge.

    + *

    For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + * For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + * mode is set to none, you cannot specify port mappings in your container + * definitions, and the tasks containers do not have external connectivity. The + * host and awsvpc network modes offer the highest networking + * performance for containers because they use the EC2 network stack instead of the + * virtualized network stack provided by the bridge mode.

    + *

    With the host and awsvpc network modes, exposed container + * ports are mapped directly to the corresponding host port (for the host + * network mode) or the attached elastic network interface port (for the + * awsvpc network mode), so you cannot take advantage of dynamic host port + * mappings.

    + * + *

    When using the host network mode, you should not run + * containers using the root user (UID 0). It is considered best practice + * to use a non-root user.

    + *
    + *

    If the network mode is awsvpc, the task is allocated an elastic network + * interface, and you must specify a NetworkConfiguration value when you create + * a service or run a task with the task definition. For more information, see Task Networking in the + * Amazon Elastic Container Service Developer Guide.

    + * + *

    Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + * ecs-init package, or AWS Fargate infrastructure support the + * awsvpc network mode.

    + *
    + *

    If the network mode is host, you cannot run multiple instantiations of the + * same task on a single container instance when port mappings are used.

    + *

    Docker for Windows uses different network modes than Docker for Linux. When you + * register a task definition with Windows containers, you must not specify a network mode. + * If you use the console to register a task definition with Windows containers, you must + * choose the network mode object.

    + *

    For more information, see Network + * settings in the Docker run reference.

    + */ + networkMode?: NetworkMode | string; + + /** + *

    A list of container definitions in JSON format that describe the different containers + * that make up your task.

    + */ + containerDefinitions: ContainerDefinition[] | undefined; + /** *

    A list of volume definitions in JSON format that containers in your task may * use.

    */ volumes?: Volume[]; + /** + *

    An array of placement constraint objects to use for the task. You can specify a + * maximum of 10 constraints per task (this limit includes constraints in the task + * definition and those specified at runtime).

    + */ + placementConstraints?: TaskDefinitionPlacementConstraint[]; + + /** + *

    The task launch type that Amazon ECS should validate the task definition against. This + * ensures that the task definition parameters are compatible with the specified launch + * type. If no value is specified, it defaults to EC2.

    + */ + requiresCompatibilities?: (Compatibility | string)[]; + /** *

    The number of CPU units used by the task. It can be expressed as an integer using CPU * units, for example 1024, or as a string using vCPUs, for example 1 @@ -7634,48 +7781,7 @@ export interface RegisterTaskDefinitionRequest { * * */ - cpu?: string; - - /** - *

    The process namespace to use for the containers in the task. The valid - * values are host or task. If host - * is specified, then all containers within the tasks that specified the - * host PID mode on the same container instance share the - * same process namespace with the host Amazon EC2 instance. If task is - * specified, all containers within the specified task share the same - * process namespace. If no value is specified, the default is a private - * namespace. For more information, see PID settings in the Docker run - * reference.

    - *

    If the host PID mode is used, be aware that there is a - * heightened risk of undesired process namespace expose. For more - * information, see Docker - * security.

    - * - *

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    - *
    - */ - pidMode?: PidMode | string; - - /** - *

    The configuration details for the App Mesh proxy.

    - *

    For tasks using the EC2 launch type, the container instances require at - * least version 1.26.0 of the container agent and at least version 1.26.0-1 of the - * ecs-init package to enable a proxy configuration. If your container - * instances are launched from the Amazon ECS-optimized AMI version 20190301 or - * later, then they contain the required versions of the container agent and - * ecs-init. For more information, see Amazon ECS-optimized Linux AMI - * in the Amazon Elastic Container Service Developer Guide.

    - *

    For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later.

    - */ - proxyConfiguration?: ProxyConfiguration; - - /** - *

    The task launch type that Amazon ECS should validate the task definition against. This - * ensures that the task definition parameters are compatible with the specified launch - * type. If no value is specified, it defaults to EC2.

    - */ - requiresCompatibilities?: (Compatibility | string)[]; + cpu?: string; /** *

    The amount of memory (in MiB) used by the task. It can be expressed as an integer @@ -7712,53 +7818,61 @@ export interface RegisterTaskDefinitionRequest { memory?: string; /** - *

    The Docker networking mode to use for the containers in the task. The valid values are - * none, bridge, awsvpc, and host. - * The default Docker network mode is bridge. If you are using the - * Fargate launch type, the awsvpc network mode is required. If - * you are using the EC2 launch type, any network mode can be used. If the network - * mode is set to none, you cannot specify port mappings in your container - * definitions, and the tasks containers do not have external connectivity. The - * host and awsvpc network modes offer the highest networking - * performance for containers because they use the EC2 network stack instead of the - * virtualized network stack provided by the bridge mode.

    - *

    With the host and awsvpc network modes, exposed container - * ports are mapped directly to the corresponding host port (for the host - * network mode) or the attached elastic network interface port (for the - * awsvpc network mode), so you cannot take advantage of dynamic host port - * mappings.

    - *

    If the network mode is awsvpc, the task is allocated an elastic network - * interface, and you must specify a NetworkConfiguration value when you create - * a service or run a task with the task definition. For more information, see Task Networking in the - * Amazon Elastic Container Service Developer Guide.

    - * - *

    Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the - * ecs-init package, or AWS Fargate infrastructure support the - * awsvpc network mode.

    - *
    - *

    If the network mode is host, you cannot run multiple instantiations of the - * same task on a single container instance when port mappings are used.

    - *

    Docker for Windows uses different network modes than Docker for Linux. When you - * register a task definition with Windows containers, you must not specify a network mode. - * If you use the console to register a task definition with Windows containers, you must - * choose the network mode object.

    - *

    For more information, see Network - * settings in the Docker run reference.

    - */ - networkMode?: NetworkMode | string; - - /** - *

    An array of placement constraint objects to use for the task. You can specify a - * maximum of 10 constraints per task (this limit includes constraints in the task - * definition and those specified at runtime).

    + *

    The metadata that you apply to the task definition to help you categorize and organize + * them. Each tag consists of a key and an optional value, both of which you define.

    + *

    The following basic restrictions apply to tags:

    + *
      + *
    • + *

      Maximum number of tags per resource - 50

      + *
    • + *
    • + *

      For each resource, each tag key must be unique, and each tag key can have only + * one value.

      + *
    • + *
    • + *

      Maximum key length - 128 Unicode characters in UTF-8

      + *
    • + *
    • + *

      Maximum value length - 256 Unicode characters in UTF-8

      + *
    • + *
    • + *

      If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

      + *
    • + *
    • + *

      Tag keys and values are case-sensitive.

      + *
    • + *
    • + *

      Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

      + *
    • + *
    */ - placementConstraints?: TaskDefinitionPlacementConstraint[]; + tags?: Tag[]; /** - *

    A list of container definitions in JSON format that describe the different containers - * that make up your task.

    + *

    The process namespace to use for the containers in the task. The valid + * values are host or task. If host + * is specified, then all containers within the tasks that specified the + * host PID mode on the same container instance share the + * same process namespace with the host Amazon EC2 instance. If task is + * specified, all containers within the specified task share the same + * process namespace. If no value is specified, the default is a private + * namespace. For more information, see PID settings in the Docker run + * reference.

    + *

    If the host PID mode is used, be aware that there is a + * heightened risk of undesired process namespace expose. For more + * information, see Docker + * security.

    + * + *

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    + *
    */ - containerDefinitions: ContainerDefinition[] | undefined; + pidMode?: PidMode | string; /** *

    The IPC resource namespace to use for the containers in the task. The valid values are @@ -7797,54 +7911,21 @@ export interface RegisterTaskDefinitionRequest { ipcMode?: IpcMode | string; /** - *

    The Elastic Inference accelerators to use for the containers in the task.

    - */ - inferenceAccelerators?: InferenceAccelerator[]; - - /** - *

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent - * permission to make AWS API calls on your behalf. The task execution IAM role is required - * depending on the requirements of your task. For more information, see Amazon ECS task - * execution IAM role in the Amazon Elastic Container Service Developer Guide.

    + *

    The configuration details for the App Mesh proxy.

    + *

    For tasks using the EC2 launch type, the container instances require at + * least version 1.26.0 of the container agent and at least version 1.26.0-1 of the + * ecs-init package to enable a proxy configuration. If your container + * instances are launched from the Amazon ECS-optimized AMI version 20190301 or + * later, then they contain the required versions of the container agent and + * ecs-init. For more information, see Amazon ECS-optimized Linux AMI + *

    */ - executionRoleArn?: string; + proxyConfiguration?: ProxyConfiguration; /** - *

    The metadata that you apply to the task definition to help you categorize and organize - * them. Each tag consists of a key and an optional value, both of which you define.

    - *

    The following basic restrictions apply to tags:

    - *
      - *
    • - *

      Maximum number of tags per resource - 50

      - *
    • - *
    • - *

      For each resource, each tag key must be unique, and each tag key can have only - * one value.

      - *
    • - *
    • - *

      Maximum key length - 128 Unicode characters in UTF-8

      - *
    • - *
    • - *

      Maximum value length - 256 Unicode characters in UTF-8

      - *
    • - *
    • - *

      If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

      - *
    • - *
    • - *

      Tag keys and values are case-sensitive.

      - *
    • - *
    • - *

      Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

      - *
    • - *
    + *

    The Elastic Inference accelerators to use for the containers in the task.

    */ - tags?: Tag[]; + inferenceAccelerators?: InferenceAccelerator[]; } export namespace RegisterTaskDefinitionRequest { @@ -7855,14 +7936,14 @@ export namespace RegisterTaskDefinitionRequest { export interface RegisterTaskDefinitionResponse { /** - *

    The list of tags associated with the task definition.

    + *

    The full description of the registered task definition.

    */ - tags?: Tag[]; + taskDefinition?: TaskDefinition; /** - *

    The full description of the registered task definition.

    + *

    The list of tags associated with the task definition.

    */ - taskDefinition?: TaskDefinition; + tags?: Tag[]; } export namespace RegisterTaskDefinitionResponse { @@ -7887,30 +7968,6 @@ export namespace BlockedException { } export interface RunTaskRequest { - /** - *

    The platform version the task should run. A platform version is only specified for - * tasks using the Fargate launch type. If one is not specified, the - * LATEST platform version is used by default. For more information, see - * AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

    - */ - platformVersion?: string; - - /** - *

    The family and revision (family:revision) or - * full ARN of the task definition to run. If a revision is not specified, - * the latest ACTIVE revision is used.

    - */ - taskDefinition: string | undefined; - - /** - *

    The launch type on which to run your task. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

    - *

    If a launchType is specified, the capacityProviderStrategy - * parameter must be omitted.

    - */ - launchType?: LaunchType | string; - /** *

    The capacity provider strategy to use for the task.

    *

    A capacity provider strategy consists of one or more capacity providers along with the @@ -7932,7 +7989,85 @@ export interface RunTaskRequest { *

    The PutClusterCapacityProviders API operation is used to update the * list of available capacity providers for a cluster after the cluster is created.

    */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; + + /** + *

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. + * If you do not specify a cluster, the default cluster is assumed.

    + */ + cluster?: string; + + /** + *

    The number of instantiations of the specified task to place on your cluster. You can + * specify up to 10 tasks per call.

    + */ + count?: number; + + /** + *

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + * Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.

    + */ + enableECSManagedTags?: boolean; + + /** + *

    The name of the task group to associate with the task. The default value is the family + * name of the task definition (for example, family:my-family-name).

    + */ + group?: string; + + /** + *

    The launch type on which to run your task. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

    + *

    If a launchType is specified, the capacityProviderStrategy + * parameter must be omitted.

    + */ + launchType?: LaunchType | string; + + /** + *

    The network configuration for the task. This parameter is required for task + * definitions that use the awsvpc network mode to receive their own elastic + * network interface, and it is not supported for other network modes. For more + * information, see Task Networking + * in the Amazon Elastic Container Service Developer Guide.

    + */ + networkConfiguration?: NetworkConfiguration; + + /** + *

    A list of container overrides in JSON format that specify the name of a container in + * the specified task definition and the overrides it should receive. You can override the + * default command for a container (that is specified in the task definition or Docker + * image) with a command override. You can also override existing environment + * variables (that are specified in the task definition or Docker image) on a container or + * add new environment variables to it with an environment override.

    + * + *

    A total of 8192 characters are allowed for overrides. This limit includes the JSON + * formatting characters of the override structure.

    + *
    + */ + overrides?: TaskOverride; + + /** + *

    An array of placement constraint objects to use for the task. You can specify up to 10 + * constraints per task (including constraints in the task definition and those specified + * at runtime).

    + */ + placementConstraints?: PlacementConstraint[]; + + /** + *

    The placement strategy objects to use for the task. You can specify a maximum of five + * strategy rules per task.

    + */ + placementStrategy?: PlacementStrategy[]; + + /** + *

    The platform version the task should run. A platform version is only specified for + * tasks using the Fargate launch type. If one is not specified, the + * LATEST platform version is used by default. For more information, see + * AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

    + */ + platformVersion?: string; /** *

    Specifies whether to propagate the tags from the task definition to the task. If no @@ -7946,30 +8081,21 @@ export interface RunTaskRequest { propagateTags?: PropagateTags | string; /** - *

    The placement strategy objects to use for the task. You can specify a maximum of five - * strategy rules per task.

    - */ - placementStrategy?: PlacementStrategy[]; - - /** - *

    The name of the task group to associate with the task. The default value is the family - * name of the task definition (for example, family:my-family-name).

    - */ - group?: string; - - /** - *

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see - * Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.

    + *

    The reference ID to use for the task.

    */ - enableECSManagedTags?: boolean; + referenceId?: string; /** - *

    An array of placement constraint objects to use for the task. You can specify up to 10 - * constraints per task (including constraints in the task definition and those specified - * at runtime).

    + *

    An optional tag specified when a task is started. For example, if you automatically + * trigger a task to run a batch process job, you could apply a unique identifier for that + * job to your task with the startedBy parameter. You can then identify which + * tasks belong to that job by filtering the results of a ListTasks call + * with the startedBy value. Up to 36 letters (uppercase and lowercase), + * numbers, hyphens, and underscores are allowed.

    + *

    If a task is started by an Amazon ECS service, then the startedBy parameter + * contains the deployment ID of the service that starts it.

    */ - placementConstraints?: PlacementConstraint[]; + startedBy?: string; /** *

    The metadata that you apply to the task to help you categorize and organize them. Each @@ -8009,56 +8135,11 @@ export interface RunTaskRequest { tags?: Tag[]; /** - *

    The number of instantiations of the specified task to place on your cluster. You can - * specify up to 10 tasks per call.

    - */ - count?: number; - - /** - *

    A list of container overrides in JSON format that specify the name of a container in - * the specified task definition and the overrides it should receive. You can override the - * default command for a container (that is specified in the task definition or Docker - * image) with a command override. You can also override existing environment - * variables (that are specified in the task definition or Docker image) on a container or - * add new environment variables to it with an environment override.

    - * - *

    A total of 8192 characters are allowed for overrides. This limit includes the JSON - * formatting characters of the override structure.

    - *
    - */ - overrides?: TaskOverride; - - /** - *

    The reference ID to use for the task.

    - */ - referenceId?: string; - - /** - *

    An optional tag specified when a task is started. For example, if you automatically - * trigger a task to run a batch process job, you could apply a unique identifier for that - * job to your task with the startedBy parameter. You can then identify which - * tasks belong to that job by filtering the results of a ListTasks call - * with the startedBy value. Up to 36 letters (uppercase and lowercase), - * numbers, hyphens, and underscores are allowed.

    - *

    If a task is started by an Amazon ECS service, then the startedBy parameter - * contains the deployment ID of the service that starts it.

    - */ - startedBy?: string; - - /** - *

    The network configuration for the task. This parameter is required for task - * definitions that use the awsvpc network mode to receive their own elastic - * network interface, and it is not supported for other network modes. For more - * information, see Task Networking - * in the Amazon Elastic Container Service Developer Guide.

    - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. - * If you do not specify a cluster, the default cluster is assumed.

    + *

    The family and revision (family:revision) or + * full ARN of the task definition to run. If a revision is not specified, + * the latest ACTIVE revision is used.

    */ - cluster?: string; + taskDefinition: string | undefined; } export namespace RunTaskRequest { @@ -8068,16 +8149,16 @@ export namespace RunTaskRequest { } export interface RunTaskResponse { - /** - *

    Any failures associated with the call.

    - */ - failures?: Failure[]; - /** *

    A full description of the tasks that were run. The tasks that were successfully placed * on your cluster are described here.

    */ tasks?: Task[]; + + /** + *

    Any failures associated with the call.

    + */ + failures?: Failure[]; } export namespace RunTaskResponse { @@ -8088,22 +8169,35 @@ export namespace RunTaskResponse { export interface StartTaskRequest { /** - *

    Specifies whether to propagate the tags from the task definition or the service to the - * task. If no value is specified, the tags are not propagated.

    + *

    The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. + * If you do not specify a cluster, the default cluster is assumed.

    */ - propagateTags?: PropagateTags | string; + cluster?: string; /** - *

    An optional tag specified when a task is started. For example, if you automatically - * trigger a task to run a batch process job, you could apply a unique identifier for that - * job to your task with the startedBy parameter. You can then identify which - * tasks belong to that job by filtering the results of a ListTasks call - * with the startedBy value. Up to 36 letters (uppercase and lowercase), - * numbers, hyphens, and underscores are allowed.

    - *

    If a task is started by an Amazon ECS service, then the startedBy parameter - * contains the deployment ID of the service that starts it.

    + *

    The container instance IDs or full ARN entries for the container instances on which + * you would like to place your task. You can specify up to 10 container instances.

    */ - startedBy?: string; + containerInstances: string[] | undefined; + + /** + *

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + * Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.

    + */ + enableECSManagedTags?: boolean; + + /** + *

    The name of the task group to associate with the task. The default value is the family + * name of the task definition (for example, family:my-family-name).

    + */ + group?: string; + + /** + *

    The VPC subnet and security group configuration for tasks that receive their own + * elastic network interface by using the awsvpc networking mode.

    + */ + networkConfiguration?: NetworkConfiguration; /** *

    A list of container overrides in JSON format that specify the name of a container in @@ -8120,16 +8214,27 @@ export interface StartTaskRequest { overrides?: TaskOverride; /** - *

    The container instance IDs or full ARN entries for the container instances on which - * you would like to place your task. You can specify up to 10 container instances.

    + *

    Specifies whether to propagate the tags from the task definition or the service to the + * task. If no value is specified, the tags are not propagated.

    */ - containerInstances: string[] | undefined; + propagateTags?: PropagateTags | string; /** - *

    The name of the task group to associate with the task. The default value is the family - * name of the task definition (for example, family:my-family-name).

    + *

    The reference ID to use for the task.

    */ - group?: string; + referenceId?: string; + + /** + *

    An optional tag specified when a task is started. For example, if you automatically + * trigger a task to run a batch process job, you could apply a unique identifier for that + * job to your task with the startedBy parameter. You can then identify which + * tasks belong to that job by filtering the results of a ListTasks call + * with the startedBy value. Up to 36 letters (uppercase and lowercase), + * numbers, hyphens, and underscores are allowed.

    + *

    If a task is started by an Amazon ECS service, then the startedBy parameter + * contains the deployment ID of the service that starts it.

    + */ + startedBy?: string; /** *

    The metadata that you apply to the task to help you categorize and organize them. Each @@ -8168,36 +8273,12 @@ export interface StartTaskRequest { */ tags?: Tag[]; - /** - *

    The reference ID to use for the task.

    - */ - referenceId?: string; - /** *

    The family and revision (family:revision) or * full ARN of the task definition to start. If a revision is not specified, * the latest ACTIVE revision is used.

    */ taskDefinition: string | undefined; - - /** - *

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see - * Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.

    - */ - enableECSManagedTags?: boolean; - - /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. - * If you do not specify a cluster, the default cluster is assumed.

    - */ - cluster?: string; - - /** - *

    The VPC subnet and security group configuration for tasks that receive their own - * elastic network interface by using the awsvpc networking mode.

    - */ - networkConfiguration?: NetworkConfiguration; } export namespace StartTaskRequest { @@ -8207,16 +8288,16 @@ export namespace StartTaskRequest { } export interface StartTaskResponse { - /** - *

    Any failures associated with the call.

    - */ - failures?: Failure[]; - /** *

    A full description of the tasks that were started. Each task that was successfully * placed on your container instances is described.

    */ tasks?: Task[]; + + /** + *

    Any failures associated with the call.

    + */ + failures?: Failure[]; } export namespace StartTaskResponse { @@ -8270,14 +8351,14 @@ export namespace StopTaskResponse { */ export interface AttachmentStateChange { /** - *

    The status of the attachment.

    + *

    The Amazon Resource Name (ARN) of the attachment.

    */ - status: string | undefined; + attachmentArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the attachment.

    + *

    The status of the attachment.

    */ - attachmentArn: string | undefined; + status: string | undefined; } export namespace AttachmentStateChange { @@ -8287,16 +8368,16 @@ export namespace AttachmentStateChange { } export interface SubmitAttachmentStateChangesRequest { - /** - *

    Any attachments associated with the state change request.

    - */ - attachments: AttachmentStateChange[] | undefined; - /** *

    The short name or full ARN of the cluster that hosts the container instance the * attachment belongs to.

    */ cluster?: string; + + /** + *

    Any attachments associated with the state change request.

    + */ + attachments: AttachmentStateChange[] | undefined; } export namespace SubmitAttachmentStateChangesRequest { @@ -8319,25 +8400,20 @@ export namespace SubmitAttachmentStateChangesResponse { } export interface SubmitContainerStateChangeRequest { - /** - *

    The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

    - */ - task?: string; - /** *

    The short name or full ARN of the cluster that hosts the container.

    */ cluster?: string; /** - *

    The exit code returned for the state change request.

    + *

    The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

    */ - exitCode?: number; + task?: string; /** - *

    The status of the state change request.

    + *

    The name of the container.

    */ - status?: string; + containerName?: string; /** *

    The ID of the Docker container.

    @@ -8345,19 +8421,24 @@ export interface SubmitContainerStateChangeRequest { runtimeId?: string; /** - *

    The network bindings of the container.

    + *

    The status of the state change request.

    */ - networkBindings?: NetworkBinding[]; + status?: string; /** - *

    The name of the container.

    + *

    The exit code returned for the state change request.

    */ - containerName?: string; + exitCode?: number; /** *

    The reason for the state change request.

    */ reason?: string; + + /** + *

    The network bindings of the container.

    + */ + networkBindings?: NetworkBinding[]; } export namespace SubmitContainerStateChangeRequest { @@ -8384,25 +8465,25 @@ export namespace SubmitContainerStateChangeResponse { */ export interface ContainerStateChange { /** - *

    The exit code for the container, if the state change is a result of the container - * exiting.

    + *

    The name of the container.

    */ - exitCode?: number; + containerName?: string; /** - *

    The ID of the Docker container.

    + *

    The container image SHA 256 digest.

    */ - runtimeId?: string; + imageDigest?: string; /** - *

    The status of the container.

    + *

    The ID of the Docker container.

    */ - status?: string; + runtimeId?: string; /** - *

    The container image SHA 256 digest.

    + *

    The exit code for the container, if the state change is a result of the container + * exiting.

    */ - imageDigest?: string; + exitCode?: number; /** *

    Any network bindings associated with the container.

    @@ -8415,9 +8496,9 @@ export interface ContainerStateChange { reason?: string; /** - *

    The name of the container.

    + *

    The status of the container.

    */ - containerName?: string; + status?: string; } export namespace ContainerStateChange { @@ -8428,49 +8509,49 @@ export namespace ContainerStateChange { export interface SubmitTaskStateChangeRequest { /** - *

    Any containers associated with the state change request.

    + *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

    */ - containers?: ContainerStateChange[]; + cluster?: string; /** - *

    The Unix timestamp for when the container image pull began.

    + *

    The task ID or full ARN of the task in the state change request.

    */ - pullStartedAt?: Date; + task?: string; /** - *

    The reason for the state change request.

    + *

    The status of the state change request.

    */ - reason?: string; + status?: string; /** - *

    The Unix timestamp for when the container image pull completed.

    + *

    The reason for the state change request.

    */ - pullStoppedAt?: Date; + reason?: string; /** - *

    The task ID or full ARN of the task in the state change request.

    + *

    Any containers associated with the state change request.

    */ - task?: string; + containers?: ContainerStateChange[]; /** - *

    The status of the state change request.

    + *

    Any attachments associated with the state change request.

    */ - status?: string; + attachments?: AttachmentStateChange[]; /** - *

    The Unix timestamp for when the task execution stopped.

    + *

    The Unix timestamp for when the container image pull began.

    */ - executionStoppedAt?: Date; + pullStartedAt?: Date; /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

    + *

    The Unix timestamp for when the container image pull completed.

    */ - cluster?: string; + pullStoppedAt?: Date; /** - *

    Any attachments associated with the state change request.

    + *

    The Unix timestamp for when the task execution stopped.

    */ - attachments?: AttachmentStateChange[]; + executionStoppedAt?: Date; } export namespace SubmitTaskStateChangeRequest { @@ -8567,17 +8648,17 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { - /** - *

    The keys of the tags to be removed.

    - */ - tagKeys: string[] | undefined; - /** *

    The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported * resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and * container instances.

    */ resourceArn: string | undefined; + + /** + *

    The keys of the tags to be removed.

    + */ + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -8594,6 +8675,77 @@ export namespace UntagResourceResponse { }); } +/** + *

    The details of the Auto Scaling group capacity provider to update.

    + */ +export interface AutoScalingGroupProviderUpdate { + /** + *

    The managed scaling settings for the Auto Scaling group capacity provider.

    + *

    When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of + * the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an + * Amazon ECS-managed CloudWatch metric with the specified targetCapacity value as the + * target value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

    + *

    If managed scaling is disabled, the user must manage the scaling of the Auto Scaling + * group.

    + */ + managedScaling?: ManagedScaling; + + /** + *

    The managed termination protection setting to use for the Auto Scaling group capacity + * provider. This determines whether the Auto Scaling group has managed termination + * protection.

    + * + *

    When using managed termination protection, managed scaling must also be used + * otherwise managed termination protection will not work.

    + *
    + *

    When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in + * an Auto Scaling group that contain tasks from being terminated during a scale-in action. + * The Auto Scaling group and each instance in the Auto Scaling group must have instance + * protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

    + *

    When managed termination protection is disabled, your Amazon EC2 instances are not + * protected from termination when the Auto Scaling group scales in.

    + */ + managedTerminationProtection?: ManagedTerminationProtection | string; +} + +export namespace AutoScalingGroupProviderUpdate { + export const filterSensitiveLog = (obj: AutoScalingGroupProviderUpdate): any => ({ + ...obj, + }); +} + +export interface UpdateCapacityProviderRequest { + /** + *

    An object representing the parameters to update for the Auto Scaling group capacity + * provider.

    + */ + name: string | undefined; + + /** + *

    The name of the capacity provider to update.

    + */ + autoScalingGroupProvider: AutoScalingGroupProviderUpdate | undefined; +} + +export namespace UpdateCapacityProviderRequest { + export const filterSensitiveLog = (obj: UpdateCapacityProviderRequest): any => ({ + ...obj, + }); +} + +export interface UpdateCapacityProviderResponse { + /** + *

    The details of a capacity provider.

    + */ + capacityProvider?: CapacityProvider; +} + +export namespace UpdateCapacityProviderResponse { + export const filterSensitiveLog = (obj: UpdateCapacityProviderResponse): any => ({ + ...obj, + }); +} + export interface UpdateClusterSettingsRequest { /** *

    The name of the cluster to modify the settings for.

    @@ -8667,17 +8819,17 @@ export namespace NoUpdateAvailableException { } export interface UpdateContainerAgentRequest { - /** - *

    The container instance ID or full ARN entries for the container instance on which - * you would like to update the Amazon ECS container agent.

    - */ - containerInstance: string | undefined; - /** *

    The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is * running on. If you do not specify a cluster, the default cluster is assumed.

    */ cluster?: string; + + /** + *

    The container instance ID or full ARN entries for the container instance on which + * you would like to update the Amazon ECS container agent.

    + */ + containerInstance: string | undefined; } export namespace UpdateContainerAgentRequest { @@ -8706,6 +8858,11 @@ export interface UpdateContainerInstancesStateRequest { */ cluster?: string; + /** + *

    A list of container instance IDs or full ARN entries.

    + */ + containerInstances: string[] | undefined; + /** *

    The container instance state with which to update the container instance. The only * valid values for this action are ACTIVE and DRAINING. A @@ -8716,11 +8873,6 @@ export interface UpdateContainerInstancesStateRequest { * will be unable to update the container instance state.

    */ status: ContainerInstanceStatus | string | undefined; - - /** - *

    A list of container instance IDs or full ARN entries.

    - */ - containerInstances: string[] | undefined; } export namespace UpdateContainerInstancesStateRequest { @@ -8731,14 +8883,14 @@ export namespace UpdateContainerInstancesStateRequest { export interface UpdateContainerInstancesStateResponse { /** - *

    Any failures associated with the call.

    + *

    The list of container instances.

    */ - failures?: Failure[]; + containerInstances?: ContainerInstance[]; /** - *

    The list of container instances.

    + *

    Any failures associated with the call.

    */ - containerInstances?: ContainerInstance[]; + failures?: Failure[]; } export namespace UpdateContainerInstancesStateResponse { @@ -8748,6 +8900,32 @@ export namespace UpdateContainerInstancesStateResponse { } export interface UpdateServiceRequest { + /** + *

    The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. + * If you do not specify a cluster, the default cluster is assumed.

    + */ + cluster?: string; + + /** + *

    The name of the service to update.

    + */ + service: string | undefined; + + /** + *

    The number of instantiations of the task to place and keep running in your + * service.

    + */ + desiredCount?: number; + + /** + *

    The family and revision (family:revision) or + * full ARN of the task definition to run in your service. If a revision is + * not specified, the latest ACTIVE revision is used. If you modify the task + * definition with UpdateService, Amazon ECS spawns a task with the new version of + * the task definition and then stops an old task after the new version is running.

    + */ + taskDefinition?: string; + /** *

    The capacity provider strategy to update the service to use.

    *

    If the service is using the default capacity provider strategy for the cluster, the @@ -8773,16 +8951,27 @@ export interface UpdateServiceRequest { */ capacityProviderStrategy?: CapacityProviderStrategyItem[]; + /** + *

    Optional deployment parameters that control how many tasks run during the deployment + * and the ordering of stopping and starting tasks.

    + */ + deploymentConfiguration?: DeploymentConfiguration; + /** *

    An object representing the network configuration for a task or service.

    */ networkConfiguration?: NetworkConfiguration; /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. - * If you do not specify a cluster, the default cluster is assumed.

    + *

    An array of task placement constraint objects to update the service to use. If no + * value is specified, the existing placement constraints for the service will remain + * unchanged. If this value is specified, it will override any existing placement + * constraints defined for the service. To remove all existing placement constraints, + * specify an empty array.

    + *

    You can specify a maximum of 10 constraints per task (this limit includes constraints + * in the task definition and those specified at runtime).

    */ - cluster?: string; + placementConstraints?: PlacementConstraint[]; /** *

    The task placement strategy objects to update the service to use. If no value is @@ -8793,38 +8982,6 @@ export interface UpdateServiceRequest { */ placementStrategy?: PlacementStrategy[]; - /** - *

    The number of instantiations of the task to place and keep running in your - * service.

    - */ - desiredCount?: number; - - /** - *

    The name of the service to update.

    - */ - service: string | undefined; - - /** - *

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore - * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid - * if your service is configured to use a load balancer. If your service's tasks take a - * while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace - * period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service - * scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS - * service scheduler from marking tasks as unhealthy and stopping them before they have - * time to come up.

    - */ - healthCheckGracePeriodSeconds?: number; - - /** - *

    The family and revision (family:revision) or - * full ARN of the task definition to run in your service. If a revision is - * not specified, the latest ACTIVE revision is used. If you modify the task - * definition with UpdateService, Amazon ECS spawns a task with the new version of - * the task definition and then stops an old task after the new version is running.

    - */ - taskDefinition?: string; - /** *

    The platform version on which your tasks in the service are running. A platform * version is only specified for tasks using the Fargate launch type. If a @@ -8844,21 +9001,16 @@ export interface UpdateServiceRequest { forceNewDeployment?: boolean; /** - *

    An array of task placement constraint objects to update the service to use. If no - * value is specified, the existing placement constraints for the service will remain - * unchanged. If this value is specified, it will override any existing placement - * constraints defined for the service. To remove all existing placement constraints, - * specify an empty array.

    - *

    You can specify a maximum of 10 constraints per task (this limit includes constraints - * in the task definition and those specified at runtime).

    - */ - placementConstraints?: PlacementConstraint[]; - - /** - *

    Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.

    + *

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore + * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid + * if your service is configured to use a load balancer. If your service's tasks take a + * while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace + * period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service + * scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS + * service scheduler from marking tasks as unhealthy and stopping them before they have + * time to come up.

    */ - deploymentConfiguration?: DeploymentConfiguration; + healthCheckGracePeriodSeconds?: number; } export namespace UpdateServiceRequest { @@ -8881,17 +9033,17 @@ export namespace UpdateServiceResponse { } export interface UpdateServicePrimaryTaskSetRequest { - /** - *

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    - */ - service: string | undefined; - /** *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task * set exists in.

    */ cluster: string | undefined; + /** + *

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    + */ + service: string | undefined; + /** *

    The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the * deployment.

    @@ -8922,26 +9074,26 @@ export namespace UpdateServicePrimaryTaskSetResponse { export interface UpdateTaskSetRequest { /** - *

    A floating-point percentage of the desired number of tasks to place and keep running - * in the task set.

    + *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * set exists in.

    */ - scale: Scale | undefined; + cluster: string | undefined; /** - *

    The short name or full Amazon Resource Name (ARN) of the task set to update.

    + *

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    */ - taskSet: string | undefined; + service: string | undefined; /** - *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * set exists in.

    + *

    The short name or full Amazon Resource Name (ARN) of the task set to update.

    */ - cluster: string | undefined; + taskSet: string | undefined; /** - *

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    + *

    A floating-point percentage of the desired number of tasks to place and keep running + * in the task set.

    */ - service: string | undefined; + scale: Scale | undefined; } export namespace UpdateTaskSetRequest { diff --git a/clients/client-ecs/protocols/Aws_json1_1.ts b/clients/client-ecs/protocols/Aws_json1_1.ts index 706d20fca8914..3275d11dd7530 100644 --- a/clients/client-ecs/protocols/Aws_json1_1.ts +++ b/clients/client-ecs/protocols/Aws_json1_1.ts @@ -104,6 +104,10 @@ import { } from "../commands/SubmitTaskStateChangeCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { + UpdateCapacityProviderCommandInput, + UpdateCapacityProviderCommandOutput, +} from "../commands/UpdateCapacityProviderCommand"; import { UpdateClusterSettingsCommandInput, UpdateClusterSettingsCommandOutput, @@ -129,6 +133,7 @@ import { Attribute, AttributeLimitExceededException, AutoScalingGroupProvider, + AutoScalingGroupProviderUpdate, AwsVpcConfiguration, BlockedException, CapacityProvider, @@ -171,6 +176,7 @@ import { DeleteTaskSetRequest, DeleteTaskSetResponse, Deployment, + DeploymentCircuitBreaker, DeploymentConfiguration, DeploymentController, DeregisterContainerInstanceRequest, @@ -305,6 +311,8 @@ import { UnsupportedFeatureException, UntagResourceRequest, UntagResourceResponse, + UpdateCapacityProviderRequest, + UpdateCapacityProviderResponse, UpdateClusterSettingsRequest, UpdateClusterSettingsResponse, UpdateContainerAgentRequest, @@ -891,6 +899,19 @@ export const serializeAws_json1_1UntagResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateCapacityProviderCommand = async ( + input: UpdateCapacityProviderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AmazonEC2ContainerServiceV20141113.UpdateCapacityProvider", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateCapacityProviderRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateClusterSettingsCommand = async ( input: UpdateClusterSettingsCommandInput, context: __SerdeContext @@ -4478,6 +4499,77 @@ const deserializeAws_json1_1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateCapacityProviderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateCapacityProviderCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateCapacityProviderResponse(data, context); + const response: UpdateCapacityProviderCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateCapacityProviderCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ClientException": + case "com.amazonaws.ecs#ClientException": + response = { + ...(await deserializeAws_json1_1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.ecs#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerException": + case "com.amazonaws.ecs#ServerException": + response = { + ...(await deserializeAws_json1_1ServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1UpdateClusterSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5480,6 +5572,20 @@ const serializeAws_json1_1AutoScalingGroupProvider = ( }; }; +const serializeAws_json1_1AutoScalingGroupProviderUpdate = ( + input: AutoScalingGroupProviderUpdate, + context: __SerdeContext +): any => { + return { + ...(input.managedScaling !== undefined && { + managedScaling: serializeAws_json1_1ManagedScaling(input.managedScaling, context), + }), + ...(input.managedTerminationProtection !== undefined && { + managedTerminationProtection: input.managedTerminationProtection, + }), + }; +}; + const serializeAws_json1_1AwsVpcConfiguration = (input: AwsVpcConfiguration, context: __SerdeContext): any => { return { ...(input.assignPublicIp !== undefined && { assignPublicIp: input.assignPublicIp }), @@ -5822,8 +5928,21 @@ const serializeAws_json1_1DeleteTaskSetRequest = (input: DeleteTaskSetRequest, c }; }; +const serializeAws_json1_1DeploymentCircuitBreaker = ( + input: DeploymentCircuitBreaker, + context: __SerdeContext +): any => { + return { + ...(input.enable !== undefined && { enable: input.enable }), + ...(input.rollback !== undefined && { rollback: input.rollback }), + }; +}; + const serializeAws_json1_1DeploymentConfiguration = (input: DeploymentConfiguration, context: __SerdeContext): any => { return { + ...(input.deploymentCircuitBreaker !== undefined && { + deploymentCircuitBreaker: serializeAws_json1_1DeploymentCircuitBreaker(input.deploymentCircuitBreaker, context), + }), ...(input.maximumPercent !== undefined && { maximumPercent: input.maximumPercent }), ...(input.minimumHealthyPercent !== undefined && { minimumHealthyPercent: input.minimumHealthyPercent }), }; @@ -6292,6 +6411,7 @@ const serializeAws_json1_1LogConfigurationOptionsMap = ( const serializeAws_json1_1ManagedScaling = (input: ManagedScaling, context: __SerdeContext): any => { return { + ...(input.instanceWarmupPeriod !== undefined && { instanceWarmupPeriod: input.instanceWarmupPeriod }), ...(input.maximumScalingStepSize !== undefined && { maximumScalingStepSize: input.maximumScalingStepSize }), ...(input.minimumScalingStepSize !== undefined && { minimumScalingStepSize: input.minimumScalingStepSize }), ...(input.status !== undefined && { status: input.status }), @@ -6804,6 +6924,21 @@ const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, c }; }; +const serializeAws_json1_1UpdateCapacityProviderRequest = ( + input: UpdateCapacityProviderRequest, + context: __SerdeContext +): any => { + return { + ...(input.autoScalingGroupProvider !== undefined && { + autoScalingGroupProvider: serializeAws_json1_1AutoScalingGroupProviderUpdate( + input.autoScalingGroupProvider, + context + ), + }), + ...(input.name !== undefined && { name: input.name }), + }; +}; + const serializeAws_json1_1UpdateClusterSettingsRequest = ( input: UpdateClusterSettingsRequest, context: __SerdeContext @@ -7560,6 +7695,7 @@ const deserializeAws_json1_1Deployment = (output: any, context: __SerdeContext): ? new Date(Math.round(output.createdAt * 1000)) : undefined, desiredCount: output.desiredCount !== undefined && output.desiredCount !== null ? output.desiredCount : undefined, + failedTasks: output.failedTasks !== undefined && output.failedTasks !== null ? output.failedTasks : undefined, id: output.id !== undefined && output.id !== null ? output.id : undefined, launchType: output.launchType !== undefined && output.launchType !== null ? output.launchType : undefined, networkConfiguration: @@ -7569,6 +7705,11 @@ const deserializeAws_json1_1Deployment = (output: any, context: __SerdeContext): pendingCount: output.pendingCount !== undefined && output.pendingCount !== null ? output.pendingCount : undefined, platformVersion: output.platformVersion !== undefined && output.platformVersion !== null ? output.platformVersion : undefined, + rolloutState: output.rolloutState !== undefined && output.rolloutState !== null ? output.rolloutState : undefined, + rolloutStateReason: + output.rolloutStateReason !== undefined && output.rolloutStateReason !== null + ? output.rolloutStateReason + : undefined, runningCount: output.runningCount !== undefined && output.runningCount !== null ? output.runningCount : undefined, status: output.status !== undefined && output.status !== null ? output.status : undefined, taskDefinition: @@ -7580,11 +7721,25 @@ const deserializeAws_json1_1Deployment = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_json1_1DeploymentCircuitBreaker = ( + output: any, + context: __SerdeContext +): DeploymentCircuitBreaker => { + return { + enable: output.enable !== undefined && output.enable !== null ? output.enable : undefined, + rollback: output.rollback !== undefined && output.rollback !== null ? output.rollback : undefined, + } as any; +}; + const deserializeAws_json1_1DeploymentConfiguration = ( output: any, context: __SerdeContext ): DeploymentConfiguration => { return { + deploymentCircuitBreaker: + output.deploymentCircuitBreaker !== undefined && output.deploymentCircuitBreaker !== null + ? deserializeAws_json1_1DeploymentCircuitBreaker(output.deploymentCircuitBreaker, context) + : undefined, maximumPercent: output.maximumPercent !== undefined && output.maximumPercent !== null ? output.maximumPercent : undefined, minimumHealthyPercent: @@ -8178,6 +8333,10 @@ const deserializeAws_json1_1LogConfigurationOptionsMap = ( const deserializeAws_json1_1ManagedScaling = (output: any, context: __SerdeContext): ManagedScaling => { return { + instanceWarmupPeriod: + output.instanceWarmupPeriod !== undefined && output.instanceWarmupPeriod !== null + ? output.instanceWarmupPeriod + : undefined, maximumScalingStepSize: output.maximumScalingStepSize !== undefined && output.maximumScalingStepSize !== null ? output.maximumScalingStepSize @@ -9040,6 +9199,18 @@ const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __Ser return {} as any; }; +const deserializeAws_json1_1UpdateCapacityProviderResponse = ( + output: any, + context: __SerdeContext +): UpdateCapacityProviderResponse => { + return { + capacityProvider: + output.capacityProvider !== undefined && output.capacityProvider !== null + ? deserializeAws_json1_1CapacityProvider(output.capacityProvider, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1UpdateClusterSettingsResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-elastic-beanstalk/models/models_0.ts b/clients/client-elastic-beanstalk/models/models_0.ts index 06388242d4086..4b51e4a8a7723 100644 --- a/clients/client-elastic-beanstalk/models/models_0.ts +++ b/clients/client-elastic-beanstalk/models/models_0.ts @@ -6,16 +6,16 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AbortEnvironmentUpdateMessage { /** - *

    This specifies the name of the environment with the in-progress update that you want to + *

    This specifies the ID of the environment with the in-progress update that you want to * cancel.

    */ - EnvironmentName?: string; + EnvironmentId?: string; /** - *

    This specifies the ID of the environment with the in-progress update that you want to + *

    This specifies the name of the environment with the in-progress update that you want to * cancel.

    */ - EnvironmentId?: string; + EnvironmentName?: string; } export namespace AbortEnvironmentUpdateMessage { @@ -83,12 +83,6 @@ export namespace MaxAgeRule { * exceeded.

    */ export interface MaxCountRule { - /** - *

    Specify true to apply the rule, or false to disable - * it.

    - */ - Enabled: boolean | undefined; - /** *

    Specify the maximum number of application versions to retain.

    */ @@ -99,6 +93,12 @@ export interface MaxCountRule { * Elastic Beanstalk deletes the application version.

    */ DeleteSourceFromS3?: boolean; + + /** + *

    Specify true to apply the rule, or false to disable + * it.

    + */ + Enabled: boolean | undefined; } export namespace MaxCountRule { @@ -117,16 +117,16 @@ export namespace MaxCountRule { */ export interface ApplicationVersionLifecycleConfig { /** - *

    Specify a max count rule to restrict the number of application versions that are + *

    Specify a max age rule to restrict the length of time that application versions are * retained for an application.

    */ - MaxCountRule?: MaxCountRule; + MaxAgeRule?: MaxAgeRule; /** - *

    Specify a max age rule to restrict the length of time that application versions are + *

    Specify a max count rule to restrict the number of application versions that are * retained for an application.

    */ - MaxAgeRule?: MaxAgeRule; + MaxCountRule?: MaxCountRule; } export namespace ApplicationVersionLifecycleConfig { @@ -142,6 +142,11 @@ export namespace ApplicationVersionLifecycleConfig { * settings for application versions.

    */ export interface ApplicationResourceLifecycleConfig { + /** + *

    Defines lifecycle settings for application versions.

    + */ + VersionLifecycleConfig?: ApplicationVersionLifecycleConfig; + /** *

    The ARN of an IAM service role that Elastic Beanstalk has permission to * assume.

    @@ -154,11 +159,6 @@ export interface ApplicationResourceLifecycleConfig { * subsequent calls to change the Service Role to another value.

    */ ServiceRole?: string; - - /** - *

    Defines lifecycle settings for application versions.

    - */ - VersionLifecycleConfig?: ApplicationVersionLifecycleConfig; } export namespace ApplicationResourceLifecycleConfig { @@ -172,44 +172,44 @@ export namespace ApplicationResourceLifecycleConfig { */ export interface ApplicationDescription { /** - *

    The date when the application was last modified.

    + *

    The Amazon Resource Name (ARN) of the application.

    */ - DateUpdated?: Date; + ApplicationArn?: string; /** - *

    The name of the application.

    + *

    User-defined description of the application.

    */ - ApplicationName?: string; + Description?: string; /** - *

    The names of the versions for this application.

    + *

    The names of the configuration templates associated with this application.

    */ - Versions?: string[]; + ConfigurationTemplates?: string[]; /** - *

    The lifecycle settings for the application.

    + *

    The date when the application was created.

    */ - ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; + DateCreated?: Date; /** - *

    User-defined description of the application.

    + *

    The names of the versions for this application.

    */ - Description?: string; + Versions?: string[]; /** - *

    The Amazon Resource Name (ARN) of the application.

    + *

    The name of the application.

    */ - ApplicationArn?: string; + ApplicationName?: string; /** - *

    The names of the configuration templates associated with this application.

    + *

    The date when the application was last modified.

    */ - ConfigurationTemplates?: string[]; + DateUpdated?: Date; /** - *

    The date when the application was created.

    + *

    The lifecycle settings for the application.

    */ - DateCreated?: Date; + ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; } export namespace ApplicationDescription { @@ -256,34 +256,34 @@ export namespace ApplicationDescriptionsMessage { */ export interface Latency { /** - *

    The average latency for the slowest 50 percent of requests over the last 10 + *

    The average latency for the slowest 1 percent of requests over the last 10 * seconds.

    */ - P50?: number; + P99?: number; /** - *

    The average latency for the slowest 5 percent of requests over the last 10 + *

    The average latency for the slowest 10 percent of requests over the last 10 * seconds.

    */ - P95?: number; + P90?: number; /** - *

    The average latency for the slowest 15 percent of requests over the last 10 + *

    The average latency for the slowest 50 percent of requests over the last 10 * seconds.

    */ - P85?: number; + P50?: number; /** - *

    The average latency for the slowest 25 percent of requests over the last 10 + *

    The average latency for the slowest 90 percent of requests over the last 10 * seconds.

    */ - P75?: number; + P10?: number; /** - *

    The average latency for the slowest 10 percent of requests over the last 10 + *

    The average latency for the slowest 25 percent of requests over the last 10 * seconds.

    */ - P90?: number; + P75?: number; /** *

    The average latency for the slowest 0.1 percent of requests over the last 10 @@ -292,16 +292,16 @@ export interface Latency { P999?: number; /** - *

    The average latency for the slowest 90 percent of requests over the last 10 + *

    The average latency for the slowest 15 percent of requests over the last 10 * seconds.

    */ - P10?: number; + P85?: number; /** - *

    The average latency for the slowest 1 percent of requests over the last 10 + *

    The average latency for the slowest 5 percent of requests over the last 10 * seconds.

    */ - P99?: number; + P95?: number; } export namespace Latency { @@ -316,12 +316,6 @@ export namespace Latency { * Definitions.

    */ export interface StatusCodes { - /** - *

    The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, - * etc.) status code.

    - */ - Status3xx?: number; - /** *

    The percentage of requests over the last 10 seconds that resulted in a 4xx (400, 401, * etc.) status code.

    @@ -339,6 +333,12 @@ export interface StatusCodes { * etc.) status code.

    */ Status2xx?: number; + + /** + *

    The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, + * etc.) status code.

    + */ + Status3xx?: number; } export namespace StatusCodes { @@ -351,12 +351,6 @@ export namespace StatusCodes { *

    Application request metrics for an AWS Elastic Beanstalk environment.

    */ export interface ApplicationMetrics { - /** - *

    Represents the average latency for the slowest X percent of requests over the last 10 - * seconds. Latencies are in seconds with one millisecond resolution.

    - */ - Latency?: Latency; - /** *

    Average number of requests handled by the web server per second over the last 10 * seconds.

    @@ -364,10 +358,10 @@ export interface ApplicationMetrics { RequestCount?: number; /** - *

    Represents the percentage of requests over the last 10 seconds that resulted in each - * type of status code response.

    + *

    Represents the average latency for the slowest X percent of requests over the last 10 + * seconds. Latencies are in seconds with one millisecond resolution.

    */ - StatusCodes?: StatusCodes; + Latency?: Latency; /** *

    The amount of time that the metrics cover (usually 10 seconds). For example, you might @@ -375,6 +369,12 @@ export interface ApplicationMetrics { * (duration).

    */ Duration?: number; + + /** + *

    Represents the percentage of requests over the last 10 seconds that resulted in each + * type of status code response.

    + */ + StatusCodes?: StatusCodes; } export namespace ApplicationMetrics { @@ -385,14 +385,14 @@ export namespace ApplicationMetrics { export interface ApplicationResourceLifecycleDescriptionMessage { /** - *

    The name of the application.

    + *

    The lifecycle configuration.

    */ - ApplicationName?: string; + ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; /** - *

    The lifecycle configuration.

    + *

    The name of the application.

    */ - ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; + ApplicationName?: string; } export namespace ApplicationResourceLifecycleDescriptionMessage { @@ -409,6 +409,23 @@ export type SourceType = "Git" | "Zip"; *

    Location of the source code for an application version.

    */ export interface SourceBuildInformation { + /** + *

    The type of repository.

    + *
      + *
    • + *

      + * Git + *

      + *
    • + *
    • + *

      + * Zip + *

      + *
    • + *
    + */ + SourceType: SourceType | string | undefined; + /** *

    The location of the source code, as a formatted string, depending on the value of SourceRepository *

    @@ -445,23 +462,6 @@ export interface SourceBuildInformation { * */ SourceRepository: SourceRepository | string | undefined; - - /** - *

    The type of repository.

    - *
      - *
    • - *

      - * Git - *

      - *
    • - *
    • - *

      - * Zip - *

      - *
    • - *
    - */ - SourceType: SourceType | string | undefined; } export namespace SourceBuildInformation { @@ -475,14 +475,14 @@ export namespace SourceBuildInformation { */ export interface S3Location { /** - *

    The Amazon S3 bucket where the data is located.

    + *

    The Amazon S3 key where the data is located.

    */ - S3Bucket?: string; + S3Key?: string; /** - *

    The Amazon S3 key where the data is located.

    + *

    The Amazon S3 bucket where the data is located.

    */ - S3Key?: string; + S3Bucket?: string; } export namespace S3Location { @@ -498,19 +498,14 @@ export type ApplicationVersionStatus = "Building" | "Failed" | "Processed" | "Pr */ export interface ApplicationVersionDescription { /** - *

    The name of the application to which the application version belongs.

    - */ - ApplicationName?: string; - - /** - *

    The storage location of the application version's source bundle in Amazon S3.

    + *

    Reference to the artifact from the AWS CodeBuild build.

    */ - SourceBundle?: S3Location; + BuildArn?: string; /** - *

    The last modified date of the application version.

    + *

    The description of the application version.

    */ - DateUpdated?: Date; + Description?: string; /** *

    If the version's source code was retrieved from AWS CodeCommit, the location of the @@ -519,9 +514,19 @@ export interface ApplicationVersionDescription { SourceBuildInformation?: SourceBuildInformation; /** - *

    A unique identifier for the application version.

    + *

    The creation date of the application version.

    */ - VersionLabel?: string; + DateCreated?: Date; + + /** + *

    The storage location of the application version's source bundle in Amazon S3.

    + */ + SourceBundle?: S3Location; + + /** + *

    The name of the application to which the application version belongs.

    + */ + ApplicationName?: string; /** *

    The processing status of the application version. Reflects the state of the application @@ -558,24 +563,19 @@ export interface ApplicationVersionDescription { Status?: ApplicationVersionStatus | string; /** - *

    The description of the application version.

    - */ - Description?: string; - - /** - *

    Reference to the artifact from the AWS CodeBuild build.

    + *

    The Amazon Resource Name (ARN) of the application version.

    */ - BuildArn?: string; + ApplicationVersionArn?: string; /** - *

    The Amazon Resource Name (ARN) of the application version.

    + *

    A unique identifier for the application version.

    */ - ApplicationVersionArn?: string; + VersionLabel?: string; /** - *

    The creation date of the application version.

    + *

    The last modified date of the application version.

    */ - DateCreated?: Date; + DateUpdated?: Date; } export namespace ApplicationVersionDescription { @@ -605,17 +605,17 @@ export namespace ApplicationVersionDescriptionMessage { *

    Result message wrapping a list of application version descriptions.

    */ export interface ApplicationVersionDescriptionsMessage { - /** - *

    List of ApplicationVersionDescription objects sorted in order of - * creation.

    - */ - ApplicationVersions?: ApplicationVersionDescription[]; - /** *

    In a paginated request, the token that you can pass in a subsequent request to get the * next response page.

    */ NextToken?: string; + + /** + *

    List of ApplicationVersionDescription objects sorted in order of + * creation.

    + */ + ApplicationVersions?: ApplicationVersionDescription[]; } export namespace ApplicationVersionDescriptionsMessage { @@ -655,14 +655,14 @@ export namespace ApplyEnvironmentManagedActionRequest { */ export interface ApplyEnvironmentManagedActionResult { /** - *

    A description of the managed action.

    + *

    The type of managed action.

    */ - ActionDescription?: string; + ActionType?: ActionType | string; /** - *

    The status of the managed action.

    + *

    A description of the managed action.

    */ - Status?: string; + ActionDescription?: string; /** *

    The action ID of the managed action.

    @@ -670,9 +670,9 @@ export interface ApplyEnvironmentManagedActionResult { ActionId?: string; /** - *

    The type of managed action.

    + *

    The status of the managed action.

    */ - ActionType?: ActionType | string; + Status?: string; } export namespace ApplyEnvironmentManagedActionResult { @@ -722,15 +722,15 @@ export namespace ManagedActionInvalidStateException { */ export interface AssociateEnvironmentOperationsRoleMessage { /** - *

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's - * operations role.

    + *

    The name of the environment to which to set the operations role.

    */ - OperationsRole: string | undefined; + EnvironmentName: string | undefined; /** - *

    The name of the environment to which to set the operations role.

    + *

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's + * operations role.

    */ - EnvironmentName: string | undefined; + OperationsRole: string | undefined; } export namespace AssociateEnvironmentOperationsRoleMessage { @@ -760,14 +760,14 @@ export namespace AutoScalingGroup { */ export interface SolutionStackDescription { /** - *

    The name of the solution stack.

    + *

    The permitted file types allowed for a solution stack.

    */ - SolutionStackName?: string; + PermittedFileTypes?: string[]; /** - *

    The permitted file types allowed for a solution stack.

    + *

    The name of the solution stack.

    */ - PermittedFileTypes?: string[]; + SolutionStackName?: string; } export namespace SolutionStackDescription { @@ -796,6 +796,12 @@ export namespace CheckDNSAvailabilityMessage { *

    Indicates if the specified CNAME is available.

    */ export interface CheckDNSAvailabilityResultMessage { + /** + *

    The fully qualified CNAME to reserve when CreateEnvironment is called + * with the provided prefix.

    + */ + FullyQualifiedCNAME?: string; + /** *

    Indicates if the specified CNAME is available:

    *
      @@ -810,12 +816,6 @@ export interface CheckDNSAvailabilityResultMessage { *
    */ Available?: boolean; - - /** - *

    The fully qualified CNAME to reserve when CreateEnvironment is called - * with the provided prefix.

    - */ - FullyQualifiedCNAME?: string; } export namespace CheckDNSAvailabilityResultMessage { @@ -829,12 +829,9 @@ export namespace CheckDNSAvailabilityResultMessage { */ export interface ComposeEnvironmentsMessage { /** - *

    A list of version labels, specifying one or more application source bundles that belong - * to the target application. Each source bundle must include an environment manifest that - * specifies the name of the environment and the name of the solution stack to use, and - * optionally can specify environment links to create.

    + *

    The name of the application to which the specified source bundles belong.

    */ - VersionLabels?: string[]; + ApplicationName?: string; /** *

    The name of the group to which the target environments belong. Specify a group name @@ -845,9 +842,12 @@ export interface ComposeEnvironmentsMessage { GroupName?: string; /** - *

    The name of the application to which the specified source bundles belong.

    + *

    A list of version labels, specifying one or more application source bundles that belong + * to the target application. Each source bundle must include an environment manifest that + * specifies the name of the environment and the name of the solution stack to use, and + * optionally can specify environment links to create.

    */ - ApplicationName?: string; + VersionLabels?: string[]; } export namespace ComposeEnvironmentsMessage { @@ -919,9 +919,9 @@ export namespace Listener { */ export interface LoadBalancerDescription { /** - *

    A list of Listeners used by the LoadBalancer.

    + *

    The domain name of the LoadBalancer.

    */ - Listeners?: Listener[]; + Domain?: string; /** *

    The name of the LoadBalancer.

    @@ -929,9 +929,9 @@ export interface LoadBalancerDescription { LoadBalancerName?: string; /** - *

    The domain name of the LoadBalancer.

    + *

    A list of Listeners used by the LoadBalancer.

    */ - Domain?: string; + Listeners?: Listener[]; } export namespace LoadBalancerDescription { @@ -971,6 +971,16 @@ export type EnvironmentStatus = *

    Describes the properties of an environment tier

    */ export interface EnvironmentTier { + /** + *

    The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the + * latest compatible worker tier version.

    + * + *

    This member is deprecated. Any specific version that you set may become out of date. + * We recommend leaving it unspecified.

    + *
    + */ + Version?: string; + /** *

    The name of this environment tier.

    *

    Valid values:

    @@ -1002,16 +1012,6 @@ export interface EnvironmentTier { * */ Type?: string; - - /** - *

    The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the - * latest compatible worker tier version.

    - * - *

    This member is deprecated. Any specific version that you set may become out of date. - * We recommend leaving it unspecified.

    - *
    - */ - Version?: string; } export namespace EnvironmentTier { @@ -1025,37 +1025,50 @@ export namespace EnvironmentTier { */ export interface EnvironmentDescription { /** - *

    Indicates if there is an in-progress environment configuration update or application - * version deployment that you can cancel.

    - *

    - * true: There is an update in progress.

    - *

    - * false: There are no updates currently in progress.

    + *

    For load-balanced, autoscaling environments, the URL to the LoadBalancer. For + * single-instance environments, the IP address of the instance.

    */ - AbortableOperationInProgress?: boolean; + EndpointURL?: string; /** - *

    The name of the configuration template used to originally launch this - * environment.

    + *

    The name of the application associated with this environment.

    */ - TemplateName?: string; + ApplicationName?: string; /** - *

    Returns the health status of the application running in your environment. For more - * information, see Health Colors and - * Statuses.

    + *

    The ARN of the platform version.

    */ - HealthStatus?: EnvironmentHealthStatus | string; + PlatformArn?: string; /** - *

    A list of links to other environments in the same group.

    + *

    The last modified date for this environment.

    */ - EnvironmentLinks?: EnvironmentLink[]; + DateUpdated?: Date; /** - *

    The description of the AWS resources used by this environment.

    + *

    The name of this environment.

    */ - Resources?: EnvironmentResourcesDescription; + EnvironmentName?: string; + + /** + *

    The creation date for this environment.

    + */ + DateCreated?: Date; + + /** + *

    Describes this environment.

    + */ + Description?: string; + + /** + *

    The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

    + */ + EnvironmentArn?: string; + + /** + *

    The application version deployed in this environment.

    + */ + VersionLabel?: string; /** *

    Describes the health status of the environment. AWS Elastic Beanstalk indicates the @@ -1088,9 +1101,26 @@ export interface EnvironmentDescription { Health?: EnvironmentHealth | string; /** - *

    The application version deployed in this environment.

    + *

    Returns the health status of the application running in your environment. For more + * information, see Health Colors and + * Statuses.

    */ - VersionLabel?: string; + HealthStatus?: EnvironmentHealthStatus | string; + + /** + *

    The ID of this environment.

    + */ + EnvironmentId?: string; + + /** + *

    Indicates if there is an in-progress environment configuration update or application + * version deployment that you can cancel.

    + *

    + * true: There is an update in progress.

    + *

    + * false: There are no updates currently in progress.

    + */ + AbortableOperationInProgress?: boolean; /** *

    The name of the SolutionStack deployed with this environment.

    @@ -1098,24 +1128,36 @@ export interface EnvironmentDescription { SolutionStackName?: string; /** - *

    The last modified date for this environment.

    + *

    Describes the current tier of this environment.

    */ - DateUpdated?: Date; + Tier?: EnvironmentTier; /** - *

    The name of this environment.

    + *

    The URL to the CNAME for this environment.

    */ - EnvironmentName?: string; + CNAME?: string; /** - *

    Describes this environment.

    + *

    The Amazon Resource Name (ARN) of the environment's operations role. For more information, + * see Operations roles in the AWS Elastic Beanstalk Developer Guide.

    */ - Description?: string; + OperationsRole?: string; /** - *

    The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

    + *

    The name of the configuration template used to originally launch this + * environment.

    */ - EnvironmentArn?: string; + TemplateName?: string; + + /** + *

    The description of the AWS resources used by this environment.

    + */ + Resources?: EnvironmentResourcesDescription; + + /** + *

    A list of links to other environments in the same group.

    + */ + EnvironmentLinks?: EnvironmentLink[]; /** *

    The current operational status of the environment:

    @@ -1146,48 +1188,6 @@ export interface EnvironmentDescription { * */ Status?: EnvironmentStatus | string; - - /** - *

    The name of the application associated with this environment.

    - */ - ApplicationName?: string; - - /** - *

    The URL to the CNAME for this environment.

    - */ - CNAME?: string; - - /** - *

    The ARN of the platform version.

    - */ - PlatformArn?: string; - - /** - *

    For load-balanced, autoscaling environments, the URL to the LoadBalancer. For - * single-instance environments, the IP address of the instance.

    - */ - EndpointURL?: string; - - /** - *

    The creation date for this environment.

    - */ - DateCreated?: Date; - - /** - *

    Describes the current tier of this environment.

    - */ - Tier?: EnvironmentTier; - - /** - *

    The Amazon Resource Name (ARN) of the environment's operations role. For more information, - * see Operations roles in the AWS Elastic Beanstalk Developer Guide.

    - */ - OperationsRole?: string; - - /** - *

    The ID of this environment.

    - */ - EnvironmentId?: string; } export namespace EnvironmentDescription { @@ -1200,16 +1200,16 @@ export namespace EnvironmentDescription { *

    Result message containing a list of environment descriptions.

    */ export interface EnvironmentDescriptionsMessage { - /** - *

    Returns an EnvironmentDescription list.

    - */ - Environments?: EnvironmentDescription[]; - /** *

    In a paginated request, the token that you can pass in a subsequent request to get the * next response page.

    */ NextToken?: string; + + /** + *

    Returns an EnvironmentDescription list.

    + */ + Environments?: EnvironmentDescription[]; } export namespace EnvironmentDescriptionsMessage { @@ -1241,14 +1241,14 @@ export namespace TooManyEnvironmentsException { */ export interface Tag { /** - *

    The value of the tag.

    + *

    The key of the tag.

    */ - Value?: string; + Key?: string; /** - *

    The key of the tag.

    + *

    The value of the tag.

    */ - Key?: string; + Value?: string; } export namespace Tag { @@ -1261,17 +1261,6 @@ export namespace Tag { *

    Request to create an application.

    */ export interface CreateApplicationMessage { - /** - *

    Specifies an application resource lifecycle configuration to prevent your application - * from accumulating too many versions.

    - */ - ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; - - /** - *

    The name of the application. Must be unique within your account.

    - */ - ApplicationName: string | undefined; - /** *

    Your description of the application.

    */ @@ -1283,6 +1272,17 @@ export interface CreateApplicationMessage { * application don't inherit the tags.

    */ Tags?: Tag[]; + + /** + *

    Specifies an application resource lifecycle configuration to prevent your application + * from accumulating too many versions.

    + */ + ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; + + /** + *

    The name of the application. Must be unique within your account.

    + */ + ApplicationName: string | undefined; } export namespace CreateApplicationMessage { @@ -1337,6 +1337,16 @@ export enum ComputeType { *

    Settings for an AWS CodeBuild build.

    */ export interface BuildConfiguration { + /** + *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

    + */ + CodeBuildServiceRole: string | undefined; + + /** + *

    How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

    + */ + TimeoutInMinutes?: number; + /** *

    The name of the artifact of the CodeBuild build. * If provided, Elastic Beanstalk stores the build artifact in the S3 location @@ -1348,9 +1358,9 @@ export interface BuildConfiguration { ArtifactName?: string; /** - *

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

    + *

    The ID of the Docker image to use for this build project.

    */ - CodeBuildServiceRole: string | undefined; + Image: string | undefined; /** *

    Information about the compute resources the build project will use.

    @@ -1373,16 +1383,6 @@ export interface BuildConfiguration { * */ ComputeType?: ComputeType | string; - - /** - *

    The ID of the Docker image to use for this build project.

    - */ - Image: string | undefined; - - /** - *

    How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

    - */ - TimeoutInMinutes?: number; } export namespace BuildConfiguration { @@ -1396,27 +1396,38 @@ export namespace BuildConfiguration { */ export interface CreateApplicationVersionMessage { /** - *

    A description of this application version.

    + *

    The name of the application. If no application is found with this name, and + * AutoCreateApplication is false, returns an + * InvalidParameterValue error.

    */ - Description?: string; + ApplicationName: string | undefined; /** - *

    Settings for an AWS CodeBuild build.

    + *

    A label identifying this version.

    + *

    Constraint: Must be unique per application. If an application version already exists + * with this label for the specified application, AWS Elastic Beanstalk returns an + * InvalidParameterValue error.

    */ - BuildConfiguration?: BuildConfiguration; + VersionLabel: string | undefined; /** - *

    Specify a commit in an AWS CodeCommit Git repository to use as the source code for the - * application version.

    + *

    The Amazon S3 bucket and key that identify the location of the source bundle for this + * version.

    + * + *

    The Amazon S3 bucket must be in the same region as the + * environment.

    + *
    + *

    Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with + * SourceBuildInformation), but not both. If neither SourceBundle nor + * SourceBuildInformation are provided, Elastic Beanstalk uses a sample + * application.

    */ - SourceBuildInformation?: SourceBuildInformation; + SourceBundle?: S3Location; /** - *

    Specifies the tags applied to the application version.

    - *

    Elastic Beanstalk applies these tags only to the application version. Environments that use the - * application version don't inherit the tags.

    + *

    A description of this application version.

    */ - Tags?: Tag[]; + Description?: string; /** *

    Set to true to create an application with the specified name if it doesn't @@ -1441,33 +1452,22 @@ export interface CreateApplicationVersionMessage { Process?: boolean; /** - *

    A label identifying this version.

    - *

    Constraint: Must be unique per application. If an application version already exists - * with this label for the specified application, AWS Elastic Beanstalk returns an - * InvalidParameterValue error.

    + *

    Specify a commit in an AWS CodeCommit Git repository to use as the source code for the + * application version.

    */ - VersionLabel: string | undefined; + SourceBuildInformation?: SourceBuildInformation; /** - *

    The name of the application. If no application is found with this name, and - * AutoCreateApplication is false, returns an - * InvalidParameterValue error.

    + *

    Settings for an AWS CodeBuild build.

    */ - ApplicationName: string | undefined; + BuildConfiguration?: BuildConfiguration; /** - *

    The Amazon S3 bucket and key that identify the location of the source bundle for this - * version.

    - * - *

    The Amazon S3 bucket must be in the same region as the - * environment.

    - *
    - *

    Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with - * SourceBuildInformation), but not both. If neither SourceBundle nor - * SourceBuildInformation are provided, Elastic Beanstalk uses a sample - * application.

    + *

    Specifies the tags applied to the application version.

    + *

    Elastic Beanstalk applies these tags only to the application version. Environments that use the + * application version don't inherit the tags.

    */ - SourceBundle?: S3Location; + Tags?: Tag[]; } export namespace CreateApplicationVersionMessage { @@ -1533,24 +1533,24 @@ export type ConfigurationDeploymentStatus = "deployed" | "failed" | "pending"; */ export interface ConfigurationOptionSetting { /** - *

    The name of the configuration option.

    + *

    The current value for the configuration option.

    */ - OptionName?: string; + Value?: string; /** - *

    A unique resource name for the option setting. Use it for a time–based scaling configuration option.

    + *

    A unique namespace that identifies the option's associated AWS resource.

    */ - ResourceName?: string; + Namespace?: string; /** - *

    The current value for the configuration option.

    + *

    The name of the configuration option.

    */ - Value?: string; + OptionName?: string; /** - *

    A unique namespace that identifies the option's associated AWS resource.

    + *

    A unique resource name for the option setting. Use it for a time–based scaling configuration option.

    */ - Namespace?: string; + ResourceName?: string; } export namespace ConfigurationOptionSetting { @@ -1563,27 +1563,6 @@ export namespace ConfigurationOptionSetting { *

    Describes the settings for a configuration set.

    */ export interface ConfigurationSettingsDescription { - /** - *

    If not null, the name of the environment for this configuration set. - *

    - */ - EnvironmentName?: string; - - /** - *

    The ARN of the platform version.

    - */ - PlatformArn?: string; - - /** - *

    The name of the application associated with this configuration set.

    - */ - ApplicationName?: string; - - /** - *

    The date (in UTC time) when this configuration set was last modified.

    - */ - DateUpdated?: Date; - /** *

    A list of the configuration options and their values in this configuration * set.

    @@ -1591,25 +1570,9 @@ export interface ConfigurationSettingsDescription { OptionSettings?: ConfigurationOptionSetting[]; /** - *

    The name of the solution stack this configuration set uses.

    - */ - SolutionStackName?: string; - - /** - *

    Describes this configuration set.

    - */ - Description?: string; - - /** - *

    The date (in UTC time) when this configuration set was created.

    - */ - DateCreated?: Date; - - /** - *

    If not null, the name of the configuration template for this - * configuration set.

    + *

    The ARN of the platform version.

    */ - TemplateName?: string; + PlatformArn?: string; /** *

    If this configuration set is associated with an environment, the @@ -1639,6 +1602,43 @@ export interface ConfigurationSettingsDescription { * */ DeploymentStatus?: ConfigurationDeploymentStatus | string; + + /** + *

    If not null, the name of the configuration template for this + * configuration set.

    + */ + TemplateName?: string; + + /** + *

    The name of the application associated with this configuration set.

    + */ + ApplicationName?: string; + + /** + *

    The date (in UTC time) when this configuration set was created.

    + */ + DateCreated?: Date; + + /** + *

    Describes this configuration set.

    + */ + Description?: string; + + /** + *

    The name of the solution stack this configuration set uses.

    + */ + SolutionStackName?: string; + + /** + *

    The date (in UTC time) when this configuration set was last modified.

    + */ + DateUpdated?: Date; + + /** + *

    If not null, the name of the environment for this configuration set. + *

    + */ + EnvironmentName?: string; } export namespace ConfigurationSettingsDescription { @@ -1652,14 +1652,14 @@ export namespace ConfigurationSettingsDescription { */ export interface SourceConfiguration { /** - *

    The name of the application associated with the configuration.

    + *

    The name of the configuration template.

    */ - ApplicationName?: string; + TemplateName?: string; /** - *

    The name of the configuration template.

    + *

    The name of the application associated with the configuration.

    */ - TemplateName?: string; + ApplicationName?: string; } export namespace SourceConfiguration { @@ -1672,41 +1672,6 @@ export namespace SourceConfiguration { *

    Request to create a configuration template.

    */ export interface CreateConfigurationTemplateMessage { - /** - *

    The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom - * Platforms in the AWS Elastic Beanstalk Developer Guide.

    - * - * - *

    If you specify PlatformArn, then don't specify - * SolutionStackName.

    - *
    - */ - PlatformArn?: string; - - /** - *

    Specifies the tags applied to the configuration template.

    - */ - Tags?: Tag[]; - - /** - *

    The name of the Elastic Beanstalk application to associate with this configuration - * template.

    - */ - ApplicationName: string | undefined; - - /** - *

    An optional description for this configuration.

    - */ - Description?: string; - - /** - *

    The ID of an environment whose settings you want to use to create the configuration - * template. You must specify EnvironmentId if you don't specify - * PlatformArn, SolutionStackName, or - * SourceConfiguration.

    - */ - EnvironmentId?: string; - /** *

    The name of an Elastic Beanstalk solution stack (platform version) that this configuration uses. For * example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack @@ -1730,14 +1695,6 @@ export interface CreateConfigurationTemplateMessage { */ TemplateName: string | undefined; - /** - *

    Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these - * values override the values obtained from the solution stack or the source configuration - * template. For a complete list of Elastic Beanstalk configuration options, see Option Values in the - * AWS Elastic Beanstalk Developer Guide.

    - */ - OptionSettings?: ConfigurationOptionSetting[]; - /** *

    An Elastic Beanstalk configuration template to base this one on. If specified, Elastic Beanstalk uses the configuration values from the specified * configuration template to create a new configuration.

    @@ -1751,6 +1708,49 @@ export interface CreateConfigurationTemplateMessage { * name.

    */ SourceConfiguration?: SourceConfiguration; + + /** + *

    The name of the Elastic Beanstalk application to associate with this configuration + * template.

    + */ + ApplicationName: string | undefined; + + /** + *

    Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these + * values override the values obtained from the solution stack or the source configuration + * template. For a complete list of Elastic Beanstalk configuration options, see Option Values in the + * AWS Elastic Beanstalk Developer Guide.

    + */ + OptionSettings?: ConfigurationOptionSetting[]; + + /** + *

    The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom + * Platforms in the AWS Elastic Beanstalk Developer Guide.

    + * + * + *

    If you specify PlatformArn, then don't specify + * SolutionStackName.

    + *
    + */ + PlatformArn?: string; + + /** + *

    The ID of an environment whose settings you want to use to create the configuration + * template. You must specify EnvironmentId if you don't specify + * PlatformArn, SolutionStackName, or + * SourceConfiguration.

    + */ + EnvironmentId?: string; + + /** + *

    Specifies the tags applied to the configuration template.

    + */ + Tags?: Tag[]; + + /** + *

    An optional description for this configuration.

    + */ + Description?: string; } export namespace CreateConfigurationTemplateMessage { @@ -1799,6 +1799,11 @@ export namespace TooManyConfigurationTemplatesException { *

    A specification identifying an individual configuration option.

    */ export interface OptionSpecification { + /** + *

    A unique resource name for a time-based scaling configuration option.

    + */ + ResourceName?: string; + /** *

    The name of the configuration option.

    */ @@ -1808,11 +1813,6 @@ export interface OptionSpecification { *

    A unique namespace identifying the option's associated AWS resource.

    */ Namespace?: string; - - /** - *

    A unique resource name for a time-based scaling configuration option.

    - */ - ResourceName?: string; } export namespace OptionSpecification { @@ -1826,9 +1826,10 @@ export namespace OptionSpecification { */ export interface CreateEnvironmentMessage { /** - *

    Specifies the tags applied to resources in the environment.

    + *

    A list of custom user-defined configuration options to remove from the configuration + * set for this new environment.

    */ - Tags?: Tag[]; + OptionsToRemove?: OptionSpecification[]; /** *

    The name of the Elastic Beanstalk configuration template to use with the environment.

    @@ -1839,6 +1840,29 @@ export interface CreateEnvironmentMessage { */ TemplateName?: string; + /** + *

    If specified, the environment attempts to use this value as the prefix for the CNAME in + * your Elastic Beanstalk environment URL. If not specified, the CNAME is generated automatically by + * appending a random alphanumeric string to the environment name.

    + */ + CNAMEPrefix?: string; + + /** + *

    A unique name for the environment.

    + *

    Constraint: Must be from 4 to 40 characters in length. The name can contain only + * letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique + * within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an + * InvalidParameterValue error.

    + *

    If you don't specify the CNAMEPrefix parameter, the environment name becomes part of + * the CNAME, and therefore part of the visible URL for your application.

    + */ + EnvironmentName?: string; + + /** + *

    Specifies the tags applied to resources in the environment.

    + */ + Tags?: Tag[]; + /** *

    If specified, AWS Elastic Beanstalk sets the specified configuration options to the * requested value in the configuration set for the new environment. These override the values @@ -1846,13 +1870,6 @@ export interface CreateEnvironmentMessage { */ OptionSettings?: ConfigurationOptionSetting[]; - /** - *

    Specifies the tier to use in creating this environment. The environment tier that you - * choose determines whether Elastic Beanstalk provisions resources to support a web application that handles - * HTTP(S) requests or a web application that handles background-processing tasks.

    - */ - Tier?: EnvironmentTier; - /** *

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's * operations role. If specified, Elastic Beanstalk uses the operations role for permissions to downstream @@ -1863,6 +1880,30 @@ export interface CreateEnvironmentMessage { */ OperationsRole?: string; + /** + *

    Specifies the tier to use in creating this environment. The environment tier that you + * choose determines whether Elastic Beanstalk provisions resources to support a web application that handles + * HTTP(S) requests or a web application that handles background-processing tasks.

    + */ + Tier?: EnvironmentTier; + + /** + *

    Your description for this environment.

    + */ + Description?: string; + + /** + *

    The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If + * specified, Elastic Beanstalk sets the configuration values to the default values associated with the + * specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk + * Platforms guide.

    + * + *

    If you specify SolutionStackName, don't specify PlatformArn or + * TemplateName.

    + *
    + */ + SolutionStackName?: string; + /** *

    The name of the group to which the target environment belongs. Specify a group name * only if the environment's name is specified in an environment manifest and not with the @@ -1877,13 +1918,6 @@ export interface CreateEnvironmentMessage { */ VersionLabel?: string; - /** - *

    If specified, the environment attempts to use this value as the prefix for the CNAME in - * your Elastic Beanstalk environment URL. If not specified, the CNAME is generated automatically by - * appending a random alphanumeric string to the environment name.

    - */ - CNAMEPrefix?: string; - /** *

    The name of the application that is associated with this environment.

    */ @@ -1900,40 +1934,6 @@ export interface CreateEnvironmentMessage { *
    */ PlatformArn?: string; - - /** - *

    A list of custom user-defined configuration options to remove from the configuration - * set for this new environment.

    - */ - OptionsToRemove?: OptionSpecification[]; - - /** - *

    The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If - * specified, Elastic Beanstalk sets the configuration values to the default values associated with the - * specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk - * Platforms guide.

    - * - *

    If you specify SolutionStackName, don't specify PlatformArn or - * TemplateName.

    - *
    - */ - SolutionStackName?: string; - - /** - *

    Your description for this environment.

    - */ - Description?: string; - - /** - *

    A unique name for the environment.

    - *

    Constraint: Must be from 4 to 40 characters in length. The name can contain only - * letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique - * within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an - * InvalidParameterValue error.

    - *

    If you don't specify the CNAMEPrefix parameter, the environment name becomes part of - * the CNAME, and therefore part of the visible URL for your application.

    - */ - EnvironmentName?: string; } export namespace CreateEnvironmentMessage { @@ -1946,6 +1946,16 @@ export namespace CreateEnvironmentMessage { *

    Request to create a new platform version.

    */ export interface CreatePlatformVersionRequest { + /** + *

    The location of the platform definition archive in Amazon S3.

    + */ + PlatformDefinitionBundle: S3Location | undefined; + + /** + *

    The name of your custom platform.

    + */ + PlatformName: string | undefined; + /** *

    Specifies the tags applied to the new platform version.

    *

    Elastic Beanstalk applies these tags only to the platform version. Environments that you create using @@ -1953,11 +1963,6 @@ export interface CreatePlatformVersionRequest { */ Tags?: Tag[]; - /** - *

    The location of the platform definition archive in Amazon S3.

    - */ - PlatformDefinitionBundle: S3Location | undefined; - /** *

    The name of the builder environment.

    */ @@ -1971,12 +1976,7 @@ export interface CreatePlatformVersionRequest { /** *

    The configuration option settings to apply to the builder environment.

    */ - OptionSettings?: ConfigurationOptionSetting[]; - - /** - *

    The name of your custom platform.

    - */ - PlatformName: string | undefined; + OptionSettings?: ConfigurationOptionSetting[]; } export namespace CreatePlatformVersionRequest { @@ -2008,28 +2008,20 @@ export type PlatformStatus = "Creating" | "Deleted" | "Deleting" | "Failed" | "R */ export interface PlatformSummary { /** - *

    The state of the platform version's branch in its lifecycle.

    - *

    Possible values: beta | supported | deprecated | - * retired - *

    + *

    The AWS account ID of the person who created the platform version.

    */ - PlatformBranchLifecycleState?: string; + PlatformOwner?: string; /** - *

    The category of platform version.

    + *

    The platform branch to which the platform version belongs.

    */ - PlatformCategory?: string; + PlatformBranchName?: string; /** *

    The ARN of the platform version.

    */ PlatformArn?: string; - /** - *

    The operating system used by the platform version.

    - */ - OperatingSystemName?: string; - /** *

    The status of the platform version. You can create an environment from the platform * version once it is ready.

    @@ -2037,19 +2029,27 @@ export interface PlatformSummary { PlatformStatus?: PlatformStatus | string; /** - *

    The AWS account ID of the person who created the platform version.

    + *

    The version string of the platform version.

    */ - PlatformOwner?: string; + PlatformVersion?: string; /** - *

    The version string of the platform version.

    + *

    The additions associated with the platform version.

    */ - PlatformVersion?: string; + SupportedAddonList?: string[]; /** - *

    The platform branch to which the platform version belongs.

    + *

    The state of the platform version's branch in its lifecycle.

    + *

    Possible values: beta | supported | deprecated | + * retired + *

    */ - PlatformBranchName?: string; + PlatformBranchLifecycleState?: string; + + /** + *

    The version of the operating system used by the platform version.

    + */ + OperatingSystemVersion?: string; /** *

    The state of the platform version in its lifecycle.

    @@ -2065,14 +2065,14 @@ export interface PlatformSummary { SupportedTierList?: string[]; /** - *

    The additions associated with the platform version.

    + *

    The operating system used by the platform version.

    */ - SupportedAddonList?: string[]; + OperatingSystemName?: string; /** - *

    The version of the operating system used by the platform version.

    + *

    The category of platform version.

    */ - OperatingSystemVersion?: string; + PlatformCategory?: string; } export namespace PlatformSummary { @@ -2083,14 +2083,14 @@ export namespace PlatformSummary { export interface CreatePlatformVersionResult { /** - *

    The builder used to create the custom platform.

    + *

    Detailed information about the new version of the custom platform.

    */ - Builder?: Builder; + PlatformSummary?: PlatformSummary; /** - *

    Detailed information about the new version of the custom platform.

    + *

    The builder used to create the custom platform.

    */ - PlatformSummary?: PlatformSummary; + Builder?: Builder; } export namespace CreatePlatformVersionResult { @@ -2196,13 +2196,6 @@ export namespace OperationInProgressException { *

    Request to delete an application version.

    */ export interface DeleteApplicationVersionMessage { - /** - *

    Set to true to delete the source bundle from your storage bucket. - * Otherwise, the application version is deleted only from Elastic Beanstalk and the source - * bundle remains in Amazon S3.

    - */ - DeleteSourceBundle?: boolean; - /** *

    The name of the application to which the version belongs.

    */ @@ -2212,6 +2205,13 @@ export interface DeleteApplicationVersionMessage { *

    The label of the version to delete.

    */ VersionLabel: string | undefined; + + /** + *

    Set to true to delete the source bundle from your storage bucket. + * Otherwise, the application version is deleted only from Elastic Beanstalk and the source + * bundle remains in Amazon S3.

    + */ + DeleteSourceBundle?: boolean; } export namespace DeleteApplicationVersionMessage { @@ -2244,14 +2244,14 @@ export namespace SourceBundleDeletionException { */ export interface DeleteConfigurationTemplateMessage { /** - *

    The name of the application to delete the configuration template from.

    + *

    The name of the configuration template to delete.

    */ - ApplicationName: string | undefined; + TemplateName: string | undefined; /** - *

    The name of the configuration template to delete.

    + *

    The name of the application to delete the configuration template from.

    */ - TemplateName: string | undefined; + ApplicationName: string | undefined; } export namespace DeleteConfigurationTemplateMessage { @@ -2349,9 +2349,9 @@ export namespace ResourceQuota { */ export interface ResourceQuotas { /** - *

    The quota for configuration templates in the AWS account.

    + *

    The quota for application versions in the AWS account.

    */ - ConfigurationTemplateQuota?: ResourceQuota; + ApplicationVersionQuota?: ResourceQuota; /** *

    The quota for applications in the AWS account.

    @@ -2359,19 +2359,19 @@ export interface ResourceQuotas { ApplicationQuota?: ResourceQuota; /** - *

    The quota for custom platforms in the AWS account.

    + *

    The quota for environments in the AWS account.

    */ - CustomPlatformQuota?: ResourceQuota; + EnvironmentQuota?: ResourceQuota; /** - *

    The quota for application versions in the AWS account.

    + *

    The quota for custom platforms in the AWS account.

    */ - ApplicationVersionQuota?: ResourceQuota; + CustomPlatformQuota?: ResourceQuota; /** - *

    The quota for environments in the AWS account.

    + *

    The quota for configuration templates in the AWS account.

    */ - EnvironmentQuota?: ResourceQuota; + ConfigurationTemplateQuota?: ResourceQuota; } export namespace ResourceQuotas { @@ -2414,17 +2414,6 @@ export namespace DescribeApplicationsMessage { *

    Request to describe application versions.

    */ export interface DescribeApplicationVersionsMessage { - /** - *

    Specify an application name to show only application versions for that - * application.

    - */ - ApplicationName?: string; - - /** - *

    Specify a version label to show a specific application version.

    - */ - VersionLabels?: string[]; - /** *

    For a paginated request. Specify a maximum number of application versions to include in * each response.

    @@ -2433,12 +2422,23 @@ export interface DescribeApplicationVersionsMessage { */ MaxRecords?: number; + /** + *

    Specify an application name to show only application versions for that + * application.

    + */ + ApplicationName?: string; + /** *

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other * parameter values must be identical to the ones specified in the initial request.

    *

    If no NextToken is specified, the first page is retrieved.

    */ NextToken?: string; + + /** + *

    Specify a version label to show a specific application version.

    + */ + VersionLabels?: string[]; } export namespace DescribeApplicationVersionsMessage { @@ -2452,16 +2452,16 @@ export namespace DescribeApplicationVersionsMessage { * value.

    */ export interface OptionRestrictionRegex { - /** - *

    A unique name representing this regular expression.

    - */ - Label?: string; - /** *

    The regular expression pattern that a string configuration option value with this * restriction must match.

    */ Pattern?: string; + + /** + *

    A unique name representing this regular expression.

    + */ + Label?: string; } export namespace OptionRestrictionRegex { @@ -2477,9 +2477,38 @@ export type ConfigurationOptionValueType = "List" | "Scalar"; */ export interface ConfigurationOptionDescription { /** - *

    The default value for this configuration option.

    + *

    A unique namespace identifying the option's associated AWS resource.

    */ - DefaultValue?: string; + Namespace?: string; + + /** + *

    If specified, the configuration option must be a string value that satisfies this + * regular expression.

    + */ + Regex?: OptionRestrictionRegex; + + /** + *

    If specified, the configuration option must be a string value no longer than this + * value.

    + */ + MaxLength?: number; + + /** + *

    If specified, the configuration option must be a numeric value greater than this + * value.

    + */ + MinValue?: number; + + /** + *

    The name of the configuration option.

    + */ + Name?: string; + + /** + *

    If specified, values for the configuration option are selected from this + * list.

    + */ + ValueOptions?: string[]; /** *

    An indication of which action is required if the value for this configuration option @@ -2506,66 +2535,6 @@ export interface ConfigurationOptionDescription { */ ChangeSeverity?: string; - /** - *

    If specified, the configuration option must be a string value no longer than this - * value.

    - */ - MaxLength?: number; - - /** - *

    An indication of whether the user defined this configuration option:

    - *
      - *
    • - *

      - * true : This configuration option was defined by the user. It is a valid - * choice for specifying if this as an Option to Remove when updating - * configuration settings.

      - *
    • - *
    • - *

      - * false : This configuration was not defined by the user.

      - *
    • - *
    - *

    Constraint: You can remove only UserDefined options from a configuration.

    - *

    Valid Values: true | false - *

    - */ - UserDefined?: boolean; - - /** - *

    The name of the configuration option.

    - */ - Name?: string; - - /** - *

    A unique namespace identifying the option's associated AWS resource.

    - */ - Namespace?: string; - - /** - *

    If specified, the configuration option must be a numeric value less than this - * value.

    - */ - MaxValue?: number; - - /** - *

    If specified, the configuration option must be a numeric value greater than this - * value.

    - */ - MinValue?: number; - - /** - *

    If specified, the configuration option must be a string value that satisfies this - * regular expression.

    - */ - Regex?: OptionRestrictionRegex; - - /** - *

    If specified, values for the configuration option are selected from this - * list.

    - */ - ValueOptions?: string[]; - /** *

    An indication of which type of values this option has and whether it is allowable to * select one or more than one of the possible values:

    @@ -2594,6 +2563,37 @@ export interface ConfigurationOptionDescription { * */ ValueType?: ConfigurationOptionValueType | string; + + /** + *

    The default value for this configuration option.

    + */ + DefaultValue?: string; + + /** + *

    An indication of whether the user defined this configuration option:

    + *
      + *
    • + *

      + * true : This configuration option was defined by the user. It is a valid + * choice for specifying if this as an Option to Remove when updating + * configuration settings.

      + *
    • + *
    • + *

      + * false : This configuration was not defined by the user.

      + *
    • + *
    + *

    Constraint: You can remove only UserDefined options from a configuration.

    + *

    Valid Values: true | false + *

    + */ + UserDefined?: boolean; + + /** + *

    If specified, the configuration option must be a numeric value less than this + * value.

    + */ + MaxValue?: number; } export namespace ConfigurationOptionDescription { @@ -2603,14 +2603,9 @@ export namespace ConfigurationOptionDescription { } /** - *

    Describes the settings for a specified configuration set.

    - */ -export interface ConfigurationOptionsDescription { - /** - *

    The ARN of the platform version.

    - */ - PlatformArn?: string; - + *

    Describes the settings for a specified configuration set.

    + */ +export interface ConfigurationOptionsDescription { /** *

    The name of the solution stack these configuration options belong to.

    */ @@ -2620,6 +2615,11 @@ export interface ConfigurationOptionsDescription { *

    A list of ConfigurationOptionDescription.

    */ Options?: ConfigurationOptionDescription[]; + + /** + *

    The ARN of the platform version.

    + */ + PlatformArn?: string; } export namespace ConfigurationOptionsDescription { @@ -2633,38 +2633,38 @@ export namespace ConfigurationOptionsDescription { */ export interface DescribeConfigurationOptionsMessage { /** - *

    If specified, restricts the descriptions to only the specified options.

    + *

    The name of the configuration template whose configuration options you want to + * describe.

    */ - Options?: OptionSpecification[]; + TemplateName?: string; /** - *

    The name of the environment whose configuration options you want to describe.

    + *

    The name of the application associated with the configuration template or environment. + * Only needed if you want to describe the configuration options associated with either the + * configuration template or environment.

    */ - EnvironmentName?: string; + ApplicationName?: string; /** - *

    The name of the solution stack whose configuration options you want to - * describe.

    + *

    The ARN of the custom platform.

    */ - SolutionStackName?: string; + PlatformArn?: string; /** - *

    The name of the application associated with the configuration template or environment. - * Only needed if you want to describe the configuration options associated with either the - * configuration template or environment.

    + *

    The name of the environment whose configuration options you want to describe.

    */ - ApplicationName?: string; + EnvironmentName?: string; /** - *

    The name of the configuration template whose configuration options you want to + *

    The name of the solution stack whose configuration options you want to * describe.

    */ - TemplateName?: string; + SolutionStackName?: string; /** - *

    The ARN of the custom platform.

    + *

    If specified, restricts the descriptions to only the specified options.

    */ - PlatformArn?: string; + Options?: OptionSpecification[]; } export namespace DescribeConfigurationOptionsMessage { @@ -2696,9 +2696,13 @@ export namespace ConfigurationSettingsDescriptions { */ export interface DescribeConfigurationSettingsMessage { /** - *

    The application for the environment or configuration template.

    + *

    The name of the environment to describe.

    + *

    Condition: You must specify either this or a TemplateName, but not both. If you + * specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. + * If you do not specify either, AWS Elastic Beanstalk returns + * MissingRequiredParameter error.

    */ - ApplicationName: string | undefined; + EnvironmentName?: string; /** *

    The name of the configuration template to describe.

    @@ -2710,13 +2714,9 @@ export interface DescribeConfigurationSettingsMessage { TemplateName?: string; /** - *

    The name of the environment to describe.

    - *

    Condition: You must specify either this or a TemplateName, but not both. If you - * specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. - * If you do not specify either, AWS Elastic Beanstalk returns - * MissingRequiredParameter error.

    + *

    The application for the environment or configuration template.

    */ - EnvironmentName?: string; + ApplicationName: string | undefined; } export namespace DescribeConfigurationSettingsMessage { @@ -2740,12 +2740,6 @@ export enum EnvironmentHealthAttribute { *

    See the example below to learn how to create a request body.

    */ export interface DescribeEnvironmentHealthRequest { - /** - *

    Specify the environment by ID.

    - *

    You must specify either this or an EnvironmentName, or both.

    - */ - EnvironmentId?: string; - /** *

    Specify the response elements to return. To retrieve all attributes, set to * All. If no attribute names are specified, returns the name of the @@ -2753,6 +2747,12 @@ export interface DescribeEnvironmentHealthRequest { */ AttributeNames?: (EnvironmentHealthAttribute | string)[]; + /** + *

    Specify the environment by ID.

    + *

    You must specify either this or an EnvironmentName, or both.

    + */ + EnvironmentId?: string; + /** *

    Specify the environment by name.

    *

    You must specify either this or an EnvironmentName, or both.

    @@ -2773,24 +2773,31 @@ export namespace DescribeEnvironmentHealthRequest { export interface InstanceHealthSummary { /** *

    - * Red. The health agent is reporting a high number of request - * failures or other issues for an instance or environment.

    + * Green. An instance is passing health checks and the health + * agent is not reporting any problems.

    */ - Degraded?: number; + Ok?: number; /** *

    - * Grey. AWS Elastic Beanstalk and the health agent are - * reporting no data on an instance.

    + * Red. The health agent is reporting a very high number of + * request failures or other issues for an instance or environment.

    */ - NoData?: number; + Severe?: number; + + /** + *

    + * Grey. An operation is in progress on an instance within the + * command timeout.

    + */ + Pending?: number; /** *

    * Grey. AWS Elastic Beanstalk and the health agent are - * reporting an insufficient amount of data on an instance.

    + * reporting no data on an instance.

    */ - Unknown?: number; + NoData?: number; /** *

    @@ -2800,10 +2807,10 @@ export interface InstanceHealthSummary { /** *

    - * Grey. An operation is in progress on an instance within the - * command timeout.

    + * Red. The health agent is reporting a high number of request + * failures or other issues for an instance or environment.

    */ - Pending?: number; + Degraded?: number; /** *

    @@ -2814,17 +2821,10 @@ export interface InstanceHealthSummary { /** *

    - * Green. An instance is passing health checks and the health - * agent is not reporting any problems.

    - */ - Ok?: number; - - /** - *

    - * Red. The health agent is reporting a very high number of - * request failures or other issues for an instance or environment.

    + * Grey. AWS Elastic Beanstalk and the health agent are + * reporting an insufficient amount of data on an instance.

    */ - Severe?: number; + Unknown?: number; } export namespace InstanceHealthSummary { @@ -2838,48 +2838,48 @@ export namespace InstanceHealthSummary { */ export interface DescribeEnvironmentHealthResult { /** - *

    The environment's name.

    + *

    The health status of the + * environment. For example, Ok.

    */ - EnvironmentName?: string; + HealthStatus?: string; /** - *

    Application request metrics for the environment.

    + *

    The environment's operational status. Ready, Launching, + * Updating, Terminating, or Terminated.

    */ - ApplicationMetrics?: ApplicationMetrics; + Status?: EnvironmentHealth | string; /** - *

    Summary health information for the instances in the environment.

    + *

    The health color of the + * environment.

    */ - InstancesHealth?: InstanceHealthSummary; + Color?: string; /** - *

    The date and time that the health information was retrieved.

    + *

    The environment's name.

    */ - RefreshedAt?: Date; + EnvironmentName?: string; /** - *

    Descriptions of the data that contributed to the environment's current health - * status.

    + *

    Application request metrics for the environment.

    */ - Causes?: string[]; + ApplicationMetrics?: ApplicationMetrics; /** - *

    The health color of the - * environment.

    + *

    Descriptions of the data that contributed to the environment's current health + * status.

    */ - Color?: string; + Causes?: string[]; /** - *

    The environment's operational status. Ready, Launching, - * Updating, Terminating, or Terminated.

    + *

    Summary health information for the instances in the environment.

    */ - Status?: EnvironmentHealth | string; + InstancesHealth?: InstanceHealthSummary; /** - *

    The health status of the - * environment. For example, Ok.

    + *

    The date and time that the health information was retrieved.

    */ - HealthStatus?: string; + RefreshedAt?: Date; } export namespace DescribeEnvironmentHealthResult { @@ -2912,14 +2912,14 @@ export namespace InvalidRequestException { */ export interface DescribeEnvironmentManagedActionHistoryRequest { /** - *

    The pagination token returned by a previous request.

    + *

    The maximum number of items to return for a single request.

    */ - NextToken?: string; + MaxItems?: number; /** - *

    The environment ID of the target environment.

    + *

    The pagination token returned by a previous request.

    */ - EnvironmentId?: string; + NextToken?: string; /** *

    The name of the target environment.

    @@ -2927,9 +2927,9 @@ export interface DescribeEnvironmentManagedActionHistoryRequest { EnvironmentName?: string; /** - *

    The maximum number of items to return for a single request.

    + *

    The environment ID of the target environment.

    */ - MaxItems?: number; + EnvironmentId?: string; } export namespace DescribeEnvironmentManagedActionHistoryRequest { @@ -2952,14 +2952,14 @@ export type FailureType = */ export interface ManagedActionHistoryItem { /** - *

    The status of the action.

    + *

    A description of the managed action.

    */ - Status?: ActionHistoryStatus | string; + ActionDescription?: string; /** - *

    A unique identifier for the managed action.

    + *

    If the action failed, the type of failure.

    */ - ActionId?: string; + FailureType?: FailureType | string; /** *

    The type of the managed action.

    @@ -2967,29 +2967,29 @@ export interface ManagedActionHistoryItem { ActionType?: ActionType | string; /** - *

    The date and time that the action finished executing.

    + *

    If the action failed, a description of the failure.

    */ - FinishedTime?: Date; + FailureDescription?: string; /** - *

    If the action failed, a description of the failure.

    + *

    A unique identifier for the managed action.

    */ - FailureDescription?: string; + ActionId?: string; /** - *

    If the action failed, the type of failure.

    + *

    The status of the action.

    */ - FailureType?: FailureType | string; + Status?: ActionHistoryStatus | string; /** - *

    The date and time that the action started executing.

    + *

    The date and time that the action finished executing.

    */ - ExecutedTime?: Date; + FinishedTime?: Date; /** - *

    A description of the managed action.

    + *

    The date and time that the action started executing.

    */ - ActionDescription?: string; + ExecutedTime?: Date; } export namespace ManagedActionHistoryItem { @@ -3024,6 +3024,11 @@ export namespace DescribeEnvironmentManagedActionHistoryResult { *

    Request to list an environment's upcoming and in-progress managed actions.

    */ export interface DescribeEnvironmentManagedActionsRequest { + /** + *

    To show only actions with a particular status, specify a status.

    + */ + Status?: ActionStatus | string; + /** *

    The environment ID of the target environment.

    */ @@ -3033,11 +3038,6 @@ export interface DescribeEnvironmentManagedActionsRequest { *

    The name of the target environment.

    */ EnvironmentName?: string; - - /** - *

    To show only actions with a particular status, specify a status.

    - */ - Status?: ActionStatus | string; } export namespace DescribeEnvironmentManagedActionsRequest { @@ -3051,10 +3051,15 @@ export namespace DescribeEnvironmentManagedActionsRequest { */ export interface ManagedAction { /** - *

    The start time of the maintenance window in which the managed action will - * execute.

    + *

    A unique identifier for the managed action.

    */ - WindowStartTime?: Date; + ActionId?: string; + + /** + *

    The status of the managed action. If the action is Scheduled, you can + * apply it immediately with ApplyEnvironmentManagedAction.

    + */ + Status?: ActionStatus | string; /** *

    A description of the managed action.

    @@ -3067,15 +3072,10 @@ export interface ManagedAction { ActionType?: ActionType | string; /** - *

    The status of the managed action. If the action is Scheduled, you can - * apply it immediately with ApplyEnvironmentManagedAction.

    - */ - Status?: ActionStatus | string; - - /** - *

    A unique identifier for the managed action.

    + *

    The start time of the maintenance window in which the managed action will + * execute.

    */ - ActionId?: string; + WindowStartTime?: Date; } export namespace ManagedAction { @@ -3196,14 +3196,14 @@ export namespace LoadBalancer { */ export interface Queue { /** - *

    The name of the queue.

    + *

    The URL of the queue.

    */ - Name?: string; + URL?: string; /** - *

    The URL of the queue.

    + *

    The name of the queue.

    */ - URL?: string; + Name?: string; } export namespace Queue { @@ -3233,44 +3233,44 @@ export namespace Trigger { */ export interface EnvironmentResourceDescription { /** - *

    The Amazon EC2 instances used by this environment.

    + *

    The queues used by this environment.

    */ - Instances?: Instance[]; + Queues?: Queue[]; /** - *

    The AutoScalingGroups used by this environment.

    + *

    The Amazon EC2 launch templates in use by this environment.

    */ - AutoScalingGroups?: AutoScalingGroup[]; + LaunchTemplates?: LaunchTemplate[]; /** - *

    The name of the environment.

    + *

    The AutoScalingGroups used by this environment.

    */ - EnvironmentName?: string; + AutoScalingGroups?: AutoScalingGroup[]; /** - *

    The AutoScaling triggers in use by this environment.

    + *

    The LoadBalancers in use by this environment.

    */ - Triggers?: Trigger[]; + LoadBalancers?: LoadBalancer[]; /** - *

    The queues used by this environment.

    + *

    The Amazon EC2 instances used by this environment.

    */ - Queues?: Queue[]; + Instances?: Instance[]; /** - *

    The LoadBalancers in use by this environment.

    + *

    The Auto Scaling launch configurations in use by this environment.

    */ - LoadBalancers?: LoadBalancer[]; + LaunchConfigurations?: LaunchConfiguration[]; /** - *

    The Amazon EC2 launch templates in use by this environment.

    + *

    The name of the environment.

    */ - LaunchTemplates?: LaunchTemplate[]; + EnvironmentName?: string; /** - *

    The Auto Scaling launch configurations in use by this environment.

    + *

    The AutoScaling triggers in use by this environment.

    */ - LaunchConfigurations?: LaunchConfiguration[]; + Triggers?: Trigger[]; } export namespace EnvironmentResourceDescription { @@ -3299,24 +3299,6 @@ export namespace EnvironmentResourceDescriptionsMessage { *

    Request to describe one or more environments.

    */ export interface DescribeEnvironmentsMessage { - /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only - * those that have the specified names.

    - */ - EnvironmentNames?: string[]; - - /** - *

    If specified when IncludeDeleted is set to true, then - * environments deleted after this date are displayed.

    - */ - IncludedDeletedBackTo?: Date; - - /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only - * those that are associated with this application version.

    - */ - VersionLabel?: string; - /** *

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other * parameter values must be identical to the ones specified in the initial request.

    @@ -3332,9 +3314,17 @@ export interface DescribeEnvironmentsMessage { /** *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only - * those that have the specified IDs.

    + * those that are associated with this application version.

    */ - EnvironmentIds?: string[]; + VersionLabel?: string; + + /** + *

    For a paginated request. Specify a maximum number of environments to include in + * each response.

    + *

    If no MaxRecords is specified, all available environments are + * retrieved in a single response.

    + */ + MaxRecords?: number; /** *

    Indicates whether to include deleted environments:

    @@ -3347,12 +3337,22 @@ export interface DescribeEnvironmentsMessage { IncludeDeleted?: boolean; /** - *

    For a paginated request. Specify a maximum number of environments to include in - * each response.

    - *

    If no MaxRecords is specified, all available environments are - * retrieved in a single response.

    + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only + * those that have the specified IDs.

    */ - MaxRecords?: number; + EnvironmentIds?: string[]; + + /** + *

    If specified when IncludeDeleted is set to true, then + * environments deleted after this date are displayed.

    + */ + IncludedDeletedBackTo?: Date; + + /** + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only + * those that have the specified names.

    + */ + EnvironmentNames?: string[]; } export namespace DescribeEnvironmentsMessage { @@ -3368,33 +3368,33 @@ export type EventSeverity = "DEBUG" | "ERROR" | "FATAL" | "INFO" | "TRACE" | "WA */ export interface DescribeEventsMessage { /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that - * occur up to, but not including, the EndTime.

    + *

    Pagination token. If specified, the events return the next batch of results.

    */ - EndTime?: Date; + NextToken?: string; /** - *

    If specified, AWS Elastic Beanstalk restricts the described events to include only - * those associated with this request ID.

    + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only + * those associated with this application.

    */ - RequestId?: string; + ApplicationName?: string; /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that - * are associated with this environment configuration.

    + *

    If specified, limits the events returned from this call to include only those with the + * specified severity or higher.

    */ - TemplateName?: string; + Severity?: EventSeverity | string; /** - *

    Specifies the maximum number of events that can be returned, beginning with the most - * recent event.

    + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those + * associated with this application version.

    */ - MaxRecords?: number; + VersionLabel?: string; /** - *

    Pagination token. If specified, the events return the next batch of results.

    + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that + * occur on or after this time.

    */ - NextToken?: string; + StartTime?: Date; /** *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those @@ -3403,40 +3403,40 @@ export interface DescribeEventsMessage { EnvironmentName?: string; /** - *

    The ARN of a custom platform version. If specified, AWS Elastic Beanstalk restricts the - * returned descriptions to those associated with this custom platform version.

    + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those + * associated with this environment.

    */ - PlatformArn?: string; + EnvironmentId?: string; /** - *

    If specified, limits the events returned from this call to include only those with the - * specified severity or higher.

    + *

    If specified, AWS Elastic Beanstalk restricts the described events to include only + * those associated with this request ID.

    */ - Severity?: EventSeverity | string; + RequestId?: string; /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those - * associated with this environment.

    + *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that + * occur up to, but not including, the EndTime.

    */ - EnvironmentId?: string; + EndTime?: Date; /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only - * those associated with this application.

    + *

    Specifies the maximum number of events that can be returned, beginning with the most + * recent event.

    */ - ApplicationName?: string; + MaxRecords?: number; /** *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that - * occur on or after this time.

    + * are associated with this environment configuration.

    */ - StartTime?: Date; + TemplateName?: string; /** - *

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those - * associated with this application version.

    + *

    The ARN of a custom platform version. If specified, AWS Elastic Beanstalk restricts the + * returned descriptions to those associated with this custom platform version.

    */ - VersionLabel?: string; + PlatformArn?: string; } export namespace DescribeEventsMessage { @@ -3450,14 +3450,14 @@ export namespace DescribeEventsMessage { */ export interface EventDescription { /** - *

    The name of the configuration associated with this event.

    + *

    The application associated with the event.

    */ - TemplateName?: string; + ApplicationName?: string; /** - *

    The web service request ID for the activity of this event.

    + *

    The name of the environment associated with this event.

    */ - RequestId?: string; + EnvironmentName?: string; /** *

    The date when the event occurred.

    @@ -3465,34 +3465,34 @@ export interface EventDescription { EventDate?: Date; /** - *

    The application associated with the event.

    + *

    The ARN of the platform version.

    */ - ApplicationName?: string; + PlatformArn?: string; /** - *

    The severity level of this event.

    + *

    The event message.

    */ - Severity?: EventSeverity | string; + Message?: string; /** - *

    The release label for the application version associated with this event.

    + *

    The name of the configuration associated with this event.

    */ - VersionLabel?: string; + TemplateName?: string; /** - *

    The ARN of the platform version.

    + *

    The severity level of this event.

    */ - PlatformArn?: string; + Severity?: EventSeverity | string; /** - *

    The name of the environment associated with this event.

    + *

    The web service request ID for the activity of this event.

    */ - EnvironmentName?: string; + RequestId?: string; /** - *

    The event message.

    + *

    The release label for the application version associated with this event.

    */ - Message?: string; + VersionLabel?: string; } export namespace EventDescription { @@ -3554,14 +3554,14 @@ export interface DescribeInstancesHealthRequest { NextToken?: string; /** - *

    Specify the AWS Elastic Beanstalk environment by ID.

    + *

    Specify the AWS Elastic Beanstalk environment by name.

    */ - EnvironmentId?: string; + EnvironmentName?: string; /** - *

    Specify the AWS Elastic Beanstalk environment by name.

    + *

    Specify the AWS Elastic Beanstalk environment by ID.

    */ - EnvironmentName?: string; + EnvironmentId?: string; } export namespace DescribeInstancesHealthRequest { @@ -3579,12 +3579,6 @@ export interface Deployment { */ VersionLabel?: string; - /** - *

    The ID of the deployment. This number increases by one each time that you deploy source - * code or change instance configuration settings.

    - */ - DeploymentId?: number; - /** *

    The status of the deployment:

    *
      @@ -3609,6 +3603,12 @@ export interface Deployment { *

      For completed deployments, the time that the deployment ended.

      */ DeploymentTime?: Date; + + /** + *

      The ID of the deployment. This number increases by one each time that you deploy source + * code or change instance configuration settings.

      + */ + DeploymentId?: number; } export namespace Deployment { @@ -3622,16 +3622,18 @@ export namespace Deployment { */ export interface CPUUtilization { /** - *

      Percentage of time that the CPU has spent in the User state over the last + *

      Available on Linux environments only.

      + *

      Percentage of time that the CPU has spent in the Nice state over the last * 10 seconds.

      */ - User?: number; + Nice?: number; /** - *

      Percentage of time that the CPU has spent in the Idle state over the last - * 10 seconds.

      + *

      Available on Linux environments only.

      + *

      Percentage of time that the CPU has spent in the SoftIRQ state over the + * last 10 seconds.

      */ - Idle?: number; + SoftIRQ?: number; /** *

      Available on Linux environments only.

      @@ -3648,18 +3650,16 @@ export interface CPUUtilization { Privileged?: number; /** - *

      Available on Linux environments only.

      - *

      Percentage of time that the CPU has spent in the SoftIRQ state over the - * last 10 seconds.

      + *

      Percentage of time that the CPU has spent in the Idle state over the last + * 10 seconds.

      */ - SoftIRQ?: number; + Idle?: number; /** - *

      Available on Linux environments only.

      - *

      Percentage of time that the CPU has spent in the I/O Wait state over the - * last 10 seconds.

      + *

      Percentage of time that the CPU has spent in the User state over the last + * 10 seconds.

      */ - IOWait?: number; + User?: number; /** *

      Available on Linux environments only.

      @@ -3670,10 +3670,10 @@ export interface CPUUtilization { /** *

      Available on Linux environments only.

      - *

      Percentage of time that the CPU has spent in the Nice state over the last - * 10 seconds.

      + *

      Percentage of time that the CPU has spent in the I/O Wait state over the + * last 10 seconds.

      */ - Nice?: number; + IOWait?: number; } export namespace CPUUtilization { @@ -3711,24 +3711,25 @@ export namespace SystemStatus { */ export interface SingleInstanceHealth { /** - *

      The ID of the Amazon EC2 instance.

      + *

      Request metrics from your application.

      */ - InstanceId?: string; + ApplicationMetrics?: ApplicationMetrics; /** - *

      The instance's type.

      + *

      Operating system metrics from the instance.

      */ - InstanceType?: string; + System?: SystemStatus; /** - *

      Information about the most recent deployment to an instance.

      + *

      Represents the causes, which provide more information about the current health + * status.

      */ - Deployment?: Deployment; + Causes?: string[]; /** - *

      Operating system metrics from the instance.

      + *

      The ID of the Amazon EC2 instance.

      */ - System?: SystemStatus; + InstanceId?: string; /** *

      The time at which the EC2 instance was launched.

      @@ -3736,11 +3737,14 @@ export interface SingleInstanceHealth { LaunchedAt?: Date; /** - *

      Represents the color indicator that gives you information about the health of the EC2 - * instance. For more information, see Health Colors and - * Statuses.

      + *

      Information about the most recent deployment to an instance.

      */ - Color?: string; + Deployment?: Deployment; + + /** + *

      The instance's type.

      + */ + InstanceType?: string; /** *

      Returns the health status of the specified instance. For more information, see Health @@ -3754,15 +3758,11 @@ export interface SingleInstanceHealth { AvailabilityZone?: string; /** - *

      Request metrics from your application.

      - */ - ApplicationMetrics?: ApplicationMetrics; - - /** - *

      Represents the causes, which provide more information about the current health - * status.

      + *

      Represents the color indicator that gives you information about the health of the EC2 + * instance. For more information, see Health Colors and + * Statuses.

      */ - Causes?: string[]; + Color?: string; } export namespace SingleInstanceHealth { @@ -3777,11 +3777,9 @@ export namespace SingleInstanceHealth { */ export interface DescribeInstancesHealthResult { /** - *

      Detailed health information about each instance.

      - *

      The output differs slightly between Linux and Windows environments. There is a difference - * in the members that are supported under the type.

      + *

      Pagination token for the next page of results, if available.

      */ - InstanceHealthList?: SingleInstanceHealth[]; + NextToken?: string; /** *

      The date and time that the health information was retrieved.

      @@ -3789,9 +3787,11 @@ export interface DescribeInstancesHealthResult { RefreshedAt?: Date; /** - *

      Pagination token for the next page of results, if available.

      + *

      Detailed health information about each instance.

      + *

      The output differs slightly between Linux and Windows environments. There is a difference + * in the members that are supported under the type.

      */ - NextToken?: string; + InstanceHealthList?: SingleInstanceHealth[]; } export namespace DescribeInstancesHealthResult { @@ -3818,14 +3818,14 @@ export namespace DescribePlatformVersionRequest { */ export interface CustomAmi { /** - *

      The type of virtualization used to create the custom AMI.

      + *

      THe ID of the image used to create the custom AMI.

      */ - VirtualizationType?: string; + ImageId?: string; /** - *

      THe ID of the image used to create the custom AMI.

      + *

      The type of virtualization used to create the custom AMI.

      */ - ImageId?: string; + VirtualizationType?: string; } export namespace CustomAmi { @@ -3860,14 +3860,14 @@ export namespace PlatformFramework { */ export interface PlatformProgrammingLanguage { /** - *

      The version of the programming language.

      + *

      The name of the programming language.

      */ - Version?: string; + Name?: string; /** - *

      The name of the programming language.

      + *

      The version of the programming language.

      */ - Name?: string; + Version?: string; } export namespace PlatformProgrammingLanguage { @@ -3881,107 +3881,107 @@ export namespace PlatformProgrammingLanguage { */ export interface PlatformDescription { /** - *

      The platform branch to which the platform version belongs.

      + *

      The programming languages supported by the platform version.

      */ - PlatformBranchName?: string; + ProgrammingLanguages?: PlatformProgrammingLanguage[]; /** - *

      The status of the platform version.

      + *

      The date when the platform version was created.

      */ - PlatformStatus?: PlatformStatus | string; + DateCreated?: Date; /** - *

      The name of the platform version.

      + *

      The date when the platform version was last updated.

      */ - PlatformName?: string; + DateUpdated?: Date; /** - *

      Information about the maintainer of the platform version.

      + *

      The version of the platform version.

      */ - Maintainer?: string; + PlatformVersion?: string; /** - *

      The AWS account ID of the person who created the platform version.

      + *

      The additions supported by the platform version.

      */ - PlatformOwner?: string; + SupportedAddonList?: string[]; /** - *

      The programming languages supported by the platform version.

      + *

      The version of the operating system used by the platform version.

      */ - ProgrammingLanguages?: PlatformProgrammingLanguage[]; + OperatingSystemVersion?: string; /** - *

      The additions supported by the platform version.

      + *

      The custom AMIs supported by the platform version.

      */ - SupportedAddonList?: string[]; + CustomAmiList?: CustomAmi[]; /** - *

      The name of the solution stack used by the platform version.

      + *

      The platform branch to which the platform version belongs.

      */ - SolutionStackName?: string; + PlatformBranchName?: string; /** - *

      The frameworks supported by the platform version.

      + *

      The AWS account ID of the person who created the platform version.

      */ - Frameworks?: PlatformFramework[]; + PlatformOwner?: string; /** - *

      The date when the platform version was last updated.

      + *

      The ARN of the platform version.

      */ - DateUpdated?: Date; + PlatformArn?: string; /** - *

      The custom AMIs supported by the platform version.

      + *

      The operating system used by the platform version.

      */ - CustomAmiList?: CustomAmi[]; + OperatingSystemName?: string; /** - *

      The description of the platform version.

      + *

      The state of the platform version's branch in its lifecycle.

      + *

      Possible values: Beta | Supported | Deprecated | + * Retired + *

      */ - Description?: string; + PlatformBranchLifecycleState?: string; /** - *

      The category of the platform version.

      + *

      The tiers supported by the platform version.

      */ - PlatformCategory?: string; + SupportedTierList?: string[]; /** - *

      The operating system used by the platform version.

      + *

      The frameworks supported by the platform version.

      */ - OperatingSystemName?: string; + Frameworks?: PlatformFramework[]; /** - *

      The ARN of the platform version.

      + *

      The name of the platform version.

      */ - PlatformArn?: string; + PlatformName?: string; /** - *

      The state of the platform version's branch in its lifecycle.

      - *

      Possible values: Beta | Supported | Deprecated | - * Retired - *

      + *

      The status of the platform version.

      */ - PlatformBranchLifecycleState?: string; + PlatformStatus?: PlatformStatus | string; /** - *

      The date when the platform version was created.

      + *

      The description of the platform version.

      */ - DateCreated?: Date; + Description?: string; /** - *

      The version of the operating system used by the platform version.

      + *

      The name of the solution stack used by the platform version.

      */ - OperatingSystemVersion?: string; + SolutionStackName?: string; /** - *

      The version of the platform version.

      + *

      The category of the platform version.

      */ - PlatformVersion?: string; + PlatformCategory?: string; /** - *

      The tiers supported by the platform version.

      + *

      Information about the maintainer of the platform version.

      */ - SupportedTierList?: string[]; + Maintainer?: string; /** *

      The state of the platform version in its lifecycle.

      @@ -4065,12 +4065,6 @@ export namespace ListAvailableSolutionStacksResultMessage { * SearchFilter parameter.

      */ export interface SearchFilter { - /** - *

      The operator to apply to the Attribute with each of the Values. - * Valid values vary by Attribute.

      - */ - Operator?: string; - /** *

      The result attribute to which the filter values are applied. Valid values vary by API * action.

      @@ -4082,6 +4076,12 @@ export interface SearchFilter { * attributes. Number of values and valid values vary by Attribute.

      */ Values?: string[]; + + /** + *

      The operator to apply to the Attribute with each of the Values. + * Valid values vary by Attribute.

      + */ + Operator?: string; } export namespace SearchFilter { @@ -4092,12 +4092,9 @@ export namespace SearchFilter { export interface ListPlatformBranchesRequest { /** - *

      For a paginated request. Specify a token from a previous response page to retrieve the - * next response page. All other parameter values must be identical to the ones specified in the - * initial request.

      - *

      If no NextToken is specified, the first page is retrieved.

      + *

      The maximum number of platform branch values returned in one call.

      */ - NextToken?: string; + MaxRecords?: number; /** *

      Criteria for restricting the resulting list of platform branches. The filter is evaluated @@ -4174,9 +4171,12 @@ export interface ListPlatformBranchesRequest { Filters?: SearchFilter[]; /** - *

      The maximum number of platform branch values returned in one call.

      + *

      For a paginated request. Specify a token from a previous response page to retrieve the + * next response page. All other parameter values must be identical to the ones specified in the + * initial request.

      + *

      If no NextToken is specified, the first page is retrieved.

      */ - MaxRecords?: number; + NextToken?: string; } export namespace ListPlatformBranchesRequest { @@ -4190,24 +4190,9 @@ export namespace ListPlatformBranchesRequest { */ export interface PlatformBranchSummary { /** - *

      The support life cycle state of the platform branch.

      - *

      Possible values: beta | supported | deprecated | - * retired - *

      - */ - LifecycleState?: string; - - /** - *

      The name of the platform branch.

      - */ - BranchName?: string; - - /** - *

      The environment tiers that platform versions in this branch support.

      - *

      Possible values: WebServer/Standard | Worker/SQS/HTTP - *

      + *

      The name of the platform to which this platform branch belongs.

      */ - SupportedTierList?: string[]; + PlatformName?: string; /** *

      An ordinal number that designates the order in which platform branches have been added to @@ -4220,9 +4205,24 @@ export interface PlatformBranchSummary { BranchOrder?: number; /** - *

      The name of the platform to which this platform branch belongs.

      + *

      The name of the platform branch.

      */ - PlatformName?: string; + BranchName?: string; + + /** + *

      The support life cycle state of the platform branch.

      + *

      Possible values: beta | supported | deprecated | + * retired + *

      + */ + LifecycleState?: string; + + /** + *

      The environment tiers that platform versions in this branch support.

      + *

      Possible values: WebServer/Standard | Worker/SQS/HTTP + *

      + */ + SupportedTierList?: string[]; } export namespace PlatformBranchSummary { @@ -4267,17 +4267,6 @@ export interface PlatformFilter { */ Type?: string; - /** - *

      The operator to apply to the Type with each of the - * Values.

      - *

      Valid values: = | != | - * < | <= | - * > | >= | - * contains | begins_with | ends_with - *

      - */ - Operator?: string; - /** *

      The list of values applied to the filtering platform version attribute. Only one value is supported * for all current operators.

      @@ -4309,6 +4298,17 @@ export interface PlatformFilter { *
    */ Values?: string[]; + + /** + *

    The operator to apply to the Type with each of the + * Values.

    + *

    Valid values: = | != | + * < | <= | + * > | >= | + * contains | begins_with | ends_with + *

    + */ + Operator?: string; } export namespace PlatformFilter { @@ -4318,11 +4318,6 @@ export namespace PlatformFilter { } export interface ListPlatformVersionsRequest { - /** - *

    The maximum number of platform version values returned in one call.

    - */ - MaxRecords?: number; - /** *

    For a paginated request. Specify a token from a previous response page to retrieve the * next response page. All other parameter values must be identical to the ones specified in the @@ -4337,6 +4332,11 @@ export interface ListPlatformVersionsRequest { * terms.

    */ Filters?: PlatformFilter[]; + + /** + *

    The maximum number of platform version values returned in one call.

    + */ + MaxRecords?: number; } export namespace ListPlatformVersionsRequest { @@ -4347,15 +4347,15 @@ export namespace ListPlatformVersionsRequest { export interface ListPlatformVersionsResult { /** - *

    In a paginated request, if this value isn't null, it's the token that you can - * pass in a subsequent request to get the next response page.

    + *

    Summary information about the platform versions.

    */ - NextToken?: string; + PlatformSummaryList?: PlatformSummary[]; /** - *

    Summary information about the platform versions.

    + *

    In a paginated request, if this value isn't null, it's the token that you can + * pass in a subsequent request to get the next response page.

    */ - PlatformSummaryList?: PlatformSummary[]; + NextToken?: string; } export namespace ListPlatformVersionsResult { @@ -4398,14 +4398,14 @@ export namespace ResourceNotFoundException { export interface ResourceTagsDescriptionMessage { /** - *

    The Amazon Resource Name (ARN) of the resource for which a tag list was requested.

    + *

    A list of tag key-value pairs.

    */ - ResourceArn?: string; + ResourceTags?: Tag[]; /** - *

    A list of tag key-value pairs.

    + *

    The Amazon Resource Name (ARN) of the resource for which a tag list was requested.

    */ - ResourceTags?: Tag[]; + ResourceArn?: string; } export namespace ResourceTagsDescriptionMessage { @@ -4437,20 +4437,20 @@ export namespace ResourceTypeNotSupportedException { */ export interface RebuildEnvironmentMessage { /** - *

    The name of the environment to rebuild.

    - *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not + *

    The ID of the environment to rebuild.

    + *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. *

    */ - EnvironmentName?: string; + EnvironmentId?: string; /** - *

    The ID of the environment to rebuild.

    - *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not + *

    The name of the environment to rebuild.

    + *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. *

    */ - EnvironmentId?: string; + EnvironmentName?: string; } export namespace RebuildEnvironmentMessage { @@ -4472,24 +4472,24 @@ export interface RequestEnvironmentInfoMessage { InfoType: EnvironmentInfoType | string | undefined; /** - *

    The name of the environment of the requested data.

    + *

    The ID of the environment of the requested data.

    *

    If no such environment is found, RequestEnvironmentInfo returns an * InvalidParameterValue error.

    - *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not + *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. *

    */ - EnvironmentName?: string; + EnvironmentId?: string; /** - *

    The ID of the environment of the requested data.

    + *

    The name of the environment of the requested data.

    *

    If no such environment is found, RequestEnvironmentInfo returns an * InvalidParameterValue error.

    - *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not + *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. *

    */ - EnvironmentId?: string; + EnvironmentName?: string; } export namespace RequestEnvironmentInfoMessage { @@ -4530,28 +4530,28 @@ export namespace RestartAppServerMessage { */ export interface RetrieveEnvironmentInfoMessage { /** - *

    The type of information to retrieve.

    + *

    The ID of the data's environment.

    + *

    If no such environment is found, returns an InvalidParameterValue + * error.

    + *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not + * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter + * error.

    */ - InfoType: EnvironmentInfoType | string | undefined; + EnvironmentId?: string; /** *

    The name of the data's environment.

    *

    If no such environment is found, returns an InvalidParameterValue error.

    *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. - *

    - */ - EnvironmentName?: string; - - /** - *

    The ID of the data's environment.

    - *

    If no such environment is found, returns an InvalidParameterValue - * error.

    - *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not - * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter - * error.

    + *

    */ - EnvironmentId?: string; + EnvironmentName?: string; + + /** + *

    The type of information to retrieve.

    + */ + InfoType: EnvironmentInfoType | string | undefined; } export namespace RetrieveEnvironmentInfoMessage { @@ -4614,15 +4614,6 @@ export namespace RetrieveEnvironmentInfoResultMessage { *

    Swaps the CNAMEs of two environments.

    */ export interface SwapEnvironmentCNAMEsMessage { - /** - *

    The name of the source environment.

    - *

    Condition: You must specify at least the SourceEnvironmentID or the - * SourceEnvironmentName. You may also specify both. If you specify the - * SourceEnvironmentName, you must specify the - * DestinationEnvironmentName.

    - */ - SourceEnvironmentName?: string; - /** *

    The name of the destination environment.

    *

    Condition: You must specify at least the DestinationEnvironmentID or the @@ -4632,6 +4623,15 @@ export interface SwapEnvironmentCNAMEsMessage { */ DestinationEnvironmentName?: string; + /** + *

    The name of the source environment.

    + *

    Condition: You must specify at least the SourceEnvironmentID or the + * SourceEnvironmentName. You may also specify both. If you specify the + * SourceEnvironmentName, you must specify the + * DestinationEnvironmentName.

    + */ + SourceEnvironmentName?: string; + /** *

    The ID of the destination environment.

    *

    Condition: You must specify at least the DestinationEnvironmentID or the @@ -4660,28 +4660,6 @@ export namespace SwapEnvironmentCNAMEsMessage { *

    Request to terminate an environment.

    */ export interface TerminateEnvironmentMessage { - /** - *

    Terminates the target environment even if another environment in the same group is - * dependent on it.

    - */ - ForceTerminate?: boolean; - - /** - *

    The ID of the environment to terminate.

    - *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not - * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. - *

    - */ - EnvironmentId?: string; - - /** - *

    The name of the environment to terminate.

    - *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not - * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. - *

    - */ - EnvironmentName?: string; - /** *

    Indicates whether the associated AWS resources should shut down when the environment is * terminated:

    @@ -4705,6 +4683,28 @@ export interface TerminateEnvironmentMessage { *

    */ TerminateResources?: boolean; + + /** + *

    Terminates the target environment even if another environment in the same group is + * dependent on it.

    + */ + ForceTerminate?: boolean; + + /** + *

    The name of the environment to terminate.

    + *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not + * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. + *

    + */ + EnvironmentName?: string; + + /** + *

    The ID of the environment to terminate.

    + *

    Condition: You must specify either this or an EnvironmentName, or both. If you do not + * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. + *

    + */ + EnvironmentId?: string; } export namespace TerminateEnvironmentMessage { @@ -4717,19 +4717,19 @@ export namespace TerminateEnvironmentMessage { *

    Request to update an application.

    */ export interface UpdateApplicationMessage { - /** - *

    The name of the application to update. If no such application is found, - * UpdateApplication returns an InvalidParameterValue error. - *

    - */ - ApplicationName: string | undefined; - /** *

    A new description for the application.

    *

    Default: If not specified, AWS Elastic Beanstalk does not update the * description.

    */ Description?: string; + + /** + *

    The name of the application to update. If no such application is found, + * UpdateApplication returns an InvalidParameterValue error. + *

    + */ + ApplicationName: string | undefined; } export namespace UpdateApplicationMessage { @@ -4740,14 +4740,14 @@ export namespace UpdateApplicationMessage { export interface UpdateApplicationResourceLifecycleMessage { /** - *

    The lifecycle configuration.

    + *

    The name of the application.

    */ - ResourceLifecycleConfig: ApplicationResourceLifecycleConfig | undefined; + ApplicationName: string | undefined; /** - *

    The name of the application.

    + *

    The lifecycle configuration.

    */ - ApplicationName: string | undefined; + ResourceLifecycleConfig: ApplicationResourceLifecycleConfig | undefined; } export namespace UpdateApplicationResourceLifecycleMessage { @@ -4760,11 +4760,6 @@ export namespace UpdateApplicationResourceLifecycleMessage { *

    */ export interface UpdateApplicationVersionMessage { - /** - *

    A new description for this version.

    - */ - Description?: string; - /** *

    The name of the version to update.

    *

    If no application version is found with this label, UpdateApplication @@ -4778,6 +4773,11 @@ export interface UpdateApplicationVersionMessage { * InvalidParameterValue error.

    */ ApplicationName: string | undefined; + + /** + *

    A new description for this version.

    + */ + Description?: string; } export namespace UpdateApplicationVersionMessage { @@ -4790,14 +4790,6 @@ export namespace UpdateApplicationVersionMessage { *

    The result message containing the options for the specified solution stack.

    */ export interface UpdateConfigurationTemplateMessage { - /** - *

    The name of the application associated with the configuration template to - * update.

    - *

    If no application is found with this name, UpdateConfigurationTemplate - * returns an InvalidParameterValue error.

    - */ - ApplicationName: string | undefined; - /** *

    The name of the configuration template to update.

    *

    If no configuration template is found with this name, @@ -4812,17 +4804,25 @@ export interface UpdateConfigurationTemplateMessage { */ OptionSettings?: ConfigurationOptionSetting[]; + /** + *

    A new description for the configuration.

    + */ + Description?: string; + + /** + *

    The name of the application associated with the configuration template to + * update.

    + *

    If no application is found with this name, UpdateConfigurationTemplate + * returns an InvalidParameterValue error.

    + */ + ApplicationName: string | undefined; + /** *

    A list of configuration options to remove from the configuration set.

    *

    Constraint: You can remove only UserDefined configuration options. *

    */ OptionsToRemove?: OptionSpecification[]; - - /** - *

    A new description for the configuration.

    - */ - Description?: string; } export namespace UpdateConfigurationTemplateMessage { @@ -4836,17 +4836,19 @@ export namespace UpdateConfigurationTemplateMessage { */ export interface UpdateEnvironmentMessage { /** - *

    A list of custom user-defined configuration options to remove from the configuration - * set for this environment.

    + *

    The name of the group to which the target environment belongs. Specify a group name + * only if the environment's name is specified in an environment manifest and not with the + * environment name or environment ID parameters. See Environment Manifest + * (env.yaml) for details.

    */ - OptionsToRemove?: OptionSpecification[]; + GroupName?: string; /** - *

    If this parameter is specified, AWS Elastic Beanstalk deploys this configuration - * template to the environment. If no such configuration template is found, AWS Elastic Beanstalk - * returns an InvalidParameterValue error.

    + *

    If this parameter is specified, AWS Elastic Beanstalk deploys the named application + * version to the environment. If no such application version is found, returns an + * InvalidParameterValue error.

    */ - TemplateName?: string; + VersionLabel?: string; /** *

    This specifies the platform version that the environment will run after the environment @@ -4855,12 +4857,19 @@ export interface UpdateEnvironmentMessage { SolutionStackName?: string; /** - *

    The name of the group to which the target environment belongs. Specify a group name - * only if the environment's name is specified in an environment manifest and not with the - * environment name or environment ID parameters. See Environment Manifest - * (env.yaml) for details.

    + *

    If this parameter is specified, AWS Elastic Beanstalk updates the description of this + * environment.

    */ - GroupName?: string; + Description?: string; + + /** + *

    The name of the environment to update. If no environment with this name exists, AWS + * Elastic Beanstalk returns an InvalidParameterValue error.

    + *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not + * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. + *

    + */ + EnvironmentName?: string; /** *

    The ID of the environment to update.

    @@ -4873,37 +4882,23 @@ export interface UpdateEnvironmentMessage { EnvironmentId?: string; /** - *

    The ARN of the platform, if used.

    + *

    This specifies the tier to use to update the environment.

    + *

    Condition: At this time, if you change the tier version, name, or type, AWS Elastic + * Beanstalk returns InvalidParameterValue error.

    */ - PlatformArn?: string; + Tier?: EnvironmentTier; /** - *

    If this parameter is specified, AWS Elastic Beanstalk updates the description of this - * environment.

    + *

    A list of custom user-defined configuration options to remove from the configuration + * set for this environment.

    */ - Description?: string; + OptionsToRemove?: OptionSpecification[]; /** *

    The name of the application with which the environment is associated.

    */ ApplicationName?: string; - /** - *

    This specifies the tier to use to update the environment.

    - *

    Condition: At this time, if you change the tier version, name, or type, AWS Elastic - * Beanstalk returns InvalidParameterValue error.

    - */ - Tier?: EnvironmentTier; - - /** - *

    The name of the environment to update. If no environment with this name exists, AWS - * Elastic Beanstalk returns an InvalidParameterValue error.

    - *

    Condition: You must specify either this or an EnvironmentId, or both. If you do not - * specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. - *

    - */ - EnvironmentName?: string; - /** *

    If specified, AWS Elastic Beanstalk updates the configuration set associated with the * running environment and sets the specified configuration options to the requested @@ -4912,11 +4907,16 @@ export interface UpdateEnvironmentMessage { OptionSettings?: ConfigurationOptionSetting[]; /** - *

    If this parameter is specified, AWS Elastic Beanstalk deploys the named application - * version to the environment. If no such application version is found, returns an - * InvalidParameterValue error.

    + *

    If this parameter is specified, AWS Elastic Beanstalk deploys this configuration + * template to the environment. If no such configuration template is found, AWS Elastic Beanstalk + * returns an InvalidParameterValue error.

    */ - VersionLabel?: string; + TemplateName?: string; + + /** + *

    The ARN of the platform, if used.

    + */ + PlatformArn?: string; } export namespace UpdateEnvironmentMessage { @@ -4947,6 +4947,12 @@ export namespace TooManyTagsException { } export interface UpdateTagsForResourceMessage { + /** + *

    The Amazon Resource Name (ARN) of the resouce to be updated.

    + *

    Must be the ARN of an Elastic Beanstalk resource.

    + */ + ResourceArn: string | undefined; + /** *

    A list of tag keys to remove. If a tag key doesn't exist, it is silently ignored.

    *

    Specify at least one of these parameters: TagsToAdd, @@ -4961,12 +4967,6 @@ export interface UpdateTagsForResourceMessage { * TagsToRemove.

    */ TagsToAdd?: Tag[]; - - /** - *

    The Amazon Resource Name (ARN) of the resouce to be updated.

    - *

    Must be the ARN of an Elastic Beanstalk resource.

    - */ - ResourceArn: string | undefined; } export namespace UpdateTagsForResourceMessage { @@ -4986,6 +4986,16 @@ export interface ValidationMessage { */ Message?: string; + /** + *

    The namespace to which the option belongs.

    + */ + Namespace?: string; + + /** + *

    The name of the option.

    + */ + OptionName?: string; + /** *

    An indication of the severity of this message:

    *
      @@ -5002,16 +5012,6 @@ export interface ValidationMessage { *
    */ Severity?: ValidationSeverity | string; - - /** - *

    The name of the option.

    - */ - OptionName?: string; - - /** - *

    The namespace to which the option belongs.

    - */ - Namespace?: string; } export namespace ValidationMessage { @@ -5041,27 +5041,27 @@ export namespace ConfigurationSettingsValidationMessages { */ export interface ValidateConfigurationSettingsMessage { /** - *

    The name of the environment to validate the settings against.

    - *

    Condition: You cannot specify both this and a configuration template name.

    + *

    The name of the configuration template to validate the settings against.

    + *

    Condition: You cannot specify both this and an environment name.

    */ - EnvironmentName?: string; + TemplateName?: string; /** - *

    The name of the application that the configuration template or environment belongs - * to.

    + *

    A list of the options and desired values to evaluate.

    */ - ApplicationName: string | undefined; + OptionSettings: ConfigurationOptionSetting[] | undefined; /** - *

    The name of the configuration template to validate the settings against.

    - *

    Condition: You cannot specify both this and an environment name.

    + *

    The name of the application that the configuration template or environment belongs + * to.

    */ - TemplateName?: string; + ApplicationName: string | undefined; /** - *

    A list of the options and desired values to evaluate.

    + *

    The name of the environment to validate the settings against.

    + *

    Condition: You cannot specify both this and a configuration template name.

    */ - OptionSettings: ConfigurationOptionSetting[] | undefined; + EnvironmentName?: string; } export namespace ValidateConfigurationSettingsMessage { diff --git a/clients/client-elastic-beanstalk/protocols/Aws_query.ts b/clients/client-elastic-beanstalk/protocols/Aws_query.ts index a19815ea80964..e8cc13675f34e 100644 --- a/clients/client-elastic-beanstalk/protocols/Aws_query.ts +++ b/clients/client-elastic-beanstalk/protocols/Aws_query.ts @@ -4027,12 +4027,12 @@ const serializeAws_queryAbortEnvironmentUpdateMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; - } if (input.EnvironmentId !== undefined) { entries["EnvironmentId"] = input.EnvironmentId; } + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; + } return entries; }; @@ -4051,9 +4051,6 @@ const serializeAws_queryApplicationResourceLifecycleConfig = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ServiceRole !== undefined) { - entries["ServiceRole"] = input.ServiceRole; - } if (input.VersionLifecycleConfig !== undefined) { const memberEntries = serializeAws_queryApplicationVersionLifecycleConfig(input.VersionLifecycleConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4061,6 +4058,9 @@ const serializeAws_queryApplicationResourceLifecycleConfig = ( entries[loc] = value; }); } + if (input.ServiceRole !== undefined) { + entries["ServiceRole"] = input.ServiceRole; + } return entries; }; @@ -4069,17 +4069,17 @@ const serializeAws_queryApplicationVersionLifecycleConfig = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxCountRule !== undefined) { - const memberEntries = serializeAws_queryMaxCountRule(input.MaxCountRule, context); + if (input.MaxAgeRule !== undefined) { + const memberEntries = serializeAws_queryMaxAgeRule(input.MaxAgeRule, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MaxCountRule.${key}`; + const loc = `MaxAgeRule.${key}`; entries[loc] = value; }); } - if (input.MaxAgeRule !== undefined) { - const memberEntries = serializeAws_queryMaxAgeRule(input.MaxAgeRule, context); + if (input.MaxCountRule !== undefined) { + const memberEntries = serializeAws_queryMaxCountRule(input.MaxCountRule, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MaxAgeRule.${key}`; + const loc = `MaxCountRule.${key}`; entries[loc] = value; }); } @@ -4108,31 +4108,31 @@ const serializeAws_queryAssociateEnvironmentOperationsRoleMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.OperationsRole !== undefined) { - entries["OperationsRole"] = input.OperationsRole; - } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } + if (input.OperationsRole !== undefined) { + entries["OperationsRole"] = input.OperationsRole; + } return entries; }; const serializeAws_queryBuildConfiguration = (input: BuildConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.ArtifactName !== undefined) { - entries["ArtifactName"] = input.ArtifactName; - } if (input.CodeBuildServiceRole !== undefined) { entries["CodeBuildServiceRole"] = input.CodeBuildServiceRole; } - if (input.ComputeType !== undefined) { - entries["ComputeType"] = input.ComputeType; + if (input.TimeoutInMinutes !== undefined) { + entries["TimeoutInMinutes"] = input.TimeoutInMinutes; + } + if (input.ArtifactName !== undefined) { + entries["ArtifactName"] = input.ArtifactName; } if (input.Image !== undefined) { entries["Image"] = input.Image; } - if (input.TimeoutInMinutes !== undefined) { - entries["TimeoutInMinutes"] = input.TimeoutInMinutes; + if (input.ComputeType !== undefined) { + entries["ComputeType"] = input.ComputeType; } return entries; }; @@ -4153,6 +4153,12 @@ const serializeAws_queryComposeEnvironmentsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } if (input.VersionLabels !== undefined) { const memberEntries = serializeAws_queryVersionLabels(input.VersionLabels, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4160,12 +4166,6 @@ const serializeAws_queryComposeEnvironmentsMessage = ( entries[loc] = value; }); } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } return entries; }; @@ -4174,18 +4174,18 @@ const serializeAws_queryConfigurationOptionSetting = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.OptionName !== undefined) { - entries["OptionName"] = input.OptionName; - } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } if (input.Namespace !== undefined) { entries["Namespace"] = input.Namespace; } + if (input.OptionName !== undefined) { + entries["OptionName"] = input.OptionName; + } + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } return entries; }; @@ -4207,16 +4207,6 @@ const serializeAws_queryConfigurationOptionSettingsList = ( const serializeAws_queryCreateApplicationMessage = (input: CreateApplicationMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.ResourceLifecycleConfig !== undefined) { - const memberEntries = serializeAws_queryApplicationResourceLifecycleConfig(input.ResourceLifecycleConfig, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceLifecycleConfig.${key}`; - entries[loc] = value; - }); - } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } @@ -4227,6 +4217,16 @@ const serializeAws_queryCreateApplicationMessage = (input: CreateApplicationMess entries[loc] = value; }); } + if (input.ResourceLifecycleConfig !== undefined) { + const memberEntries = serializeAws_queryApplicationResourceLifecycleConfig(input.ResourceLifecycleConfig, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceLifecycleConfig.${key}`; + entries[loc] = value; + }); + } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } return entries; }; @@ -4235,16 +4235,28 @@ const serializeAws_queryCreateApplicationVersionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; } - if (input.BuildConfiguration !== undefined) { - const memberEntries = serializeAws_queryBuildConfiguration(input.BuildConfiguration, context); + if (input.VersionLabel !== undefined) { + entries["VersionLabel"] = input.VersionLabel; + } + if (input.SourceBundle !== undefined) { + const memberEntries = serializeAws_queryS3Location(input.SourceBundle, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BuildConfiguration.${key}`; + const loc = `SourceBundle.${key}`; entries[loc] = value; }); } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.AutoCreateApplication !== undefined) { + entries["AutoCreateApplication"] = input.AutoCreateApplication; + } + if (input.Process !== undefined) { + entries["Process"] = input.Process; + } if (input.SourceBuildInformation !== undefined) { const memberEntries = serializeAws_querySourceBuildInformation(input.SourceBuildInformation, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4252,29 +4264,17 @@ const serializeAws_queryCreateApplicationVersionMessage = ( entries[loc] = value; }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.BuildConfiguration !== undefined) { + const memberEntries = serializeAws_queryBuildConfiguration(input.BuildConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `BuildConfiguration.${key}`; entries[loc] = value; }); } - if (input.AutoCreateApplication !== undefined) { - entries["AutoCreateApplication"] = input.AutoCreateApplication; - } - if (input.Process !== undefined) { - entries["Process"] = input.Process; - } - if (input.VersionLabel !== undefined) { - entries["VersionLabel"] = input.VersionLabel; - } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } - if (input.SourceBundle !== undefined) { - const memberEntries = serializeAws_queryS3Location(input.SourceBundle, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SourceBundle.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } @@ -4286,31 +4286,22 @@ const serializeAws_queryCreateConfigurationTemplateMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PlatformArn !== undefined) { - entries["PlatformArn"] = input.PlatformArn; + if (input.SolutionStackName !== undefined) { + entries["SolutionStackName"] = input.SolutionStackName; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.TemplateName !== undefined) { + entries["TemplateName"] = input.TemplateName; + } + if (input.SourceConfiguration !== undefined) { + const memberEntries = serializeAws_querySourceConfiguration(input.SourceConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `SourceConfiguration.${key}`; entries[loc] = value; }); } if (input.ApplicationName !== undefined) { entries["ApplicationName"] = input.ApplicationName; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; - } - if (input.SolutionStackName !== undefined) { - entries["SolutionStackName"] = input.SolutionStackName; - } - if (input.TemplateName !== undefined) { - entries["TemplateName"] = input.TemplateName; - } if (input.OptionSettings !== undefined) { const memberEntries = serializeAws_queryConfigurationOptionSettingsList(input.OptionSettings, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4318,28 +4309,50 @@ const serializeAws_queryCreateConfigurationTemplateMessage = ( entries[loc] = value; }); } - if (input.SourceConfiguration !== undefined) { - const memberEntries = serializeAws_querySourceConfiguration(input.SourceConfiguration, context); + if (input.PlatformArn !== undefined) { + entries["PlatformArn"] = input.PlatformArn; + } + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SourceConfiguration.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; const serializeAws_queryCreateEnvironmentMessage = (input: CreateEnvironmentMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.OptionsToRemove !== undefined) { + const memberEntries = serializeAws_queryOptionsSpecifierList(input.OptionsToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `OptionsToRemove.${key}`; entries[loc] = value; }); } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } + if (input.CNAMEPrefix !== undefined) { + entries["CNAMEPrefix"] = input.CNAMEPrefix; + } + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } if (input.OptionSettings !== undefined) { const memberEntries = serializeAws_queryConfigurationOptionSettingsList(input.OptionSettings, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4347,6 +4360,9 @@ const serializeAws_queryCreateEnvironmentMessage = (input: CreateEnvironmentMess entries[loc] = value; }); } + if (input.OperationsRole !== undefined) { + entries["OperationsRole"] = input.OperationsRole; + } if (input.Tier !== undefined) { const memberEntries = serializeAws_queryEnvironmentTier(input.Tier, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4354,8 +4370,11 @@ const serializeAws_queryCreateEnvironmentMessage = (input: CreateEnvironmentMess entries[loc] = value; }); } - if (input.OperationsRole !== undefined) { - entries["OperationsRole"] = input.OperationsRole; + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.SolutionStackName !== undefined) { + entries["SolutionStackName"] = input.SolutionStackName; } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; @@ -4363,31 +4382,12 @@ const serializeAws_queryCreateEnvironmentMessage = (input: CreateEnvironmentMess if (input.VersionLabel !== undefined) { entries["VersionLabel"] = input.VersionLabel; } - if (input.CNAMEPrefix !== undefined) { - entries["CNAMEPrefix"] = input.CNAMEPrefix; - } if (input.ApplicationName !== undefined) { entries["ApplicationName"] = input.ApplicationName; } if (input.PlatformArn !== undefined) { entries["PlatformArn"] = input.PlatformArn; } - if (input.OptionsToRemove !== undefined) { - const memberEntries = serializeAws_queryOptionsSpecifierList(input.OptionsToRemove, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OptionsToRemove.${key}`; - entries[loc] = value; - }); - } - if (input.SolutionStackName !== undefined) { - entries["SolutionStackName"] = input.SolutionStackName; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; - } return entries; }; @@ -4396,17 +4396,20 @@ const serializeAws_queryCreatePlatformVersionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.PlatformDefinitionBundle !== undefined) { + const memberEntries = serializeAws_queryS3Location(input.PlatformDefinitionBundle, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `PlatformDefinitionBundle.${key}`; entries[loc] = value; }); } - if (input.PlatformDefinitionBundle !== undefined) { - const memberEntries = serializeAws_queryS3Location(input.PlatformDefinitionBundle, context); + if (input.PlatformName !== undefined) { + entries["PlatformName"] = input.PlatformName; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PlatformDefinitionBundle.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } @@ -4423,9 +4426,6 @@ const serializeAws_queryCreatePlatformVersionRequest = ( entries[loc] = value; }); } - if (input.PlatformName !== undefined) { - entries["PlatformName"] = input.PlatformName; - } return entries; }; @@ -4445,15 +4445,15 @@ const serializeAws_queryDeleteApplicationVersionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DeleteSourceBundle !== undefined) { - entries["DeleteSourceBundle"] = input.DeleteSourceBundle; - } if (input.ApplicationName !== undefined) { entries["ApplicationName"] = input.ApplicationName; } if (input.VersionLabel !== undefined) { entries["VersionLabel"] = input.VersionLabel; } + if (input.DeleteSourceBundle !== undefined) { + entries["DeleteSourceBundle"] = input.DeleteSourceBundle; + } return entries; }; @@ -4462,12 +4462,12 @@ const serializeAws_queryDeleteConfigurationTemplateMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } return entries; }; @@ -4516,22 +4516,22 @@ const serializeAws_queryDescribeApplicationVersionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.ApplicationName !== undefined) { entries["ApplicationName"] = input.ApplicationName; } - if (input.VersionLabels !== undefined) { + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.VersionLabels !== undefined) { const memberEntries = serializeAws_queryVersionLabelsList(input.VersionLabels, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `VersionLabels.${key}`; entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -4540,12 +4540,14 @@ const serializeAws_queryDescribeConfigurationOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Options !== undefined) { - const memberEntries = serializeAws_queryOptionsSpecifierList(input.Options, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Options.${key}`; - entries[loc] = value; - }); + if (input.TemplateName !== undefined) { + entries["TemplateName"] = input.TemplateName; + } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } + if (input.PlatformArn !== undefined) { + entries["PlatformArn"] = input.PlatformArn; } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; @@ -4553,14 +4555,12 @@ const serializeAws_queryDescribeConfigurationOptionsMessage = ( if (input.SolutionStackName !== undefined) { entries["SolutionStackName"] = input.SolutionStackName; } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } - if (input.TemplateName !== undefined) { - entries["TemplateName"] = input.TemplateName; - } - if (input.PlatformArn !== undefined) { - entries["PlatformArn"] = input.PlatformArn; + if (input.Options !== undefined) { + const memberEntries = serializeAws_queryOptionsSpecifierList(input.Options, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Options.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -4570,14 +4570,14 @@ const serializeAws_queryDescribeConfigurationSettingsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; } return entries; }; @@ -4587,9 +4587,6 @@ const serializeAws_queryDescribeEnvironmentHealthRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; - } if (input.AttributeNames !== undefined) { const memberEntries = serializeAws_queryEnvironmentHealthAttributes(input.AttributeNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4597,6 +4594,9 @@ const serializeAws_queryDescribeEnvironmentHealthRequest = ( entries[loc] = value; }); } + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; + } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } @@ -4608,17 +4608,17 @@ const serializeAws_queryDescribeEnvironmentManagedActionHistoryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; - } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; } return entries; }; @@ -4628,15 +4628,15 @@ const serializeAws_queryDescribeEnvironmentManagedActionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Status !== undefined) { + entries["Status"] = input.Status; + } if (input.EnvironmentId !== undefined) { entries["EnvironmentId"] = input.EnvironmentId; } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } - if (input.Status !== undefined) { - entries["Status"] = input.Status; - } return entries; }; @@ -4659,24 +4659,20 @@ const serializeAws_queryDescribeEnvironmentsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnvironmentNames !== undefined) { - const memberEntries = serializeAws_queryEnvironmentNamesList(input.EnvironmentNames, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnvironmentNames.${key}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } - if (input.IncludedDeletedBackTo !== undefined) { - entries["IncludedDeletedBackTo"] = input.IncludedDeletedBackTo.toISOString().split(".")[0] + "Z"; + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; } if (input.VersionLabel !== undefined) { entries["VersionLabel"] = input.VersionLabel; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; + if (input.IncludeDeleted !== undefined) { + entries["IncludeDeleted"] = input.IncludeDeleted; } if (input.EnvironmentIds !== undefined) { const memberEntries = serializeAws_queryEnvironmentIdList(input.EnvironmentIds, context); @@ -4685,52 +4681,56 @@ const serializeAws_queryDescribeEnvironmentsMessage = ( entries[loc] = value; }); } - if (input.IncludeDeleted !== undefined) { - entries["IncludeDeleted"] = input.IncludeDeleted; + if (input.IncludedDeletedBackTo !== undefined) { + entries["IncludedDeletedBackTo"] = input.IncludedDeletedBackTo.toISOString().split(".")[0] + "Z"; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.EnvironmentNames !== undefined) { + const memberEntries = serializeAws_queryEnvironmentNamesList(input.EnvironmentNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `EnvironmentNames.${key}`; + entries[loc] = value; + }); } return entries; }; const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } - if (input.RequestId !== undefined) { - entries["RequestId"] = input.RequestId; + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; } - if (input.TemplateName !== undefined) { - entries["TemplateName"] = input.TemplateName; + if (input.Severity !== undefined) { + entries["Severity"] = input.Severity; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.VersionLabel !== undefined) { + entries["VersionLabel"] = input.VersionLabel; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } - if (input.PlatformArn !== undefined) { - entries["PlatformArn"] = input.PlatformArn; - } - if (input.Severity !== undefined) { - entries["Severity"] = input.Severity; - } if (input.EnvironmentId !== undefined) { entries["EnvironmentId"] = input.EnvironmentId; } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; + if (input.RequestId !== undefined) { + entries["RequestId"] = input.RequestId; } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } - if (input.VersionLabel !== undefined) { - entries["VersionLabel"] = input.VersionLabel; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.TemplateName !== undefined) { + entries["TemplateName"] = input.TemplateName; + } + if (input.PlatformArn !== undefined) { + entries["PlatformArn"] = input.PlatformArn; } return entries; }; @@ -4750,12 +4750,12 @@ const serializeAws_queryDescribeInstancesHealthRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; - } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; + } return entries; }; @@ -4816,15 +4816,15 @@ const serializeAws_queryEnvironmentNamesList = (input: string[], context: __Serd const serializeAws_queryEnvironmentTier = (input: EnvironmentTier, context: __SerdeContext): any => { const entries: any = {}; + if (input.Version !== undefined) { + entries["Version"] = input.Version; + } if (input.Name !== undefined) { entries["Name"] = input.Name; } if (input.Type !== undefined) { entries["Type"] = input.Type; } - if (input.Version !== undefined) { - entries["Version"] = input.Version; - } return entries; }; @@ -4846,8 +4846,8 @@ const serializeAws_queryListPlatformBranchesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Filters !== undefined) { const memberEntries = serializeAws_querySearchFilters(input.Filters, context); @@ -4856,8 +4856,8 @@ const serializeAws_queryListPlatformBranchesRequest = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; @@ -4867,9 +4867,6 @@ const serializeAws_queryListPlatformVersionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } @@ -4880,6 +4877,9 @@ const serializeAws_queryListPlatformVersionsRequest = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -4910,29 +4910,29 @@ const serializeAws_queryMaxAgeRule = (input: MaxAgeRule, context: __SerdeContext const serializeAws_queryMaxCountRule = (input: MaxCountRule, context: __SerdeContext): any => { const entries: any = {}; - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; - } if (input.MaxCount !== undefined) { entries["MaxCount"] = input.MaxCount; } if (input.DeleteSourceFromS3 !== undefined) { entries["DeleteSourceFromS3"] = input.DeleteSourceFromS3; } + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; + } return entries; }; const serializeAws_queryOptionSpecification = (input: OptionSpecification, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } if (input.OptionName !== undefined) { entries["OptionName"] = input.OptionName; } if (input.Namespace !== undefined) { entries["Namespace"] = input.Namespace; } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } return entries; }; @@ -4954,9 +4954,6 @@ const serializeAws_queryPlatformFilter = (input: PlatformFilter, context: __Serd if (input.Type !== undefined) { entries["Type"] = input.Type; } - if (input.Operator !== undefined) { - entries["Operator"] = input.Operator; - } if (input.Values !== undefined) { const memberEntries = serializeAws_queryPlatformFilterValueList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4964,6 +4961,9 @@ const serializeAws_queryPlatformFilter = (input: PlatformFilter, context: __Serd entries[loc] = value; }); } + if (input.Operator !== undefined) { + entries["Operator"] = input.Operator; + } return entries; }; @@ -4995,12 +4995,12 @@ const serializeAws_queryRebuildEnvironmentMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; - } if (input.EnvironmentId !== undefined) { entries["EnvironmentId"] = input.EnvironmentId; } + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; + } return entries; }; @@ -5012,12 +5012,12 @@ const serializeAws_queryRequestEnvironmentInfoMessage = ( if (input.InfoType !== undefined) { entries["InfoType"] = input.InfoType; } - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; - } if (input.EnvironmentId !== undefined) { entries["EnvironmentId"] = input.EnvironmentId; } + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; + } return entries; }; @@ -5037,34 +5037,31 @@ const serializeAws_queryRetrieveEnvironmentInfoMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InfoType !== undefined) { - entries["InfoType"] = input.InfoType; + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; + if (input.InfoType !== undefined) { + entries["InfoType"] = input.InfoType; } return entries; }; const serializeAws_queryS3Location = (input: S3Location, context: __SerdeContext): any => { const entries: any = {}; - if (input.S3Bucket !== undefined) { - entries["S3Bucket"] = input.S3Bucket; - } if (input.S3Key !== undefined) { entries["S3Key"] = input.S3Key; } + if (input.S3Bucket !== undefined) { + entries["S3Bucket"] = input.S3Bucket; + } return entries; }; const serializeAws_querySearchFilter = (input: SearchFilter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Operator !== undefined) { - entries["Operator"] = input.Operator; - } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } @@ -5075,6 +5072,9 @@ const serializeAws_querySearchFilter = (input: SearchFilter, context: __SerdeCon entries[loc] = value; }); } + if (input.Operator !== undefined) { + entries["Operator"] = input.Operator; + } return entries; }; @@ -5103,26 +5103,26 @@ const serializeAws_querySearchFilterValues = (input: string[], context: __SerdeC const serializeAws_querySourceBuildInformation = (input: SourceBuildInformation, context: __SerdeContext): any => { const entries: any = {}; + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } if (input.SourceLocation !== undefined) { entries["SourceLocation"] = input.SourceLocation; } if (input.SourceRepository !== undefined) { entries["SourceRepository"] = input.SourceRepository; } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } return entries; }; const serializeAws_querySourceConfiguration = (input: SourceConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } return entries; }; @@ -5131,12 +5131,12 @@ const serializeAws_querySwapEnvironmentCNAMEsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SourceEnvironmentName !== undefined) { - entries["SourceEnvironmentName"] = input.SourceEnvironmentName; - } if (input.DestinationEnvironmentName !== undefined) { entries["DestinationEnvironmentName"] = input.DestinationEnvironmentName; } + if (input.SourceEnvironmentName !== undefined) { + entries["SourceEnvironmentName"] = input.SourceEnvironmentName; + } if (input.DestinationEnvironmentId !== undefined) { entries["DestinationEnvironmentId"] = input.DestinationEnvironmentId; } @@ -5148,12 +5148,12 @@ const serializeAws_querySwapEnvironmentCNAMEsMessage = ( const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -5198,29 +5198,29 @@ const serializeAws_queryTerminateEnvironmentMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TerminateResources !== undefined) { + entries["TerminateResources"] = input.TerminateResources; + } if (input.ForceTerminate !== undefined) { entries["ForceTerminate"] = input.ForceTerminate; } - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; - } if (input.EnvironmentName !== undefined) { entries["EnvironmentName"] = input.EnvironmentName; } - if (input.TerminateResources !== undefined) { - entries["TerminateResources"] = input.TerminateResources; + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; } return entries; }; const serializeAws_queryUpdateApplicationMessage = (input: UpdateApplicationMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } return entries; }; @@ -5229,6 +5229,9 @@ const serializeAws_queryUpdateApplicationResourceLifecycleMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } if (input.ResourceLifecycleConfig !== undefined) { const memberEntries = serializeAws_queryApplicationResourceLifecycleConfig(input.ResourceLifecycleConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5236,9 +5239,6 @@ const serializeAws_queryUpdateApplicationResourceLifecycleMessage = ( entries[loc] = value; }); } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } return entries; }; @@ -5247,15 +5247,15 @@ const serializeAws_queryUpdateApplicationVersionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.VersionLabel !== undefined) { entries["VersionLabel"] = input.VersionLabel; } if (input.ApplicationName !== undefined) { entries["ApplicationName"] = input.ApplicationName; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; @@ -5264,9 +5264,6 @@ const serializeAws_queryUpdateConfigurationTemplateMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } @@ -5277,6 +5274,12 @@ const serializeAws_queryUpdateConfigurationTemplateMessage = ( entries[loc] = value; }); } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } if (input.OptionsToRemove !== undefined) { const memberEntries = serializeAws_queryOptionsSpecifierList(input.OptionsToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5284,41 +5287,28 @@ const serializeAws_queryUpdateConfigurationTemplateMessage = ( entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } return entries; }; const serializeAws_queryUpdateEnvironmentMessage = (input: UpdateEnvironmentMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.OptionsToRemove !== undefined) { - const memberEntries = serializeAws_queryOptionsSpecifierList(input.OptionsToRemove, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OptionsToRemove.${key}`; - entries[loc] = value; - }); - } - if (input.TemplateName !== undefined) { - entries["TemplateName"] = input.TemplateName; - } - if (input.SolutionStackName !== undefined) { - entries["SolutionStackName"] = input.SolutionStackName; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } - if (input.EnvironmentId !== undefined) { - entries["EnvironmentId"] = input.EnvironmentId; + if (input.VersionLabel !== undefined) { + entries["VersionLabel"] = input.VersionLabel; } - if (input.PlatformArn !== undefined) { - entries["PlatformArn"] = input.PlatformArn; + if (input.SolutionStackName !== undefined) { + entries["SolutionStackName"] = input.SolutionStackName; } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; + } + if (input.EnvironmentId !== undefined) { + entries["EnvironmentId"] = input.EnvironmentId; } if (input.Tier !== undefined) { const memberEntries = serializeAws_queryEnvironmentTier(input.Tier, context); @@ -5327,8 +5317,15 @@ const serializeAws_queryUpdateEnvironmentMessage = (input: UpdateEnvironmentMess entries[loc] = value; }); } - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; + if (input.OptionsToRemove !== undefined) { + const memberEntries = serializeAws_queryOptionsSpecifierList(input.OptionsToRemove, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `OptionsToRemove.${key}`; + entries[loc] = value; + }); + } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; } if (input.OptionSettings !== undefined) { const memberEntries = serializeAws_queryConfigurationOptionSettingsList(input.OptionSettings, context); @@ -5337,8 +5334,11 @@ const serializeAws_queryUpdateEnvironmentMessage = (input: UpdateEnvironmentMess entries[loc] = value; }); } - if (input.VersionLabel !== undefined) { - entries["VersionLabel"] = input.VersionLabel; + if (input.TemplateName !== undefined) { + entries["TemplateName"] = input.TemplateName; + } + if (input.PlatformArn !== undefined) { + entries["PlatformArn"] = input.PlatformArn; } return entries; }; @@ -5348,6 +5348,9 @@ const serializeAws_queryUpdateTagsForResourceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ResourceArn !== undefined) { + entries["ResourceArn"] = input.ResourceArn; + } if (input.TagsToRemove !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagsToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5362,9 +5365,6 @@ const serializeAws_queryUpdateTagsForResourceMessage = ( entries[loc] = value; }); } - if (input.ResourceArn !== undefined) { - entries["ResourceArn"] = input.ResourceArn; - } return entries; }; @@ -5373,12 +5373,6 @@ const serializeAws_queryValidateConfigurationSettingsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnvironmentName !== undefined) { - entries["EnvironmentName"] = input.EnvironmentName; - } - if (input.ApplicationName !== undefined) { - entries["ApplicationName"] = input.ApplicationName; - } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } @@ -5389,6 +5383,12 @@ const serializeAws_queryValidateConfigurationSettingsMessage = ( entries[loc] = value; }); } + if (input.ApplicationName !== undefined) { + entries["ApplicationName"] = input.ApplicationName; + } + if (input.EnvironmentName !== undefined) { + entries["EnvironmentName"] = input.EnvironmentName; + } return entries; }; @@ -5414,20 +5414,32 @@ const serializeAws_queryVersionLabelsList = (input: string[], context: __SerdeCo const deserializeAws_queryApplicationDescription = (output: any, context: __SerdeContext): ApplicationDescription => { let contents: any = { - DateUpdated: undefined, - ApplicationName: undefined, - Versions: undefined, - ResourceLifecycleConfig: undefined, - Description: undefined, ApplicationArn: undefined, + Description: undefined, ConfigurationTemplates: undefined, DateCreated: undefined, + Versions: undefined, + ApplicationName: undefined, + DateUpdated: undefined, + ResourceLifecycleConfig: undefined, }; - if (output["DateUpdated"] !== undefined) { - contents.DateUpdated = new Date(output["DateUpdated"]); + if (output["ApplicationArn"] !== undefined) { + contents.ApplicationArn = output["ApplicationArn"]; } - if (output["ApplicationName"] !== undefined) { - contents.ApplicationName = output["ApplicationName"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output.ConfigurationTemplates === "") { + contents.ConfigurationTemplates = []; + } + if (output["ConfigurationTemplates"] !== undefined && output["ConfigurationTemplates"]["member"] !== undefined) { + contents.ConfigurationTemplates = deserializeAws_queryConfigurationTemplateNamesList( + __getArrayIfSingleItem(output["ConfigurationTemplates"]["member"]), + context + ); + } + if (output["DateCreated"] !== undefined) { + contents.DateCreated = new Date(output["DateCreated"]); } if (output.Versions === "") { contents.Versions = []; @@ -5438,30 +5450,18 @@ const deserializeAws_queryApplicationDescription = (output: any, context: __Serd context ); } + if (output["ApplicationName"] !== undefined) { + contents.ApplicationName = output["ApplicationName"]; + } + if (output["DateUpdated"] !== undefined) { + contents.DateUpdated = new Date(output["DateUpdated"]); + } if (output["ResourceLifecycleConfig"] !== undefined) { contents.ResourceLifecycleConfig = deserializeAws_queryApplicationResourceLifecycleConfig( output["ResourceLifecycleConfig"], context ); } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["ApplicationArn"] !== undefined) { - contents.ApplicationArn = output["ApplicationArn"]; - } - if (output.ConfigurationTemplates === "") { - contents.ConfigurationTemplates = []; - } - if (output["ConfigurationTemplates"] !== undefined && output["ConfigurationTemplates"]["member"] !== undefined) { - contents.ConfigurationTemplates = deserializeAws_queryConfigurationTemplateNamesList( - __getArrayIfSingleItem(output["ConfigurationTemplates"]["member"]), - context - ); - } - if (output["DateCreated"] !== undefined) { - contents.DateCreated = new Date(output["DateCreated"]); - } return contents; }; @@ -5506,23 +5506,23 @@ const deserializeAws_queryApplicationDescriptionsMessage = ( const deserializeAws_queryApplicationMetrics = (output: any, context: __SerdeContext): ApplicationMetrics => { let contents: any = { - Latency: undefined, RequestCount: undefined, - StatusCodes: undefined, + Latency: undefined, Duration: undefined, + StatusCodes: undefined, }; - if (output["Latency"] !== undefined) { - contents.Latency = deserializeAws_queryLatency(output["Latency"], context); - } if (output["RequestCount"] !== undefined) { contents.RequestCount = parseInt(output["RequestCount"]); } - if (output["StatusCodes"] !== undefined) { - contents.StatusCodes = deserializeAws_queryStatusCodes(output["StatusCodes"], context); + if (output["Latency"] !== undefined) { + contents.Latency = deserializeAws_queryLatency(output["Latency"], context); } if (output["Duration"] !== undefined) { contents.Duration = parseInt(output["Duration"]); } + if (output["StatusCodes"] !== undefined) { + contents.StatusCodes = deserializeAws_queryStatusCodes(output["StatusCodes"], context); + } return contents; }; @@ -5531,18 +5531,18 @@ const deserializeAws_queryApplicationResourceLifecycleConfig = ( context: __SerdeContext ): ApplicationResourceLifecycleConfig => { let contents: any = { - ServiceRole: undefined, VersionLifecycleConfig: undefined, + ServiceRole: undefined, }; - if (output["ServiceRole"] !== undefined) { - contents.ServiceRole = output["ServiceRole"]; - } if (output["VersionLifecycleConfig"] !== undefined) { contents.VersionLifecycleConfig = deserializeAws_queryApplicationVersionLifecycleConfig( output["VersionLifecycleConfig"], context ); } + if (output["ServiceRole"] !== undefined) { + contents.ServiceRole = output["ServiceRole"]; + } return contents; }; @@ -5551,18 +5551,18 @@ const deserializeAws_queryApplicationResourceLifecycleDescriptionMessage = ( context: __SerdeContext ): ApplicationResourceLifecycleDescriptionMessage => { let contents: any = { - ApplicationName: undefined, ResourceLifecycleConfig: undefined, + ApplicationName: undefined, }; - if (output["ApplicationName"] !== undefined) { - contents.ApplicationName = output["ApplicationName"]; - } if (output["ResourceLifecycleConfig"] !== undefined) { contents.ResourceLifecycleConfig = deserializeAws_queryApplicationResourceLifecycleConfig( output["ResourceLifecycleConfig"], context ); } + if (output["ApplicationName"] !== undefined) { + contents.ApplicationName = output["ApplicationName"]; + } return contents; }; @@ -5571,25 +5571,22 @@ const deserializeAws_queryApplicationVersionDescription = ( context: __SerdeContext ): ApplicationVersionDescription => { let contents: any = { - ApplicationName: undefined, - SourceBundle: undefined, - DateUpdated: undefined, + BuildArn: undefined, + Description: undefined, SourceBuildInformation: undefined, - VersionLabel: undefined, + DateCreated: undefined, + SourceBundle: undefined, + ApplicationName: undefined, Status: undefined, - Description: undefined, - BuildArn: undefined, ApplicationVersionArn: undefined, - DateCreated: undefined, + VersionLabel: undefined, + DateUpdated: undefined, }; - if (output["ApplicationName"] !== undefined) { - contents.ApplicationName = output["ApplicationName"]; - } - if (output["SourceBundle"] !== undefined) { - contents.SourceBundle = deserializeAws_queryS3Location(output["SourceBundle"], context); + if (output["BuildArn"] !== undefined) { + contents.BuildArn = output["BuildArn"]; } - if (output["DateUpdated"] !== undefined) { - contents.DateUpdated = new Date(output["DateUpdated"]); + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } if (output["SourceBuildInformation"] !== undefined) { contents.SourceBuildInformation = deserializeAws_querySourceBuildInformation( @@ -5597,23 +5594,26 @@ const deserializeAws_queryApplicationVersionDescription = ( context ); } - if (output["VersionLabel"] !== undefined) { - contents.VersionLabel = output["VersionLabel"]; + if (output["DateCreated"] !== undefined) { + contents.DateCreated = new Date(output["DateCreated"]); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["SourceBundle"] !== undefined) { + contents.SourceBundle = deserializeAws_queryS3Location(output["SourceBundle"], context); } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["ApplicationName"] !== undefined) { + contents.ApplicationName = output["ApplicationName"]; } - if (output["BuildArn"] !== undefined) { - contents.BuildArn = output["BuildArn"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["ApplicationVersionArn"] !== undefined) { contents.ApplicationVersionArn = output["ApplicationVersionArn"]; } - if (output["DateCreated"] !== undefined) { - contents.DateCreated = new Date(output["DateCreated"]); + if (output["VersionLabel"] !== undefined) { + contents.VersionLabel = output["VersionLabel"]; + } + if (output["DateUpdated"] !== undefined) { + contents.DateUpdated = new Date(output["DateUpdated"]); } return contents; }; @@ -5646,9 +5646,12 @@ const deserializeAws_queryApplicationVersionDescriptionsMessage = ( context: __SerdeContext ): ApplicationVersionDescriptionsMessage => { let contents: any = { - ApplicationVersions: undefined, NextToken: undefined, + ApplicationVersions: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.ApplicationVersions === "") { contents.ApplicationVersions = []; } @@ -5658,9 +5661,6 @@ const deserializeAws_queryApplicationVersionDescriptionsMessage = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -5669,15 +5669,15 @@ const deserializeAws_queryApplicationVersionLifecycleConfig = ( context: __SerdeContext ): ApplicationVersionLifecycleConfig => { let contents: any = { - MaxCountRule: undefined, MaxAgeRule: undefined, + MaxCountRule: undefined, }; - if (output["MaxCountRule"] !== undefined) { - contents.MaxCountRule = deserializeAws_queryMaxCountRule(output["MaxCountRule"], context); - } if (output["MaxAgeRule"] !== undefined) { contents.MaxAgeRule = deserializeAws_queryMaxAgeRule(output["MaxAgeRule"], context); } + if (output["MaxCountRule"] !== undefined) { + contents.MaxCountRule = deserializeAws_queryMaxCountRule(output["MaxCountRule"], context); + } return contents; }; @@ -5686,22 +5686,22 @@ const deserializeAws_queryApplyEnvironmentManagedActionResult = ( context: __SerdeContext ): ApplyEnvironmentManagedActionResult => { let contents: any = { + ActionType: undefined, ActionDescription: undefined, - Status: undefined, ActionId: undefined, - ActionType: undefined, + Status: undefined, }; + if (output["ActionType"] !== undefined) { + contents.ActionType = output["ActionType"]; + } if (output["ActionDescription"] !== undefined) { contents.ActionDescription = output["ActionDescription"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["ActionId"] !== undefined) { contents.ActionId = output["ActionId"]; } - if (output["ActionType"] !== undefined) { - contents.ActionType = output["ActionType"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -5750,15 +5750,15 @@ const deserializeAws_queryCheckDNSAvailabilityResultMessage = ( context: __SerdeContext ): CheckDNSAvailabilityResultMessage => { let contents: any = { - Available: undefined, FullyQualifiedCNAME: undefined, + Available: undefined, }; - if (output["Available"] !== undefined) { - contents.Available = output["Available"] == "true"; - } if (output["FullyQualifiedCNAME"] !== undefined) { contents.FullyQualifiedCNAME = output["FullyQualifiedCNAME"]; } + if (output["Available"] !== undefined) { + contents.Available = output["Available"] == "true"; + } return contents; }; @@ -5780,44 +5780,32 @@ const deserializeAws_queryConfigurationOptionDescription = ( context: __SerdeContext ): ConfigurationOptionDescription => { let contents: any = { - DefaultValue: undefined, - ChangeSeverity: undefined, - MaxLength: undefined, - UserDefined: undefined, - Name: undefined, Namespace: undefined, - MaxValue: undefined, - MinValue: undefined, Regex: undefined, + MaxLength: undefined, + MinValue: undefined, + Name: undefined, ValueOptions: undefined, + ChangeSeverity: undefined, ValueType: undefined, + DefaultValue: undefined, + UserDefined: undefined, + MaxValue: undefined, }; - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; + if (output["Namespace"] !== undefined) { + contents.Namespace = output["Namespace"]; } - if (output["ChangeSeverity"] !== undefined) { - contents.ChangeSeverity = output["ChangeSeverity"]; + if (output["Regex"] !== undefined) { + contents.Regex = deserializeAws_queryOptionRestrictionRegex(output["Regex"], context); } if (output["MaxLength"] !== undefined) { contents.MaxLength = parseInt(output["MaxLength"]); } - if (output["UserDefined"] !== undefined) { - contents.UserDefined = output["UserDefined"] == "true"; - } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } - if (output["Namespace"] !== undefined) { - contents.Namespace = output["Namespace"]; - } - if (output["MaxValue"] !== undefined) { - contents.MaxValue = parseInt(output["MaxValue"]); - } if (output["MinValue"] !== undefined) { contents.MinValue = parseInt(output["MinValue"]); } - if (output["Regex"] !== undefined) { - contents.Regex = deserializeAws_queryOptionRestrictionRegex(output["Regex"], context); + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; } if (output.ValueOptions === "") { contents.ValueOptions = []; @@ -5828,9 +5816,21 @@ const deserializeAws_queryConfigurationOptionDescription = ( context ); } + if (output["ChangeSeverity"] !== undefined) { + contents.ChangeSeverity = output["ChangeSeverity"]; + } if (output["ValueType"] !== undefined) { contents.ValueType = output["ValueType"]; } + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; + } + if (output["UserDefined"] !== undefined) { + contents.UserDefined = output["UserDefined"] == "true"; + } + if (output["MaxValue"] !== undefined) { + contents.MaxValue = parseInt(output["MaxValue"]); + } return contents; }; @@ -5850,13 +5850,10 @@ const deserializeAws_queryConfigurationOptionsDescription = ( context: __SerdeContext ): ConfigurationOptionsDescription => { let contents: any = { - PlatformArn: undefined, SolutionStackName: undefined, Options: undefined, + PlatformArn: undefined, }; - if (output["PlatformArn"] !== undefined) { - contents.PlatformArn = output["PlatformArn"]; - } if (output["SolutionStackName"] !== undefined) { contents.SolutionStackName = output["SolutionStackName"]; } @@ -5869,6 +5866,9 @@ const deserializeAws_queryConfigurationOptionsDescription = ( context ); } + if (output["PlatformArn"] !== undefined) { + contents.PlatformArn = output["PlatformArn"]; + } return contents; }; @@ -5877,23 +5877,23 @@ const deserializeAws_queryConfigurationOptionSetting = ( context: __SerdeContext ): ConfigurationOptionSetting => { let contents: any = { - OptionName: undefined, - ResourceName: undefined, Value: undefined, Namespace: undefined, + OptionName: undefined, + ResourceName: undefined, }; - if (output["OptionName"] !== undefined) { - contents.OptionName = output["OptionName"]; - } - if (output["ResourceName"] !== undefined) { - contents.ResourceName = output["ResourceName"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } if (output["Namespace"] !== undefined) { contents.Namespace = output["Namespace"]; } + if (output["OptionName"] !== undefined) { + contents.OptionName = output["OptionName"]; + } + if (output["ResourceName"] !== undefined) { + contents.ResourceName = output["ResourceName"]; + } return contents; }; @@ -5909,29 +5909,17 @@ const deserializeAws_queryConfigurationSettingsDescription = ( context: __SerdeContext ): ConfigurationSettingsDescription => { let contents: any = { - EnvironmentName: undefined, + OptionSettings: undefined, PlatformArn: undefined, + DeploymentStatus: undefined, + TemplateName: undefined, ApplicationName: undefined, - DateUpdated: undefined, - OptionSettings: undefined, - SolutionStackName: undefined, - Description: undefined, DateCreated: undefined, - TemplateName: undefined, - DeploymentStatus: undefined, + Description: undefined, + SolutionStackName: undefined, + DateUpdated: undefined, + EnvironmentName: undefined, }; - if (output["EnvironmentName"] !== undefined) { - contents.EnvironmentName = output["EnvironmentName"]; - } - if (output["PlatformArn"] !== undefined) { - contents.PlatformArn = output["PlatformArn"]; - } - if (output["ApplicationName"] !== undefined) { - contents.ApplicationName = output["ApplicationName"]; - } - if (output["DateUpdated"] !== undefined) { - contents.DateUpdated = new Date(output["DateUpdated"]); - } if (output.OptionSettings === "") { contents.OptionSettings = []; } @@ -5941,20 +5929,32 @@ const deserializeAws_queryConfigurationSettingsDescription = ( context ); } - if (output["SolutionStackName"] !== undefined) { - contents.SolutionStackName = output["SolutionStackName"]; + if (output["PlatformArn"] !== undefined) { + contents.PlatformArn = output["PlatformArn"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["DeploymentStatus"] !== undefined) { + contents.DeploymentStatus = output["DeploymentStatus"]; + } + if (output["TemplateName"] !== undefined) { + contents.TemplateName = output["TemplateName"]; + } + if (output["ApplicationName"] !== undefined) { + contents.ApplicationName = output["ApplicationName"]; } if (output["DateCreated"] !== undefined) { contents.DateCreated = new Date(output["DateCreated"]); } - if (output["TemplateName"] !== undefined) { - contents.TemplateName = output["TemplateName"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } - if (output["DeploymentStatus"] !== undefined) { - contents.DeploymentStatus = output["DeploymentStatus"]; + if (output["SolutionStackName"] !== undefined) { + contents.SolutionStackName = output["SolutionStackName"]; + } + if (output["DateUpdated"] !== undefined) { + contents.DateUpdated = new Date(output["DateUpdated"]); + } + if (output["EnvironmentName"] !== undefined) { + contents.EnvironmentName = output["EnvironmentName"]; } return contents; }; @@ -6010,20 +6010,20 @@ const deserializeAws_queryConfigurationTemplateNamesList = (output: any, context const deserializeAws_queryCPUUtilization = (output: any, context: __SerdeContext): CPUUtilization => { let contents: any = { - User: undefined, - Idle: undefined, + Nice: undefined, + SoftIRQ: undefined, IRQ: undefined, Privileged: undefined, - SoftIRQ: undefined, - IOWait: undefined, + Idle: undefined, + User: undefined, System: undefined, - Nice: undefined, + IOWait: undefined, }; - if (output["User"] !== undefined) { - contents.User = parseFloat(output["User"]); + if (output["Nice"] !== undefined) { + contents.Nice = parseFloat(output["Nice"]); } - if (output["Idle"] !== undefined) { - contents.Idle = parseFloat(output["Idle"]); + if (output["SoftIRQ"] !== undefined) { + contents.SoftIRQ = parseFloat(output["SoftIRQ"]); } if (output["IRQ"] !== undefined) { contents.IRQ = parseFloat(output["IRQ"]); @@ -6031,17 +6031,17 @@ const deserializeAws_queryCPUUtilization = (output: any, context: __SerdeContext if (output["Privileged"] !== undefined) { contents.Privileged = parseFloat(output["Privileged"]); } - if (output["SoftIRQ"] !== undefined) { - contents.SoftIRQ = parseFloat(output["SoftIRQ"]); + if (output["Idle"] !== undefined) { + contents.Idle = parseFloat(output["Idle"]); } - if (output["IOWait"] !== undefined) { - contents.IOWait = parseFloat(output["IOWait"]); + if (output["User"] !== undefined) { + contents.User = parseFloat(output["User"]); } if (output["System"] !== undefined) { contents.System = parseFloat(output["System"]); } - if (output["Nice"] !== undefined) { - contents.Nice = parseFloat(output["Nice"]); + if (output["IOWait"] !== undefined) { + contents.IOWait = parseFloat(output["IOWait"]); } return contents; }; @@ -6051,15 +6051,15 @@ const deserializeAws_queryCreatePlatformVersionResult = ( context: __SerdeContext ): CreatePlatformVersionResult => { let contents: any = { - Builder: undefined, PlatformSummary: undefined, + Builder: undefined, }; - if (output["Builder"] !== undefined) { - contents.Builder = deserializeAws_queryBuilder(output["Builder"], context); - } if (output["PlatformSummary"] !== undefined) { contents.PlatformSummary = deserializeAws_queryPlatformSummary(output["PlatformSummary"], context); } + if (output["Builder"] !== undefined) { + contents.Builder = deserializeAws_queryBuilder(output["Builder"], context); + } return contents; }; @@ -6078,15 +6078,15 @@ const deserializeAws_queryCreateStorageLocationResultMessage = ( const deserializeAws_queryCustomAmi = (output: any, context: __SerdeContext): CustomAmi => { let contents: any = { - VirtualizationType: undefined, ImageId: undefined, + VirtualizationType: undefined, }; - if (output["VirtualizationType"] !== undefined) { - contents.VirtualizationType = output["VirtualizationType"]; - } if (output["ImageId"] !== undefined) { contents.ImageId = output["ImageId"]; } + if (output["VirtualizationType"] !== undefined) { + contents.VirtualizationType = output["VirtualizationType"]; + } return contents; }; @@ -6110,22 +6110,22 @@ const deserializeAws_queryDeletePlatformVersionResult = ( const deserializeAws_queryDeployment = (output: any, context: __SerdeContext): Deployment => { let contents: any = { VersionLabel: undefined, - DeploymentId: undefined, Status: undefined, DeploymentTime: undefined, + DeploymentId: undefined, }; if (output["VersionLabel"] !== undefined) { contents.VersionLabel = output["VersionLabel"]; } - if (output["DeploymentId"] !== undefined) { - contents.DeploymentId = parseInt(output["DeploymentId"]); - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["DeploymentTime"] !== undefined) { contents.DeploymentTime = new Date(output["DeploymentTime"]); } + if (output["DeploymentId"] !== undefined) { + contents.DeploymentId = parseInt(output["DeploymentId"]); + } return contents; }; @@ -6147,41 +6147,41 @@ const deserializeAws_queryDescribeEnvironmentHealthResult = ( context: __SerdeContext ): DescribeEnvironmentHealthResult => { let contents: any = { + HealthStatus: undefined, + Status: undefined, + Color: undefined, EnvironmentName: undefined, ApplicationMetrics: undefined, + Causes: undefined, InstancesHealth: undefined, RefreshedAt: undefined, - Causes: undefined, - Color: undefined, - Status: undefined, - HealthStatus: undefined, }; + if (output["HealthStatus"] !== undefined) { + contents.HealthStatus = output["HealthStatus"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["Color"] !== undefined) { + contents.Color = output["Color"]; + } if (output["EnvironmentName"] !== undefined) { contents.EnvironmentName = output["EnvironmentName"]; } if (output["ApplicationMetrics"] !== undefined) { contents.ApplicationMetrics = deserializeAws_queryApplicationMetrics(output["ApplicationMetrics"], context); } - if (output["InstancesHealth"] !== undefined) { - contents.InstancesHealth = deserializeAws_queryInstanceHealthSummary(output["InstancesHealth"], context); - } - if (output["RefreshedAt"] !== undefined) { - contents.RefreshedAt = new Date(output["RefreshedAt"]); - } if (output.Causes === "") { contents.Causes = []; } if (output["Causes"] !== undefined && output["Causes"]["member"] !== undefined) { contents.Causes = deserializeAws_queryCauses(__getArrayIfSingleItem(output["Causes"]["member"]), context); } - if (output["Color"] !== undefined) { - contents.Color = output["Color"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["InstancesHealth"] !== undefined) { + contents.InstancesHealth = deserializeAws_queryInstanceHealthSummary(output["InstancesHealth"], context); } - if (output["HealthStatus"] !== undefined) { - contents.HealthStatus = output["HealthStatus"]; + if (output["RefreshedAt"] !== undefined) { + contents.RefreshedAt = new Date(output["RefreshedAt"]); } return contents; }; @@ -6236,10 +6236,16 @@ const deserializeAws_queryDescribeInstancesHealthResult = ( context: __SerdeContext ): DescribeInstancesHealthResult => { let contents: any = { - InstanceHealthList: undefined, - RefreshedAt: undefined, NextToken: undefined, + RefreshedAt: undefined, + InstanceHealthList: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } + if (output["RefreshedAt"] !== undefined) { + contents.RefreshedAt = new Date(output["RefreshedAt"]); + } if (output.InstanceHealthList === "") { contents.InstanceHealthList = []; } @@ -6249,12 +6255,6 @@ const deserializeAws_queryDescribeInstancesHealthResult = ( context ); } - if (output["RefreshedAt"] !== undefined) { - contents.RefreshedAt = new Date(output["RefreshedAt"]); - } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -6286,57 +6286,36 @@ const deserializeAws_queryElasticBeanstalkServiceException = ( const deserializeAws_queryEnvironmentDescription = (output: any, context: __SerdeContext): EnvironmentDescription => { let contents: any = { - AbortableOperationInProgress: undefined, - TemplateName: undefined, - HealthStatus: undefined, - EnvironmentLinks: undefined, - Resources: undefined, - Health: undefined, - VersionLabel: undefined, - SolutionStackName: undefined, + EndpointURL: undefined, + ApplicationName: undefined, + PlatformArn: undefined, DateUpdated: undefined, EnvironmentName: undefined, + DateCreated: undefined, Description: undefined, EnvironmentArn: undefined, - Status: undefined, - ApplicationName: undefined, - CNAME: undefined, - PlatformArn: undefined, - EndpointURL: undefined, - DateCreated: undefined, + VersionLabel: undefined, + Health: undefined, + HealthStatus: undefined, + EnvironmentId: undefined, + AbortableOperationInProgress: undefined, + SolutionStackName: undefined, Tier: undefined, + CNAME: undefined, OperationsRole: undefined, - EnvironmentId: undefined, + TemplateName: undefined, + Resources: undefined, + EnvironmentLinks: undefined, + Status: undefined, }; - if (output["AbortableOperationInProgress"] !== undefined) { - contents.AbortableOperationInProgress = output["AbortableOperationInProgress"] == "true"; - } - if (output["TemplateName"] !== undefined) { - contents.TemplateName = output["TemplateName"]; - } - if (output["HealthStatus"] !== undefined) { - contents.HealthStatus = output["HealthStatus"]; - } - if (output.EnvironmentLinks === "") { - contents.EnvironmentLinks = []; - } - if (output["EnvironmentLinks"] !== undefined && output["EnvironmentLinks"]["member"] !== undefined) { - contents.EnvironmentLinks = deserializeAws_queryEnvironmentLinks( - __getArrayIfSingleItem(output["EnvironmentLinks"]["member"]), - context - ); - } - if (output["Resources"] !== undefined) { - contents.Resources = deserializeAws_queryEnvironmentResourcesDescription(output["Resources"], context); - } - if (output["Health"] !== undefined) { - contents.Health = output["Health"]; + if (output["EndpointURL"] !== undefined) { + contents.EndpointURL = output["EndpointURL"]; } - if (output["VersionLabel"] !== undefined) { - contents.VersionLabel = output["VersionLabel"]; + if (output["ApplicationName"] !== undefined) { + contents.ApplicationName = output["ApplicationName"]; } - if (output["SolutionStackName"] !== undefined) { - contents.SolutionStackName = output["SolutionStackName"]; + if (output["PlatformArn"] !== undefined) { + contents.PlatformArn = output["PlatformArn"]; } if (output["DateUpdated"] !== undefined) { contents.DateUpdated = new Date(output["DateUpdated"]); @@ -6344,38 +6323,59 @@ const deserializeAws_queryEnvironmentDescription = (output: any, context: __Serd if (output["EnvironmentName"] !== undefined) { contents.EnvironmentName = output["EnvironmentName"]; } + if (output["DateCreated"] !== undefined) { + contents.DateCreated = new Date(output["DateCreated"]); + } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } if (output["EnvironmentArn"] !== undefined) { contents.EnvironmentArn = output["EnvironmentArn"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["VersionLabel"] !== undefined) { + contents.VersionLabel = output["VersionLabel"]; } - if (output["ApplicationName"] !== undefined) { - contents.ApplicationName = output["ApplicationName"]; + if (output["Health"] !== undefined) { + contents.Health = output["Health"]; } - if (output["CNAME"] !== undefined) { - contents.CNAME = output["CNAME"]; + if (output["HealthStatus"] !== undefined) { + contents.HealthStatus = output["HealthStatus"]; } - if (output["PlatformArn"] !== undefined) { - contents.PlatformArn = output["PlatformArn"]; + if (output["EnvironmentId"] !== undefined) { + contents.EnvironmentId = output["EnvironmentId"]; } - if (output["EndpointURL"] !== undefined) { - contents.EndpointURL = output["EndpointURL"]; + if (output["AbortableOperationInProgress"] !== undefined) { + contents.AbortableOperationInProgress = output["AbortableOperationInProgress"] == "true"; } - if (output["DateCreated"] !== undefined) { - contents.DateCreated = new Date(output["DateCreated"]); + if (output["SolutionStackName"] !== undefined) { + contents.SolutionStackName = output["SolutionStackName"]; } if (output["Tier"] !== undefined) { contents.Tier = deserializeAws_queryEnvironmentTier(output["Tier"], context); } + if (output["CNAME"] !== undefined) { + contents.CNAME = output["CNAME"]; + } if (output["OperationsRole"] !== undefined) { contents.OperationsRole = output["OperationsRole"]; } - if (output["EnvironmentId"] !== undefined) { - contents.EnvironmentId = output["EnvironmentId"]; + if (output["TemplateName"] !== undefined) { + contents.TemplateName = output["TemplateName"]; + } + if (output["Resources"] !== undefined) { + contents.Resources = deserializeAws_queryEnvironmentResourcesDescription(output["Resources"], context); + } + if (output.EnvironmentLinks === "") { + contents.EnvironmentLinks = []; + } + if (output["EnvironmentLinks"] !== undefined && output["EnvironmentLinks"]["member"] !== undefined) { + contents.EnvironmentLinks = deserializeAws_queryEnvironmentLinks( + __getArrayIfSingleItem(output["EnvironmentLinks"]["member"]), + context + ); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -6392,9 +6392,12 @@ const deserializeAws_queryEnvironmentDescriptionsMessage = ( context: __SerdeContext ): EnvironmentDescriptionsMessage => { let contents: any = { - Environments: undefined, NextToken: undefined, + Environments: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.Environments === "") { contents.Environments = []; } @@ -6404,9 +6407,6 @@ const deserializeAws_queryEnvironmentDescriptionsMessage = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -6465,21 +6465,27 @@ const deserializeAws_queryEnvironmentResourceDescription = ( context: __SerdeContext ): EnvironmentResourceDescription => { let contents: any = { - Instances: undefined, - AutoScalingGroups: undefined, - EnvironmentName: undefined, - Triggers: undefined, Queues: undefined, - LoadBalancers: undefined, LaunchTemplates: undefined, + AutoScalingGroups: undefined, + LoadBalancers: undefined, + Instances: undefined, LaunchConfigurations: undefined, + EnvironmentName: undefined, + Triggers: undefined, }; - if (output.Instances === "") { - contents.Instances = []; + if (output.Queues === "") { + contents.Queues = []; } - if (output["Instances"] !== undefined && output["Instances"]["member"] !== undefined) { - contents.Instances = deserializeAws_queryInstanceList( - __getArrayIfSingleItem(output["Instances"]["member"]), + if (output["Queues"] !== undefined && output["Queues"]["member"] !== undefined) { + contents.Queues = deserializeAws_queryQueueList(__getArrayIfSingleItem(output["Queues"]["member"]), context); + } + if (output.LaunchTemplates === "") { + contents.LaunchTemplates = []; + } + if (output["LaunchTemplates"] !== undefined && output["LaunchTemplates"]["member"] !== undefined) { + contents.LaunchTemplates = deserializeAws_queryLaunchTemplateList( + __getArrayIfSingleItem(output["LaunchTemplates"]["member"]), context ); } @@ -6492,21 +6498,6 @@ const deserializeAws_queryEnvironmentResourceDescription = ( context ); } - if (output["EnvironmentName"] !== undefined) { - contents.EnvironmentName = output["EnvironmentName"]; - } - if (output.Triggers === "") { - contents.Triggers = []; - } - if (output["Triggers"] !== undefined && output["Triggers"]["member"] !== undefined) { - contents.Triggers = deserializeAws_queryTriggerList(__getArrayIfSingleItem(output["Triggers"]["member"]), context); - } - if (output.Queues === "") { - contents.Queues = []; - } - if (output["Queues"] !== undefined && output["Queues"]["member"] !== undefined) { - contents.Queues = deserializeAws_queryQueueList(__getArrayIfSingleItem(output["Queues"]["member"]), context); - } if (output.LoadBalancers === "") { contents.LoadBalancers = []; } @@ -6516,12 +6507,12 @@ const deserializeAws_queryEnvironmentResourceDescription = ( context ); } - if (output.LaunchTemplates === "") { - contents.LaunchTemplates = []; + if (output.Instances === "") { + contents.Instances = []; } - if (output["LaunchTemplates"] !== undefined && output["LaunchTemplates"]["member"] !== undefined) { - contents.LaunchTemplates = deserializeAws_queryLaunchTemplateList( - __getArrayIfSingleItem(output["LaunchTemplates"]["member"]), + if (output["Instances"] !== undefined && output["Instances"]["member"] !== undefined) { + contents.Instances = deserializeAws_queryInstanceList( + __getArrayIfSingleItem(output["Instances"]["member"]), context ); } @@ -6534,6 +6525,15 @@ const deserializeAws_queryEnvironmentResourceDescription = ( context ); } + if (output["EnvironmentName"] !== undefined) { + contents.EnvironmentName = output["EnvironmentName"]; + } + if (output.Triggers === "") { + contents.Triggers = []; + } + if (output["Triggers"] !== undefined && output["Triggers"]["member"] !== undefined) { + contents.Triggers = deserializeAws_queryTriggerList(__getArrayIfSingleItem(output["Triggers"]["member"]), context); + } return contents; }; @@ -6568,61 +6568,61 @@ const deserializeAws_queryEnvironmentResourcesDescription = ( const deserializeAws_queryEnvironmentTier = (output: any, context: __SerdeContext): EnvironmentTier => { let contents: any = { + Version: undefined, Name: undefined, Type: undefined, - Version: undefined, }; + if (output["Version"] !== undefined) { + contents.Version = output["Version"]; + } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } if (output["Type"] !== undefined) { contents.Type = output["Type"]; } - if (output["Version"] !== undefined) { - contents.Version = output["Version"]; - } return contents; }; const deserializeAws_queryEventDescription = (output: any, context: __SerdeContext): EventDescription => { let contents: any = { - TemplateName: undefined, - RequestId: undefined, - EventDate: undefined, ApplicationName: undefined, - Severity: undefined, - VersionLabel: undefined, - PlatformArn: undefined, EnvironmentName: undefined, + EventDate: undefined, + PlatformArn: undefined, Message: undefined, + TemplateName: undefined, + Severity: undefined, + RequestId: undefined, + VersionLabel: undefined, }; - if (output["TemplateName"] !== undefined) { - contents.TemplateName = output["TemplateName"]; + if (output["ApplicationName"] !== undefined) { + contents.ApplicationName = output["ApplicationName"]; } - if (output["RequestId"] !== undefined) { - contents.RequestId = output["RequestId"]; + if (output["EnvironmentName"] !== undefined) { + contents.EnvironmentName = output["EnvironmentName"]; } if (output["EventDate"] !== undefined) { contents.EventDate = new Date(output["EventDate"]); } - if (output["ApplicationName"] !== undefined) { - contents.ApplicationName = output["ApplicationName"]; + if (output["PlatformArn"] !== undefined) { + contents.PlatformArn = output["PlatformArn"]; + } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } + if (output["TemplateName"] !== undefined) { + contents.TemplateName = output["TemplateName"]; } if (output["Severity"] !== undefined) { contents.Severity = output["Severity"]; } + if (output["RequestId"] !== undefined) { + contents.RequestId = output["RequestId"]; + } if (output["VersionLabel"] !== undefined) { contents.VersionLabel = output["VersionLabel"]; } - if (output["PlatformArn"] !== undefined) { - contents.PlatformArn = output["PlatformArn"]; - } - if (output["EnvironmentName"] !== undefined) { - contents.EnvironmentName = output["EnvironmentName"]; - } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } return contents; }; @@ -6669,38 +6669,38 @@ const deserializeAws_queryInstanceHealthList = (output: any, context: __SerdeCon const deserializeAws_queryInstanceHealthSummary = (output: any, context: __SerdeContext): InstanceHealthSummary => { let contents: any = { - Degraded: undefined, + Ok: undefined, + Severe: undefined, + Pending: undefined, NoData: undefined, - Unknown: undefined, Info: undefined, - Pending: undefined, + Degraded: undefined, Warning: undefined, - Ok: undefined, - Severe: undefined, + Unknown: undefined, }; - if (output["Degraded"] !== undefined) { - contents.Degraded = parseInt(output["Degraded"]); + if (output["Ok"] !== undefined) { + contents.Ok = parseInt(output["Ok"]); + } + if (output["Severe"] !== undefined) { + contents.Severe = parseInt(output["Severe"]); + } + if (output["Pending"] !== undefined) { + contents.Pending = parseInt(output["Pending"]); } if (output["NoData"] !== undefined) { contents.NoData = parseInt(output["NoData"]); } - if (output["Unknown"] !== undefined) { - contents.Unknown = parseInt(output["Unknown"]); - } if (output["Info"] !== undefined) { contents.Info = parseInt(output["Info"]); } - if (output["Pending"] !== undefined) { - contents.Pending = parseInt(output["Pending"]); + if (output["Degraded"] !== undefined) { + contents.Degraded = parseInt(output["Degraded"]); } if (output["Warning"] !== undefined) { contents.Warning = parseInt(output["Warning"]); } - if (output["Ok"] !== undefined) { - contents.Ok = parseInt(output["Ok"]); - } - if (output["Severe"] !== undefined) { - contents.Severe = parseInt(output["Severe"]); + if (output["Unknown"] !== undefined) { + contents.Unknown = parseInt(output["Unknown"]); } return contents; }; @@ -6734,38 +6734,38 @@ const deserializeAws_queryInvalidRequestException = (output: any, context: __Ser const deserializeAws_queryLatency = (output: any, context: __SerdeContext): Latency => { let contents: any = { + P99: undefined, + P90: undefined, P50: undefined, - P95: undefined, - P85: undefined, + P10: undefined, P75: undefined, - P90: undefined, P999: undefined, - P10: undefined, - P99: undefined, + P85: undefined, + P95: undefined, }; + if (output["P99"] !== undefined) { + contents.P99 = parseFloat(output["P99"]); + } + if (output["P90"] !== undefined) { + contents.P90 = parseFloat(output["P90"]); + } if (output["P50"] !== undefined) { contents.P50 = parseFloat(output["P50"]); } - if (output["P95"] !== undefined) { - contents.P95 = parseFloat(output["P95"]); - } - if (output["P85"] !== undefined) { - contents.P85 = parseFloat(output["P85"]); + if (output["P10"] !== undefined) { + contents.P10 = parseFloat(output["P10"]); } if (output["P75"] !== undefined) { contents.P75 = parseFloat(output["P75"]); } - if (output["P90"] !== undefined) { - contents.P90 = parseFloat(output["P90"]); - } if (output["P999"] !== undefined) { contents.P999 = parseFloat(output["P999"]); } - if (output["P10"] !== undefined) { - contents.P10 = parseFloat(output["P10"]); + if (output["P85"] !== undefined) { + contents.P85 = parseFloat(output["P85"]); } - if (output["P99"] !== undefined) { - contents.P99 = parseFloat(output["P99"]); + if (output["P95"] !== undefined) { + contents.P95 = parseFloat(output["P95"]); } return contents; }; @@ -6872,12 +6872,9 @@ const deserializeAws_queryListPlatformVersionsResult = ( context: __SerdeContext ): ListPlatformVersionsResult => { let contents: any = { - NextToken: undefined, PlatformSummaryList: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.PlatformSummaryList === "") { contents.PlatformSummaryList = []; } @@ -6887,6 +6884,9 @@ const deserializeAws_queryListPlatformVersionsResult = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -6906,10 +6906,16 @@ const deserializeAws_queryLoadBalancer = (output: any, context: __SerdeContext): const deserializeAws_queryLoadBalancerDescription = (output: any, context: __SerdeContext): LoadBalancerDescription => { let contents: any = { - Listeners: undefined, - LoadBalancerName: undefined, Domain: undefined, + LoadBalancerName: undefined, + Listeners: undefined, }; + if (output["Domain"] !== undefined) { + contents.Domain = output["Domain"]; + } + if (output["LoadBalancerName"] !== undefined) { + contents.LoadBalancerName = output["LoadBalancerName"]; + } if (output.Listeners === "") { contents.Listeners = []; } @@ -6919,12 +6925,6 @@ const deserializeAws_queryLoadBalancerDescription = (output: any, context: __Ser context ); } - if (output["LoadBalancerName"] !== undefined) { - contents.LoadBalancerName = output["LoadBalancerName"]; - } - if (output["Domain"] !== undefined) { - contents.Domain = output["Domain"]; - } return contents; }; @@ -6938,14 +6938,17 @@ const deserializeAws_queryLoadBalancerListenersDescription = (output: any, conte const deserializeAws_queryManagedAction = (output: any, context: __SerdeContext): ManagedAction => { let contents: any = { - WindowStartTime: undefined, + ActionId: undefined, + Status: undefined, ActionDescription: undefined, ActionType: undefined, - Status: undefined, - ActionId: undefined, + WindowStartTime: undefined, }; - if (output["WindowStartTime"] !== undefined) { - contents.WindowStartTime = new Date(output["WindowStartTime"]); + if (output["ActionId"] !== undefined) { + contents.ActionId = output["ActionId"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["ActionDescription"] !== undefined) { contents.ActionDescription = output["ActionDescription"]; @@ -6953,11 +6956,8 @@ const deserializeAws_queryManagedAction = (output: any, context: __SerdeContext) if (output["ActionType"] !== undefined) { contents.ActionType = output["ActionType"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["ActionId"] !== undefined) { - contents.ActionId = output["ActionId"]; + if (output["WindowStartTime"] !== undefined) { + contents.WindowStartTime = new Date(output["WindowStartTime"]); } return contents; }; @@ -6967,39 +6967,39 @@ const deserializeAws_queryManagedActionHistoryItem = ( context: __SerdeContext ): ManagedActionHistoryItem => { let contents: any = { - Status: undefined, - ActionId: undefined, + ActionDescription: undefined, + FailureType: undefined, ActionType: undefined, - FinishedTime: undefined, FailureDescription: undefined, - FailureType: undefined, + ActionId: undefined, + Status: undefined, + FinishedTime: undefined, ExecutedTime: undefined, - ActionDescription: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["ActionDescription"] !== undefined) { + contents.ActionDescription = output["ActionDescription"]; } - if (output["ActionId"] !== undefined) { - contents.ActionId = output["ActionId"]; + if (output["FailureType"] !== undefined) { + contents.FailureType = output["FailureType"]; } if (output["ActionType"] !== undefined) { contents.ActionType = output["ActionType"]; } - if (output["FinishedTime"] !== undefined) { - contents.FinishedTime = new Date(output["FinishedTime"]); - } if (output["FailureDescription"] !== undefined) { contents.FailureDescription = output["FailureDescription"]; } - if (output["FailureType"] !== undefined) { - contents.FailureType = output["FailureType"]; + if (output["ActionId"] !== undefined) { + contents.ActionId = output["ActionId"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["FinishedTime"] !== undefined) { + contents.FinishedTime = new Date(output["FinishedTime"]); } if (output["ExecutedTime"] !== undefined) { contents.ExecutedTime = new Date(output["ExecutedTime"]); } - if (output["ActionDescription"] !== undefined) { - contents.ActionDescription = output["ActionDescription"]; - } return contents; }; @@ -7047,19 +7047,19 @@ const deserializeAws_queryMaxAgeRule = (output: any, context: __SerdeContext): M const deserializeAws_queryMaxCountRule = (output: any, context: __SerdeContext): MaxCountRule => { let contents: any = { - Enabled: undefined, MaxCount: undefined, DeleteSourceFromS3: undefined, + Enabled: undefined, }; - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; - } if (output["MaxCount"] !== undefined) { contents.MaxCount = parseInt(output["MaxCount"]); } if (output["DeleteSourceFromS3"] !== undefined) { contents.DeleteSourceFromS3 = output["DeleteSourceFromS3"] == "true"; } + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; + } return contents; }; @@ -7078,32 +7078,38 @@ const deserializeAws_queryOperationInProgressException = ( const deserializeAws_queryOptionRestrictionRegex = (output: any, context: __SerdeContext): OptionRestrictionRegex => { let contents: any = { - Label: undefined, Pattern: undefined, + Label: undefined, }; - if (output["Label"] !== undefined) { - contents.Label = output["Label"]; - } if (output["Pattern"] !== undefined) { contents.Pattern = output["Pattern"]; } + if (output["Label"] !== undefined) { + contents.Label = output["Label"]; + } return contents; }; const deserializeAws_queryPlatformBranchSummary = (output: any, context: __SerdeContext): PlatformBranchSummary => { let contents: any = { - LifecycleState: undefined, + PlatformName: undefined, + BranchOrder: undefined, BranchName: undefined, + LifecycleState: undefined, SupportedTierList: undefined, - BranchOrder: undefined, - PlatformName: undefined, }; - if (output["LifecycleState"] !== undefined) { - contents.LifecycleState = output["LifecycleState"]; + if (output["PlatformName"] !== undefined) { + contents.PlatformName = output["PlatformName"]; + } + if (output["BranchOrder"] !== undefined) { + contents.BranchOrder = parseInt(output["BranchOrder"]); } if (output["BranchName"] !== undefined) { contents.BranchName = output["BranchName"]; } + if (output["LifecycleState"] !== undefined) { + contents.LifecycleState = output["LifecycleState"]; + } if (output.SupportedTierList === "") { contents.SupportedTierList = []; } @@ -7113,12 +7119,6 @@ const deserializeAws_queryPlatformBranchSummary = (output: any, context: __Serde context ); } - if (output["BranchOrder"] !== undefined) { - contents.BranchOrder = parseInt(output["BranchOrder"]); - } - if (output["PlatformName"] !== undefined) { - contents.PlatformName = output["PlatformName"]; - } return contents; }; @@ -7131,43 +7131,28 @@ const deserializeAws_queryPlatformBranchSummaryList = ( const deserializeAws_queryPlatformDescription = (output: any, context: __SerdeContext): PlatformDescription => { let contents: any = { - PlatformBranchName: undefined, - PlatformStatus: undefined, - PlatformName: undefined, - Maintainer: undefined, - PlatformOwner: undefined, ProgrammingLanguages: undefined, - SupportedAddonList: undefined, - SolutionStackName: undefined, - Frameworks: undefined, + DateCreated: undefined, DateUpdated: undefined, + PlatformVersion: undefined, + SupportedAddonList: undefined, + OperatingSystemVersion: undefined, CustomAmiList: undefined, - Description: undefined, - PlatformCategory: undefined, - OperatingSystemName: undefined, + PlatformBranchName: undefined, + PlatformOwner: undefined, PlatformArn: undefined, + OperatingSystemName: undefined, PlatformBranchLifecycleState: undefined, - DateCreated: undefined, - OperatingSystemVersion: undefined, - PlatformVersion: undefined, SupportedTierList: undefined, + Frameworks: undefined, + PlatformName: undefined, + PlatformStatus: undefined, + Description: undefined, + SolutionStackName: undefined, + PlatformCategory: undefined, + Maintainer: undefined, PlatformLifecycleState: undefined, }; - if (output["PlatformBranchName"] !== undefined) { - contents.PlatformBranchName = output["PlatformBranchName"]; - } - if (output["PlatformStatus"] !== undefined) { - contents.PlatformStatus = output["PlatformStatus"]; - } - if (output["PlatformName"] !== undefined) { - contents.PlatformName = output["PlatformName"]; - } - if (output["Maintainer"] !== undefined) { - contents.Maintainer = output["Maintainer"]; - } - if (output["PlatformOwner"] !== undefined) { - contents.PlatformOwner = output["PlatformOwner"]; - } if (output.ProgrammingLanguages === "") { contents.ProgrammingLanguages = []; } @@ -7177,6 +7162,15 @@ const deserializeAws_queryPlatformDescription = (output: any, context: __SerdeCo context ); } + if (output["DateCreated"] !== undefined) { + contents.DateCreated = new Date(output["DateCreated"]); + } + if (output["DateUpdated"] !== undefined) { + contents.DateUpdated = new Date(output["DateUpdated"]); + } + if (output["PlatformVersion"] !== undefined) { + contents.PlatformVersion = output["PlatformVersion"]; + } if (output.SupportedAddonList === "") { contents.SupportedAddonList = []; } @@ -7186,9 +7180,42 @@ const deserializeAws_queryPlatformDescription = (output: any, context: __SerdeCo context ); } - if (output["SolutionStackName"] !== undefined) { - contents.SolutionStackName = output["SolutionStackName"]; - } + if (output["OperatingSystemVersion"] !== undefined) { + contents.OperatingSystemVersion = output["OperatingSystemVersion"]; + } + if (output.CustomAmiList === "") { + contents.CustomAmiList = []; + } + if (output["CustomAmiList"] !== undefined && output["CustomAmiList"]["member"] !== undefined) { + contents.CustomAmiList = deserializeAws_queryCustomAmiList( + __getArrayIfSingleItem(output["CustomAmiList"]["member"]), + context + ); + } + if (output["PlatformBranchName"] !== undefined) { + contents.PlatformBranchName = output["PlatformBranchName"]; + } + if (output["PlatformOwner"] !== undefined) { + contents.PlatformOwner = output["PlatformOwner"]; + } + if (output["PlatformArn"] !== undefined) { + contents.PlatformArn = output["PlatformArn"]; + } + if (output["OperatingSystemName"] !== undefined) { + contents.OperatingSystemName = output["OperatingSystemName"]; + } + if (output["PlatformBranchLifecycleState"] !== undefined) { + contents.PlatformBranchLifecycleState = output["PlatformBranchLifecycleState"]; + } + if (output.SupportedTierList === "") { + contents.SupportedTierList = []; + } + if (output["SupportedTierList"] !== undefined && output["SupportedTierList"]["member"] !== undefined) { + contents.SupportedTierList = deserializeAws_querySupportedTierList( + __getArrayIfSingleItem(output["SupportedTierList"]["member"]), + context + ); + } if (output.Frameworks === "") { contents.Frameworks = []; } @@ -7198,50 +7225,23 @@ const deserializeAws_queryPlatformDescription = (output: any, context: __SerdeCo context ); } - if (output["DateUpdated"] !== undefined) { - contents.DateUpdated = new Date(output["DateUpdated"]); - } - if (output.CustomAmiList === "") { - contents.CustomAmiList = []; + if (output["PlatformName"] !== undefined) { + contents.PlatformName = output["PlatformName"]; } - if (output["CustomAmiList"] !== undefined && output["CustomAmiList"]["member"] !== undefined) { - contents.CustomAmiList = deserializeAws_queryCustomAmiList( - __getArrayIfSingleItem(output["CustomAmiList"]["member"]), - context - ); + if (output["PlatformStatus"] !== undefined) { + contents.PlatformStatus = output["PlatformStatus"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["SolutionStackName"] !== undefined) { + contents.SolutionStackName = output["SolutionStackName"]; + } if (output["PlatformCategory"] !== undefined) { contents.PlatformCategory = output["PlatformCategory"]; } - if (output["OperatingSystemName"] !== undefined) { - contents.OperatingSystemName = output["OperatingSystemName"]; - } - if (output["PlatformArn"] !== undefined) { - contents.PlatformArn = output["PlatformArn"]; - } - if (output["PlatformBranchLifecycleState"] !== undefined) { - contents.PlatformBranchLifecycleState = output["PlatformBranchLifecycleState"]; - } - if (output["DateCreated"] !== undefined) { - contents.DateCreated = new Date(output["DateCreated"]); - } - if (output["OperatingSystemVersion"] !== undefined) { - contents.OperatingSystemVersion = output["OperatingSystemVersion"]; - } - if (output["PlatformVersion"] !== undefined) { - contents.PlatformVersion = output["PlatformVersion"]; - } - if (output.SupportedTierList === "") { - contents.SupportedTierList = []; - } - if (output["SupportedTierList"] !== undefined && output["SupportedTierList"]["member"] !== undefined) { - contents.SupportedTierList = deserializeAws_querySupportedTierList( - __getArrayIfSingleItem(output["SupportedTierList"]["member"]), - context - ); + if (output["Maintainer"] !== undefined) { + contents.Maintainer = output["Maintainer"]; } if (output["PlatformLifecycleState"] !== undefined) { contents.PlatformLifecycleState = output["PlatformLifecycleState"]; @@ -7272,15 +7272,15 @@ const deserializeAws_queryPlatformProgrammingLanguage = ( context: __SerdeContext ): PlatformProgrammingLanguage => { let contents: any = { - Version: undefined, Name: undefined, + Version: undefined, }; - if (output["Version"] !== undefined) { - contents.Version = output["Version"]; - } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["Version"] !== undefined) { + contents.Version = output["Version"]; + } return contents; }; @@ -7293,42 +7293,48 @@ const deserializeAws_queryPlatformProgrammingLanguages = ( const deserializeAws_queryPlatformSummary = (output: any, context: __SerdeContext): PlatformSummary => { let contents: any = { - PlatformBranchLifecycleState: undefined, - PlatformCategory: undefined, + PlatformOwner: undefined, + PlatformBranchName: undefined, PlatformArn: undefined, - OperatingSystemName: undefined, PlatformStatus: undefined, - PlatformOwner: undefined, PlatformVersion: undefined, - PlatformBranchName: undefined, - PlatformLifecycleState: undefined, - SupportedTierList: undefined, SupportedAddonList: undefined, + PlatformBranchLifecycleState: undefined, OperatingSystemVersion: undefined, + PlatformLifecycleState: undefined, + SupportedTierList: undefined, + OperatingSystemName: undefined, + PlatformCategory: undefined, }; - if (output["PlatformBranchLifecycleState"] !== undefined) { - contents.PlatformBranchLifecycleState = output["PlatformBranchLifecycleState"]; + if (output["PlatformOwner"] !== undefined) { + contents.PlatformOwner = output["PlatformOwner"]; } - if (output["PlatformCategory"] !== undefined) { - contents.PlatformCategory = output["PlatformCategory"]; + if (output["PlatformBranchName"] !== undefined) { + contents.PlatformBranchName = output["PlatformBranchName"]; } if (output["PlatformArn"] !== undefined) { contents.PlatformArn = output["PlatformArn"]; } - if (output["OperatingSystemName"] !== undefined) { - contents.OperatingSystemName = output["OperatingSystemName"]; - } if (output["PlatformStatus"] !== undefined) { contents.PlatformStatus = output["PlatformStatus"]; } - if (output["PlatformOwner"] !== undefined) { - contents.PlatformOwner = output["PlatformOwner"]; - } if (output["PlatformVersion"] !== undefined) { contents.PlatformVersion = output["PlatformVersion"]; } - if (output["PlatformBranchName"] !== undefined) { - contents.PlatformBranchName = output["PlatformBranchName"]; + if (output.SupportedAddonList === "") { + contents.SupportedAddonList = []; + } + if (output["SupportedAddonList"] !== undefined && output["SupportedAddonList"]["member"] !== undefined) { + contents.SupportedAddonList = deserializeAws_querySupportedAddonList( + __getArrayIfSingleItem(output["SupportedAddonList"]["member"]), + context + ); + } + if (output["PlatformBranchLifecycleState"] !== undefined) { + contents.PlatformBranchLifecycleState = output["PlatformBranchLifecycleState"]; + } + if (output["OperatingSystemVersion"] !== undefined) { + contents.OperatingSystemVersion = output["OperatingSystemVersion"]; } if (output["PlatformLifecycleState"] !== undefined) { contents.PlatformLifecycleState = output["PlatformLifecycleState"]; @@ -7342,17 +7348,11 @@ const deserializeAws_queryPlatformSummary = (output: any, context: __SerdeContex context ); } - if (output.SupportedAddonList === "") { - contents.SupportedAddonList = []; - } - if (output["SupportedAddonList"] !== undefined && output["SupportedAddonList"]["member"] !== undefined) { - contents.SupportedAddonList = deserializeAws_querySupportedAddonList( - __getArrayIfSingleItem(output["SupportedAddonList"]["member"]), - context - ); + if (output["OperatingSystemName"] !== undefined) { + contents.OperatingSystemName = output["OperatingSystemName"]; } - if (output["OperatingSystemVersion"] !== undefined) { - contents.OperatingSystemVersion = output["OperatingSystemVersion"]; + if (output["PlatformCategory"] !== undefined) { + contents.PlatformCategory = output["PlatformCategory"]; } return contents; }; @@ -7376,15 +7376,15 @@ const deserializeAws_queryPlatformVersionStillReferencedException = ( const deserializeAws_queryQueue = (output: any, context: __SerdeContext): Queue => { let contents: any = { - Name: undefined, URL: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["URL"] !== undefined) { contents.URL = output["URL"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; @@ -7417,29 +7417,29 @@ const deserializeAws_queryResourceQuota = (output: any, context: __SerdeContext) const deserializeAws_queryResourceQuotas = (output: any, context: __SerdeContext): ResourceQuotas => { let contents: any = { - ConfigurationTemplateQuota: undefined, - ApplicationQuota: undefined, - CustomPlatformQuota: undefined, ApplicationVersionQuota: undefined, + ApplicationQuota: undefined, EnvironmentQuota: undefined, + CustomPlatformQuota: undefined, + ConfigurationTemplateQuota: undefined, }; - if (output["ConfigurationTemplateQuota"] !== undefined) { - contents.ConfigurationTemplateQuota = deserializeAws_queryResourceQuota( - output["ConfigurationTemplateQuota"], - context - ); + if (output["ApplicationVersionQuota"] !== undefined) { + contents.ApplicationVersionQuota = deserializeAws_queryResourceQuota(output["ApplicationVersionQuota"], context); } if (output["ApplicationQuota"] !== undefined) { contents.ApplicationQuota = deserializeAws_queryResourceQuota(output["ApplicationQuota"], context); } + if (output["EnvironmentQuota"] !== undefined) { + contents.EnvironmentQuota = deserializeAws_queryResourceQuota(output["EnvironmentQuota"], context); + } if (output["CustomPlatformQuota"] !== undefined) { contents.CustomPlatformQuota = deserializeAws_queryResourceQuota(output["CustomPlatformQuota"], context); } - if (output["ApplicationVersionQuota"] !== undefined) { - contents.ApplicationVersionQuota = deserializeAws_queryResourceQuota(output["ApplicationVersionQuota"], context); - } - if (output["EnvironmentQuota"] !== undefined) { - contents.EnvironmentQuota = deserializeAws_queryResourceQuota(output["EnvironmentQuota"], context); + if (output["ConfigurationTemplateQuota"] !== undefined) { + contents.ConfigurationTemplateQuota = deserializeAws_queryResourceQuota( + output["ConfigurationTemplateQuota"], + context + ); } return contents; }; @@ -7449,12 +7449,9 @@ const deserializeAws_queryResourceTagsDescriptionMessage = ( context: __SerdeContext ): ResourceTagsDescriptionMessage => { let contents: any = { - ResourceArn: undefined, ResourceTags: undefined, + ResourceArn: undefined, }; - if (output["ResourceArn"] !== undefined) { - contents.ResourceArn = output["ResourceArn"]; - } if (output.ResourceTags === "") { contents.ResourceTags = []; } @@ -7464,6 +7461,9 @@ const deserializeAws_queryResourceTagsDescriptionMessage = ( context ); } + if (output["ResourceArn"] !== undefined) { + contents.ResourceArn = output["ResourceArn"]; + } return contents; }; @@ -7501,15 +7501,15 @@ const deserializeAws_queryRetrieveEnvironmentInfoResultMessage = ( const deserializeAws_queryS3Location = (output: any, context: __SerdeContext): S3Location => { let contents: any = { - S3Bucket: undefined, S3Key: undefined, + S3Bucket: undefined, }; - if (output["S3Bucket"] !== undefined) { - contents.S3Bucket = output["S3Bucket"]; - } if (output["S3Key"] !== undefined) { contents.S3Key = output["S3Key"]; } + if (output["S3Bucket"] !== undefined) { + contents.S3Bucket = output["S3Bucket"]; + } return contents; }; @@ -7541,34 +7541,40 @@ const deserializeAws_queryS3SubscriptionRequiredException = ( const deserializeAws_querySingleInstanceHealth = (output: any, context: __SerdeContext): SingleInstanceHealth => { let contents: any = { - InstanceId: undefined, - InstanceType: undefined, - Deployment: undefined, + ApplicationMetrics: undefined, System: undefined, + Causes: undefined, + InstanceId: undefined, LaunchedAt: undefined, - Color: undefined, + Deployment: undefined, + InstanceType: undefined, HealthStatus: undefined, AvailabilityZone: undefined, - ApplicationMetrics: undefined, - Causes: undefined, + Color: undefined, }; - if (output["InstanceId"] !== undefined) { - contents.InstanceId = output["InstanceId"]; - } - if (output["InstanceType"] !== undefined) { - contents.InstanceType = output["InstanceType"]; - } - if (output["Deployment"] !== undefined) { - contents.Deployment = deserializeAws_queryDeployment(output["Deployment"], context); + if (output["ApplicationMetrics"] !== undefined) { + contents.ApplicationMetrics = deserializeAws_queryApplicationMetrics(output["ApplicationMetrics"], context); } if (output["System"] !== undefined) { contents.System = deserializeAws_querySystemStatus(output["System"], context); } + if (output.Causes === "") { + contents.Causes = []; + } + if (output["Causes"] !== undefined && output["Causes"]["member"] !== undefined) { + contents.Causes = deserializeAws_queryCauses(__getArrayIfSingleItem(output["Causes"]["member"]), context); + } + if (output["InstanceId"] !== undefined) { + contents.InstanceId = output["InstanceId"]; + } if (output["LaunchedAt"] !== undefined) { contents.LaunchedAt = new Date(output["LaunchedAt"]); } - if (output["Color"] !== undefined) { - contents.Color = output["Color"]; + if (output["Deployment"] !== undefined) { + contents.Deployment = deserializeAws_queryDeployment(output["Deployment"], context); + } + if (output["InstanceType"] !== undefined) { + contents.InstanceType = output["InstanceType"]; } if (output["HealthStatus"] !== undefined) { contents.HealthStatus = output["HealthStatus"]; @@ -7576,14 +7582,8 @@ const deserializeAws_querySingleInstanceHealth = (output: any, context: __SerdeC if (output["AvailabilityZone"] !== undefined) { contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["ApplicationMetrics"] !== undefined) { - contents.ApplicationMetrics = deserializeAws_queryApplicationMetrics(output["ApplicationMetrics"], context); - } - if (output.Causes === "") { - contents.Causes = []; - } - if (output["Causes"] !== undefined && output["Causes"]["member"] !== undefined) { - contents.Causes = deserializeAws_queryCauses(__getArrayIfSingleItem(output["Causes"]["member"]), context); + if (output["Color"] !== undefined) { + contents.Color = output["Color"]; } return contents; }; @@ -7593,12 +7593,9 @@ const deserializeAws_querySolutionStackDescription = ( context: __SerdeContext ): SolutionStackDescription => { let contents: any = { - SolutionStackName: undefined, PermittedFileTypes: undefined, + SolutionStackName: undefined, }; - if (output["SolutionStackName"] !== undefined) { - contents.SolutionStackName = output["SolutionStackName"]; - } if (output.PermittedFileTypes === "") { contents.PermittedFileTypes = []; } @@ -7608,6 +7605,9 @@ const deserializeAws_querySolutionStackDescription = ( context ); } + if (output["SolutionStackName"] !== undefined) { + contents.SolutionStackName = output["SolutionStackName"]; + } return contents; }; @@ -7617,19 +7617,19 @@ const deserializeAws_querySolutionStackFileTypeList = (output: any, context: __S const deserializeAws_querySourceBuildInformation = (output: any, context: __SerdeContext): SourceBuildInformation => { let contents: any = { + SourceType: undefined, SourceLocation: undefined, SourceRepository: undefined, - SourceType: undefined, }; + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; + } if (output["SourceLocation"] !== undefined) { contents.SourceLocation = output["SourceLocation"]; } if (output["SourceRepository"] !== undefined) { contents.SourceRepository = output["SourceRepository"]; } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } return contents; }; @@ -7648,14 +7648,11 @@ const deserializeAws_querySourceBundleDeletionException = ( const deserializeAws_queryStatusCodes = (output: any, context: __SerdeContext): StatusCodes => { let contents: any = { - Status3xx: undefined, Status4xx: undefined, Status5xx: undefined, Status2xx: undefined, + Status3xx: undefined, }; - if (output["Status3xx"] !== undefined) { - contents.Status3xx = parseInt(output["Status3xx"]); - } if (output["Status4xx"] !== undefined) { contents.Status4xx = parseInt(output["Status4xx"]); } @@ -7665,6 +7662,9 @@ const deserializeAws_queryStatusCodes = (output: any, context: __SerdeContext): if (output["Status2xx"] !== undefined) { contents.Status2xx = parseInt(output["Status2xx"]); } + if (output["Status3xx"] !== undefined) { + contents.Status3xx = parseInt(output["Status3xx"]); + } return contents; }; @@ -7698,15 +7698,15 @@ const deserializeAws_querySystemStatus = (output: any, context: __SerdeContext): const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; @@ -7816,21 +7816,21 @@ const deserializeAws_queryTriggerList = (output: any, context: __SerdeContext): const deserializeAws_queryValidationMessage = (output: any, context: __SerdeContext): ValidationMessage => { let contents: any = { Message: undefined, - Severity: undefined, - OptionName: undefined, Namespace: undefined, + OptionName: undefined, + Severity: undefined, }; if (output["Message"] !== undefined) { contents.Message = output["Message"]; } - if (output["Severity"] !== undefined) { - contents.Severity = output["Severity"]; + if (output["Namespace"] !== undefined) { + contents.Namespace = output["Namespace"]; } if (output["OptionName"] !== undefined) { contents.OptionName = output["OptionName"]; } - if (output["Namespace"] !== undefined) { - contents.Namespace = output["Namespace"]; + if (output["Severity"] !== undefined) { + contents.Severity = output["Severity"]; } return contents; }; diff --git a/clients/client-elasticache/models/models_0.ts b/clients/client-elasticache/models/models_0.ts index c3e127a1f1014..57a2612dc0437 100644 --- a/clients/client-elasticache/models/models_0.ts +++ b/clients/client-elasticache/models/models_0.ts @@ -7160,7 +7160,7 @@ export interface DescribeReservedCacheNodesOfferingsMessage { /** *

    The offering type filter value. * Use this parameter to show only the available offerings matching the specified offering type.

    - *

    Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" + *

    Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All Upfront"|"Partial Upfront"| "No Upfront" *

    */ OfferingType?: string; diff --git a/clients/client-emr/EMR.ts b/clients/client-emr/EMR.ts index 517d4ea367c02..6423a8e53493f 100644 --- a/clients/client-emr/EMR.ts +++ b/clients/client-emr/EMR.ts @@ -21,11 +21,31 @@ import { CreateSecurityConfigurationCommandInput, CreateSecurityConfigurationCommandOutput, } from "./commands/CreateSecurityConfigurationCommand"; +import { + CreateStudioCommand, + CreateStudioCommandInput, + CreateStudioCommandOutput, +} from "./commands/CreateStudioCommand"; +import { + CreateStudioSessionMappingCommand, + CreateStudioSessionMappingCommandInput, + CreateStudioSessionMappingCommandOutput, +} from "./commands/CreateStudioSessionMappingCommand"; import { DeleteSecurityConfigurationCommand, DeleteSecurityConfigurationCommandInput, DeleteSecurityConfigurationCommandOutput, } from "./commands/DeleteSecurityConfigurationCommand"; +import { + DeleteStudioCommand, + DeleteStudioCommandInput, + DeleteStudioCommandOutput, +} from "./commands/DeleteStudioCommand"; +import { + DeleteStudioSessionMappingCommand, + DeleteStudioSessionMappingCommandInput, + DeleteStudioSessionMappingCommandOutput, +} from "./commands/DeleteStudioSessionMappingCommand"; import { DescribeClusterCommand, DescribeClusterCommandInput, @@ -51,6 +71,11 @@ import { DescribeStepCommandInput, DescribeStepCommandOutput, } from "./commands/DescribeStepCommand"; +import { + DescribeStudioCommand, + DescribeStudioCommandInput, + DescribeStudioCommandOutput, +} from "./commands/DescribeStudioCommand"; import { GetBlockPublicAccessConfigurationCommand, GetBlockPublicAccessConfigurationCommandInput, @@ -61,6 +86,11 @@ import { GetManagedScalingPolicyCommandInput, GetManagedScalingPolicyCommandOutput, } from "./commands/GetManagedScalingPolicyCommand"; +import { + GetStudioSessionMappingCommand, + GetStudioSessionMappingCommandInput, + GetStudioSessionMappingCommandOutput, +} from "./commands/GetStudioSessionMappingCommand"; import { ListBootstrapActionsCommand, ListBootstrapActionsCommandInput, @@ -97,6 +127,12 @@ import { ListSecurityConfigurationsCommandOutput, } from "./commands/ListSecurityConfigurationsCommand"; import { ListStepsCommand, ListStepsCommandInput, ListStepsCommandOutput } from "./commands/ListStepsCommand"; +import { + ListStudioSessionMappingsCommand, + ListStudioSessionMappingsCommandInput, + ListStudioSessionMappingsCommandOutput, +} from "./commands/ListStudioSessionMappingsCommand"; +import { ListStudiosCommand, ListStudiosCommandInput, ListStudiosCommandOutput } from "./commands/ListStudiosCommand"; import { ModifyClusterCommand, ModifyClusterCommandInput, @@ -164,16 +200,25 @@ import { TerminateJobFlowsCommandInput, TerminateJobFlowsCommandOutput, } from "./commands/TerminateJobFlowsCommand"; +import { + UpdateStudioSessionMappingCommand, + UpdateStudioSessionMappingCommandInput, + UpdateStudioSessionMappingCommandOutput, +} from "./commands/UpdateStudioSessionMappingCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

    Amazon EMR is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

    + *

    Amazon EMR is a web service that makes it easier to process large amounts of data + * efficiently. Amazon EMR uses Hadoop processing combined with several AWS services to do + * tasks such as web indexing, data mining, log file analysis, machine learning, scientific + * simulation, and data warehouse management.

    */ export class EMR extends EMRClient { /** *

    Adds an instance fleet to a running cluster.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x.

    *
    */ public addInstanceFleet( @@ -238,11 +283,23 @@ export class EMR extends EMRClient { } /** - *

    AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

    - *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

    - *

    A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

    - *

    Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

    - *

    You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

    + *

    AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed + * in each job flow.

    + *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may + * require more than 256 steps to process your data. You can bypass the 256-step limitation in + * various ways, including using SSH to connect to the master node and submitting queries + * directly to the software running on the master node, such as Hive and Hadoop. For more + * information on how to do this, see Add More than 256 Steps to a + * Cluster in the Amazon EMR Management Guide.

    + *

    A step specifies the location of a JAR file stored either on the master node of the + * cluster or in Amazon S3. Each step is performed by the main function of the main class of + * the JAR file. The main class can be specified either in the manifest of the JAR or by using + * the MainFunction parameter of the step.

    + *

    Amazon EMR executes each step in the order listed. For a step to be considered complete, + * the main function must exit with a zero exit code and all Hadoop jobs started while the + * step was running must have completed and run successfully.

    + *

    You can only add steps to a cluster that is in one of the following states: STARTING, + * BOOTSTRAPPING, RUNNING, or WAITING.

    */ public addJobFlowSteps( args: AddJobFlowStepsCommandInput, @@ -274,9 +331,9 @@ export class EMR extends EMRClient { } /** - *

    Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. - * For more information, see Tag Clusters. - *

    + *

    Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in + * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. + * For more information, see Tag Clusters.

    */ public addTags(args: AddTagsCommandInput, options?: __HttpHandlerOptions): Promise; public addTags(args: AddTagsCommandInput, cb: (err: any, data?: AddTagsCommandOutput) => void): void; @@ -302,7 +359,11 @@ export class EMR extends EMRClient { } /** - *

    Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

    + *

    Cancels a pending step or steps in a running cluster. Available only in Amazon EMR + * versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in + * each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee + * that a step will be canceled, even if the request is successfully submitted. You can only + * cancel steps that are in a PENDING state.

    */ public cancelSteps(args: CancelStepsCommandInput, options?: __HttpHandlerOptions): Promise; public cancelSteps(args: CancelStepsCommandInput, cb: (err: any, data?: CancelStepsCommandOutput) => void): void; @@ -328,7 +389,8 @@ export class EMR extends EMRClient { } /** - *

    Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

    + *

    Creates a security configuration, which is stored in the service and can be specified + * when a cluster is created.

    */ public createSecurityConfiguration( args: CreateSecurityConfigurationCommandInput, @@ -359,6 +421,76 @@ export class EMR extends EMRClient { } } + /** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Creates a new Amazon EMR Studio.

    + */ + public createStudio( + args: CreateStudioCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createStudio(args: CreateStudioCommandInput, cb: (err: any, data?: CreateStudioCommandOutput) => void): void; + public createStudio( + args: CreateStudioCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateStudioCommandOutput) => void + ): void; + public createStudio( + args: CreateStudioCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateStudioCommandOutput) => void), + cb?: (err: any, data?: CreateStudioCommandOutput) => void + ): Promise | void { + const command = new CreateStudioCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Maps a user or group to the Amazon EMR Studio specified by StudioId, and + * applies a session policy to refine Studio permissions for that user or group.

    + */ + public createStudioSessionMapping( + args: CreateStudioSessionMappingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createStudioSessionMapping( + args: CreateStudioSessionMappingCommandInput, + cb: (err: any, data?: CreateStudioSessionMappingCommandOutput) => void + ): void; + public createStudioSessionMapping( + args: CreateStudioSessionMappingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateStudioSessionMappingCommandOutput) => void + ): void; + public createStudioSessionMapping( + args: CreateStudioSessionMappingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateStudioSessionMappingCommandOutput) => void), + cb?: (err: any, data?: CreateStudioSessionMappingCommandOutput) => void + ): Promise | void { + const command = new CreateStudioSessionMappingCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Deletes a security configuration.

    */ @@ -392,7 +524,77 @@ export class EMR extends EMRClient { } /** - *

    Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

    + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Removes an Amazon EMR Studio from the Studio metadata store.

    + */ + public deleteStudio( + args: DeleteStudioCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteStudio(args: DeleteStudioCommandInput, cb: (err: any, data?: DeleteStudioCommandOutput) => void): void; + public deleteStudio( + args: DeleteStudioCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteStudioCommandOutput) => void + ): void; + public deleteStudio( + args: DeleteStudioCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteStudioCommandOutput) => void), + cb?: (err: any, data?: DeleteStudioCommandOutput) => void + ): Promise | void { + const command = new DeleteStudioCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Removes a user or group from an Amazon EMR Studio.

    + */ + public deleteStudioSessionMapping( + args: DeleteStudioSessionMappingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteStudioSessionMapping( + args: DeleteStudioSessionMappingCommandInput, + cb: (err: any, data?: DeleteStudioSessionMappingCommandOutput) => void + ): void; + public deleteStudioSessionMapping( + args: DeleteStudioSessionMappingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteStudioSessionMappingCommandOutput) => void + ): void; + public deleteStudioSessionMapping( + args: DeleteStudioSessionMappingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteStudioSessionMappingCommandOutput) => void), + cb?: (err: any, data?: DeleteStudioSessionMappingCommandOutput) => void + ): Promise | void { + const command = new DeleteStudioSessionMappingCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Provides cluster-level details including status, hardware and software configuration, + * VPC settings, and so on.

    */ public describeCluster( args: DescribeClusterCommandInput, @@ -424,19 +626,23 @@ export class EMR extends EMRClient { } /** - *

    This API is deprecated and will eventually be removed. We recommend you use ListClusters, - * DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions - * instead.

    - *

    DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

    - *

    Regardless of supplied parameters, only job flows created within the last two months are returned.

    - *

    If no parameters are supplied, then job flows matching either of the following criteria are returned:

    + *

    This API is no longer supported and will eventually be removed. We recommend you use + * ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

    + *

    DescribeJobFlows returns a list of job flows that match all of the supplied parameters. + * The parameters can include a list of job flow IDs, job flow states, and restrictions on job + * flow creation date and time.

    + *

    Regardless of supplied parameters, only job flows created within the last two months are + * returned.

    + *

    If no parameters are supplied, then job flows matching either of the following criteria + * are returned:

    *
      *
    • *

      Job flows created and completed in the last two weeks

      *
    • *
    • - *

      Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN, - * STARTING + *

      Job flows created within the last two months that are in one of the following + * states: RUNNING, WAITING, SHUTTING_DOWN, + * STARTING *

      *
    • *
    @@ -504,7 +710,8 @@ export class EMR extends EMRClient { } /** - *

    Provides the details of a security configuration by returning the configuration JSON.

    + *

    Provides the details of a security configuration by returning the configuration + * JSON.

    */ public describeSecurityConfiguration( args: DescribeSecurityConfigurationCommandInput, @@ -565,7 +772,47 @@ export class EMR extends EMRClient { } /** - *

    Returns the Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

    + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Returns details for the specified Amazon EMR Studio including ID, Name, VPC, Studio + * access URL, and so on.

    + */ + public describeStudio( + args: DescribeStudioCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeStudio( + args: DescribeStudioCommandInput, + cb: (err: any, data?: DescribeStudioCommandOutput) => void + ): void; + public describeStudio( + args: DescribeStudioCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeStudioCommandOutput) => void + ): void; + public describeStudio( + args: DescribeStudioCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeStudioCommandOutput) => void), + cb?: (err: any, data?: DescribeStudioCommandOutput) => void + ): Promise | void { + const command = new DescribeStudioCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Returns the Amazon EMR block public access configuration for your AWS account in the + * current Region. For more information see Configure Block + * Public Access for Amazon EMR in the Amazon EMR Management + * Guide.

    */ public getBlockPublicAccessConfiguration( args: GetBlockPublicAccessConfigurationCommandInput, @@ -597,9 +844,7 @@ export class EMR extends EMRClient { } /** - *

    - * Fetches the attached managed scaling policy for an Amazon EMR cluster. - *

    + *

    Fetches the attached managed scaling policy for an Amazon EMR cluster.

    */ public getManagedScalingPolicy( args: GetManagedScalingPolicyCommandInput, @@ -630,6 +875,43 @@ export class EMR extends EMRClient { } } + /** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Fetches mapping details for the specified Amazon EMR Studio and identity (user or + * group).

    + */ + public getStudioSessionMapping( + args: GetStudioSessionMappingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getStudioSessionMapping( + args: GetStudioSessionMappingCommandInput, + cb: (err: any, data?: GetStudioSessionMappingCommandOutput) => void + ): void; + public getStudioSessionMapping( + args: GetStudioSessionMappingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetStudioSessionMappingCommandOutput) => void + ): void; + public getStudioSessionMapping( + args: GetStudioSessionMappingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetStudioSessionMappingCommandOutput) => void), + cb?: (err: any, data?: GetStudioSessionMappingCommandOutput) => void + ): Promise | void { + const command = new GetStudioSessionMappingCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Provides information about the bootstrap actions associated with a cluster.

    */ @@ -663,7 +945,11 @@ export class EMR extends EMRClient { } /** - *

    Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

    + *

    Provides the status of all clusters visible to this AWS account. Allows you to filter + * the list of clusters based on certain criteria; for example, filtering by cluster creation + * date and time or by status. This call returns a maximum of 50 clusters per call, but + * returns a marker to track the paging of the cluster list across multiple ListClusters + * calls.

    */ public listClusters( args: ListClustersCommandInput, @@ -694,7 +980,8 @@ export class EMR extends EMRClient { /** *

    Lists all available details about the instance fleets in a cluster.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ public listInstanceFleets( @@ -759,7 +1046,9 @@ export class EMR extends EMRClient { } /** - *

    Provides information for all active EC2 instances and EC2 instances terminated in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

    + *

    Provides information for all active EC2 instances and EC2 instances terminated in the + * last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are + * considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

    */ public listInstances( args: ListInstancesCommandInput, @@ -791,7 +1080,10 @@ export class EMR extends EMRClient { } /** - *

    Provides summaries of all notebook executions. You can filter the list based on multiple criteria such as status, time range, and editor id. Returns a maximum of 50 notebook executions and a marker to track the paging of a longer notebook execution list across multiple ListNotebookExecution calls.

    + *

    Provides summaries of all notebook executions. You can filter the list based on multiple + * criteria such as status, time range, and editor id. Returns a maximum of 50 notebook + * executions and a marker to track the paging of a longer notebook execution list across + * multiple ListNotebookExecution calls.

    */ public listNotebookExecutions( args: ListNotebookExecutionsCommandInput, @@ -823,7 +1115,10 @@ export class EMR extends EMRClient { } /** - *

    Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls.

    + *

    Lists all the security configurations visible to this account, providing their creation + * dates and times, and their names. This call returns a maximum of 50 clusters per call, but + * returns a marker to track the paging of the cluster list across multiple + * ListSecurityConfigurations calls.

    */ public listSecurityConfigurations( args: ListSecurityConfigurationsCommandInput, @@ -855,7 +1150,9 @@ export class EMR extends EMRClient { } /** - *

    Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request of filter by StepStates. You can specify a maximum of ten stepIDs.

    + *

    Provides a list of steps for the cluster in reverse order unless you specify + * stepIds with the request of filter by StepStates. You can + * specify a maximum of ten stepIDs.

    */ public listSteps(args: ListStepsCommandInput, options?: __HttpHandlerOptions): Promise; public listSteps(args: ListStepsCommandInput, cb: (err: any, data?: ListStepsCommandOutput) => void): void; @@ -881,7 +1178,76 @@ export class EMR extends EMRClient { } /** - *

    Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID.

    + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Returns a list of all Amazon EMR Studios associated with the AWS account. The list + * includes details such as ID, Studio Access URL, and creation time for each Studio.

    + */ + public listStudios(args: ListStudiosCommandInput, options?: __HttpHandlerOptions): Promise; + public listStudios(args: ListStudiosCommandInput, cb: (err: any, data?: ListStudiosCommandOutput) => void): void; + public listStudios( + args: ListStudiosCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListStudiosCommandOutput) => void + ): void; + public listStudios( + args: ListStudiosCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListStudiosCommandOutput) => void), + cb?: (err: any, data?: ListStudiosCommandOutput) => void + ): Promise | void { + const command = new ListStudiosCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Returns a list of all user or group session mappings for the EMR Studio specified by + * StudioId.

    + */ + public listStudioSessionMappings( + args: ListStudioSessionMappingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listStudioSessionMappings( + args: ListStudioSessionMappingsCommandInput, + cb: (err: any, data?: ListStudioSessionMappingsCommandOutput) => void + ): void; + public listStudioSessionMappings( + args: ListStudioSessionMappingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListStudioSessionMappingsCommandOutput) => void + ): void; + public listStudioSessionMappings( + args: ListStudioSessionMappingsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListStudioSessionMappingsCommandOutput) => void), + cb?: (err: any, data?: ListStudioSessionMappingsCommandOutput) => void + ): Promise | void { + const command = new ListStudioSessionMappingsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Modifies the number of steps that can be executed concurrently for the cluster specified + * using ClusterID.

    */ public modifyCluster( args: ModifyClusterCommandInput, @@ -913,9 +1279,12 @@ export class EMR extends EMRClient { } /** - *

    Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

    + *

    Modifies the target On-Demand and target Spot capacities for the instance fleet with the + * specified InstanceFleetID within the cluster specified using ClusterID. The call either + * succeeds or fails atomically.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ public modifyInstanceFleet( @@ -948,7 +1317,9 @@ export class EMR extends EMRClient { } /** - *

    ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

    + *

    ModifyInstanceGroups modifies the number of nodes and configuration settings of an + * instance group. The input parameters include the new target instance count for the group + * and the instance group ID. The call will either succeed or fail atomically.

    */ public modifyInstanceGroups( args: ModifyInstanceGroupsCommandInput, @@ -980,7 +1351,10 @@ export class EMR extends EMRClient { } /** - *

    Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.

    + *

    Creates or updates an automatic scaling policy for a core instance group or task + * instance group in an Amazon EMR cluster. The automatic scaling policy defines how an + * instance group dynamically adds and terminates EC2 instances in response to the value of a + * CloudWatch metric.

    */ public putAutoScalingPolicy( args: PutAutoScalingPolicyCommandInput, @@ -1012,7 +1386,10 @@ export class EMR extends EMRClient { } /** - *

    Creates or updates an Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

    + *

    Creates or updates an Amazon EMR block public access configuration for your AWS account + * in the current Region. For more information see Configure Block + * Public Access for Amazon EMR in the Amazon EMR Management + * Guide.

    */ public putBlockPublicAccessConfiguration( args: PutBlockPublicAccessConfigurationCommandInput, @@ -1044,9 +1421,10 @@ export class EMR extends EMRClient { } /** - *

    - * Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

    + *

    Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed + * scaling policy defines the limits for resources, such as EC2 instances that can be added or + * terminated from a cluster. The policy only applies to the core and task nodes. The master + * node cannot be scaled after initial configuration.

    */ public putManagedScalingPolicy( args: PutManagedScalingPolicyCommandInput, @@ -1078,7 +1456,8 @@ export class EMR extends EMRClient { } /** - *

    Removes an automatic scaling policy from a specified instance group within an EMR cluster.

    + *

    Removes an automatic scaling policy from a specified instance group within an EMR + * cluster.

    */ public removeAutoScalingPolicy( args: RemoveAutoScalingPolicyCommandInput, @@ -1110,9 +1489,7 @@ export class EMR extends EMRClient { } /** - *

    - * Removes a managed scaling policy from a specified EMR cluster. - *

    + *

    Removes a managed scaling policy from a specified EMR cluster.

    */ public removeManagedScalingPolicy( args: RemoveManagedScalingPolicyCommandInput, @@ -1144,9 +1521,9 @@ export class EMR extends EMRClient { } /** - *

    Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. - * For more information, see Tag Clusters. - *

    + *

    Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in + * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. + * For more information, see Tag Clusters.

    *

    The following example removes the stack tag with value Prod from a cluster:

    */ public removeTags(args: RemoveTagsCommandInput, options?: __HttpHandlerOptions): Promise; @@ -1173,24 +1550,28 @@ export class EMR extends EMRClient { } /** - *

    RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps - * specified. After the steps complete, the cluster stops and the HDFS partition is + *

    RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the + * steps specified. After the steps complete, the cluster stops and the HDFS partition is * lost. To prevent loss of data, configure the last step of the job flow to store results in * Amazon S3. If the JobFlowInstancesConfig - * KeepJobFlowAliveWhenNoSteps parameter is - * set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

    - * - *

    For additional protection, you can set the - * JobFlowInstancesConfig - * TerminationProtected parameter to TRUE to lock the - * cluster and prevent it from being - * terminated by API call, user intervention, or in the event of a job flow error.

    - * + * KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster + * transitions to the WAITING state rather than shutting down after the steps have completed.

    + *

    For additional protection, you can set the JobFlowInstancesConfig + * TerminationProtected parameter to TRUE to lock the cluster and + * prevent it from being terminated by API call, user intervention, or in the event of a job + * flow error.

    *

    A maximum of 256 steps are allowed in each job flow.

    - *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

    + *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may + * require more than 256 steps to process your data. You can bypass the 256-step limitation in + * various ways, including using the SSH shell to connect to the master node and submitting + * queries directly to the software running on the master node, such as Hive and Hadoop. For + * more information on how to do this, see Add More than 256 Steps to a + * Cluster in the Amazon EMR Management Guide.

    *

    For long running clusters, we recommend that you periodically store your results.

    * - *

    The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

    + *

    The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets + * parameters or InstanceGroups parameters, but not both.

    *
    */ public runJobFlow(args: RunJobFlowCommandInput, options?: __HttpHandlerOptions): Promise; @@ -1217,16 +1598,21 @@ export class EMR extends EMRClient { } /** - *

    SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

    + *

    SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster + * cannot be terminated by user intervention, an API call, or in the event of a job-flow + * error. The cluster still terminates upon successful completion of the job flow. Calling + * SetTerminationProtection on a cluster is similar to calling the Amazon EC2 + * DisableAPITermination API on all EC2 instances in a cluster.

    *

    - * SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

    - * - *

    To terminate a cluster that has been locked by setting SetTerminationProtection to true, - * you must first unlock the job flow by a subsequent call to SetTerminationProtection - * in which you set the value to false.

    - *

    For more information, seeManaging Cluster Termination in the - * Amazon EMR Management Guide. - *

    + * SetTerminationProtection is used to prevent accidental termination of a + * cluster and to ensure that in the event of an error, the instances persist so that you can + * recover any data stored in their ephemeral instance storage.

    + *

    To terminate a cluster that has been locked by setting + * SetTerminationProtection to true, you must first unlock the + * job flow by a subsequent call to SetTerminationProtection in which you set the + * value to false.

    + *

    For more information, seeManaging Cluster + * Termination in the Amazon EMR Management Guide.

    */ public setTerminationProtection( args: SetTerminationProtectionCommandInput, @@ -1258,7 +1644,15 @@ export class EMR extends EMRClient { } /** - *

    Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster is visible to all IAM users of the AWS account associated with the cluster. Only the IAM user who created the cluster or the AWS account root user can call this action. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If set to false, only the IAM user that created the cluster can perform actions. This action works on running clusters. You can override the default true setting when you create a cluster by using the VisibleToAllUsers parameter with RunJobFlow.

    + *

    Sets the Cluster$VisibleToAllUsers value, which determines whether the + * cluster is visible to all IAM users of the AWS account associated with the cluster. Only + * the IAM user who created the cluster or the AWS account root user can call this action. The + * default value, true, indicates that all IAM users in the AWS account can + * perform cluster actions if they have the proper IAM policy permissions. If set to + * false, only the IAM user that created the cluster can perform actions. This + * action works on running clusters. You can override the default true setting + * when you create a cluster by using the VisibleToAllUsers parameter with + * RunJobFlow.

    */ public setVisibleToAllUsers( args: SetVisibleToAllUsersCommandInput, @@ -1354,8 +1748,14 @@ export class EMR extends EMRClient { } /** - *

    TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

    - *

    The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

    + *

    TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut + * down, any step not yet completed is canceled and the EC2 instances on which the cluster is + * running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri + * was specified when the cluster was created.

    + *

    The maximum number of clusters allowed is 10. The call to TerminateJobFlows + * is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 + * minutes for the cluster to completely terminate and release allocated resources, such as + * Amazon EC2 instances.

    */ public terminateJobFlows( args: TerminateJobFlowsCommandInput, @@ -1385,4 +1785,41 @@ export class EMR extends EMRClient { return this.send(command, optionsOrCb); } } + + /** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Updates the session policy attached to the user or group for the specified Amazon EMR + * Studio.

    + */ + public updateStudioSessionMapping( + args: UpdateStudioSessionMappingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateStudioSessionMapping( + args: UpdateStudioSessionMappingCommandInput, + cb: (err: any, data?: UpdateStudioSessionMappingCommandOutput) => void + ): void; + public updateStudioSessionMapping( + args: UpdateStudioSessionMappingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateStudioSessionMappingCommandOutput) => void + ): void; + public updateStudioSessionMapping( + args: UpdateStudioSessionMappingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateStudioSessionMappingCommandOutput) => void), + cb?: (err: any, data?: UpdateStudioSessionMappingCommandOutput) => void + ): Promise | void { + const command = new UpdateStudioSessionMappingCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-emr/EMRClient.ts b/clients/client-emr/EMRClient.ts index a429309362143..a392f6602373d 100644 --- a/clients/client-emr/EMRClient.ts +++ b/clients/client-emr/EMRClient.ts @@ -7,10 +7,20 @@ import { CreateSecurityConfigurationCommandInput, CreateSecurityConfigurationCommandOutput, } from "./commands/CreateSecurityConfigurationCommand"; +import { CreateStudioCommandInput, CreateStudioCommandOutput } from "./commands/CreateStudioCommand"; +import { + CreateStudioSessionMappingCommandInput, + CreateStudioSessionMappingCommandOutput, +} from "./commands/CreateStudioSessionMappingCommand"; import { DeleteSecurityConfigurationCommandInput, DeleteSecurityConfigurationCommandOutput, } from "./commands/DeleteSecurityConfigurationCommand"; +import { DeleteStudioCommandInput, DeleteStudioCommandOutput } from "./commands/DeleteStudioCommand"; +import { + DeleteStudioSessionMappingCommandInput, + DeleteStudioSessionMappingCommandOutput, +} from "./commands/DeleteStudioSessionMappingCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand"; import { DescribeJobFlowsCommandInput, DescribeJobFlowsCommandOutput } from "./commands/DescribeJobFlowsCommand"; import { @@ -22,6 +32,7 @@ import { DescribeSecurityConfigurationCommandOutput, } from "./commands/DescribeSecurityConfigurationCommand"; import { DescribeStepCommandInput, DescribeStepCommandOutput } from "./commands/DescribeStepCommand"; +import { DescribeStudioCommandInput, DescribeStudioCommandOutput } from "./commands/DescribeStudioCommand"; import { GetBlockPublicAccessConfigurationCommandInput, GetBlockPublicAccessConfigurationCommandOutput, @@ -30,6 +41,10 @@ import { GetManagedScalingPolicyCommandInput, GetManagedScalingPolicyCommandOutput, } from "./commands/GetManagedScalingPolicyCommand"; +import { + GetStudioSessionMappingCommandInput, + GetStudioSessionMappingCommandOutput, +} from "./commands/GetStudioSessionMappingCommand"; import { ListBootstrapActionsCommandInput, ListBootstrapActionsCommandOutput, @@ -47,6 +62,11 @@ import { ListSecurityConfigurationsCommandOutput, } from "./commands/ListSecurityConfigurationsCommand"; import { ListStepsCommandInput, ListStepsCommandOutput } from "./commands/ListStepsCommand"; +import { + ListStudioSessionMappingsCommandInput, + ListStudioSessionMappingsCommandOutput, +} from "./commands/ListStudioSessionMappingsCommand"; +import { ListStudiosCommandInput, ListStudiosCommandOutput } from "./commands/ListStudiosCommand"; import { ModifyClusterCommandInput, ModifyClusterCommandOutput } from "./commands/ModifyClusterCommand"; import { ModifyInstanceFleetCommandInput, @@ -95,6 +115,10 @@ import { StopNotebookExecutionCommandOutput, } from "./commands/StopNotebookExecutionCommand"; import { TerminateJobFlowsCommandInput, TerminateJobFlowsCommandOutput } from "./commands/TerminateJobFlowsCommand"; +import { + UpdateStudioSessionMappingCommandInput, + UpdateStudioSessionMappingCommandOutput, +} from "./commands/UpdateStudioSessionMappingCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -151,14 +175,20 @@ export type ServiceInputTypes = | AddTagsCommandInput | CancelStepsCommandInput | CreateSecurityConfigurationCommandInput + | CreateStudioCommandInput + | CreateStudioSessionMappingCommandInput | DeleteSecurityConfigurationCommandInput + | DeleteStudioCommandInput + | DeleteStudioSessionMappingCommandInput | DescribeClusterCommandInput | DescribeJobFlowsCommandInput | DescribeNotebookExecutionCommandInput | DescribeSecurityConfigurationCommandInput | DescribeStepCommandInput + | DescribeStudioCommandInput | GetBlockPublicAccessConfigurationCommandInput | GetManagedScalingPolicyCommandInput + | GetStudioSessionMappingCommandInput | ListBootstrapActionsCommandInput | ListClustersCommandInput | ListInstanceFleetsCommandInput @@ -167,6 +197,8 @@ export type ServiceInputTypes = | ListNotebookExecutionsCommandInput | ListSecurityConfigurationsCommandInput | ListStepsCommandInput + | ListStudioSessionMappingsCommandInput + | ListStudiosCommandInput | ModifyClusterCommandInput | ModifyInstanceFleetCommandInput | ModifyInstanceGroupsCommandInput @@ -181,7 +213,8 @@ export type ServiceInputTypes = | SetVisibleToAllUsersCommandInput | StartNotebookExecutionCommandInput | StopNotebookExecutionCommandInput - | TerminateJobFlowsCommandInput; + | TerminateJobFlowsCommandInput + | UpdateStudioSessionMappingCommandInput; export type ServiceOutputTypes = | AddInstanceFleetCommandOutput @@ -190,14 +223,20 @@ export type ServiceOutputTypes = | AddTagsCommandOutput | CancelStepsCommandOutput | CreateSecurityConfigurationCommandOutput + | CreateStudioCommandOutput + | CreateStudioSessionMappingCommandOutput | DeleteSecurityConfigurationCommandOutput + | DeleteStudioCommandOutput + | DeleteStudioSessionMappingCommandOutput | DescribeClusterCommandOutput | DescribeJobFlowsCommandOutput | DescribeNotebookExecutionCommandOutput | DescribeSecurityConfigurationCommandOutput | DescribeStepCommandOutput + | DescribeStudioCommandOutput | GetBlockPublicAccessConfigurationCommandOutput | GetManagedScalingPolicyCommandOutput + | GetStudioSessionMappingCommandOutput | ListBootstrapActionsCommandOutput | ListClustersCommandOutput | ListInstanceFleetsCommandOutput @@ -206,6 +245,8 @@ export type ServiceOutputTypes = | ListNotebookExecutionsCommandOutput | ListSecurityConfigurationsCommandOutput | ListStepsCommandOutput + | ListStudioSessionMappingsCommandOutput + | ListStudiosCommandOutput | ModifyClusterCommandOutput | ModifyInstanceFleetCommandOutput | ModifyInstanceGroupsCommandOutput @@ -220,7 +261,8 @@ export type ServiceOutputTypes = | SetVisibleToAllUsersCommandOutput | StartNotebookExecutionCommandOutput | StopNotebookExecutionCommandOutput - | TerminateJobFlowsCommandOutput; + | TerminateJobFlowsCommandOutput + | UpdateStudioSessionMappingCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** @@ -335,7 +377,10 @@ export type EMRClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle HostHeaderResolvedConfig; /** - *

    Amazon EMR is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

    + *

    Amazon EMR is a web service that makes it easier to process large amounts of data + * efficiently. Amazon EMR uses Hadoop processing combined with several AWS services to do + * tasks such as web indexing, data mining, log file analysis, machine learning, scientific + * simulation, and data warehouse management.

    */ export class EMRClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-emr/commands/AddInstanceFleetCommand.ts b/clients/client-emr/commands/AddInstanceFleetCommand.ts index f1a0b71a0dd03..0dba294faec21 100644 --- a/clients/client-emr/commands/AddInstanceFleetCommand.ts +++ b/clients/client-emr/commands/AddInstanceFleetCommand.ts @@ -23,7 +23,8 @@ export type AddInstanceFleetCommandOutput = AddInstanceFleetOutput & __MetadataB /** *

    Adds an instance fleet to a running cluster.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x.

    *
    */ export class AddInstanceFleetCommand extends $Command< diff --git a/clients/client-emr/commands/AddJobFlowStepsCommand.ts b/clients/client-emr/commands/AddJobFlowStepsCommand.ts index 8527b6980c830..0ee45a216b46c 100644 --- a/clients/client-emr/commands/AddJobFlowStepsCommand.ts +++ b/clients/client-emr/commands/AddJobFlowStepsCommand.ts @@ -21,11 +21,23 @@ export type AddJobFlowStepsCommandInput = AddJobFlowStepsInput; export type AddJobFlowStepsCommandOutput = AddJobFlowStepsOutput & __MetadataBearer; /** - *

    AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

    - *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

    - *

    A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

    - *

    Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

    - *

    You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

    + *

    AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed + * in each job flow.

    + *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may + * require more than 256 steps to process your data. You can bypass the 256-step limitation in + * various ways, including using SSH to connect to the master node and submitting queries + * directly to the software running on the master node, such as Hive and Hadoop. For more + * information on how to do this, see Add More than 256 Steps to a + * Cluster in the Amazon EMR Management Guide.

    + *

    A step specifies the location of a JAR file stored either on the master node of the + * cluster or in Amazon S3. Each step is performed by the main function of the main class of + * the JAR file. The main class can be specified either in the manifest of the JAR or by using + * the MainFunction parameter of the step.

    + *

    Amazon EMR executes each step in the order listed. For a step to be considered complete, + * the main function must exit with a zero exit code and all Hadoop jobs started while the + * step was running must have completed and run successfully.

    + *

    You can only add steps to a cluster that is in one of the following states: STARTING, + * BOOTSTRAPPING, RUNNING, or WAITING.

    */ export class AddJobFlowStepsCommand extends $Command< AddJobFlowStepsCommandInput, diff --git a/clients/client-emr/commands/AddTagsCommand.ts b/clients/client-emr/commands/AddTagsCommand.ts index 6b3d179a71f7b..ab3253c5465e3 100644 --- a/clients/client-emr/commands/AddTagsCommand.ts +++ b/clients/client-emr/commands/AddTagsCommand.ts @@ -18,9 +18,9 @@ export type AddTagsCommandInput = AddTagsInput; export type AddTagsCommandOutput = AddTagsOutput & __MetadataBearer; /** - *

    Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. - * For more information, see Tag Clusters. - *

    + *

    Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in + * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. + * For more information, see Tag Clusters.

    */ export class AddTagsCommand extends $Command { // Start section: command_properties diff --git a/clients/client-emr/commands/CancelStepsCommand.ts b/clients/client-emr/commands/CancelStepsCommand.ts index d5a9e0fd75a35..9070dbaa6f98e 100644 --- a/clients/client-emr/commands/CancelStepsCommand.ts +++ b/clients/client-emr/commands/CancelStepsCommand.ts @@ -21,7 +21,11 @@ export type CancelStepsCommandInput = CancelStepsInput; export type CancelStepsCommandOutput = CancelStepsOutput & __MetadataBearer; /** - *

    Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

    + *

    Cancels a pending step or steps in a running cluster. Available only in Amazon EMR + * versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in + * each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee + * that a step will be canceled, even if the request is successfully submitted. You can only + * cancel steps that are in a PENDING state.

    */ export class CancelStepsCommand extends $Command< CancelStepsCommandInput, diff --git a/clients/client-emr/commands/CreateSecurityConfigurationCommand.ts b/clients/client-emr/commands/CreateSecurityConfigurationCommand.ts index f57626c45e16d..6e9eed4f68ad3 100644 --- a/clients/client-emr/commands/CreateSecurityConfigurationCommand.ts +++ b/clients/client-emr/commands/CreateSecurityConfigurationCommand.ts @@ -21,7 +21,8 @@ export type CreateSecurityConfigurationCommandInput = CreateSecurityConfiguratio export type CreateSecurityConfigurationCommandOutput = CreateSecurityConfigurationOutput & __MetadataBearer; /** - *

    Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

    + *

    Creates a security configuration, which is stored in the service and can be specified + * when a cluster is created.

    */ export class CreateSecurityConfigurationCommand extends $Command< CreateSecurityConfigurationCommandInput, diff --git a/clients/client-emr/commands/CreateStudioCommand.ts b/clients/client-emr/commands/CreateStudioCommand.ts new file mode 100644 index 0000000000000..ac4d819604598 --- /dev/null +++ b/clients/client-emr/commands/CreateStudioCommand.ts @@ -0,0 +1,92 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { CreateStudioInput, CreateStudioOutput } from "../models/models_0"; +import { + deserializeAws_json1_1CreateStudioCommand, + serializeAws_json1_1CreateStudioCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateStudioCommandInput = CreateStudioInput; +export type CreateStudioCommandOutput = CreateStudioOutput & __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Creates a new Amazon EMR Studio.

    + */ +export class CreateStudioCommand extends $Command< + CreateStudioCommandInput, + CreateStudioCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateStudioCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "CreateStudioCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateStudioInput.filterSensitiveLog, + outputFilterSensitiveLog: CreateStudioOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateStudioCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateStudioCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateStudioCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts b/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts new file mode 100644 index 0000000000000..5b3ec3f5b3044 --- /dev/null +++ b/clients/client-emr/commands/CreateStudioSessionMappingCommand.ts @@ -0,0 +1,96 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { CreateStudioSessionMappingInput } from "../models/models_0"; +import { + deserializeAws_json1_1CreateStudioSessionMappingCommand, + serializeAws_json1_1CreateStudioSessionMappingCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateStudioSessionMappingCommandInput = CreateStudioSessionMappingInput; +export type CreateStudioSessionMappingCommandOutput = __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Maps a user or group to the Amazon EMR Studio specified by StudioId, and + * applies a session policy to refine Studio permissions for that user or group.

    + */ +export class CreateStudioSessionMappingCommand extends $Command< + CreateStudioSessionMappingCommandInput, + CreateStudioSessionMappingCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateStudioSessionMappingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "CreateStudioSessionMappingCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateStudioSessionMappingInput.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateStudioSessionMappingCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateStudioSessionMappingCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateStudioSessionMappingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/DeleteStudioCommand.ts b/clients/client-emr/commands/DeleteStudioCommand.ts new file mode 100644 index 0000000000000..005bb37bc40c6 --- /dev/null +++ b/clients/client-emr/commands/DeleteStudioCommand.ts @@ -0,0 +1,92 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { DeleteStudioInput } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteStudioCommand, + serializeAws_json1_1DeleteStudioCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteStudioCommandInput = DeleteStudioInput; +export type DeleteStudioCommandOutput = __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Removes an Amazon EMR Studio from the Studio metadata store.

    + */ +export class DeleteStudioCommand extends $Command< + DeleteStudioCommandInput, + DeleteStudioCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteStudioCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "DeleteStudioCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteStudioInput.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteStudioCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteStudioCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteStudioCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/DeleteStudioSessionMappingCommand.ts b/clients/client-emr/commands/DeleteStudioSessionMappingCommand.ts new file mode 100644 index 0000000000000..8d3c55a2ee08f --- /dev/null +++ b/clients/client-emr/commands/DeleteStudioSessionMappingCommand.ts @@ -0,0 +1,95 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { DeleteStudioSessionMappingInput } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteStudioSessionMappingCommand, + serializeAws_json1_1DeleteStudioSessionMappingCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteStudioSessionMappingCommandInput = DeleteStudioSessionMappingInput; +export type DeleteStudioSessionMappingCommandOutput = __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Removes a user or group from an Amazon EMR Studio.

    + */ +export class DeleteStudioSessionMappingCommand extends $Command< + DeleteStudioSessionMappingCommandInput, + DeleteStudioSessionMappingCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteStudioSessionMappingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "DeleteStudioSessionMappingCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteStudioSessionMappingInput.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteStudioSessionMappingCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteStudioSessionMappingCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteStudioSessionMappingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/DescribeClusterCommand.ts b/clients/client-emr/commands/DescribeClusterCommand.ts index fd433e47a8f0e..faeedf66133b0 100644 --- a/clients/client-emr/commands/DescribeClusterCommand.ts +++ b/clients/client-emr/commands/DescribeClusterCommand.ts @@ -21,7 +21,8 @@ export type DescribeClusterCommandInput = DescribeClusterInput; export type DescribeClusterCommandOutput = DescribeClusterOutput & __MetadataBearer; /** - *

    Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

    + *

    Provides cluster-level details including status, hardware and software configuration, + * VPC settings, and so on.

    */ export class DescribeClusterCommand extends $Command< DescribeClusterCommandInput, diff --git a/clients/client-emr/commands/DescribeJobFlowsCommand.ts b/clients/client-emr/commands/DescribeJobFlowsCommand.ts index 6daa517d0c928..06ed4b70badc0 100644 --- a/clients/client-emr/commands/DescribeJobFlowsCommand.ts +++ b/clients/client-emr/commands/DescribeJobFlowsCommand.ts @@ -21,19 +21,23 @@ export type DescribeJobFlowsCommandInput = DescribeJobFlowsInput; export type DescribeJobFlowsCommandOutput = DescribeJobFlowsOutput & __MetadataBearer; /** - *

    This API is deprecated and will eventually be removed. We recommend you use ListClusters, - * DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions - * instead.

    - *

    DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

    - *

    Regardless of supplied parameters, only job flows created within the last two months are returned.

    - *

    If no parameters are supplied, then job flows matching either of the following criteria are returned:

    + *

    This API is no longer supported and will eventually be removed. We recommend you use + * ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

    + *

    DescribeJobFlows returns a list of job flows that match all of the supplied parameters. + * The parameters can include a list of job flow IDs, job flow states, and restrictions on job + * flow creation date and time.

    + *

    Regardless of supplied parameters, only job flows created within the last two months are + * returned.

    + *

    If no parameters are supplied, then job flows matching either of the following criteria + * are returned:

    *
      *
    • *

      Job flows created and completed in the last two weeks

      *
    • *
    • - *

      Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN, - * STARTING + *

      Job flows created within the last two months that are in one of the following + * states: RUNNING, WAITING, SHUTTING_DOWN, + * STARTING *

      *
    • *
    diff --git a/clients/client-emr/commands/DescribeSecurityConfigurationCommand.ts b/clients/client-emr/commands/DescribeSecurityConfigurationCommand.ts index c39ba93137bab..efb55b2da70e7 100644 --- a/clients/client-emr/commands/DescribeSecurityConfigurationCommand.ts +++ b/clients/client-emr/commands/DescribeSecurityConfigurationCommand.ts @@ -21,7 +21,8 @@ export type DescribeSecurityConfigurationCommandInput = DescribeSecurityConfigur export type DescribeSecurityConfigurationCommandOutput = DescribeSecurityConfigurationOutput & __MetadataBearer; /** - *

    Provides the details of a security configuration by returning the configuration JSON.

    + *

    Provides the details of a security configuration by returning the configuration + * JSON.

    */ export class DescribeSecurityConfigurationCommand extends $Command< DescribeSecurityConfigurationCommandInput, diff --git a/clients/client-emr/commands/DescribeStudioCommand.ts b/clients/client-emr/commands/DescribeStudioCommand.ts new file mode 100644 index 0000000000000..fdf3ef0eb4204 --- /dev/null +++ b/clients/client-emr/commands/DescribeStudioCommand.ts @@ -0,0 +1,93 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { DescribeStudioInput, DescribeStudioOutput } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeStudioCommand, + serializeAws_json1_1DescribeStudioCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeStudioCommandInput = DescribeStudioInput; +export type DescribeStudioCommandOutput = DescribeStudioOutput & __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Returns details for the specified Amazon EMR Studio including ID, Name, VPC, Studio + * access URL, and so on.

    + */ +export class DescribeStudioCommand extends $Command< + DescribeStudioCommandInput, + DescribeStudioCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeStudioCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "DescribeStudioCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeStudioInput.filterSensitiveLog, + outputFilterSensitiveLog: DescribeStudioOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeStudioCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeStudioCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeStudioCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/GetBlockPublicAccessConfigurationCommand.ts b/clients/client-emr/commands/GetBlockPublicAccessConfigurationCommand.ts index 471eebddc8711..ec4d4dfb7bfba 100644 --- a/clients/client-emr/commands/GetBlockPublicAccessConfigurationCommand.ts +++ b/clients/client-emr/commands/GetBlockPublicAccessConfigurationCommand.ts @@ -21,7 +21,10 @@ export type GetBlockPublicAccessConfigurationCommandInput = GetBlockPublicAccess export type GetBlockPublicAccessConfigurationCommandOutput = GetBlockPublicAccessConfigurationOutput & __MetadataBearer; /** - *

    Returns the Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

    + *

    Returns the Amazon EMR block public access configuration for your AWS account in the + * current Region. For more information see Configure Block + * Public Access for Amazon EMR in the Amazon EMR Management + * Guide.

    */ export class GetBlockPublicAccessConfigurationCommand extends $Command< GetBlockPublicAccessConfigurationCommandInput, diff --git a/clients/client-emr/commands/GetManagedScalingPolicyCommand.ts b/clients/client-emr/commands/GetManagedScalingPolicyCommand.ts index 3444fb92185a1..119086e5581f2 100644 --- a/clients/client-emr/commands/GetManagedScalingPolicyCommand.ts +++ b/clients/client-emr/commands/GetManagedScalingPolicyCommand.ts @@ -21,9 +21,7 @@ export type GetManagedScalingPolicyCommandInput = GetManagedScalingPolicyInput; export type GetManagedScalingPolicyCommandOutput = GetManagedScalingPolicyOutput & __MetadataBearer; /** - *

    - * Fetches the attached managed scaling policy for an Amazon EMR cluster. - *

    + *

    Fetches the attached managed scaling policy for an Amazon EMR cluster.

    */ export class GetManagedScalingPolicyCommand extends $Command< GetManagedScalingPolicyCommandInput, diff --git a/clients/client-emr/commands/GetStudioSessionMappingCommand.ts b/clients/client-emr/commands/GetStudioSessionMappingCommand.ts new file mode 100644 index 0000000000000..dbec7e1dabd23 --- /dev/null +++ b/clients/client-emr/commands/GetStudioSessionMappingCommand.ts @@ -0,0 +1,93 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { GetStudioSessionMappingInput, GetStudioSessionMappingOutput } from "../models/models_0"; +import { + deserializeAws_json1_1GetStudioSessionMappingCommand, + serializeAws_json1_1GetStudioSessionMappingCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetStudioSessionMappingCommandInput = GetStudioSessionMappingInput; +export type GetStudioSessionMappingCommandOutput = GetStudioSessionMappingOutput & __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Fetches mapping details for the specified Amazon EMR Studio and identity (user or + * group).

    + */ +export class GetStudioSessionMappingCommand extends $Command< + GetStudioSessionMappingCommandInput, + GetStudioSessionMappingCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetStudioSessionMappingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "GetStudioSessionMappingCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetStudioSessionMappingInput.filterSensitiveLog, + outputFilterSensitiveLog: GetStudioSessionMappingOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetStudioSessionMappingCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetStudioSessionMappingCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetStudioSessionMappingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/ListClustersCommand.ts b/clients/client-emr/commands/ListClustersCommand.ts index f41034ea1aaad..d0d7e4cfb01ec 100644 --- a/clients/client-emr/commands/ListClustersCommand.ts +++ b/clients/client-emr/commands/ListClustersCommand.ts @@ -21,7 +21,11 @@ export type ListClustersCommandInput = ListClustersInput; export type ListClustersCommandOutput = ListClustersOutput & __MetadataBearer; /** - *

    Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

    + *

    Provides the status of all clusters visible to this AWS account. Allows you to filter + * the list of clusters based on certain criteria; for example, filtering by cluster creation + * date and time or by status. This call returns a maximum of 50 clusters per call, but + * returns a marker to track the paging of the cluster list across multiple ListClusters + * calls.

    */ export class ListClustersCommand extends $Command< ListClustersCommandInput, diff --git a/clients/client-emr/commands/ListInstanceFleetsCommand.ts b/clients/client-emr/commands/ListInstanceFleetsCommand.ts index 73088369f378c..ccf5c52366ab9 100644 --- a/clients/client-emr/commands/ListInstanceFleetsCommand.ts +++ b/clients/client-emr/commands/ListInstanceFleetsCommand.ts @@ -23,7 +23,8 @@ export type ListInstanceFleetsCommandOutput = ListInstanceFleetsOutput & __Metad /** *

    Lists all available details about the instance fleets in a cluster.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export class ListInstanceFleetsCommand extends $Command< diff --git a/clients/client-emr/commands/ListInstancesCommand.ts b/clients/client-emr/commands/ListInstancesCommand.ts index 4c0a127ad1fb4..1482815590c7a 100644 --- a/clients/client-emr/commands/ListInstancesCommand.ts +++ b/clients/client-emr/commands/ListInstancesCommand.ts @@ -21,7 +21,9 @@ export type ListInstancesCommandInput = ListInstancesInput; export type ListInstancesCommandOutput = ListInstancesOutput & __MetadataBearer; /** - *

    Provides information for all active EC2 instances and EC2 instances terminated in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

    + *

    Provides information for all active EC2 instances and EC2 instances terminated in the + * last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are + * considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

    */ export class ListInstancesCommand extends $Command< ListInstancesCommandInput, diff --git a/clients/client-emr/commands/ListNotebookExecutionsCommand.ts b/clients/client-emr/commands/ListNotebookExecutionsCommand.ts index d0935c875daf7..3d1d32a660548 100644 --- a/clients/client-emr/commands/ListNotebookExecutionsCommand.ts +++ b/clients/client-emr/commands/ListNotebookExecutionsCommand.ts @@ -21,7 +21,10 @@ export type ListNotebookExecutionsCommandInput = ListNotebookExecutionsInput; export type ListNotebookExecutionsCommandOutput = ListNotebookExecutionsOutput & __MetadataBearer; /** - *

    Provides summaries of all notebook executions. You can filter the list based on multiple criteria such as status, time range, and editor id. Returns a maximum of 50 notebook executions and a marker to track the paging of a longer notebook execution list across multiple ListNotebookExecution calls.

    + *

    Provides summaries of all notebook executions. You can filter the list based on multiple + * criteria such as status, time range, and editor id. Returns a maximum of 50 notebook + * executions and a marker to track the paging of a longer notebook execution list across + * multiple ListNotebookExecution calls.

    */ export class ListNotebookExecutionsCommand extends $Command< ListNotebookExecutionsCommandInput, diff --git a/clients/client-emr/commands/ListSecurityConfigurationsCommand.ts b/clients/client-emr/commands/ListSecurityConfigurationsCommand.ts index 6dd99064c13cf..c327e5d18e9e8 100644 --- a/clients/client-emr/commands/ListSecurityConfigurationsCommand.ts +++ b/clients/client-emr/commands/ListSecurityConfigurationsCommand.ts @@ -21,7 +21,10 @@ export type ListSecurityConfigurationsCommandInput = ListSecurityConfigurationsI export type ListSecurityConfigurationsCommandOutput = ListSecurityConfigurationsOutput & __MetadataBearer; /** - *

    Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls.

    + *

    Lists all the security configurations visible to this account, providing their creation + * dates and times, and their names. This call returns a maximum of 50 clusters per call, but + * returns a marker to track the paging of the cluster list across multiple + * ListSecurityConfigurations calls.

    */ export class ListSecurityConfigurationsCommand extends $Command< ListSecurityConfigurationsCommandInput, diff --git a/clients/client-emr/commands/ListStepsCommand.ts b/clients/client-emr/commands/ListStepsCommand.ts index f174d866bad81..aea8faba10a97 100644 --- a/clients/client-emr/commands/ListStepsCommand.ts +++ b/clients/client-emr/commands/ListStepsCommand.ts @@ -18,7 +18,9 @@ export type ListStepsCommandInput = ListStepsInput; export type ListStepsCommandOutput = ListStepsOutput & __MetadataBearer; /** - *

    Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request of filter by StepStates. You can specify a maximum of ten stepIDs.

    + *

    Provides a list of steps for the cluster in reverse order unless you specify + * stepIds with the request of filter by StepStates. You can + * specify a maximum of ten stepIDs.

    */ export class ListStepsCommand extends $Command { // Start section: command_properties diff --git a/clients/client-emr/commands/ListStudioSessionMappingsCommand.ts b/clients/client-emr/commands/ListStudioSessionMappingsCommand.ts new file mode 100644 index 0000000000000..2bcd06ca5ab80 --- /dev/null +++ b/clients/client-emr/commands/ListStudioSessionMappingsCommand.ts @@ -0,0 +1,96 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { ListStudioSessionMappingsInput, ListStudioSessionMappingsOutput } from "../models/models_0"; +import { + deserializeAws_json1_1ListStudioSessionMappingsCommand, + serializeAws_json1_1ListStudioSessionMappingsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListStudioSessionMappingsCommandInput = ListStudioSessionMappingsInput; +export type ListStudioSessionMappingsCommandOutput = ListStudioSessionMappingsOutput & __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Returns a list of all user or group session mappings for the EMR Studio specified by + * StudioId.

    + */ +export class ListStudioSessionMappingsCommand extends $Command< + ListStudioSessionMappingsCommandInput, + ListStudioSessionMappingsCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListStudioSessionMappingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "ListStudioSessionMappingsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListStudioSessionMappingsInput.filterSensitiveLog, + outputFilterSensitiveLog: ListStudioSessionMappingsOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListStudioSessionMappingsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListStudioSessionMappingsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListStudioSessionMappingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/ListStudiosCommand.ts b/clients/client-emr/commands/ListStudiosCommand.ts new file mode 100644 index 0000000000000..c23db6afc7136 --- /dev/null +++ b/clients/client-emr/commands/ListStudiosCommand.ts @@ -0,0 +1,93 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { ListStudiosInput, ListStudiosOutput } from "../models/models_0"; +import { + deserializeAws_json1_1ListStudiosCommand, + serializeAws_json1_1ListStudiosCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListStudiosCommandInput = ListStudiosInput; +export type ListStudiosCommandOutput = ListStudiosOutput & __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Returns a list of all Amazon EMR Studios associated with the AWS account. The list + * includes details such as ID, Studio Access URL, and creation time for each Studio.

    + */ +export class ListStudiosCommand extends $Command< + ListStudiosCommandInput, + ListStudiosCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListStudiosCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "ListStudiosCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListStudiosInput.filterSensitiveLog, + outputFilterSensitiveLog: ListStudiosOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListStudiosCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListStudiosCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListStudiosCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/ModifyClusterCommand.ts b/clients/client-emr/commands/ModifyClusterCommand.ts index a2ecea34075a4..263cf83e2be61 100644 --- a/clients/client-emr/commands/ModifyClusterCommand.ts +++ b/clients/client-emr/commands/ModifyClusterCommand.ts @@ -21,7 +21,8 @@ export type ModifyClusterCommandInput = ModifyClusterInput; export type ModifyClusterCommandOutput = ModifyClusterOutput & __MetadataBearer; /** - *

    Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID.

    + *

    Modifies the number of steps that can be executed concurrently for the cluster specified + * using ClusterID.

    */ export class ModifyClusterCommand extends $Command< ModifyClusterCommandInput, diff --git a/clients/client-emr/commands/ModifyInstanceFleetCommand.ts b/clients/client-emr/commands/ModifyInstanceFleetCommand.ts index 6585b495a1888..bbcee89b950dc 100644 --- a/clients/client-emr/commands/ModifyInstanceFleetCommand.ts +++ b/clients/client-emr/commands/ModifyInstanceFleetCommand.ts @@ -21,9 +21,12 @@ export type ModifyInstanceFleetCommandInput = ModifyInstanceFleetInput; export type ModifyInstanceFleetCommandOutput = __MetadataBearer; /** - *

    Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

    + *

    Modifies the target On-Demand and target Spot capacities for the instance fleet with the + * specified InstanceFleetID within the cluster specified using ClusterID. The call either + * succeeds or fails atomically.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export class ModifyInstanceFleetCommand extends $Command< diff --git a/clients/client-emr/commands/ModifyInstanceGroupsCommand.ts b/clients/client-emr/commands/ModifyInstanceGroupsCommand.ts index 768a572958f66..394342ca046c6 100644 --- a/clients/client-emr/commands/ModifyInstanceGroupsCommand.ts +++ b/clients/client-emr/commands/ModifyInstanceGroupsCommand.ts @@ -21,7 +21,9 @@ export type ModifyInstanceGroupsCommandInput = ModifyInstanceGroupsInput; export type ModifyInstanceGroupsCommandOutput = __MetadataBearer; /** - *

    ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

    + *

    ModifyInstanceGroups modifies the number of nodes and configuration settings of an + * instance group. The input parameters include the new target instance count for the group + * and the instance group ID. The call will either succeed or fail atomically.

    */ export class ModifyInstanceGroupsCommand extends $Command< ModifyInstanceGroupsCommandInput, diff --git a/clients/client-emr/commands/PutAutoScalingPolicyCommand.ts b/clients/client-emr/commands/PutAutoScalingPolicyCommand.ts index fdc22c6ba2fb5..f7e4f6e4877b8 100644 --- a/clients/client-emr/commands/PutAutoScalingPolicyCommand.ts +++ b/clients/client-emr/commands/PutAutoScalingPolicyCommand.ts @@ -21,7 +21,10 @@ export type PutAutoScalingPolicyCommandInput = PutAutoScalingPolicyInput; export type PutAutoScalingPolicyCommandOutput = PutAutoScalingPolicyOutput & __MetadataBearer; /** - *

    Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.

    + *

    Creates or updates an automatic scaling policy for a core instance group or task + * instance group in an Amazon EMR cluster. The automatic scaling policy defines how an + * instance group dynamically adds and terminates EC2 instances in response to the value of a + * CloudWatch metric.

    */ export class PutAutoScalingPolicyCommand extends $Command< PutAutoScalingPolicyCommandInput, diff --git a/clients/client-emr/commands/PutBlockPublicAccessConfigurationCommand.ts b/clients/client-emr/commands/PutBlockPublicAccessConfigurationCommand.ts index 9f45805fab0a8..caaeeae395562 100644 --- a/clients/client-emr/commands/PutBlockPublicAccessConfigurationCommand.ts +++ b/clients/client-emr/commands/PutBlockPublicAccessConfigurationCommand.ts @@ -21,7 +21,10 @@ export type PutBlockPublicAccessConfigurationCommandInput = PutBlockPublicAccess export type PutBlockPublicAccessConfigurationCommandOutput = PutBlockPublicAccessConfigurationOutput & __MetadataBearer; /** - *

    Creates or updates an Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

    + *

    Creates or updates an Amazon EMR block public access configuration for your AWS account + * in the current Region. For more information see Configure Block + * Public Access for Amazon EMR in the Amazon EMR Management + * Guide.

    */ export class PutBlockPublicAccessConfigurationCommand extends $Command< PutBlockPublicAccessConfigurationCommandInput, diff --git a/clients/client-emr/commands/PutManagedScalingPolicyCommand.ts b/clients/client-emr/commands/PutManagedScalingPolicyCommand.ts index 90b8e743a1e5e..4034dfd208056 100644 --- a/clients/client-emr/commands/PutManagedScalingPolicyCommand.ts +++ b/clients/client-emr/commands/PutManagedScalingPolicyCommand.ts @@ -21,9 +21,10 @@ export type PutManagedScalingPolicyCommandInput = PutManagedScalingPolicyInput; export type PutManagedScalingPolicyCommandOutput = PutManagedScalingPolicyOutput & __MetadataBearer; /** - *

    - * Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

    + *

    Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed + * scaling policy defines the limits for resources, such as EC2 instances that can be added or + * terminated from a cluster. The policy only applies to the core and task nodes. The master + * node cannot be scaled after initial configuration.

    */ export class PutManagedScalingPolicyCommand extends $Command< PutManagedScalingPolicyCommandInput, diff --git a/clients/client-emr/commands/RemoveAutoScalingPolicyCommand.ts b/clients/client-emr/commands/RemoveAutoScalingPolicyCommand.ts index 32c40d2b53145..0fbaf9846af0a 100644 --- a/clients/client-emr/commands/RemoveAutoScalingPolicyCommand.ts +++ b/clients/client-emr/commands/RemoveAutoScalingPolicyCommand.ts @@ -21,7 +21,8 @@ export type RemoveAutoScalingPolicyCommandInput = RemoveAutoScalingPolicyInput; export type RemoveAutoScalingPolicyCommandOutput = RemoveAutoScalingPolicyOutput & __MetadataBearer; /** - *

    Removes an automatic scaling policy from a specified instance group within an EMR cluster.

    + *

    Removes an automatic scaling policy from a specified instance group within an EMR + * cluster.

    */ export class RemoveAutoScalingPolicyCommand extends $Command< RemoveAutoScalingPolicyCommandInput, diff --git a/clients/client-emr/commands/RemoveManagedScalingPolicyCommand.ts b/clients/client-emr/commands/RemoveManagedScalingPolicyCommand.ts index 00699f146357a..d0d1bf07bf2e3 100644 --- a/clients/client-emr/commands/RemoveManagedScalingPolicyCommand.ts +++ b/clients/client-emr/commands/RemoveManagedScalingPolicyCommand.ts @@ -21,9 +21,7 @@ export type RemoveManagedScalingPolicyCommandInput = RemoveManagedScalingPolicyI export type RemoveManagedScalingPolicyCommandOutput = RemoveManagedScalingPolicyOutput & __MetadataBearer; /** - *

    - * Removes a managed scaling policy from a specified EMR cluster. - *

    + *

    Removes a managed scaling policy from a specified EMR cluster.

    */ export class RemoveManagedScalingPolicyCommand extends $Command< RemoveManagedScalingPolicyCommandInput, diff --git a/clients/client-emr/commands/RemoveTagsCommand.ts b/clients/client-emr/commands/RemoveTagsCommand.ts index cf3a4309ccef4..57f289a966074 100644 --- a/clients/client-emr/commands/RemoveTagsCommand.ts +++ b/clients/client-emr/commands/RemoveTagsCommand.ts @@ -21,9 +21,9 @@ export type RemoveTagsCommandInput = RemoveTagsInput; export type RemoveTagsCommandOutput = RemoveTagsOutput & __MetadataBearer; /** - *

    Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. - * For more information, see Tag Clusters. - *

    + *

    Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in + * various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. + * For more information, see Tag Clusters.

    *

    The following example removes the stack tag with value Prod from a cluster:

    */ export class RemoveTagsCommand extends $Command< diff --git a/clients/client-emr/commands/RunJobFlowCommand.ts b/clients/client-emr/commands/RunJobFlowCommand.ts index 87efa8a25ffc7..4f2d3cbc51178 100644 --- a/clients/client-emr/commands/RunJobFlowCommand.ts +++ b/clients/client-emr/commands/RunJobFlowCommand.ts @@ -21,24 +21,28 @@ export type RunJobFlowCommandInput = RunJobFlowInput; export type RunJobFlowCommandOutput = RunJobFlowOutput & __MetadataBearer; /** - *

    RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps - * specified. After the steps complete, the cluster stops and the HDFS partition is + *

    RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the + * steps specified. After the steps complete, the cluster stops and the HDFS partition is * lost. To prevent loss of data, configure the last step of the job flow to store results in * Amazon S3. If the JobFlowInstancesConfig - * KeepJobFlowAliveWhenNoSteps parameter is - * set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

    - * - *

    For additional protection, you can set the - * JobFlowInstancesConfig - * TerminationProtected parameter to TRUE to lock the - * cluster and prevent it from being - * terminated by API call, user intervention, or in the event of a job flow error.

    - * + * KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster + * transitions to the WAITING state rather than shutting down after the steps have completed.

    + *

    For additional protection, you can set the JobFlowInstancesConfig + * TerminationProtected parameter to TRUE to lock the cluster and + * prevent it from being terminated by API call, user intervention, or in the event of a job + * flow error.

    *

    A maximum of 256 steps are allowed in each job flow.

    - *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

    + *

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may + * require more than 256 steps to process your data. You can bypass the 256-step limitation in + * various ways, including using the SSH shell to connect to the master node and submitting + * queries directly to the software running on the master node, such as Hive and Hadoop. For + * more information on how to do this, see Add More than 256 Steps to a + * Cluster in the Amazon EMR Management Guide.

    *

    For long running clusters, we recommend that you periodically store your results.

    * - *

    The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

    + *

    The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets + * parameters or InstanceGroups parameters, but not both.

    *
    */ export class RunJobFlowCommand extends $Command< diff --git a/clients/client-emr/commands/SetTerminationProtectionCommand.ts b/clients/client-emr/commands/SetTerminationProtectionCommand.ts index 4b955bae7bae5..d5cd7efcc5f1b 100644 --- a/clients/client-emr/commands/SetTerminationProtectionCommand.ts +++ b/clients/client-emr/commands/SetTerminationProtectionCommand.ts @@ -21,16 +21,21 @@ export type SetTerminationProtectionCommandInput = SetTerminationProtectionInput export type SetTerminationProtectionCommandOutput = __MetadataBearer; /** - *

    SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

    + *

    SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster + * cannot be terminated by user intervention, an API call, or in the event of a job-flow + * error. The cluster still terminates upon successful completion of the job flow. Calling + * SetTerminationProtection on a cluster is similar to calling the Amazon EC2 + * DisableAPITermination API on all EC2 instances in a cluster.

    *

    - * SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

    - * - *

    To terminate a cluster that has been locked by setting SetTerminationProtection to true, - * you must first unlock the job flow by a subsequent call to SetTerminationProtection - * in which you set the value to false.

    - *

    For more information, seeManaging Cluster Termination in the - * Amazon EMR Management Guide. - *

    + * SetTerminationProtection is used to prevent accidental termination of a + * cluster and to ensure that in the event of an error, the instances persist so that you can + * recover any data stored in their ephemeral instance storage.

    + *

    To terminate a cluster that has been locked by setting + * SetTerminationProtection to true, you must first unlock the + * job flow by a subsequent call to SetTerminationProtection in which you set the + * value to false.

    + *

    For more information, seeManaging Cluster + * Termination in the Amazon EMR Management Guide.

    */ export class SetTerminationProtectionCommand extends $Command< SetTerminationProtectionCommandInput, diff --git a/clients/client-emr/commands/SetVisibleToAllUsersCommand.ts b/clients/client-emr/commands/SetVisibleToAllUsersCommand.ts index 5fd45695d456c..4bb04b9d290d4 100644 --- a/clients/client-emr/commands/SetVisibleToAllUsersCommand.ts +++ b/clients/client-emr/commands/SetVisibleToAllUsersCommand.ts @@ -21,7 +21,15 @@ export type SetVisibleToAllUsersCommandInput = SetVisibleToAllUsersInput; export type SetVisibleToAllUsersCommandOutput = __MetadataBearer; /** - *

    Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster is visible to all IAM users of the AWS account associated with the cluster. Only the IAM user who created the cluster or the AWS account root user can call this action. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If set to false, only the IAM user that created the cluster can perform actions. This action works on running clusters. You can override the default true setting when you create a cluster by using the VisibleToAllUsers parameter with RunJobFlow.

    + *

    Sets the Cluster$VisibleToAllUsers value, which determines whether the + * cluster is visible to all IAM users of the AWS account associated with the cluster. Only + * the IAM user who created the cluster or the AWS account root user can call this action. The + * default value, true, indicates that all IAM users in the AWS account can + * perform cluster actions if they have the proper IAM policy permissions. If set to + * false, only the IAM user that created the cluster can perform actions. This + * action works on running clusters. You can override the default true setting + * when you create a cluster by using the VisibleToAllUsers parameter with + * RunJobFlow.

    */ export class SetVisibleToAllUsersCommand extends $Command< SetVisibleToAllUsersCommandInput, diff --git a/clients/client-emr/commands/TerminateJobFlowsCommand.ts b/clients/client-emr/commands/TerminateJobFlowsCommand.ts index e9b2df3af02e6..5263ea1036e7c 100644 --- a/clients/client-emr/commands/TerminateJobFlowsCommand.ts +++ b/clients/client-emr/commands/TerminateJobFlowsCommand.ts @@ -21,8 +21,14 @@ export type TerminateJobFlowsCommandInput = TerminateJobFlowsInput; export type TerminateJobFlowsCommandOutput = __MetadataBearer; /** - *

    TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

    - *

    The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

    + *

    TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut + * down, any step not yet completed is canceled and the EC2 instances on which the cluster is + * running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri + * was specified when the cluster was created.

    + *

    The maximum number of clusters allowed is 10. The call to TerminateJobFlows + * is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 + * minutes for the cluster to completely terminate and release allocated resources, such as + * Amazon EC2 instances.

    */ export class TerminateJobFlowsCommand extends $Command< TerminateJobFlowsCommandInput, diff --git a/clients/client-emr/commands/UpdateStudioSessionMappingCommand.ts b/clients/client-emr/commands/UpdateStudioSessionMappingCommand.ts new file mode 100644 index 0000000000000..32061edecd461 --- /dev/null +++ b/clients/client-emr/commands/UpdateStudioSessionMappingCommand.ts @@ -0,0 +1,96 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { UpdateStudioSessionMappingInput } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateStudioSessionMappingCommand, + serializeAws_json1_1UpdateStudioSessionMappingCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateStudioSessionMappingCommandInput = UpdateStudioSessionMappingInput; +export type UpdateStudioSessionMappingCommandOutput = __MetadataBearer; + +/** + * + *

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to + * change.

    + *
    + *

    Updates the session policy attached to the user or group for the specified Amazon EMR + * Studio.

    + */ +export class UpdateStudioSessionMappingCommand extends $Command< + UpdateStudioSessionMappingCommandInput, + UpdateStudioSessionMappingCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateStudioSessionMappingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EMRClient"; + const commandName = "UpdateStudioSessionMappingCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateStudioSessionMappingInput.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateStudioSessionMappingCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateStudioSessionMappingCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateStudioSessionMappingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/index.ts b/clients/client-emr/index.ts index 0a22a8107d98a..3730e84bd9d23 100644 --- a/clients/client-emr/index.ts +++ b/clients/client-emr/index.ts @@ -6,14 +6,20 @@ export * from "./commands/AddJobFlowStepsCommand"; export * from "./commands/AddTagsCommand"; export * from "./commands/CancelStepsCommand"; export * from "./commands/CreateSecurityConfigurationCommand"; +export * from "./commands/CreateStudioCommand"; +export * from "./commands/CreateStudioSessionMappingCommand"; export * from "./commands/DeleteSecurityConfigurationCommand"; +export * from "./commands/DeleteStudioCommand"; +export * from "./commands/DeleteStudioSessionMappingCommand"; export * from "./commands/DescribeClusterCommand"; export * from "./commands/DescribeJobFlowsCommand"; export * from "./commands/DescribeNotebookExecutionCommand"; export * from "./commands/DescribeSecurityConfigurationCommand"; export * from "./commands/DescribeStepCommand"; +export * from "./commands/DescribeStudioCommand"; export * from "./commands/GetBlockPublicAccessConfigurationCommand"; export * from "./commands/GetManagedScalingPolicyCommand"; +export * from "./commands/GetStudioSessionMappingCommand"; export * from "./commands/ListBootstrapActionsCommand"; export * from "./pagination/ListBootstrapActionsPaginator"; export * from "./commands/ListClustersCommand"; @@ -30,6 +36,10 @@ export * from "./commands/ListSecurityConfigurationsCommand"; export * from "./pagination/ListSecurityConfigurationsPaginator"; export * from "./commands/ListStepsCommand"; export * from "./pagination/ListStepsPaginator"; +export * from "./commands/ListStudiosCommand"; +export * from "./pagination/ListStudiosPaginator"; +export * from "./commands/ListStudioSessionMappingsCommand"; +export * from "./pagination/ListStudioSessionMappingsPaginator"; export * from "./commands/ModifyClusterCommand"; export * from "./commands/ModifyInstanceFleetCommand"; export * from "./commands/ModifyInstanceGroupsCommand"; @@ -45,5 +55,6 @@ export * from "./commands/SetVisibleToAllUsersCommand"; export * from "./commands/StartNotebookExecutionCommand"; export * from "./commands/StopNotebookExecutionCommand"; export * from "./commands/TerminateJobFlowsCommand"; +export * from "./commands/UpdateStudioSessionMappingCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-emr/models/models_0.ts b/clients/client-emr/models/models_0.ts index db71c6239f15b..add3931ed3088 100644 --- a/clients/client-emr/models/models_0.ts +++ b/clients/client-emr/models/models_0.ts @@ -15,7 +15,8 @@ export enum InstanceFleetType { } /** - *

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

    + *

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be + * requested for the EBS volume attached to an EC2 instance in the cluster.

    */ export interface VolumeSpecification { /** @@ -29,7 +30,8 @@ export interface VolumeSpecification { Iops?: number; /** - *

    The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

    + *

    The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume + * type is EBS-optimized, the minimum value is 10.

    */ SizeInGB: number | undefined; } @@ -41,18 +43,21 @@ export namespace VolumeSpecification { } /** - *

    Configuration of requested EBS block device associated with the instance group with count of volumes that will be associated to every instance.

    + *

    Configuration of requested EBS block device associated with the instance group with + * count of volumes that will be associated to every instance.

    */ export interface EbsBlockDeviceConfig { /** - *

    Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

    + *

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be + * requested for the EBS volume attached to an EC2 instance in the cluster.

    */ - VolumesPerInstance?: number; + VolumeSpecification: VolumeSpecification | undefined; /** - *

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

    + *

    Number of EBS volumes with a specific volume configuration that will be associated with + * every instance in the instance group

    */ - VolumeSpecification: VolumeSpecification | undefined; + VolumesPerInstance?: number; } export namespace EbsBlockDeviceConfig { @@ -66,14 +71,14 @@ export namespace EbsBlockDeviceConfig { */ export interface EbsConfiguration { /** - *

    Indicates whether an Amazon EBS volume is EBS-optimized.

    + *

    An array of Amazon EBS volume specifications attached to a cluster instance.

    */ - EbsOptimized?: boolean; + EbsBlockDeviceConfigs?: EbsBlockDeviceConfig[]; /** - *

    An array of Amazon EBS volume specifications attached to a cluster instance.

    + *

    Indicates whether an Amazon EBS volume is EBS-optimized.

    */ - EbsBlockDeviceConfigs?: EbsBlockDeviceConfig[]; + EbsOptimized?: boolean; } export namespace EbsConfiguration { @@ -87,18 +92,18 @@ export enum OnDemandProvisioningAllocationStrategy { } /** - *

    - * The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy. - *

    + *

    The launch specification for On-Demand Instances in the instance fleet, which + * determines the allocation strategy.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in + * Amazon EMR version 5.12.1 and later.

    *
    */ export interface OnDemandProvisioningSpecification { /** - *

    - * Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is lowest-price (the default), which launches the lowest price first. - *

    + *

    Specifies the strategy to use in launching On-Demand Instance fleets. Currently, the + * only option is lowest-price (the default), which launches the lowest price first.

    */ AllocationStrategy: OnDemandProvisioningAllocationStrategy | string | undefined; } @@ -116,34 +121,50 @@ export enum SpotProvisioningAllocationStrategy { export type SpotProvisioningTimeoutAction = "SWITCH_TO_ON_DEMAND" | "TERMINATE_CLUSTER"; /** - *

    The launch specification for Spot instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

    + *

    The launch specification for Spot Instances in the instance fleet, which determines the + * defined duration, provisioning timeout behavior, and allocation strategy.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy is available in Amazon EMR version 5.12.1 and later.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions. Spot Instance allocation strategy is available in + * Amazon EMR version 5.12.1 and later.

    *
    */ export interface SpotProvisioningSpecification { /** - *

    The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

    + *

    The spot provisioning timeout period in minutes. If Spot Instances are not provisioned + * within this time period, the TimeOutAction is taken. Minimum value is 5 and + * maximum value is 1440. The timeout applies only during initial provisioning, when the + * cluster is first created.

    */ TimeoutDurationMinutes: number | undefined; /** - *

    - * Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching. - *

    + *

    The action to take when TargetSpotCapacity has not been fulfilled when the + * TimeoutDurationMinutes has expired; that is, when all Spot Instances could + * not be provisioned within the Spot provisioning timeout. Valid values are + * TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND + * specifies that if no Spot Instances are available, On-Demand Instances should be + * provisioned to fulfill any remaining Spot capacity.

    */ - AllocationStrategy?: SpotProvisioningAllocationStrategy | string; + TimeoutAction: SpotProvisioningTimeoutAction | string | undefined; /** - *

    The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

    + *

    The defined duration for Spot Instances (also known as Spot blocks) in minutes. When + * specified, the Spot Instance does not terminate before the defined duration expires, and + * defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, + * 300, or 360. The duration period starts as soon as a Spot Instance receives its instance + * ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and + * provides a Spot Instance termination notice, which gives the instance a two-minute warning + * before it terminates.

    */ - TimeoutAction: SpotProvisioningTimeoutAction | string | undefined; + BlockDurationMinutes?: number; /** - *

    The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. - *

    + *

    Specifies the strategy to use in launching Spot Instance fleets. Currently, the only + * option is capacity-optimized (the default), which launches instances from Spot Instance + * pools with optimal capacity for the number of instances that are launching.

    */ - BlockDurationMinutes?: number; + AllocationStrategy?: SpotProvisioningAllocationStrategy | string; } export namespace SpotProvisioningSpecification { @@ -153,23 +174,28 @@ export namespace SpotProvisioningSpecification { } /** - *

    The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

    + *

    The launch specification for Spot Instances in the fleet, which determines the defined + * duration, provisioning timeout behavior, and allocation strategy.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation strategies are available in Amazon EMR version 5.12.1 and later.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions. On-Demand and Spot Instance allocation strategies are + * available in Amazon EMR version 5.12.1 and later.

    *
    */ export interface InstanceFleetProvisioningSpecifications { /** - *

    The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

    + *

    The launch specification for Spot Instances in the fleet, which determines the defined + * duration, provisioning timeout behavior, and allocation strategy.

    */ SpotSpecification?: SpotProvisioningSpecification; /** - *

    - * The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy. - *

    + *

    The launch specification for On-Demand Instances in the instance fleet, which + * determines the allocation strategy.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in + * Amazon EMR version 5.12.1 and later.

    *
    */ OnDemandSpecification?: OnDemandProvisioningSpecification; @@ -182,11 +208,6 @@ export namespace InstanceFleetProvisioningSpecifications { } export interface AddInstanceFleetOutput { - /** - *

    The Amazon Resource Name of the cluster.

    - */ - ClusterArn?: string; - /** *

    The unique identifier of the cluster.

    */ @@ -196,6 +217,11 @@ export interface AddInstanceFleetOutput { *

    The unique identifier of the instance fleet.

    */ InstanceFleetId?: string; + + /** + *

    The Amazon Resource Name of the cluster.

    + */ + ClusterArn?: string; } export namespace AddInstanceFleetOutput { @@ -229,14 +255,14 @@ export interface InvalidRequestException extends __SmithyException, $MetadataBea name: "InvalidRequestException"; $fault: "client"; /** - *

    The message associated with the exception.

    + *

    The error code associated with the exception.

    */ - Message?: string; + ErrorCode?: string; /** - *

    The error code associated with the exception.

    + *

    The message associated with the exception.

    */ - ErrorCode?: string; + Message?: string; } export namespace InvalidRequestException { @@ -246,18 +272,24 @@ export namespace InvalidRequestException { } /** - *

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activities triggered by automatic scaling rules will not cause an instance group to grow above or below these limits.

    + *

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic + * scaling activities triggered by automatic scaling rules will not cause an instance group to + * grow above or below these limits.

    */ export interface ScalingConstraints { /** - *

    The upper boundary of EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary.

    + *

    The lower boundary of EC2 instances in an instance group below which scaling activities + * are not allowed to shrink. Scale-in activities will not terminate instances below this + * boundary.

    */ - MaxCapacity: number | undefined; + MinCapacity: number | undefined; /** - *

    The lower boundary of EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary.

    + *

    The upper boundary of EC2 instances in an instance group beyond which scaling activities + * are not allowed to grow. Scale-out activities will not add instances beyond this + * boundary.

    */ - MinCapacity: number | undefined; + MaxCapacity: number | undefined; } export namespace ScalingConstraints { @@ -278,23 +310,42 @@ export enum AdjustmentType { } /** - *

    An automatic scaling configuration, which describes how the policy adds or removes instances, the cooldown period, and the number of EC2 instances that will be added each time the CloudWatch metric alarm condition is satisfied.

    + *

    An automatic scaling configuration, which describes how the policy adds or removes + * instances, the cooldown period, and the number of EC2 instances that will be added each + * time the CloudWatch metric alarm condition is satisfied.

    */ export interface SimpleScalingPolicyConfiguration { /** - *

    The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as an integer. For example, 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer.

    + *

    The way in which EC2 instances are added (if ScalingAdjustment is a + * positive number) or terminated (if ScalingAdjustment is a negative number) + * each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the + * default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments + * or decrements by ScalingAdjustment, which should be expressed as an integer. + * PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or + * decrements by the percentage specified by ScalingAdjustment, which should be + * expressed as an integer. For example, 20 indicates an increase in 20% increments of cluster + * capacity. EXACT_CAPACITY indicates the scaling activity results in an instance + * group with the number of EC2 instances specified by ScalingAdjustment, which + * should be expressed as a positive integer.

    */ AdjustmentType?: AdjustmentType | string; /** - *

    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start. The default value is 0.

    + *

    The amount by which to scale in or scale out, based on the specified + * AdjustmentType. A positive value adds to the instance group's EC2 instance + * count while a negative number removes instances. If AdjustmentType is set to + * EXACT_CAPACITY, the number should only be a positive integer. If + * AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value + * should express the percentage as an integer. For example, -20 indicates a decrease in 20% + * increments of cluster capacity.

    */ - CoolDown?: number; + ScalingAdjustment: number | undefined; /** - *

    The amount by which to scale in or scale out, based on the specified AdjustmentType. A positive value adds to the instance group's EC2 instance count while a negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, the number should only be a positive integer. If AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an integer. For example, -20 indicates a decrease in 20% increments of cluster capacity.

    + *

    The amount of time, in seconds, after a scaling activity completes before any further + * trigger-related scaling activities can start. The default value is 0.

    */ - ScalingAdjustment: number | undefined; + CoolDown?: number; } export namespace SimpleScalingPolicyConfiguration { @@ -304,16 +355,19 @@ export namespace SimpleScalingPolicyConfiguration { } /** - *

    The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

    + *

    The type of adjustment the automatic scaling activity makes when triggered, and the + * periodicity of the adjustment.

    */ export interface ScalingAction { /** - *

    Not available for instance groups. Instance groups use the market type specified for the group.

    + *

    Not available for instance groups. Instance groups use the market type specified for the + * group.

    */ Market?: MarketType | string; /** - *

    The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

    + *

    The type of adjustment the automatic scaling activity makes when triggered, and the + * periodicity of the adjustment.

    */ SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration | undefined; } @@ -332,18 +386,22 @@ export enum ComparisonOperator { } /** - *

    A CloudWatch dimension, which is specified using a Key (known as a Name in CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose Key is JobFlowID and Value is a variable representing the cluster ID, which is ${emr.clusterId}. This enables the rule to bootstrap when the cluster ID becomes available.

    + *

    A CloudWatch dimension, which is specified using a Key (known as a + * Name in CloudWatch), Value pair. By default, Amazon EMR uses + * one dimension whose Key is JobFlowID and Value is a + * variable representing the cluster ID, which is ${emr.clusterId}. This enables + * the rule to bootstrap when the cluster ID becomes available.

    */ export interface MetricDimension { /** - *

    The dimension value.

    + *

    The dimension name.

    */ - Value?: string; + Key?: string; /** - *

    The dimension name.

    + *

    The dimension value.

    */ - Key?: string; + Value?: string; } export namespace MetricDimension { @@ -391,53 +449,65 @@ export enum Unit { } /** - *

    The definition of a CloudWatch metric alarm, which determines when an automatic scaling activity is triggered. When the defined alarm conditions are satisfied, scaling activity begins.

    + *

    The definition of a CloudWatch metric alarm, which determines when an automatic scaling + * activity is triggered. When the defined alarm conditions are satisfied, scaling activity + * begins.

    */ export interface CloudWatchAlarmDefinition { /** - *

    The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

    + *

    Determines how the metric specified by MetricName is compared to the value + * specified by Threshold.

    */ - Namespace?: string; + ComparisonOperator: ComparisonOperator | string | undefined; /** - *

    The value against which the specified statistic is compared.

    + *

    The number of periods, in five-minute increments, during which the alarm condition must + * exist before the alarm triggers automatic scaling activity. The default value is + * 1.

    */ - Threshold: number | undefined; + EvaluationPeriods?: number; /** - *

    The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

    + *

    The name of the CloudWatch metric that is watched to determine an alarm + * condition.

    */ - Unit?: Unit | string; + MetricName: string | undefined; /** - *

    The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

    + *

    The namespace for the CloudWatch metric. The default is + * AWS/ElasticMapReduce.

    */ - Period: number | undefined; + Namespace?: string; /** - *

    Determines how the metric specified by MetricName is compared to the value specified by Threshold.

    + *

    The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are + * emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, + * specify 300.

    */ - ComparisonOperator: ComparisonOperator | string | undefined; + Period: number | undefined; /** - *

    The name of the CloudWatch metric that is watched to determine an alarm condition.

    + *

    The statistic to apply to the metric associated with the alarm. The default is + * AVERAGE.

    */ - MetricName: string | undefined; + Statistic?: Statistic | string; /** - *

    The statistic to apply to the metric associated with the alarm. The default is AVERAGE.

    + *

    The value against which the specified statistic is compared.

    */ - Statistic?: Statistic | string; + Threshold: number | undefined; /** - *

    A CloudWatch metric dimension.

    + *

    The unit of measure associated with the CloudWatch metric being watched. The value + * specified for Unit must correspond to the units specified in the CloudWatch + * metric.

    */ - Dimensions?: MetricDimension[]; + Unit?: Unit | string; /** - *

    The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

    + *

    A CloudWatch metric dimension.

    */ - EvaluationPeriods?: number; + Dimensions?: MetricDimension[]; } export namespace CloudWatchAlarmDefinition { @@ -451,7 +521,8 @@ export namespace CloudWatchAlarmDefinition { */ export interface ScalingTrigger { /** - *

    The definition of a CloudWatch metric alarm. When the defined alarm conditions are met along with other trigger parameters, scaling activity begins.

    + *

    The definition of a CloudWatch metric alarm. When the defined alarm conditions are met + * along with other trigger parameters, scaling activity begins.

    */ CloudWatchAlarmDefinition: CloudWatchAlarmDefinition | undefined; } @@ -463,28 +534,33 @@ export namespace ScalingTrigger { } /** - *

    A scale-in or scale-out rule that defines scaling activity, including the CloudWatch metric alarm that triggers activity, how EC2 instances are added or removed, and the periodicity of adjustments. The automatic scaling policy for an instance group can comprise one or more automatic scaling rules.

    + *

    A scale-in or scale-out rule that defines scaling activity, including the CloudWatch + * metric alarm that triggers activity, how EC2 instances are added or removed, and the + * periodicity of adjustments. The automatic scaling policy for an instance group can comprise + * one or more automatic scaling rules.

    */ export interface ScalingRule { /** - *

    A friendly, more verbose description of the automatic scaling rule.

    + *

    The name used to identify an automatic scaling rule. Rule names must be unique within a + * scaling policy.

    */ - Description?: string; + Name: string | undefined; /** - *

    The CloudWatch alarm definition that determines when automatic scaling activity is triggered.

    + *

    A friendly, more verbose description of the automatic scaling rule.

    */ - Trigger: ScalingTrigger | undefined; + Description?: string; /** - *

    The name used to identify an automatic scaling rule. Rule names must be unique within a scaling policy.

    + *

    The conditions that trigger an automatic scaling activity.

    */ - Name: string | undefined; + Action: ScalingAction | undefined; /** - *

    The conditions that trigger an automatic scaling activity.

    + *

    The CloudWatch alarm definition that determines when automatic scaling activity is + * triggered.

    */ - Action: ScalingAction | undefined; + Trigger: ScalingTrigger | undefined; } export namespace ScalingRule { @@ -494,18 +570,23 @@ export namespace ScalingRule { } /** - *

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    + *

    An automatic scaling policy for a core instance group or task instance group in an + * Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically + * adds and terminates EC2 instances in response to the value of a CloudWatch metric. See + * PutAutoScalingPolicy.

    */ export interface AutoScalingPolicy { /** - *

    The scale-in and scale-out rules that comprise the automatic scaling policy.

    + *

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic + * scaling activity will not cause an instance group to grow above or below these + * limits.

    */ - Rules: ScalingRule[] | undefined; + Constraints: ScalingConstraints | undefined; /** - *

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

    + *

    The scale-in and scale-out rules that comprise the automatic scaling policy.

    */ - Constraints: ScalingConstraints | undefined; + Rules: ScalingRule[] | undefined; } export namespace AutoScalingPolicy { @@ -543,7 +624,8 @@ export namespace AddInstanceGroupsOutput { } /** - *

    Indicates that an error occurred while processing the request and that the request was not completed.

    + *

    Indicates that an error occurred while processing the request and that the request was + * not completed.

    */ export interface InternalServerError extends __SmithyException, $MetadataBearer { name: "InternalServerError"; @@ -557,11 +639,11 @@ export namespace InternalServerError { } /** - *

    A key value pair.

    + *

    A key-value pair.

    */ export interface KeyValue { /** - *

    The unique identifier of a key value pair.

    + *

    The unique identifier of a key-value pair.

    */ Key?: string; @@ -578,28 +660,33 @@ export namespace KeyValue { } /** - *

    A job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

    + *

    A job flow step consisting of a JAR file whose main function will be executed. The main + * function submits a job for Hadoop to execute and waits for the job to finish or + * fail.

    */ export interface HadoopJarStepConfig { /** - *

    A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

    + *

    A list of Java properties that are set when the step runs. You can use these properties + * to pass key value pairs to your main function.

    */ Properties?: KeyValue[]; /** - *

    The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

    + *

    A path to a JAR file run during the step.

    */ - MainClass?: string; + Jar: string | undefined; /** - *

    A list of command line arguments passed to the JAR file's main function when executed.

    + *

    The name of the main class in the specified Java file. If not specified, the JAR file + * should specify a Main-Class in its manifest file.

    */ - Args?: string[]; + MainClass?: string; /** - *

    A path to a JAR file run during the step.

    + *

    A list of command line arguments passed to the JAR file's main function when + * executed.

    */ - Jar: string | undefined; + Args?: string[]; } export namespace HadoopJarStepConfig { @@ -613,19 +700,21 @@ export namespace HadoopJarStepConfig { */ export interface StepConfig { /** - *

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

    + *

    The name of the step.

    */ - ActionOnFailure?: ActionOnFailure | string; + Name: string | undefined; /** - *

    The JAR file used for the step.

    + *

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, + * CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. + * We recommend using TERMINATE_CLUSTER instead.

    */ - HadoopJarStep: HadoopJarStepConfig | undefined; + ActionOnFailure?: ActionOnFailure | string; /** - *

    The name of the step.

    + *

    The JAR file used for the step.

    */ - Name: string | undefined; + HadoopJarStep: HadoopJarStepConfig | undefined; } export namespace StepConfig { @@ -639,8 +728,8 @@ export namespace StepConfig { */ export interface AddJobFlowStepsInput { /** - *

    A string that uniquely identifies the job flow. This identifier is returned by - * RunJobFlow and can also be obtained from ListClusters.

    + *

    A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters. + *

    */ JobFlowId: string | undefined; @@ -673,24 +762,24 @@ export namespace AddJobFlowStepsOutput { } /** - *

    A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. - * For more information, see Tag Clusters. - *

    + *

    A key-value pair containing user-defined metadata that you can associate with an Amazon + * EMR resource. Tags make it easier to associate clusters in various ways, such as grouping + * clusters to track your Amazon EMR resource allocation costs. For more information, see + * Tag + * Clusters.

    */ export interface Tag { /** - *

    A user-defined value, which is optional in a tag. - * For more information, see Tag Clusters. - *

    + *

    A user-defined key, which is the minimum required information for a valid tag. For more + * information, see Tag .

    */ - Value?: string; + Key?: string; /** - *

    A user-defined key, which is the minimum required information for a valid tag. - * For more information, see Tag . - *

    + *

    A user-defined value, which is optional in a tag. For more information, see Tag + * Clusters.

    */ - Key?: string; + Value?: string; } export namespace Tag { @@ -704,14 +793,17 @@ export namespace Tag { */ export interface AddTagsInput { /** - *

    A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

    + *

    The Amazon EMR resource identifier to which tags will be added. This value must be a + * cluster identifier.

    */ - Tags: Tag[] | undefined; + ResourceId: string | undefined; /** - *

    The Amazon EMR resource identifier to which tags will be added. This value must be a cluster identifier.

    + *

    A list of tags to associate with a cluster and propagate to EC2 instances. Tags are + * user-defined key-value pairs that consist of a required key string with a maximum of 128 + * characters, and an optional value string with a maximum of 256 characters.

    */ - ResourceId: string | undefined; + Tags: Tag[] | undefined; } export namespace AddTagsInput { @@ -732,14 +824,21 @@ export namespace AddTagsOutput { } /** - *

    With Amazon EMR release version 4.0 and later, the only accepted parameter is the application name. To pass arguments to applications, you use configuration classifications specified using configuration JSON objects. For more information, see Configuring Applications.

    - *

    With earlier Amazon EMR releases, the application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument.

    + *

    With Amazon EMR release version 4.0 and later, the only accepted parameter is the + * application name. To pass arguments to applications, you use configuration classifications + * specified using configuration JSON objects. For more information, see Configuring + * Applications.

    + *

    With earlier Amazon EMR releases, the application is any Amazon or third-party software + * that you can add to the cluster. This structure contains a list of strings that indicates + * the software to use with the cluster and accepts a user argument list. Amazon EMR accepts + * and forwards the argument list to the corresponding installation script as bootstrap action + * argument.

    */ export interface Application { /** - *

    This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.

    + *

    The name of the application.

    */ - AdditionalInfo?: { [key: string]: string }; + Name?: string; /** *

    The version of the application.

    @@ -747,14 +846,15 @@ export interface Application { Version?: string; /** - *

    The name of the application.

    + *

    Arguments for Amazon EMR to pass to the application.

    */ - Name?: string; + Args?: string[]; /** - *

    Arguments for Amazon EMR to pass to the application.

    + *

    This option is for advanced users only. This is meta information about third-party + * applications that third-party vendors use for testing purposes.

    */ - Args?: string[]; + AdditionalInfo?: { [key: string]: string }; } export namespace Application { @@ -763,6 +863,11 @@ export namespace Application { }); } +export enum AuthMode { + IAM = "IAM", + SSO = "SSO", +} + export enum AutoScalingPolicyState { ATTACHED = "ATTACHED", ATTACHING = "ATTACHING", @@ -783,14 +888,18 @@ export enum AutoScalingPolicyStateChangeReasonCode { */ export interface AutoScalingPolicyStateChangeReason { /** - *

    A friendly, more verbose message that accompanies an automatic scaling policy state change.

    + *

    The code indicating the reason for the change in status.USER_REQUEST + * indicates that the scaling policy status was changed by a user. + * PROVISION_FAILURE indicates that the status change was because the policy + * failed to provision. CLEANUP_FAILURE indicates an error.

    */ - Message?: string; + Code?: AutoScalingPolicyStateChangeReasonCode | string; /** - *

    The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

    + *

    A friendly, more verbose message that accompanies an automatic scaling policy state + * change.

    */ - Code?: AutoScalingPolicyStateChangeReasonCode | string; + Message?: string; } export namespace AutoScalingPolicyStateChangeReason { @@ -800,18 +909,19 @@ export namespace AutoScalingPolicyStateChangeReason { } /** - *

    The status of an automatic scaling policy.

    + *

    The status of an automatic scaling policy. + *

    */ export interface AutoScalingPolicyStatus { /** - *

    The reason for a change in status.

    + *

    Indicates the status of the automatic scaling policy.

    */ - StateChangeReason?: AutoScalingPolicyStateChangeReason; + State?: AutoScalingPolicyState | string; /** - *

    Indicates the status of the automatic scaling policy.

    + *

    The reason for a change in status.

    */ - State?: AutoScalingPolicyState | string; + StateChangeReason?: AutoScalingPolicyStateChangeReason; } export namespace AutoScalingPolicyStatus { @@ -821,18 +931,23 @@ export namespace AutoScalingPolicyStatus { } /** - *

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    + *

    An automatic scaling policy for a core instance group or task instance group in an + * Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically + * adds and terminates EC2 instances in response to the value of a CloudWatch metric. See + * PutAutoScalingPolicy.

    */ export interface AutoScalingPolicyDescription { /** - *

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

    + *

    The status of an automatic scaling policy.

    */ - Constraints?: ScalingConstraints; + Status?: AutoScalingPolicyStatus; /** - *

    The status of an automatic scaling policy.

    + *

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic + * scaling activity will not cause an instance group to grow above or below these + * limits.

    */ - Status?: AutoScalingPolicyStatus; + Constraints?: ScalingConstraints; /** *

    The scale-in and scale-out rules that comprise the automatic scaling policy.

    @@ -847,7 +962,9 @@ export namespace AutoScalingPolicyDescription { } /** - *

    A list of port ranges that are permitted to allow inbound traffic from all public IP addresses. To specify a single port, use the same value for MinRange and MaxRange.

    + *

    A list of port ranges that are permitted to allow inbound traffic from all public IP + * addresses. To specify a single port, use the same value for MinRange and + * MaxRange.

    */ export interface PortRange { /** @@ -868,18 +985,22 @@ export namespace PortRange { } /** - *

    Properties that describe the AWS principal that created the BlockPublicAccessConfiguration using the PutBlockPublicAccessConfiguration action as well as the date and time that the configuration was created. Each time a configuration for block public access is updated, Amazon EMR updates this metadata.

    + *

    Properties that describe the AWS principal that created the + * BlockPublicAccessConfiguration using the + * PutBlockPublicAccessConfiguration action as well as the date and time that + * the configuration was created. Each time a configuration for block public access is + * updated, Amazon EMR updates this metadata.

    */ export interface BlockPublicAccessConfigurationMetadata { /** - *

    The Amazon Resource Name that created or last modified the configuration.

    + *

    The date and time that the configuration was created.

    */ - CreatedByArn: string | undefined; + CreationDateTime: Date | undefined; /** - *

    The date and time that the configuration was created.

    + *

    The Amazon Resource Name that created or last modified the configuration.

    */ - CreationDateTime: Date | undefined; + CreatedByArn: string | undefined; } export namespace BlockPublicAccessConfigurationMetadata { @@ -893,7 +1014,8 @@ export namespace BlockPublicAccessConfigurationMetadata { */ export interface ScriptBootstrapActionConfig { /** - *

    Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

    + *

    Location of the script to run during a bootstrap action. Can be either a location in + * Amazon S3 or on a local file system.

    */ Path: string | undefined; @@ -953,17 +1075,19 @@ export type StepCancellationOption = "SEND_INTERRUPT" | "TERMINATE_PROCESS"; */ export interface CancelStepsInput { /** - *

    The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.

    + *

    The ClusterID for the specified steps that will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

    */ - StepIds: string[] | undefined; + ClusterId: string | undefined; /** - *

    The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

    + *

    The list of StepIDs to cancel. Use ListSteps to get steps + * and their states for the specified cluster.

    */ - ClusterId: string | undefined; + StepIds: string[] | undefined; /** - *

    The option to choose for cancelling RUNNING steps. By default, the value is SEND_INTERRUPT.

    + *

    The option to choose to cancel RUNNING steps. By default, the value is + * SEND_INTERRUPT.

    */ StepCancellationOption?: StepCancellationOption | string; } @@ -980,18 +1104,19 @@ export enum CancelStepsRequestStatus { } /** - *

    Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and later, excluding version 5.0.0.

    + *

    Specification of the status of a CancelSteps request. Available only in Amazon EMR + * version 4.8.0 and later, excluding version 5.0.0.

    */ export interface CancelStepsInfo { /** - *

    The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

    + *

    The encrypted StepId of a step.

    */ - Status?: CancelStepsRequestStatus | string; + StepId?: string; /** - *

    The encrypted StepId of a step.

    + *

    The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

    */ - StepId?: string; + Status?: CancelStepsRequestStatus | string; /** *

    The reason for the failure if the CancelSteps request fails.

    @@ -1010,7 +1135,8 @@ export namespace CancelStepsInfo { */ export interface CancelStepsOutput { /** - *

    A list of CancelStepsInfo, which shows the status of specified cancel requests for each StepID specified.

    + *

    A list of CancelStepsInfo, which shows the status of specified cancel + * requests for each StepID specified.

    */ CancelStepsInfoList?: CancelStepsInfo[]; } @@ -1022,53 +1148,74 @@ export namespace CancelStepsOutput { } /** - *

    Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

    + *

    Provides information about the EC2 instances in a cluster grouped by category. For + * example, key name, subnet ID, IAM instance profile, and so on.

    */ export interface Ec2InstanceAttributes { /** - *

    The name of the Amazon EC2 key pair to use when connecting with SSH into the master node as a user named "hadoop".

    + *

    The name of the Amazon EC2 key pair to use when connecting with SSH into the master node + * as a user named "hadoop".

    */ Ec2KeyName?: string; /** - *

    The identifier of the Amazon EC2 security group for the core and task nodes.

    + *

    Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster + * to launch. If you do not specify this value, and your account supports EC2-Classic, the + * cluster launches in EC2-Classic.

    */ - EmrManagedSlaveSecurityGroup?: string; + Ec2SubnetId?: string; /** - *

    The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

    + *

    Applies to clusters configured with the instance fleets option. Specifies the unique + * identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. + * Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit + * from among the list of RequestedEc2SubnetIds, and then launches all cluster + * instances within that Subnet. If this value is not specified, and the account and Region + * support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and + * uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is + * not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. + * RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot + * be specified together.

    */ - IamInstanceProfile?: string; + RequestedEc2SubnetIds?: string[]; /** - *

    Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

    + *

    The Availability Zone in which the cluster will run.

    */ - RequestedEc2AvailabilityZones?: string[]; + Ec2AvailabilityZone?: string; /** - *

    Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

    + *

    Applies to clusters configured with the instance fleets option. Specifies one or more + * Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network + * configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from + * among the list of RequestedEc2AvailabilityZones, and then launches all cluster + * instances within that Availability Zone. If you do not specify this value, Amazon EMR + * chooses the Availability Zone for you. RequestedEc2SubnetIDs and + * RequestedEc2AvailabilityZones cannot be specified together.

    */ - RequestedEc2SubnetIds?: string[]; + RequestedEc2AvailabilityZones?: string[]; /** - *

    Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, and your account supports EC2-Classic, the cluster launches in EC2-Classic.

    + *

    The IAM role that was specified when the cluster was launched. The EC2 instances of the + * cluster assume this role.

    */ - Ec2SubnetId?: string; + IamInstanceProfile?: string; /** - *

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    + *

    The identifier of the Amazon EC2 security group for the master node.

    */ - AdditionalSlaveSecurityGroups?: string[]; + EmrManagedMasterSecurityGroup?: string; /** - *

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

    + *

    The identifier of the Amazon EC2 security group for the core and task nodes.

    */ - ServiceAccessSecurityGroup?: string; + EmrManagedSlaveSecurityGroup?: string; /** - *

    The Availability Zone in which the cluster will run.

    + *

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access + * clusters in VPC private subnets.

    */ - Ec2AvailabilityZone?: string; + ServiceAccessSecurityGroup?: string; /** *

    A list of additional Amazon EC2 security group IDs for the master node.

    @@ -1076,9 +1223,9 @@ export interface Ec2InstanceAttributes { AdditionalMasterSecurityGroups?: string[]; /** - *

    The identifier of the Amazon EC2 security group for the master node.

    + *

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    */ - EmrManagedMasterSecurityGroup?: string; + AdditionalSlaveSecurityGroups?: string[]; } export namespace Ec2InstanceAttributes { @@ -1093,29 +1240,35 @@ export enum InstanceCollectionType { } /** - *

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

    + *

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a + * security configuration. For more information see Use Kerberos Authentication + * in the Amazon EMR Management Guide.

    */ export interface KerberosAttributes { /** - *

    The name of the Kerberos realm to which all nodes in a cluster belong. For example, EC2.INTERNAL. - *

    + *

    The name of the Kerberos realm to which all nodes in a cluster belong. For example, + * EC2.INTERNAL.

    */ Realm: string | undefined; /** - *

    Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms.

    + *

    The password used within the cluster for the kadmin service on the cluster-dedicated + * KDC, which maintains Kerberos principals, password policies, and keytabs for the + * cluster.

    */ - CrossRealmTrustPrincipalPassword?: string; + KdcAdminPassword: string | undefined; /** - *

    Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain.

    + *

    Required only when establishing a cross-realm trust with a KDC in a different realm. The + * cross-realm principal password, which must be identical across realms.

    */ - ADDomainJoinUser?: string; + CrossRealmTrustPrincipalPassword?: string; /** - *

    The password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster.

    + *

    Required only when establishing a cross-realm trust with an Active Directory domain. A + * user with sufficient privileges to join resources to the domain.

    */ - KdcAdminPassword: string | undefined; + ADDomainJoinUser?: string; /** *

    The Active Directory password for ADDomainJoinUser.

    @@ -1137,19 +1290,23 @@ export enum PlacementGroupStrategy { } /** - *

    Placement group configuration for an Amazon EMR cluster. The configuration specifies the placement strategy that can be applied to instance roles during cluster creation.

    - *

    To use this configuration, consider attaching managed policy AmazonElasticMapReducePlacementGroupPolicy to the EMR role.

    + *

    Placement group configuration for an Amazon EMR cluster. The configuration specifies the + * placement strategy that can be applied to instance roles during cluster creation.

    + *

    To use this configuration, consider attaching managed policy + * AmazonElasticMapReducePlacementGroupPolicy to the EMR role.

    */ export interface PlacementGroupConfig { /** *

    Role of the instance in the cluster.

    - *

    Starting with Amazon EMR version 5.23.0, the only supported instance role is MASTER.

    + *

    Starting with Amazon EMR version 5.23.0, the only supported instance role is + * MASTER.

    */ InstanceRole: InstanceRoleType | string | undefined; /** *

    EC2 Placement Group strategy associated with instance role.

    - *

    Starting with Amazon EMR version 5.23.0, the only supported placement strategy is SPREAD for the MASTER instance role.

    + *

    Starting with Amazon EMR version 5.23.0, the only supported placement strategy is + * SPREAD for the MASTER instance role.

    */ PlacementStrategy?: PlacementGroupStrategy | string; } @@ -1196,14 +1353,14 @@ export enum ClusterStateChangeReasonCode { */ export interface ClusterStateChangeReason { /** - *

    The descriptive message for the state change reason.

    + *

    The programmatic code for the state change reason.

    */ - Message?: string; + Code?: ClusterStateChangeReasonCode | string; /** - *

    The programmatic code for the state change reason.

    + *

    The descriptive message for the state change reason.

    */ - Code?: ClusterStateChangeReasonCode | string; + Message?: string; } export namespace ClusterStateChangeReason { @@ -1217,14 +1374,14 @@ export namespace ClusterStateChangeReason { */ export interface ClusterTimeline { /** - *

    The date and time when the cluster was ready to execute steps.

    + *

    The creation date and time of the cluster.

    */ - ReadyDateTime?: Date; + CreationDateTime?: Date; /** - *

    The creation date and time of the cluster.

    + *

    The date and time when the cluster was ready to run steps.

    */ - CreationDateTime?: Date; + ReadyDateTime?: Date; /** *

    The date and time when the cluster was terminated.

    @@ -1253,7 +1410,8 @@ export interface ClusterStatus { StateChangeReason?: ClusterStateChangeReason; /** - *

    A timeline that represents the status of a cluster over the lifetime of the cluster.

    + *

    A timeline that represents the status of a cluster over the lifetime of the + * cluster.

    */ Timeline?: ClusterTimeline; } @@ -1268,22 +1426,15 @@ export namespace ClusterStatus { *

    The summary description of the cluster.

    */ export interface ClusterSummary { - /** - *

    The Amazon Resource Name of the cluster.

    - */ - ClusterArn?: string; - /** *

    The unique identifier for the cluster.

    */ Id?: string; /** - *

    - * The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. - *

    + *

    The name of the cluster.

    */ - OutpostArn?: string; + Name?: string; /** *

    The details about the current status of the cluster.

    @@ -1291,14 +1442,23 @@ export interface ClusterSummary { Status?: ClusterStatus; /** - *

    The name of the cluster.

    + *

    An approximation of the cost of the cluster, represented in m1.small/hours. This value + * is incremented one time for every hour an m1.small instance runs. Larger instances are + * weighted more, so an EC2 instance that is roughly four times more expensive would result in + * the normalized instance hours being incremented by four. This result is only an + * approximation and does not reflect the actual billing rate.

    */ - Name?: string; + NormalizedInstanceHours?: number; /** - *

    An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

    + *

    The Amazon Resource Name of the cluster.

    */ - NormalizedInstanceHours?: number; + ClusterArn?: string; + + /** + *

    The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.

    + */ + OutpostArn?: string; } export namespace ClusterSummary { @@ -1317,14 +1477,14 @@ export interface Command { Name?: string; /** - *

    Arguments for Amazon EMR to pass to the command for execution.

    + *

    The Amazon S3 location of the command script.

    */ - Args?: string[]; + ScriptPath?: string; /** - *

    The Amazon S3 location of the command script.

    + *

    Arguments for Amazon EMR to pass to the command for execution.

    */ - ScriptPath?: string; + Args?: string[]; } export namespace Command { @@ -1340,45 +1500,47 @@ export enum ComputeLimitsUnitType { } /** - *

    - * The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster can not be above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

    + *

    The EC2 unit limits for a managed scaling policy. The managed scaling activity of a + * cluster can not be above or below these limits. The limit only applies to the core and task + * nodes. The master node cannot be scaled after initial configuration.

    */ export interface ComputeLimits { /** - *

    - * The unit type used for specifying a managed scaling policy. - *

    + *

    The unit type used for specifying a managed scaling policy.

    */ UnitType: ComputeLimitsUnitType | string | undefined; /** - *

    - * The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances. - *

    + *

    The lower boundary of EC2 units. It is measured through vCPU cores or instances for + * instance groups and measured through units for instance fleets. Managed scaling activities + * are not allowed beyond this boundary. The limit only applies to the core and task nodes. + * The master node cannot be scaled after initial configuration.

    */ - MaximumOnDemandCapacityUnits?: number; + MinimumCapacityUnits: number | undefined; /** - *

    - * The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes. - *

    + *

    The upper boundary of EC2 units. It is measured through vCPU cores or instances for + * instance groups and measured through units for instance fleets. Managed scaling activities + * are not allowed beyond this boundary. The limit only applies to the core and task nodes. + * The master node cannot be scaled after initial configuration.

    */ - MaximumCoreCapacityUnits?: number; + MaximumCapacityUnits: number | undefined; /** - *

    - * The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

    + *

    The upper boundary of On-Demand EC2 units. It is measured through vCPU cores or + * instances for instance groups and measured through units for instance fleets. The On-Demand + * units are not allowed to scale beyond this boundary. The parameter is used to split + * capacity allocation between On-Demand and Spot Instances.

    */ - MinimumCapacityUnits: number | undefined; + MaximumOnDemandCapacityUnits?: number; /** - *

    - * The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

    + *

    The upper boundary of EC2 units for core node type in a cluster. It is measured through + * vCPU cores or instances for instance groups and measured through units for instance fleets. + * The core units are not allowed to scale beyond this boundary. The parameter is used to + * split capacity allocation between core and task nodes.

    */ - MaximumCapacityUnits: number | undefined; + MaximumCoreCapacityUnits?: number; } export namespace ComputeLimits { @@ -1389,14 +1551,17 @@ export namespace ComputeLimits { export interface CreateSecurityConfigurationInput { /** - *

    The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.

    + *

    The name of the security configuration.

    */ - SecurityConfiguration: string | undefined; + Name: string | undefined; /** - *

    The name of the security configuration.

    + *

    The security configuration details in JSON format. For JSON parameters and examples, see + * Use Security + * Configurations to Set Up Cluster Security in the Amazon EMR Management + * Guide.

    */ - Name: string | undefined; + SecurityConfiguration: string | undefined; } export namespace CreateSecurityConfigurationInput { @@ -1406,19 +1571,157 @@ export namespace CreateSecurityConfigurationInput { } export interface CreateSecurityConfigurationOutput { + /** + *

    The name of the security configuration.

    + */ + Name: string | undefined; + /** *

    The date and time the security configuration was created.

    */ CreationDateTime: Date | undefined; +} + +export namespace CreateSecurityConfigurationOutput { + export const filterSensitiveLog = (obj: CreateSecurityConfigurationOutput): any => ({ + ...obj, + }); +} +export interface CreateStudioInput { /** - *

    The name of the security configuration.

    + *

    A descriptive name for the Amazon EMR Studio.

    */ Name: string | undefined; + + /** + *

    A detailed description of the Studio.

    + */ + Description?: string; + + /** + *

    Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM. + * Amazon EMR Studio currently only supports SSO authentication.

    + */ + AuthMode: AuthMode | string | undefined; + + /** + *

    The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the + * Studio.

    + */ + VpcId: string | undefined; + + /** + *

    A list of subnet IDs to associate with the Studio. The subnets must belong to the VPC + * specified by VpcId. Studio users can create a Workspace in any of the + * specified subnets.

    + */ + SubnetIds: string[] | undefined; + + /** + *

    The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a + * way for Amazon EMR Studio to interoperate with other AWS services.

    + */ + ServiceRole: string | undefined; + + /** + *

    The IAM user role that will be assumed by users and groups logged in to a Studio. The + * permissions attached to this IAM role can be scoped down for each user or group using + * session policies.

    + */ + UserRole: string | undefined; + + /** + *

    The ID of the Amazon EMR Studio Workspace security group. The Workspace security group + * allows outbound network traffic to resources in the Engine security group, and it must be + * in the same VPC specified by VpcId.

    + */ + WorkspaceSecurityGroupId: string | undefined; + + /** + *

    The ID of the Amazon EMR Studio Engine security group. The Engine security group allows + * inbound network traffic from the Workspace security group, and it must be in the same VPC + * specified by VpcId.

    + */ + EngineSecurityGroupId: string | undefined; + + /** + *

    The default Amazon S3 location to back up EMR Studio Workspaces and notebook files. A + * Studio user can select an alternative Amazon S3 location when creating a Workspace.

    + */ + DefaultS3Location?: string; + + /** + *

    A list of tags to associate with the Studio. Tags are user-defined key-value pairs that + * consist of a required key string with a maximum of 128 characters, and an optional value + * string with a maximum of 256 characters.

    + */ + Tags?: Tag[]; } -export namespace CreateSecurityConfigurationOutput { - export const filterSensitiveLog = (obj: CreateSecurityConfigurationOutput): any => ({ +export namespace CreateStudioInput { + export const filterSensitiveLog = (obj: CreateStudioInput): any => ({ + ...obj, + }); +} + +export interface CreateStudioOutput { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId?: string; + + /** + *

    The unique Studio access URL.

    + */ + Url?: string; +} + +export namespace CreateStudioOutput { + export const filterSensitiveLog = (obj: CreateStudioOutput): any => ({ + ...obj, + }); +} + +export enum IdentityType { + GROUP = "GROUP", + USER = "USER", +} + +export interface CreateStudioSessionMappingInput { + /** + *

    The ID of the Amazon EMR Studio to which the user or group will be mapped.

    + */ + StudioId: string | undefined; + + /** + *

    The globally unique identifier (GUID) of the user or group from the AWS SSO Identity + * Store. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityId?: string; + + /** + *

    The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityName?: string; + + /** + *

    Specifies whether the identity to map to the Studio is a user or a group.

    + */ + IdentityType: IdentityType | string | undefined; + + /** + *

    The Amazon Resource Name (ARN) for the session policy that will be applied to the user + * or group. Session policies refine Studio user permissions without the need to use multiple + * IAM user roles.

    + */ + SessionPolicyArn: string | undefined; +} + +export namespace CreateStudioSessionMappingInput { + export const filterSensitiveLog = (obj: CreateStudioSessionMappingInput): any => ({ ...obj, }); } @@ -1444,6 +1747,51 @@ export namespace DeleteSecurityConfigurationOutput { }); } +export interface DeleteStudioInput { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId: string | undefined; +} + +export namespace DeleteStudioInput { + export const filterSensitiveLog = (obj: DeleteStudioInput): any => ({ + ...obj, + }); +} + +export interface DeleteStudioSessionMappingInput { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId: string | undefined; + + /** + *

    The globally unique identifier (GUID) of the user or group to remove from the Amazon EMR + * Studio. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityId?: string; + + /** + *

    The name of the user name or group to remove from the Studio. For more information, see + * UserName and DisplayName in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityName?: string; + + /** + *

    Specifies whether the identity to delete from the Studio is a user or a group.

    + */ + IdentityType: IdentityType | string | undefined; +} + +export namespace DeleteStudioSessionMappingInput { + export const filterSensitiveLog = (obj: DeleteStudioSessionMappingInput): any => ({ + ...obj, + }); +} + /** *

    This input determines which cluster to describe.

    */ @@ -1476,24 +1824,24 @@ export enum JobFlowExecutionState { */ export interface DescribeJobFlowsInput { /** - *

    Return only job flows created before this date and time.

    + *

    Return only job flows created after this date and time.

    */ - CreatedBefore?: Date; + CreatedAfter?: Date; /** - *

    Return only job flows whose state is contained in this list.

    + *

    Return only job flows created before this date and time.

    */ - JobFlowStates?: (JobFlowExecutionState | string)[]; + CreatedBefore?: Date; /** - *

    Return only job flows created after this date and time.

    + *

    Return only job flows whose job flow ID is contained in this list.

    */ - CreatedAfter?: Date; + JobFlowIds?: string[]; /** - *

    Return only job flows whose job flow ID is contained in this list.

    + *

    Return only job flows whose state is contained in this list.

    */ - JobFlowIds?: string[]; + JobFlowStates?: (JobFlowExecutionState | string)[]; } export namespace DescribeJobFlowsInput { @@ -1512,14 +1860,9 @@ export interface JobFlowExecutionStatusDetail { State: JobFlowExecutionState | string | undefined; /** - *

    The date and time when the job flow was ready to start running bootstrap actions.

    - */ - ReadyDateTime?: Date; - - /** - *

    Description of the job flow last changed state.

    + *

    The creation date and time of the job flow.

    */ - LastStateChangeReason?: string; + CreationDateTime: Date | undefined; /** *

    The start date and time of the job flow.

    @@ -1527,14 +1870,19 @@ export interface JobFlowExecutionStatusDetail { StartDateTime?: Date; /** - *

    The creation date and time of the job flow.

    + *

    The date and time when the job flow was ready to start running bootstrap actions.

    */ - CreationDateTime: Date | undefined; + ReadyDateTime?: Date; /** *

    The completion date and time of the job flow.

    */ EndDateTime?: Date; + + /** + *

    Description of the job flow last changed state.

    + */ + LastStateChangeReason?: string; } export namespace JobFlowExecutionStatusDetail { @@ -1562,59 +1910,63 @@ export enum InstanceGroupState { */ export interface InstanceGroupDetail { /** - *

    Friendly name for the instance group.

    + *

    Unique identifier for the instance group.

    */ - Name?: string; + InstanceGroupId?: string; /** - *

    State of instance group. The following values are deprecated: STARTING, TERMINATED, and FAILED.

    + *

    Friendly name for the instance group.

    */ - State: InstanceGroupState | string | undefined; + Name?: string; /** - *

    The date/time the instance group was created.

    + *

    Market type of the EC2 instances used to create a cluster node.

    */ - CreationDateTime: Date | undefined; + Market: MarketType | string | undefined; /** - *

    EC2 instance type.

    + *

    Instance group role in the cluster

    */ - InstanceType: string | undefined; + InstanceRole: InstanceRoleType | string | undefined; /** - *

    Target number of instances to run in the instance group.

    + *

    The bid price for each EC2 Spot Instance type as defined by InstanceType. + * Expressed in USD. If neither BidPrice nor + * BidPriceAsPercentageOfOnDemandPrice is provided, + * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    */ - InstanceRequestCount: number | undefined; + BidPrice?: string; /** - *

    Details regarding the state of the instance group.

    + *

    EC2 instance type.

    */ - LastStateChangeReason?: string; + InstanceType: string | undefined; /** - *

    Unique identifier for the instance group.

    + *

    Target number of instances to run in the instance group.

    */ - InstanceGroupId?: string; + InstanceRequestCount: number | undefined; /** - *

    Instance group role in the cluster

    + *

    Actual count of running instances.

    */ - InstanceRole: InstanceRoleType | string | undefined; + InstanceRunningCount: number | undefined; /** - *

    Actual count of running instances.

    + *

    State of instance group. The following values are deprecated: STARTING, TERMINATED, and + * FAILED.

    */ - InstanceRunningCount: number | undefined; + State: InstanceGroupState | string | undefined; /** - *

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    + *

    Details regarding the state of the instance group.

    */ - BidPrice?: string; + LastStateChangeReason?: string; /** - *

    The date/time the instance group was terminated.

    + *

    The date/time the instance group was created.

    */ - EndDateTime?: Date; + CreationDateTime: Date | undefined; /** *

    The date/time the instance group was started.

    @@ -1622,14 +1974,14 @@ export interface InstanceGroupDetail { StartDateTime?: Date; /** - *

    Market type of the EC2 instances used to create a cluster node.

    + *

    The date/time the instance group was available to the cluster.

    */ - Market: MarketType | string | undefined; + ReadyDateTime?: Date; /** - *

    The date/time the instance group was available to the cluster.

    + *

    The date/time the instance group was terminated.

    */ - ReadyDateTime?: Date; + EndDateTime?: Date; } export namespace InstanceGroupDetail { @@ -1643,14 +1995,20 @@ export namespace InstanceGroupDetail { */ export interface PlacementType { /** - *

    The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used for uniform instance groups, while AvailabilityZones (plural) is used for instance fleets.

    + *

    The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used + * for uniform instance groups, while AvailabilityZones (plural) is used for + * instance fleets.

    */ AvailabilityZone?: string; /** - *

    When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal Availability Zone. AvailabilityZones is used for instance fleets, while AvailabilityZone (singular) is used for uniform instance groups.

    + *

    When multiple Availability Zones are specified, Amazon EMR evaluates them and launches + * instances in the optimal Availability Zone. AvailabilityZones is used for + * instance fleets, while AvailabilityZone (singular) is used for uniform + * instance groups.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ AvailabilityZones?: string[]; @@ -1666,6 +2024,17 @@ export namespace PlacementType { *

    Specify the type of Amazon EC2 instances that the cluster (job flow) runs on.

    */ export interface JobFlowInstancesDetail { + /** + *

    The Amazon EC2 master node instance type.

    + */ + MasterInstanceType: string | undefined; + + /** + *

    The DNS name of the master node. If the cluster is on a private subnet, this is the + * private DNS name. On a public subnet, this is the public DNS name.

    + */ + MasterPublicDnsName?: string; + /** *

    The Amazon EC2 instance identifier of the master node.

    */ @@ -1677,34 +2046,42 @@ export interface JobFlowInstancesDetail { SlaveInstanceType: string | undefined; /** - *

    The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and core and task node. If the value is greater than 1, one instance is the master node and all others are core and task nodes.

    + *

    The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance + * serves as both the master and core and task node. If the value is greater than 1, one + * instance is the master node and all others are core and task nodes.

    */ InstanceCount: number | undefined; /** - *

    The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

    + *

    Details about the instance groups in a cluster.

    */ - MasterPublicDnsName?: string; + InstanceGroups?: InstanceGroupDetail[]; /** - *

    The Amazon EC2 master node instance type.

    + *

    An approximation of the cost of the cluster, represented in m1.small/hours. This value + * is increased one time for every hour that an m1.small instance runs. Larger instances are + * weighted more heavily, so an Amazon EC2 instance that is roughly four times more expensive + * would result in the normalized instance hours being increased incrementally four times. + * This result is only an approximation and does not reflect the actual billing rate.

    */ - MasterInstanceType: string | undefined; + NormalizedInstanceHours?: number; /** - *

    The Hadoop version for the cluster.

    + *

    The name of an Amazon EC2 key pair that can be used to connect to the master node using + * SSH.

    */ - HadoopVersion?: string; + Ec2KeyName?: string; /** - *

    For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

    + *

    For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the + * subnet where the cluster was launched.

    */ Ec2SubnetId?: string; /** - *

    The name of an Amazon EC2 key pair that can be used to ssh to the master node.

    + *

    The Amazon EC2 Availability Zone for the cluster.

    */ - Ec2KeyName?: string; + Placement?: PlacementType; /** *

    Specifies whether the cluster should remain available after completing all steps.

    @@ -1712,24 +2089,15 @@ export interface JobFlowInstancesDetail { KeepJobFlowAliveWhenNoSteps?: boolean; /** - *

    Details about the instance groups in a cluster.

    - */ - InstanceGroups?: InstanceGroupDetail[]; - - /** - *

    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.

    + *

    Specifies whether the Amazon EC2 instances in the cluster are protected from termination + * by API calls, user intervention, or in the event of a job-flow error.

    */ TerminationProtected?: boolean; /** - *

    An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

    - */ - NormalizedInstanceHours?: number; - - /** - *

    The Amazon EC2 Availability Zone for the cluster.

    + *

    The Hadoop version for the cluster.

    */ - Placement?: PlacementType; + HadoopVersion?: string; } export namespace JobFlowInstancesDetail { @@ -1756,6 +2124,11 @@ export interface StepExecutionStatusDetail { */ State: StepExecutionState | string | undefined; + /** + *

    The creation date and time of the step.

    + */ + CreationDateTime: Date | undefined; + /** *

    The start date and time of the step.

    */ @@ -1770,11 +2143,6 @@ export interface StepExecutionStatusDetail { *

    A description of the step's current state.

    */ LastStateChangeReason?: string; - - /** - *

    The creation date and time of the step.

    - */ - CreationDateTime: Date | undefined; } export namespace StepExecutionStatusDetail { @@ -1809,14 +2177,14 @@ export namespace StepDetail { */ export interface JobFlowDetail { /** - *

    The name of the job flow.

    + *

    The job flow identifier.

    */ - Name: string | undefined; + JobFlowId: string | undefined; /** - *

    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

    + *

    The name of the job flow.

    */ - JobFlowRole?: string; + Name: string | undefined; /** *

    The location in Amazon S3 where log files for the job are stored.

    @@ -1824,19 +2192,17 @@ export interface JobFlowDetail { LogUri?: string; /** - *

    An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

    - */ - AutoScalingRole?: string; - - /** - *

    Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

    + *

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is + * only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    */ - VisibleToAllUsers?: boolean; + LogEncryptionKmsKeyId?: string; /** - *

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    + *

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and + * later, ReleaseLabel is used. To specify a custom AMI, use + * CustomAmiID.

    */ - LogEncryptionKmsKeyId?: string; + AmiVersion?: string; /** *

    Describes the execution status of the job flow.

    @@ -1844,14 +2210,14 @@ export interface JobFlowDetail { ExecutionStatusDetail: JobFlowExecutionStatusDetail | undefined; /** - *

    A list of strings set by third party software when the job flow is launched. If you are not using third party software to manage the job flow this value is empty.

    + *

    Describes the Amazon EC2 instances of the job flow.

    */ - SupportedProducts?: string[]; + Instances: JobFlowInstancesDetail | undefined; /** - *

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

    + *

    A list of steps run by the job flow.

    */ - ServiceRole?: string; + Steps?: StepDetail[]; /** *

    A list of the bootstrap actions run by the job flow.

    @@ -1859,27 +2225,54 @@ export interface JobFlowDetail { BootstrapActions?: BootstrapActionDetail[]; /** - *

    A list of steps run by the job flow.

    + *

    A list of strings set by third-party software when the job flow is launched. If you are + * not using third-party software to manage the job flow, this value is empty.

    */ - Steps?: StepDetail[]; + SupportedProducts?: string[]; /** - *

    The job flow identifier.

    + *

    Indicates whether the cluster is visible to all IAM users of the AWS account associated + * with the cluster. The default value, true, indicates that all IAM users in the + * AWS account can perform cluster actions if they have the proper IAM policy permissions. If + * this value is false, only the IAM user that created the cluster can perform + * actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of + * true when you create a cluster by using the VisibleToAllUsers + * parameter of the RunJobFlow action.

    */ - JobFlowId: string | undefined; + VisibleToAllUsers?: boolean; /** - *

    Describes the Amazon EC2 instances of the job flow.

    + *

    The IAM role that was specified when the job flow was launched. The EC2 instances of the + * job flow assume this role.

    */ - Instances: JobFlowInstancesDetail | undefined; + JobFlowRole?: string; /** - *

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

    + *

    The IAM role that is assumed by the Amazon EMR service to access AWS resources on your + * behalf.

    */ - AmiVersion?: string; + ServiceRole?: string; /** - *

    The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    + *

    An IAM role for automatic scaling policies. The default role is + * EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic + * scaling feature to get the required permissions it needs to launch and terminate EC2 + * instances in an instance group.

    + */ + AutoScalingRole?: string; + + /** + *

    The way that individual Amazon EC2 instances terminate when an automatic scale-in + * activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR + * indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of + * when the request to terminate the instance was submitted. This option is only available + * with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. + * TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny + * list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of + * the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes + * first and blocks instance termination if it could lead to HDFS corruption. + * TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and + * later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    */ ScaleDownBehavior?: ScaleDownBehavior | string; } @@ -1924,23 +2317,29 @@ export enum ExecutionEngineType { } /** - *

    Specifies the execution engine (cluster) to run the notebook and perform the notebook execution, for example, an EMR cluster.

    + *

    Specifies the execution engine (cluster) to run the notebook and perform the notebook + * execution, for example, an EMR cluster.

    */ export interface ExecutionEngineConfig { /** - *

    An optional unique ID of an EC2 security group to associate with the master instance of the EMR cluster for this notebook execution. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

    + *

    The unique identifier of the execution engine. For an EMR cluster, this is the cluster + * ID.

    */ - MasterInstanceSecurityGroupId?: string; + Id: string | undefined; /** - *

    The unique identifier of the execution engine. For an EMR cluster, this is the cluster ID.

    + *

    The type of execution engine. A value of EMR specifies an EMR + * cluster.

    */ - Id: string | undefined; + Type?: ExecutionEngineType | string; /** - *

    The type of execution engine. A value of EMR specifies an EMR cluster.

    + *

    An optional unique ID of an EC2 security group to associate with the master instance of + * the EMR cluster for this notebook execution. For more information see Specifying + * EC2 Security Groups for EMR Notebooks in the EMR Management + * Guide.

    */ - Type?: ExecutionEngineType | string; + MasterInstanceSecurityGroupId?: string; } export namespace ExecutionEngineConfig { @@ -1963,65 +2362,70 @@ export enum NotebookExecutionStatus { } /** - *

    A notebook execution. An execution is a specific instance that an EMR Notebook is run using the StartNotebookExecution action.

    + *

    A notebook execution. An execution is a specific instance that an EMR Notebook is run + * using the StartNotebookExecution action.

    */ export interface NotebookExecution { /** - *

    The timestamp when notebook execution ended.

    - */ - EndTime?: Date; - - /** - *

    The Amazon Resource Name (ARN) of the notebook execution.

    + *

    The unique identifier of a notebook execution.

    */ - Arn?: string; + NotebookExecutionId?: string; /** - *

    The unique identifier of the EC2 security group associated with the EMR Notebook instance. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

    + *

    The unique identifier of the EMR Notebook that is used for the notebook + * execution.

    */ - NotebookInstanceSecurityGroupId?: string; + EditorId?: string; /** - *

    The unique identifier of a notebook execution.

    + *

    The execution engine, such as an EMR cluster, used to run the EMR notebook and perform + * the notebook execution.

    */ - NotebookExecutionId?: string; + ExecutionEngine?: ExecutionEngineConfig; /** - *

    The unique identifier of the EMR Notebook that is used for the notebook execution.

    + *

    A name for the notebook execution.

    */ - EditorId?: string; + NotebookExecutionName?: string; /** - *

    The execution engine, such as an EMR cluster, used to run the EMR notebook and perform the notebook execution.

    + *

    Input parameters in JSON format passed to the EMR Notebook at runtime for + * execution.

    */ - ExecutionEngine?: ExecutionEngineConfig; + NotebookParams?: string; /** *

    The status of the notebook execution.

    *
      *
    • *

      - * START_PENDING indicates that the cluster has received the execution request but execution has not begun.

      + * START_PENDING indicates that the cluster has received the execution + * request but execution has not begun.

      *
    • *
    • *

      - * STARTING indicates that the execution is starting on the cluster.

      + * STARTING indicates that the execution is starting on the + * cluster.

      *
    • *
    • *

      - * RUNNING indicates that the execution is being processed by the cluster.

      + * RUNNING indicates that the execution is being processed by the + * cluster.

      *
    • *
    • *

      - * FINISHING indicates that execution processing is in the final stages.

      + * FINISHING indicates that execution processing is in the final + * stages.

      *
    • *
    • *

      - * FINISHED indicates that the execution has completed without error.

      + * FINISHED indicates that the execution has completed without + * error.

      *
    • *
    • *

      - * FAILING indicates that the execution is failing and will not finish successfully.

      + * FAILING indicates that the execution is failing and will not finish + * successfully.

      *
    • *
    • *

      @@ -2029,49 +2433,62 @@ export interface NotebookExecution { *

    • *
    • *

      - * STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

      + * STOP_PENDING indicates that the cluster has received a + * StopNotebookExecution request and the stop is pending.

      *
    • *
    • *

      - * STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

      + * STOPPING indicates that the cluster is in the process of stopping the + * execution as a result of a StopNotebookExecution request.

      *
    • *
    • *

      - * STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

      + * STOPPED indicates that the execution stopped because of a + * StopNotebookExecution request.

      *
    • *
    */ Status?: NotebookExecutionStatus | string; /** - *

    The reason for the latest status change of the notebook execution.

    + *

    The timestamp when notebook execution started.

    */ - LastStateChangeReason?: string; + StartTime?: Date; /** - *

    The location of the notebook execution's output file in Amazon S3.

    + *

    The timestamp when notebook execution ended.

    */ - OutputNotebookURI?: string; + EndTime?: Date; /** - *

    Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

    + *

    The Amazon Resource Name (ARN) of the notebook execution.

    */ - NotebookParams?: string; + Arn?: string; /** - *

    A name for the notebook execution.

    + *

    The location of the notebook execution's output file in Amazon S3.

    */ - NotebookExecutionName?: string; + OutputNotebookURI?: string; /** - *

    A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

    + *

    The reason for the latest status change of the notebook execution.

    */ - Tags?: Tag[]; + LastStateChangeReason?: string; /** - *

    The timestamp when notebook execution started.

    + *

    The unique identifier of the EC2 security group associated with the EMR Notebook + * instance. For more information see Specifying + * EC2 Security Groups for EMR Notebooks in the EMR Management + * Guide.

    */ - StartTime?: Date; + NotebookInstanceSecurityGroupId?: string; + + /** + *

    A list of tags associated with a notebook execution. Tags are user-defined key-value + * pairs that consist of a required key string with a maximum of 128 characters and an + * optional value string with a maximum of 256 characters.

    + */ + Tags?: Tag[]; } export namespace NotebookExecution { @@ -2151,28 +2568,33 @@ export namespace DescribeStepInput { } /** - *

    A cluster step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

    + *

    A cluster step consisting of a JAR file whose main function will be executed. The main + * function submits a job for Hadoop to execute and waits for the job to finish or + * fail.

    */ export interface HadoopStepConfig { /** - *

    The name of the main class in the specified Java file. If not specified, the JAR file should specify a main class in its manifest file.

    + *

    The path to the JAR file that runs during the step.

    */ - MainClass?: string; + Jar?: string; /** - *

    The list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

    + *

    The list of Java properties that are set when the step runs. You can use these + * properties to pass key-value pairs to your main function.

    */ Properties?: { [key: string]: string }; /** - *

    The list of command line arguments to pass to the JAR file's main function for execution.

    + *

    The name of the main class in the specified Java file. If not specified, the JAR file + * should specify a main class in its manifest file.

    */ - Args?: string[]; + MainClass?: string; /** - *

    The path to the JAR file that runs during the step.

    + *

    The list of command line arguments to pass to the JAR file's main function for + * execution.

    */ - Jar?: string; + Args?: string[]; } export namespace HadoopStepConfig { @@ -2182,21 +2604,26 @@ export namespace HadoopStepConfig { } /** - *

    The details of the step failure. The service attempts to detect the root cause for many common failures.

    + *

    The details of the step failure. The service attempts to detect the root cause for many + * common failures.

    */ export interface FailureDetails { /** - *

    The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns "Unknown Error" as a reason.

    + *

    The reason for the step failure. In the case where the service cannot successfully + * determine the root cause of the failure, it returns "Unknown Error" as a reason.

    */ Reason?: string; /** - *

    The descriptive message including the error the EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.

    + *

    The descriptive message including the error the Amazon EMR service has identified as the + * cause of step failure. This is text from an error log that describes the root cause of the + * failure.

    */ Message?: string; /** - *

    The path to the log file where the step failure root cause was originally recorded.

    + *

    The path to the log file where the step failure root cause was originally + * recorded.

    */ LogFile?: string; } @@ -2224,7 +2651,8 @@ export type StepStateChangeReasonCode = "NONE"; */ export interface StepStateChangeReason { /** - *

    The programmable code for the state change reason. Note: Currently, the service provides no code for the state change.

    + *

    The programmable code for the state change reason. Note: Currently, the service provides + * no code for the state change.

    */ Code?: StepStateChangeReasonCode | string; @@ -2244,11 +2672,6 @@ export namespace StepStateChangeReason { *

    The timeline of the cluster step lifecycle.

    */ export interface StepTimeline { - /** - *

    The date and time when the cluster step execution completed or failed.

    - */ - EndDateTime?: Date; - /** *

    The date and time when the cluster step was created.

    */ @@ -2258,6 +2681,11 @@ export interface StepTimeline { *

    The date and time when the cluster step execution started.

    */ StartDateTime?: Date; + + /** + *

    The date and time when the cluster step execution completed or failed.

    + */ + EndDateTime?: Date; } export namespace StepTimeline { @@ -2271,24 +2699,25 @@ export namespace StepTimeline { */ export interface StepStatus { /** - *

    The reason for the step execution status change.

    + *

    The execution state of the cluster step.

    */ - StateChangeReason?: StepStateChangeReason; + State?: StepState | string; /** - *

    The timeline of the cluster step status over time.

    + *

    The reason for the step execution status change.

    */ - Timeline?: StepTimeline; + StateChangeReason?: StepStateChangeReason; /** - *

    The execution state of the cluster step.

    + *

    The details for the step failure including reason, message, and log file path where the + * root cause was identified.

    */ - State?: StepState | string; + FailureDetails?: FailureDetails; /** - *

    The details for the step failure including reason, message, and log file path where the root cause was identified.

    + *

    The timeline of the cluster step status over time.

    */ - FailureDetails?: FailureDetails; + Timeline?: StepTimeline; } export namespace StepStatus { @@ -2302,49 +2731,169 @@ export namespace StepStatus { */ export interface Step { /** - *

    The identifier of the cluster step.

    + *

    The identifier of the cluster step.

    + */ + Id?: string; + + /** + *

    The name of the cluster step.

    + */ + Name?: string; + + /** + *

    The Hadoop job configuration of the cluster step.

    + */ + Config?: HadoopStepConfig; + + /** + *

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, + * CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. + * We recommend using TERMINATE_CLUSTER instead.

    + */ + ActionOnFailure?: ActionOnFailure | string; + + /** + *

    The current execution status details of the cluster step.

    + */ + Status?: StepStatus; +} + +export namespace Step { + export const filterSensitiveLog = (obj: Step): any => ({ + ...obj, + }); +} + +/** + *

    This output contains the description of the cluster step.

    + */ +export interface DescribeStepOutput { + /** + *

    The step details for the requested step identifier.

    + */ + Step?: Step; +} + +export namespace DescribeStepOutput { + export const filterSensitiveLog = (obj: DescribeStepOutput): any => ({ + ...obj, + }); +} + +export interface DescribeStudioInput { + /** + *

    The Amazon EMR Studio ID.

    + */ + StudioId: string | undefined; +} + +export namespace DescribeStudioInput { + export const filterSensitiveLog = (obj: DescribeStudioInput): any => ({ + ...obj, + }); +} + +/** + *

    Details for an Amazon EMR Studio including ID, creation time, name, and so on.

    + */ +export interface Studio { + /** + *

    The ID of the EMR Studio.

    + */ + StudioId?: string; + + /** + *

    The Amazon Resource Name (ARN) of the EMR Studio.

    + */ + StudioArn?: string; + + /** + *

    The name of the EMR Studio.

    + */ + Name?: string; + + /** + *

    The detailed description of the EMR Studio.

    + */ + Description?: string; + + /** + *

    Specifies whether the Studio authenticates users using single sign-on (SSO) or + * IAM.

    + */ + AuthMode?: AuthMode | string; + + /** + *

    The ID of the VPC associated with the EMR Studio.

    + */ + VpcId?: string; + + /** + *

    The list of IDs of the subnets associated with the Amazon EMR Studio.

    + */ + SubnetIds?: string[]; + + /** + *

    The name of the IAM role assumed by the Amazon EMR Studio.

    + */ + ServiceRole?: string; + + /** + *

    The name of the IAM role assumed by users logged in to the Amazon EMR Studio.

    + */ + UserRole?: string; + + /** + *

    The ID of the Workspace security group associated with the Amazon EMR Studio. The + * Workspace security group allows outbound network traffic to resources in the Engine + * security group and to the internet.

    + */ + WorkspaceSecurityGroupId?: string; + + /** + *

    The ID of the Engine security group associated with the Amazon EMR Studio. The Engine + * security group allows inbound network traffic from resources in the Workspace security + * group.

    */ - Id?: string; + EngineSecurityGroupId?: string; /** - *

    The Hadoop job configuration of the cluster step.

    + *

    The unique access URL of the Amazon EMR Studio.

    */ - Config?: HadoopStepConfig; + Url?: string; /** - *

    The current execution status details of the cluster step.

    + *

    The time the Amazon EMR Studio was created.

    */ - Status?: StepStatus; + CreationTime?: Date; /** - *

    The name of the cluster step.

    + *

    The default Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook + * files.

    */ - Name?: string; + DefaultS3Location?: string; /** - *

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

    + *

    A list of tags associated with the Amazon EMR Studio.

    */ - ActionOnFailure?: ActionOnFailure | string; + Tags?: Tag[]; } -export namespace Step { - export const filterSensitiveLog = (obj: Step): any => ({ +export namespace Studio { + export const filterSensitiveLog = (obj: Studio): any => ({ ...obj, }); } -/** - *

    This output contains the description of the cluster step.

    - */ -export interface DescribeStepOutput { +export interface DescribeStudioOutput { /** - *

    The step details for the requested step identifier.

    + *

    The Amazon EMR Studio details.

    */ - Step?: Step; + Studio?: Studio; } -export namespace DescribeStepOutput { - export const filterSensitiveLog = (obj: DescribeStepOutput): any => ({ +export namespace DescribeStudioOutput { + export const filterSensitiveLog = (obj: DescribeStudioOutput): any => ({ ...obj, }); } @@ -2354,7 +2903,8 @@ export namespace DescribeStepOutput { */ export interface EbsBlockDevice { /** - *

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

    + *

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be + * requested for the EBS volume attached to an EC2 instance in the cluster.

    */ VolumeSpecification?: VolumeSpecification; @@ -2401,8 +2951,7 @@ export namespace GetBlockPublicAccessConfigurationInput { export interface GetManagedScalingPolicyInput { /** - *

    - * Specifies the ID of the cluster for which the managed scaling policy will be fetched. + *

    Specifies the ID of the cluster for which the managed scaling policy will be fetched. *

    */ ClusterId: string | undefined; @@ -2415,13 +2964,15 @@ export namespace GetManagedScalingPolicyInput { } /** - *

    - * Managed scaling policy for an Amazon EMR cluster. The policy specifies the limits for resources that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

    + *

    Managed scaling policy for an Amazon EMR cluster. The policy specifies the limits for + * resources that can be added or terminated from a cluster. The policy only applies to the + * core and task nodes. The master node cannot be scaled after initial configuration.

    */ export interface ManagedScalingPolicy { /** - *

    The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster is not allowed to go above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

    + *

    The EC2 unit limits for a managed scaling policy. The managed scaling activity of a + * cluster is not allowed to go above or below these limits. The limit only applies to the + * core and task nodes. The master node cannot be scaled after initial configuration.

    */ ComputeLimits?: ComputeLimits; } @@ -2434,9 +2985,7 @@ export namespace ManagedScalingPolicy { export interface GetManagedScalingPolicyOutput { /** - *

    - * Specifies the managed scaling policy that is attached to an Amazon EMR cluster. - *

    + *

    Specifies the managed scaling policy that is attached to an Amazon EMR cluster.

    */ ManagedScalingPolicy?: ManagedScalingPolicy; } @@ -2447,6 +2996,100 @@ export namespace GetManagedScalingPolicyOutput { }); } +export interface GetStudioSessionMappingInput { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId: string | undefined; + + /** + *

    The globally unique identifier (GUID) of the user or group. For more information, see + * UserId and GroupId in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityId?: string; + + /** + *

    The name of the user or group to fetch. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityName?: string; + + /** + *

    Specifies whether the identity to fetch is a user or a group.

    + */ + IdentityType: IdentityType | string | undefined; +} + +export namespace GetStudioSessionMappingInput { + export const filterSensitiveLog = (obj: GetStudioSessionMappingInput): any => ({ + ...obj, + }); +} + +/** + *

    Details for an Amazon EMR Studio session mapping including creation time, user or group + * ID, Studio ID, and so on.

    + */ +export interface SessionMappingDetail { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId?: string; + + /** + *

    The globally unique identifier (GUID) of the user or group.

    + */ + IdentityId?: string; + + /** + *

    The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API + * Reference.

    + */ + IdentityName?: string; + + /** + *

    Specifies whether the identity mapped to the Studio is a user or a group.

    + */ + IdentityType?: IdentityType | string; + + /** + *

    The Amazon Resource Name (ARN) of the session policy associated with the user or + * group.

    + */ + SessionPolicyArn?: string; + + /** + *

    The time the session mapping was created.

    + */ + CreationTime?: Date; + + /** + *

    The time the session mapping was last modified.

    + */ + LastModifiedTime?: Date; +} + +export namespace SessionMappingDetail { + export const filterSensitiveLog = (obj: SessionMappingDetail): any => ({ + ...obj, + }); +} + +export interface GetStudioSessionMappingOutput { + /** + *

    The session mapping details for the specified Amazon EMR Studio and identity, including + * session policy ARN and creation time.

    + */ + SessionMapping?: SessionMappingDetail; +} + +export namespace GetStudioSessionMappingOutput { + export const filterSensitiveLog = (obj: GetStudioSessionMappingOutput): any => ({ + ...obj, + }); +} + /** *

    This input determines which bootstrap actions to retrieve.

    */ @@ -2490,13 +3133,14 @@ export namespace ListBootstrapActionsOutput { } /** - *

    This input determines how the ListClusters action filters the list of clusters that it returns.

    + *

    This input determines how the ListClusters action filters the list of clusters that it + * returns.

    */ export interface ListClustersInput { /** - *

    The cluster state filters to apply when listing clusters.

    + *

    The creation date and time beginning value filter for listing clusters.

    */ - ClusterStates?: (ClusterState | string)[]; + CreatedAfter?: Date; /** *

    The creation date and time end value filter for listing clusters.

    @@ -2504,14 +3148,14 @@ export interface ListClustersInput { CreatedBefore?: Date; /** - *

    The pagination token that indicates the next set of results to retrieve.

    + *

    The cluster state filters to apply when listing clusters.

    */ - Marker?: string; + ClusterStates?: (ClusterState | string)[]; /** - *

    The creation date and time beginning value filter for listing clusters.

    + *

    The pagination token that indicates the next set of results to retrieve.

    */ - CreatedAfter?: Date; + Marker?: string; } export namespace ListClustersInput { @@ -2521,18 +3165,19 @@ export namespace ListClustersInput { } /** - *

    This contains a ClusterSummaryList with the cluster details; for example, the cluster IDs, names, and status.

    + *

    This contains a ClusterSummaryList with the cluster details; for example, the cluster + * IDs, names, and status.

    */ export interface ListClustersOutput { /** - *

    The pagination token that indicates the next set of results to retrieve.

    + *

    The list of clusters for the account based on the given filters.

    */ - Marker?: string; + Clusters?: ClusterSummary[]; /** - *

    The list of clusters for the account based on the given filters.

    + *

    The pagination token that indicates the next set of results to retrieve.

    */ - Clusters?: ClusterSummary[]; + Marker?: string; } export namespace ListClustersOutput { @@ -2543,14 +3188,14 @@ export namespace ListClustersOutput { export interface ListInstanceFleetsInput { /** - *

    The pagination token that indicates the next set of results to retrieve.

    + *

    The unique identifier of the cluster.

    */ - Marker?: string; + ClusterId: string | undefined; /** - *

    The unique identifier of the cluster.

    + *

    The pagination token that indicates the next set of results to retrieve.

    */ - ClusterId: string | undefined; + Marker?: string; } export namespace ListInstanceFleetsInput { @@ -2579,19 +3224,20 @@ export enum InstanceFleetStateChangeReasonCode { /** *

    Provides status change reason details for the instance fleet.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceFleetStateChangeReason { /** - *

    An explanatory message.

    + *

    A code corresponding to the reason the state change occurred.

    */ - Message?: string; + Code?: InstanceFleetStateChangeReasonCode | string; /** - *

    A code corresponding to the reason the state change occurred.

    + *

    An explanatory message.

    */ - Code?: InstanceFleetStateChangeReasonCode | string; + Message?: string; } export namespace InstanceFleetStateChangeReason { @@ -2601,9 +3247,11 @@ export namespace InstanceFleetStateChangeReason { } /** - *

    Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

    + *

    Provides historical timestamps for the instance fleet, including the time of creation, + * the time it became ready to run jobs, and the time of termination.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceFleetTimeline { @@ -2632,7 +3280,8 @@ export namespace InstanceFleetTimeline { /** *

    The status of the instance fleet.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceFleetStatus { @@ -2641,23 +3290,28 @@ export interface InstanceFleetStatus { *
      *
    • *

      - * PROVISIONING—The instance fleet is provisioning EC2 resources and is not yet ready to run jobs.

      + * PROVISIONING—The instance fleet is provisioning EC2 resources and is + * not yet ready to run jobs.

      *
    • *
    • *

      - * BOOTSTRAPPING—EC2 instances and other resources have been provisioned and the bootstrap actions specified for the instances are underway.

      + * BOOTSTRAPPING—EC2 instances and other resources have been provisioned + * and the bootstrap actions specified for the instances are underway.

      *
    • *
    • *

      - * RUNNING—EC2 instances and other resources are running. They are either executing jobs or waiting to execute jobs.

      + * RUNNING—EC2 instances and other resources are running. They are + * either executing jobs or waiting to execute jobs.

      *
    • *
    • *

      - * RESIZING—A resize operation is underway. EC2 instances are either being added or removed.

      + * RESIZING—A resize operation is underway. EC2 instances are either + * being added or removed.

      *
    • *
    • *

      - * SUSPENDED—A resize operation could not complete. Existing EC2 instances are running, but instances can't be added or removed.

      + * SUSPENDED—A resize operation could not complete. Existing EC2 + * instances are running, but instances can't be added or removed.

      *
    • *
    • *

      @@ -2665,21 +3319,23 @@ export interface InstanceFleetStatus { *

    • *
    • *

      - * TERMINATED—The instance fleet is no longer active, and all EC2 instances have been terminated.

      + * TERMINATED—The instance fleet is no longer active, and all EC2 + * instances have been terminated.

      *
    • *
    */ State?: InstanceFleetState | string; /** - *

    Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

    + *

    Provides status change reason details for the instance fleet.

    */ - Timeline?: InstanceFleetTimeline; + StateChangeReason?: InstanceFleetStateChangeReason; /** - *

    Provides status change reason details for the instance fleet.

    + *

    Provides historical timestamps for the instance fleet, including the time of creation, + * the time it became ready to run jobs, and the time of termination.

    */ - StateChangeReason?: InstanceFleetStateChangeReason; + Timeline?: InstanceFleetTimeline; } export namespace InstanceFleetStatus { @@ -2716,14 +3372,10 @@ export enum InstanceGroupType { } /** - *

    Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

    + *

    Custom policy for requesting termination protection or termination of specific instances + * when shrinking an instance group.

    */ export interface InstanceResizePolicy { - /** - *

    Decommissioning timeout override for the specific list of instances to be terminated.

    - */ - InstanceTerminationTimeout?: number; - /** *

    Specific list of instances to be terminated when shrinking an instance group.

    */ @@ -2733,6 +3385,12 @@ export interface InstanceResizePolicy { *

    Specific list of instances to be protected when shrinking an instance group.

    */ InstancesToProtect?: string[]; + + /** + *

    Decommissioning timeout override for the specific list of instances to be + * terminated.

    + */ + InstanceTerminationTimeout?: number; } export namespace InstanceResizePolicy { @@ -2742,16 +3400,19 @@ export namespace InstanceResizePolicy { } /** - *

    Policy for customizing shrink operations. Allows configuration of decommissioning timeout and targeted instance shrinking.

    + *

    Policy for customizing shrink operations. Allows configuration of decommissioning + * timeout and targeted instance shrinking.

    */ export interface ShrinkPolicy { /** - *

    The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout.

    + *

    The desired timeout for decommissioning an instance. Overrides the default YARN + * decommissioning timeout.

    */ DecommissionTimeout?: number; /** - *

    Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

    + *

    Custom policy for requesting termination protection or termination of specific instances + * when shrinking an instance group.

    */ InstanceResizePolicy?: InstanceResizePolicy; } @@ -2774,14 +3435,14 @@ export enum InstanceGroupStateChangeReasonCode { */ export interface InstanceGroupStateChangeReason { /** - *

    The status change reason description.

    + *

    The programmable code for the state change reason.

    */ - Message?: string; + Code?: InstanceGroupStateChangeReasonCode | string; /** - *

    The programmable code for the state change reason.

    + *

    The status change reason description.

    */ - Code?: InstanceGroupStateChangeReasonCode | string; + Message?: string; } export namespace InstanceGroupStateChangeReason { @@ -2800,14 +3461,14 @@ export interface InstanceGroupTimeline { CreationDateTime?: Date; /** - *

    The date and time when the instance group terminated.

    + *

    The date and time when the instance group became ready to perform tasks.

    */ - EndDateTime?: Date; + ReadyDateTime?: Date; /** - *

    The date and time when the instance group became ready to perform tasks.

    + *

    The date and time when the instance group terminated.

    */ - ReadyDateTime?: Date; + EndDateTime?: Date; } export namespace InstanceGroupTimeline { @@ -2821,14 +3482,14 @@ export namespace InstanceGroupTimeline { */ export interface InstanceGroupStatus { /** - *

    The status change reason details for the instance group.

    + *

    The current state of the instance group.

    */ - StateChangeReason?: InstanceGroupStateChangeReason; + State?: InstanceGroupState | string; /** - *

    The current state of the instance group.

    + *

    The status change reason details for the instance group.

    */ - State?: InstanceGroupState | string; + StateChangeReason?: InstanceGroupStateChangeReason; /** *

    The timeline of the instance group status over time.

    @@ -2855,39 +3516,40 @@ export enum InstanceState { */ export interface ListInstancesInput { /** - *

    The pagination token that indicates the next set of results to retrieve.

    + *

    The identifier of the cluster for which to list the instances.

    */ - Marker?: string; + ClusterId: string | undefined; /** - *

    The type of instance group for which to list the instances.

    + *

    The identifier of the instance group for which to list the instances.

    */ - InstanceGroupTypes?: (InstanceGroupType | string)[]; + InstanceGroupId?: string; /** - *

    A list of instance states that will filter the instances returned with this request.

    + *

    The type of instance group for which to list the instances.

    */ - InstanceStates?: (InstanceState | string)[]; + InstanceGroupTypes?: (InstanceGroupType | string)[]; /** - *

    The identifier of the cluster for which to list the instances.

    + *

    The unique identifier of the instance fleet.

    */ - ClusterId: string | undefined; + InstanceFleetId?: string; /** - *

    The identifier of the instance group for which to list the instances.

    + *

    The node type of the instance fleet. For example MASTER, CORE, or TASK.

    */ - InstanceGroupId?: string; + InstanceFleetType?: InstanceFleetType | string; /** - *

    The node type of the instance fleet. For example MASTER, CORE, or TASK.

    + *

    A list of instance states that will filter the instances returned with this + * request.

    */ - InstanceFleetType?: InstanceFleetType | string; + InstanceStates?: (InstanceState | string)[]; /** - *

    The unique identifier of the instance fleet.

    + *

    The pagination token that indicates the next set of results to retrieve.

    */ - InstanceFleetId?: string; + Marker?: string; } export namespace ListInstancesInput { @@ -2909,14 +3571,14 @@ export enum InstanceStateChangeReasonCode { */ export interface InstanceStateChangeReason { /** - *

    The status change reason description.

    + *

    The programmable code for the state change reason.

    */ - Message?: string; + Code?: InstanceStateChangeReasonCode | string; /** - *

    The programmable code for the state change reason.

    + *

    The status change reason description.

    */ - Code?: InstanceStateChangeReasonCode | string; + Message?: string; } export namespace InstanceStateChangeReason { @@ -2929,11 +3591,6 @@ export namespace InstanceStateChangeReason { *

    The timeline of the instance lifecycle.

    */ export interface InstanceTimeline { - /** - *

    The date and time when the instance was terminated.

    - */ - EndDateTime?: Date; - /** *

    The creation date and time of the instance.

    */ @@ -2943,6 +3600,11 @@ export interface InstanceTimeline { *

    The date and time when the instance was ready to perform tasks.

    */ ReadyDateTime?: Date; + + /** + *

    The date and time when the instance was terminated.

    + */ + EndDateTime?: Date; } export namespace InstanceTimeline { @@ -2955,11 +3617,6 @@ export namespace InstanceTimeline { *

    The instance status details.

    */ export interface InstanceStatus { - /** - *

    The timeline of the instance status over time.

    - */ - Timeline?: InstanceTimeline; - /** *

    The current state of the instance.

    */ @@ -2969,6 +3626,11 @@ export interface InstanceStatus { *

    The details of the status change reason for the instance.

    */ StateChangeReason?: InstanceStateChangeReason; + + /** + *

    The timeline of the instance status over time.

    + */ + Timeline?: InstanceTimeline; } export namespace InstanceStatus { @@ -2982,19 +3644,19 @@ export namespace InstanceStatus { */ export interface Instance { /** - *

    The public DNS name of the instance.

    + *

    The unique identifier for the instance in Amazon EMR.

    */ - PublicDnsName?: string; + Id?: string; /** - *

    The list of EBS volumes that are attached to this instance.

    + *

    The unique identifier of the instance in Amazon EC2.

    */ - EbsVolumes?: EbsVolume[]; + Ec2InstanceId?: string; /** - *

    The private IP address of the instance.

    + *

    The public DNS name of the instance.

    */ - PrivateIpAddress?: string; + PublicDnsName?: string; /** *

    The public IP address of the instance.

    @@ -3002,9 +3664,14 @@ export interface Instance { PublicIpAddress?: string; /** - *

    The unique identifier of the instance in Amazon EC2.

    + *

    The private DNS name of the instance.

    */ - Ec2InstanceId?: string; + PrivateDnsName?: string; + + /** + *

    The private IP address of the instance.

    + */ + PrivateIpAddress?: string; /** *

    The current status of the instance.

    @@ -3017,30 +3684,25 @@ export interface Instance { InstanceGroupId?: string; /** - *

    The private DNS name of the instance.

    - */ - PrivateDnsName?: string; - - /** - *

    The EC2 instance type, for example m3.xlarge.

    + *

    The unique identifier of the instance fleet to which an EC2 instance belongs.

    */ - InstanceType?: string; + InstanceFleetId?: string; /** - *

    The unique identifier for the instance in Amazon EMR.

    + *

    The instance purchasing option. Valid values are ON_DEMAND or + * SPOT.

    */ - Id?: string; + Market?: MarketType | string; /** - *

    The unique identifier of the instance fleet to which an EC2 instance belongs.

    + *

    The EC2 instance type, for example m3.xlarge.

    */ - InstanceFleetId?: string; + InstanceType?: string; /** - *

    The instance purchasing option. Valid values are ON_DEMAND or SPOT. - *

    + *

    The list of EBS volumes that are attached to this instance.

    */ - Market?: MarketType | string; + EbsVolumes?: EbsVolume[]; } export namespace Instance { @@ -3065,58 +3727,49 @@ export interface ListInstancesOutput { } export namespace ListInstancesOutput { - export const filterSensitiveLog = (obj: ListInstancesOutput): any => ({ - ...obj, - }); -} - -export interface ListNotebookExecutionsInput { - /** - *

    The end of time range filter for listing notebook executions. The default is the current timestamp.

    - */ - To?: Date; - - /** - *

    The beginning of time range filter for listing notebook executions. The default is the timestamp of 30 days ago.

    - */ - From?: Date; + export const filterSensitiveLog = (obj: ListInstancesOutput): any => ({ + ...obj, + }); +} +export interface ListNotebookExecutionsInput { /** *

    The unique ID of the editor associated with the notebook execution.

    */ EditorId?: string; - /** - *

    The pagination token, returned by a previous ListNotebookExecutions call, that indicates the start of the list for this ListNotebookExecutions call.

    - */ - Marker?: string; - /** *

    The status filter for listing notebook executions.

    *
      *
    • *

      - * START_PENDING indicates that the cluster has received the execution request but execution has not begun.

      + * START_PENDING indicates that the cluster has received the execution + * request but execution has not begun.

      *
    • *
    • *

      - * STARTING indicates that the execution is starting on the cluster.

      + * STARTING indicates that the execution is starting on the + * cluster.

      *
    • *
    • *

      - * RUNNING indicates that the execution is being processed by the cluster.

      + * RUNNING indicates that the execution is being processed by the + * cluster.

      *
    • *
    • *

      - * FINISHING indicates that execution processing is in the final stages.

      + * FINISHING indicates that execution processing is in the final + * stages.

      *
    • *
    • *

      - * FINISHED indicates that the execution has completed without error.

      + * FINISHED indicates that the execution has completed without + * error.

      *
    • *
    • *

      - * FAILING indicates that the execution is failing and will not finish successfully.

      + * FAILING indicates that the execution is failing and will not finish + * successfully.

      *
    • *
    • *

      @@ -3124,19 +3777,41 @@ export interface ListNotebookExecutionsInput { *

    • *
    • *

      - * STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

      + * STOP_PENDING indicates that the cluster has received a + * StopNotebookExecution request and the stop is pending.

      *
    • *
    • *

      - * STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

      + * STOPPING indicates that the cluster is in the process of stopping the + * execution as a result of a StopNotebookExecution request.

      *
    • *
    • *

      - * STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

      + * STOPPED indicates that the execution stopped because of a + * StopNotebookExecution request.

      *
    • *
    */ Status?: NotebookExecutionStatus | string; + + /** + *

    The beginning of time range filter for listing notebook executions. The default is the + * timestamp of 30 days ago.

    + */ + From?: Date; + + /** + *

    The end of time range filter for listing notebook executions. The default is the current + * timestamp.

    + */ + To?: Date; + + /** + *

    The pagination token, returned by a previous ListNotebookExecutions call, + * that indicates the start of the list for this ListNotebookExecutions + * call.

    + */ + Marker?: string; } export namespace ListNotebookExecutionsInput { @@ -3149,57 +3824,53 @@ export namespace ListNotebookExecutionsInput { *

    */ export interface NotebookExecutionSummary { - /** - *

    The name of the notebook execution.

    - */ - NotebookExecutionName?: string; - - /** - *

    The unique identifier of the editor associated with the notebook execution.

    - */ - EditorId?: string; - /** *

    The unique identifier of the notebook execution.

    */ NotebookExecutionId?: string; /** - *

    The timestamp when notebook execution started.

    + *

    The unique identifier of the editor associated with the notebook execution.

    */ - StartTime?: Date; + EditorId?: string; /** - *

    The timestamp when notebook execution started.

    + *

    The name of the notebook execution.

    */ - EndTime?: Date; + NotebookExecutionName?: string; /** *

    The status of the notebook execution.

    *
      *
    • *

      - * START_PENDING indicates that the cluster has received the execution request but execution has not begun.

      + * START_PENDING indicates that the cluster has received the execution + * request but execution has not begun.

      *
    • *
    • *

      - * STARTING indicates that the execution is starting on the cluster.

      + * STARTING indicates that the execution is starting on the + * cluster.

      *
    • *
    • *

      - * RUNNING indicates that the execution is being processed by the cluster.

      + * RUNNING indicates that the execution is being processed by the + * cluster.

      *
    • *
    • *

      - * FINISHING indicates that execution processing is in the final stages.

      + * FINISHING indicates that execution processing is in the final + * stages.

      *
    • *
    • *

      - * FINISHED indicates that the execution has completed without error.

      + * FINISHED indicates that the execution has completed without + * error.

      *
    • *
    • *

      - * FAILING indicates that the execution is failing and will not finish successfully.

      + * FAILING indicates that the execution is failing and will not finish + * successfully.

      *
    • *
    • *

      @@ -3207,19 +3878,32 @@ export interface NotebookExecutionSummary { *

    • *
    • *

      - * STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

      + * STOP_PENDING indicates that the cluster has received a + * StopNotebookExecution request and the stop is pending.

      *
    • *
    • *

      - * STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

      + * STOPPING indicates that the cluster is in the process of stopping the + * execution as a result of a StopNotebookExecution request.

      *
    • *
    • *

      - * STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

      + * STOPPED indicates that the execution stopped because of a + * StopNotebookExecution request.

      *
    • *
    */ Status?: NotebookExecutionStatus | string; + + /** + *

    The timestamp when notebook execution started.

    + */ + StartTime?: Date; + + /** + *

    The timestamp when notebook execution started.

    + */ + EndTime?: Date; } export namespace NotebookExecutionSummary { @@ -3230,14 +3914,15 @@ export namespace NotebookExecutionSummary { export interface ListNotebookExecutionsOutput { /** - *

    A pagination token that a subsequent ListNotebookExecutions can use to determine the next set of results to retrieve.

    + *

    A list of notebook executions.

    */ - Marker?: string; + NotebookExecutions?: NotebookExecutionSummary[]; /** - *

    A list of notebook executions.

    + *

    A pagination token that a subsequent ListNotebookExecutions can use to + * determine the next set of results to retrieve.

    */ - NotebookExecutions?: NotebookExecutionSummary[]; + Marker?: string; } export namespace ListNotebookExecutionsOutput { @@ -3264,14 +3949,14 @@ export namespace ListSecurityConfigurationsInput { */ export interface SecurityConfigurationSummary { /** - *

    The date and time the security configuration was created.

    + *

    The name of the security configuration.

    */ - CreationDateTime?: Date; + Name?: string; /** - *

    The name of the security configuration.

    + *

    The date and time the security configuration was created.

    */ - Name?: string; + CreationDateTime?: Date; } export namespace SecurityConfigurationSummary { @@ -3287,7 +3972,9 @@ export interface ListSecurityConfigurationsOutput { SecurityConfigurations?: SecurityConfigurationSummary[]; /** - *

    A pagination token that indicates the next set of results to retrieve. Include the marker in the next ListSecurityConfiguration call to retrieve the next page of results, if required.

    + *

    A pagination token that indicates the next set of results to retrieve. Include the + * marker in the next ListSecurityConfiguration call to retrieve the next page of results, if + * required.

    */ Marker?: string; } @@ -3303,24 +3990,26 @@ export namespace ListSecurityConfigurationsOutput { */ export interface ListStepsInput { /** - *

    The pagination token that indicates the next set of results to retrieve.

    + *

    The identifier of the cluster for which to list the steps.

    */ - Marker?: string; + ClusterId: string | undefined; /** - *

    The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.

    + *

    The filter to limit the step list based on certain states.

    */ - StepIds?: string[]; + StepStates?: (StepState | string)[]; /** - *

    The filter to limit the step list based on certain states.

    + *

    The filter to limit the step list based on the identifier of the steps. You can specify + * a maximum of ten Step IDs. The character constraint applies to the overall length of the + * array.

    */ - StepStates?: (StepState | string)[]; + StepIds?: string[]; /** - *

    The identifier of the cluster for which to list the steps.

    + *

    The pagination token that indicates the next set of results to retrieve.

    */ - ClusterId: string | undefined; + Marker?: string; } export namespace ListStepsInput { @@ -3334,29 +4023,31 @@ export namespace ListStepsInput { */ export interface StepSummary { /** - *

    The Hadoop job configuration of the cluster step.

    + *

    The identifier of the cluster step.

    */ - Config?: HadoopStepConfig; + Id?: string; /** - *

    The current execution status details of the cluster step.

    + *

    The name of the cluster step.

    */ - Status?: StepStatus; + Name?: string; /** - *

    The name of the cluster step.

    + *

    The Hadoop job configuration of the cluster step.

    */ - Name?: string; + Config?: HadoopStepConfig; /** - *

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

    + *

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, + * CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. + * We recommend using TERMINATE_CLUSTER instead.

    */ ActionOnFailure?: ActionOnFailure | string; /** - *

    The identifier of the cluster step.

    + *

    The current execution status details of the cluster step.

    */ - Id?: string; + Status?: StepStatus; } export namespace StepSummary { @@ -3366,7 +4057,8 @@ export namespace StepSummary { } /** - *

    This output contains the list of steps returned in reverse order. This means that the last step is the first element in the list.

    + *

    This output contains the list of steps returned in reverse order. This means that the + * last step is the first element in the list.

    */ export interface ListStepsOutput { /** @@ -3386,16 +4078,180 @@ export namespace ListStepsOutput { }); } -export interface ModifyClusterInput { +export interface ListStudiosInput { /** - *

    The number of steps that can be executed concurrently. You can specify a maximum of 256 steps.

    + *

    The pagination token that indicates the set of results to retrieve.

    */ - StepConcurrencyLevel?: number; + Marker?: string; +} + +export namespace ListStudiosInput { + export const filterSensitiveLog = (obj: ListStudiosInput): any => ({ + ...obj, + }); +} + +/** + *

    Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. The details + * do not include subnets, IAM roles, security groups, or tags associated with the + * Studio.

    + */ +export interface StudioSummary { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId?: string; + + /** + *

    The name of the Amazon EMR Studio.

    + */ + Name?: string; + + /** + *

    The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon EMR + * Studio.

    + */ + VpcId?: string; + + /** + *

    The detailed description of the EMR Studio.

    + */ + Description?: string; + + /** + *

    The unique access URL of the Amazon EMR Studio.

    + */ + Url?: string; + + /** + *

    The time when the Amazon EMR Studio was created.

    + */ + CreationTime?: Date; +} + +export namespace StudioSummary { + export const filterSensitiveLog = (obj: StudioSummary): any => ({ + ...obj, + }); +} + +export interface ListStudiosOutput { + /** + *

    The list of Studio summary objects.

    + */ + Studios?: StudioSummary[]; + + /** + *

    The pagination token that indicates the next set of results to retrieve.

    + */ + Marker?: string; +} + +export namespace ListStudiosOutput { + export const filterSensitiveLog = (obj: ListStudiosOutput): any => ({ + ...obj, + }); +} + +export interface ListStudioSessionMappingsInput { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId?: string; + + /** + *

    Specifies whether to return session mappings for users or groups. If not specified, the + * results include session mapping details for both users and groups.

    + */ + IdentityType?: IdentityType | string; + + /** + *

    The pagination token that indicates the set of results to retrieve.

    + */ + Marker?: string; +} + +export namespace ListStudioSessionMappingsInput { + export const filterSensitiveLog = (obj: ListStudioSessionMappingsInput): any => ({ + ...obj, + }); +} + +/** + *

    Details for an Amazon EMR Studio session mapping. The details do not include the time + * the session mapping was last modified.

    + */ +export interface SessionMappingSummary { + /** + *

    The ID of the Amazon EMR Studio.

    + */ + StudioId?: string; + + /** + *

    The globally unique identifier (GUID) of the user or group from the AWS SSO Identity + * Store.

    + */ + IdentityId?: string; + + /** + *

    The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API + * Reference.

    + */ + IdentityName?: string; + + /** + *

    Specifies whether the identity mapped to the Studio is a user or a group.

    + */ + IdentityType?: IdentityType | string; + + /** + *

    The Amazon Resource Name (ARN) of the session policy associated with the user or + * group.

    + */ + SessionPolicyArn?: string; + + /** + *

    The time the session mapping was created.

    + */ + CreationTime?: Date; +} + +export namespace SessionMappingSummary { + export const filterSensitiveLog = (obj: SessionMappingSummary): any => ({ + ...obj, + }); +} + +export interface ListStudioSessionMappingsOutput { + /** + *

    A list of session mapping summary objects. Each object includes session mapping details + * such as creation time, identity type (user or group), and Studio ID.

    + */ + SessionMappings?: SessionMappingSummary[]; + + /** + *

    The pagination token that indicates the next set of results to retrieve.

    + */ + Marker?: string; +} +export namespace ListStudioSessionMappingsOutput { + export const filterSensitiveLog = (obj: ListStudioSessionMappingsOutput): any => ({ + ...obj, + }); +} + +export interface ModifyClusterInput { /** *

    The unique identifier of the cluster.

    */ ClusterId: string | undefined; + + /** + *

    The number of steps that can be executed concurrently. You can specify a maximum of 256 + * steps.

    + */ + StepConcurrencyLevel?: number; } export namespace ModifyClusterInput { @@ -3420,7 +4276,8 @@ export namespace ModifyClusterOutput { /** *

    Configuration parameters for an instance fleet modification request.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceFleetModifyConfig { @@ -3430,14 +4287,16 @@ export interface InstanceFleetModifyConfig { InstanceFleetId: string | undefined; /** - *

    The target capacity of Spot units for the instance fleet. For more information, see InstanceFleetConfig$TargetSpotCapacity.

    + *

    The target capacity of On-Demand units for the instance fleet. For more information see + * InstanceFleetConfig$TargetOnDemandCapacity.

    */ - TargetSpotCapacity?: number; + TargetOnDemandCapacity?: number; /** - *

    The target capacity of On-Demand units for the instance fleet. For more information see InstanceFleetConfig$TargetOnDemandCapacity.

    + *

    The target capacity of Spot units for the instance fleet. For more information, see + * InstanceFleetConfig$TargetSpotCapacity.

    */ - TargetOnDemandCapacity?: number; + TargetSpotCapacity?: number; } export namespace InstanceFleetModifyConfig { @@ -3448,14 +4307,14 @@ export namespace InstanceFleetModifyConfig { export interface ModifyInstanceFleetInput { /** - *

    The unique identifier of the instance fleet.

    + *

    The unique identifier of the cluster.

    */ - InstanceFleet: InstanceFleetModifyConfig | undefined; + ClusterId: string | undefined; /** - *

    The unique identifier of the cluster.

    + *

    The unique identifier of the instance fleet.

    */ - ClusterId: string | undefined; + InstanceFleet: InstanceFleetModifyConfig | undefined; } export namespace ModifyInstanceFleetInput { @@ -3466,19 +4325,21 @@ export namespace ModifyInstanceFleetInput { export interface PutAutoScalingPolicyInput { /** - *

    Specifies the definition of the automatic scaling policy.

    + *

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy + * is applied is within this cluster.

    */ - AutoScalingPolicy: AutoScalingPolicy | undefined; + ClusterId: string | undefined; /** - *

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

    + *

    Specifies the ID of the instance group to which the automatic scaling policy is + * applied.

    */ - ClusterId: string | undefined; + InstanceGroupId: string | undefined; /** - *

    Specifies the ID of the instance group to which the automatic scaling policy is applied.

    + *

    Specifies the definition of the automatic scaling policy.

    */ - InstanceGroupId: string | undefined; + AutoScalingPolicy: AutoScalingPolicy | undefined; } export namespace PutAutoScalingPolicyInput { @@ -3489,15 +4350,11 @@ export namespace PutAutoScalingPolicyInput { export interface PutAutoScalingPolicyOutput { /** - *

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

    + *

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy + * is applied is within this cluster.

    */ ClusterId?: string; - /** - *

    The Amazon Resource Name of the cluster.

    - */ - ClusterArn?: string; - /** *

    Specifies the ID of the instance group to which the scaling policy is applied.

    */ @@ -3507,6 +4364,11 @@ export interface PutAutoScalingPolicyOutput { *

    The automatic scaling policy definition.

    */ AutoScalingPolicy?: AutoScalingPolicyDescription; + + /** + *

    The Amazon Resource Name of the cluster.

    + */ + ClusterArn?: string; } export namespace PutAutoScalingPolicyOutput { @@ -3525,16 +4387,12 @@ export namespace PutBlockPublicAccessConfigurationOutput { export interface PutManagedScalingPolicyInput { /** - *

    - * Specifies the ID of an EMR cluster where the managed scaling policy is attached. - *

    + *

    Specifies the ID of an EMR cluster where the managed scaling policy is attached.

    */ ClusterId: string | undefined; /** - *

    - * Specifies the constraints for the managed scaling policy. - *

    + *

    Specifies the constraints for the managed scaling policy.

    */ ManagedScalingPolicy: ManagedScalingPolicy | undefined; } @@ -3555,14 +4413,15 @@ export namespace PutManagedScalingPolicyOutput { export interface RemoveAutoScalingPolicyInput { /** - *

    Specifies the ID of the instance group to which the scaling policy is applied.

    + *

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy + * is applied is within this cluster.

    */ - InstanceGroupId: string | undefined; + ClusterId: string | undefined; /** - *

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

    + *

    Specifies the ID of the instance group to which the scaling policy is applied.

    */ - ClusterId: string | undefined; + InstanceGroupId: string | undefined; } export namespace RemoveAutoScalingPolicyInput { @@ -3581,8 +4440,7 @@ export namespace RemoveAutoScalingPolicyOutput { export interface RemoveManagedScalingPolicyInput { /** - *

    - * Specifies the ID of the cluster from which the managed scaling policy will be removed. + *

    Specifies the ID of the cluster from which the managed scaling policy will be removed. *

    */ ClusterId: string | undefined; @@ -3607,7 +4465,8 @@ export namespace RemoveManagedScalingPolicyOutput { */ export interface RemoveTagsInput { /** - *

    The Amazon EMR resource identifier from which tags will be removed. This value must be a cluster identifier.

    + *

    The Amazon EMR resource identifier from which tags will be removed. This value must be a + * cluster identifier.

    */ ResourceId: string | undefined; @@ -3635,18 +4494,20 @@ export namespace RemoveTagsOutput { } /** - *

    The list of supported product configurations which allow user-supplied arguments. EMR accepts these arguments and forwards them to the corresponding installation script as bootstrap action arguments.

    + *

    The list of supported product configurations which allow user-supplied arguments. EMR + * accepts these arguments and forwards them to the corresponding installation script as + * bootstrap action arguments.

    */ export interface SupportedProductConfig { /** - *

    The list of user-supplied arguments.

    + *

    The name of the product configuration.

    */ - Args?: string[]; + Name?: string; /** - *

    The name of the product configuration.

    + *

    The list of user-supplied arguments.

    */ - Name?: string; + Args?: string[]; } export namespace SupportedProductConfig { @@ -3660,14 +4521,14 @@ export namespace SupportedProductConfig { */ export interface RunJobFlowOutput { /** - *

    The Amazon Resource Name of the cluster.

    + *

    An unique identifier for the job flow.

    */ - ClusterArn?: string; + JobFlowId?: string; /** - *

    An unique identifier for the job flow.

    + *

    The Amazon Resource Name of the cluster.

    */ - JobFlowId?: string; + ClusterArn?: string; } export namespace RunJobFlowOutput { @@ -3681,15 +4542,17 @@ export namespace RunJobFlowOutput { */ export interface SetTerminationProtectionInput { /** - *

    A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.

    + *

    A list of strings that uniquely identify the clusters to protect. This identifier is + * returned by RunJobFlow and can also be obtained from DescribeJobFlows .

    */ - TerminationProtected: boolean | undefined; + JobFlowIds: string[] | undefined; /** - *

    A list of strings that uniquely identify the clusters to protect. This identifier is returned by - * RunJobFlow and can also be obtained from DescribeJobFlows .

    + *

    A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2 + * instances in the cluster from shutting down due to API calls, user intervention, or + * job-flow error.

    */ - JobFlowIds: string[] | undefined; + TerminationProtected: boolean | undefined; } export namespace SetTerminationProtectionInput { @@ -3708,7 +4571,10 @@ export interface SetVisibleToAllUsersInput { JobFlowIds: string[] | undefined; /** - *

    A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

    + *

    A value of true indicates that all IAM users in the AWS account can perform + * cluster actions if they have the proper IAM policy permissions. This is the default. A + * value of false indicates that only the IAM user who created the cluster can + * perform actions.

    */ VisibleToAllUsers: boolean | undefined; } @@ -3721,14 +4587,21 @@ export namespace SetVisibleToAllUsersInput { export interface StartNotebookExecutionInput { /** - *

    The name or ARN of the IAM role that is used as the service role for Amazon EMR (the EMR role) for the notebook execution.

    + *

    The unique identifier of the EMR Notebook to use for notebook execution.

    */ - ServiceRole: string | undefined; + EditorId: string | undefined; /** - *

    A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

    + *

    The path and file name of the notebook file for this execution, relative to the path + * specified for the EMR Notebook. For example, if you specify a path of + * s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook + * with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this + * request), and you specify a RelativePath of + * my_notebook_executions/notebook_execution.ipynb, the location of the file + * for the notebook execution is + * s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb.

    */ - Tags?: Tag[]; + RelativePath: string | undefined; /** *

    An optional name for the notebook execution.

    @@ -3736,12 +4609,8 @@ export interface StartNotebookExecutionInput { NotebookExecutionName?: string; /** - *

    The path and file name of the notebook file for this execution, relative to the path specified for the EMR Notebook. For example, if you specify a path of s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this request), and you specify a RelativePath of my_notebook_executions/notebook_execution.ipynb, the location of the file for the notebook execution is s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb.

    - */ - RelativePath: string | undefined; - - /** - *

    Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

    + *

    Input parameters in JSON format passed to the EMR Notebook at runtime for + * execution.

    */ NotebookParams?: string; @@ -3751,14 +4620,23 @@ export interface StartNotebookExecutionInput { ExecutionEngine: ExecutionEngineConfig | undefined; /** - *

    The unique identifier of the EMR Notebook to use for notebook execution.

    + *

    The name or ARN of the IAM role that is used as the service role for Amazon EMR (the EMR + * role) for the notebook execution.

    */ - EditorId: string | undefined; + ServiceRole: string | undefined; /** - *

    The unique identifier of the Amazon EC2 security group to associate with the EMR Notebook for this notebook execution.

    + *

    The unique identifier of the Amazon EC2 security group to associate with the EMR + * Notebook for this notebook execution.

    */ NotebookInstanceSecurityGroupId?: string; + + /** + *

    A list of tags associated with a notebook execution. Tags are user-defined key-value + * pairs that consist of a required key string with a maximum of 128 characters and an + * optional value string with a maximum of 256 characters.

    + */ + Tags?: Tag[]; } export namespace StartNotebookExecutionInput { @@ -3798,7 +4676,7 @@ export namespace StopNotebookExecutionInput { */ export interface TerminateJobFlowsInput { /** - *

    A list of job flows to be shutdown.

    + *

    A list of job flows to be shut down.

    */ JobFlowIds: string[] | undefined; } @@ -3809,11 +4687,53 @@ export namespace TerminateJobFlowsInput { }); } +export interface UpdateStudioSessionMappingInput { + /** + *

    The ID of the EMR Studio.

    + */ + StudioId: string | undefined; + + /** + *

    The globally unique identifier (GUID) of the user or group. For more information, see + * UserId and GroupId in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityId?: string; + + /** + *

    The name of the user or group to update. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. + * Either IdentityName or IdentityId must be specified.

    + */ + IdentityName?: string; + + /** + *

    Specifies whether the identity to update is a user or a group.

    + */ + IdentityType: IdentityType | string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the session policy to associate with the specified + * user or group.

    + */ + SessionPolicyArn: string | undefined; +} + +export namespace UpdateStudioSessionMappingInput { + export const filterSensitiveLog = (obj: UpdateStudioSessionMappingInput): any => ({ + ...obj, + }); +} + /** * *

    Amazon EMR releases 4.x or later.

    *
    - *

    An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

    + *

    An optional configuration specification to be used when provisioning cluster instances, + * which can include configurations for applications and software bundled with Amazon EMR. A + * configuration consists of a classification, properties, and optional nested configurations. + * A classification refers to an application-specific configuration file. Properties are the + * settings you want to change in that file. For more information, see Configuring + * Applications.

    */ export interface Configuration { /** @@ -3822,14 +4742,14 @@ export interface Configuration { Classification?: string; /** - *

    A set of properties specified within a configuration classification.

    + *

    A list of additional configurations to apply within a configuration object.

    */ - Properties?: { [key: string]: string }; + Configurations?: Configuration[]; /** - *

    A list of additional configurations to apply within a configuration object.

    + *

    A set of properties specified within a configuration classification.

    */ - Configurations?: Configuration[]; + Properties?: { [key: string]: string }; } export namespace Configuration { @@ -3839,34 +4759,46 @@ export namespace Configuration { } /** - *

    A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules is set to true, Amazon EMR prevents cluster creation if one of the cluster's security groups has a rule that allows inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges.

    + *

    A configuration for Amazon EMR block public access. When + * BlockPublicSecurityGroupRules is set to true, Amazon EMR + * prevents cluster creation if one of the cluster's security groups has a rule that allows + * inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an + * exception using PermittedPublicSecurityGroupRuleRanges.

    */ export interface BlockPublicAccessConfiguration { /** - *

    A list of additional configurations to apply within a configuration object.

    + *

    Indicates whether Amazon EMR block public access is enabled (true) or + * disabled (false). By default, the value is false for accounts + * that have created EMR clusters before July 2019. For accounts created after this, the + * default is true.

    */ - Configurations?: Configuration[]; + BlockPublicSecurityGroupRules: boolean | undefined; /** - *

    Indicates whether EMR block public access is enabled (true) or disabled (false). By default, the value is false for accounts that have created EMR clusters before July 2019. For accounts created after this, the default is true.

    + *

    Specifies ports and port ranges that are permitted to have security group rules that + * allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is + * specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows + * cluster creation if a security group associated with the cluster has a rule that allows + * inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source.

    + *

    By default, Port 22, which is used for SSH access to the cluster EC2 instances, is in + * the list of PermittedPublicSecurityGroupRuleRanges.

    */ - BlockPublicSecurityGroupRules: boolean | undefined; + PermittedPublicSecurityGroupRuleRanges?: PortRange[]; /** - *

    A set of properties specified within a configuration classification.

    + *

    The classification within a configuration.

    */ - Properties?: { [key: string]: string }; + Classification?: string; /** - *

    Specifies ports and port ranges that are permitted to have security group rules that allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows cluster creation if a security group associated with the cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source.

    - *

    By default, Port 22, which is used for SSH access to the cluster EC2 instances, is in the list of PermittedPublicSecurityGroupRuleRanges.

    + *

    A list of additional configurations to apply within a configuration object.

    */ - PermittedPublicSecurityGroupRuleRanges?: PortRange[]; + Configurations?: Configuration[]; /** - *

    The classification within a configuration.

    + *

    A set of properties specified within a configuration classification.

    */ - Classification?: string; + Properties?: { [key: string]: string }; } export namespace BlockPublicAccessConfiguration { @@ -3880,159 +4812,202 @@ export namespace BlockPublicAccessConfiguration { */ export interface Cluster { /** - * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    - *
    - *

    The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

    + *

    The unique identifier for the cluster.

    */ - InstanceCollectionType?: InstanceCollectionType | string; + Id?: string; /** - *

    The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

    + *

    The name of the cluster.

    */ - ReleaseLabel?: string; + Name?: string; /** - *

    The Amazon Resource Name of the cluster.

    + *

    The current status details about the cluster.

    */ - ClusterArn?: string; + Status?: ClusterStatus; /** - *

    Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

    + *

    Provides information about the EC2 instances in a cluster grouped by category. For + * example, key name, subnet ID, IAM instance profile, and so on.

    */ Ec2InstanceAttributes?: Ec2InstanceAttributes; /** - *

    The name of the cluster.

    + * + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    + *
    + *

    The instance group configuration of the cluster. A value of INSTANCE_GROUP + * indicates a uniform instance group configuration. A value of INSTANCE_FLEET + * indicates an instance fleets configuration.

    */ - Name?: string; + InstanceCollectionType?: InstanceCollectionType | string; /** - *

    The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

    + *

    The path to the Amazon S3 location where logs for this cluster are stored.

    */ - EbsRootVolumeSize?: number; + LogUri?: string; /** - *

    The AMI version running on this cluster.

    + *

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is + * only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    */ - RunningAmiVersion?: string; + LogEncryptionKmsKeyId?: string; /** - *

    Placement group configured for an Amazon EMR cluster.

    + *

    The AMI version requested for this cluster.

    */ - PlacementGroups?: PlacementGroupConfig[]; + RequestedAmiVersion?: string; /** - *

    Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

    + *

    The AMI version running on this cluster.

    */ - TerminationProtected?: boolean; + RunningAmiVersion?: string; /** - *

    The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    + *

    The Amazon EMR release label, which determines the version of open-source application + * packages installed on the cluster. Release labels are in the form emr-x.x.x, + * where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more + * information about Amazon EMR release versions and included application versions and + * features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release + * label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use + * AmiVersion.

    */ - ScaleDownBehavior?: ScaleDownBehavior | string; + ReleaseLabel?: string; /** - *

    A list of tags associated with a cluster.

    + *

    Specifies whether the cluster should terminate after completing all steps.

    */ - Tags?: Tag[]; + AutoTerminate?: boolean; /** - *

    - * The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. - *

    + *

    Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from + * being terminated by an API call or user intervention, or in the event of a cluster + * error.

    */ - OutpostArn?: string; + TerminationProtected?: boolean; /** - *

    The path to the Amazon S3 location where logs for this cluster are stored.

    + *

    Indicates whether the cluster is visible to all IAM users of the AWS account associated + * with the cluster. The default value, true, indicates that all IAM users in the + * AWS account can perform cluster actions if they have the proper IAM policy permissions. If + * this value is false, only the IAM user that created the cluster can perform + * actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of + * true when you create a cluster by using the VisibleToAllUsers + * parameter of the RunJobFlow action.

    */ - LogUri?: string; + VisibleToAllUsers?: boolean; /** - *

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

    + *

    The applications installed on this cluster.

    */ - ServiceRole?: string; + Applications?: Application[]; /** - *

    The AMI version requested for this cluster.

    + *

    A list of tags associated with a cluster.

    */ - RequestedAmiVersion?: string; + Tags?: Tag[]; /** - *

    Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.

    + *

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on + * your behalf.

    */ - Configurations?: Configuration[]; + ServiceRole?: string; /** - *

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    + *

    An approximation of the cost of the cluster, represented in m1.small/hours. This value + * is incremented one time for every hour an m1.small instance runs. Larger instances are + * weighted more, so an EC2 instance that is roughly four times more expensive would result in + * the normalized instance hours being incremented by four. This result is only an + * approximation and does not reflect the actual billing rate.

    */ - LogEncryptionKmsKeyId?: string; + NormalizedInstanceHours?: number; /** - *

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

    + *

    The DNS name of the master node. If the cluster is on a private subnet, this is the + * private DNS name. On a public subnet, this is the public DNS name.

    */ - KerberosAttributes?: KerberosAttributes; + MasterPublicDnsName?: string; /** - *

    The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

    + *

    Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied + * to the EMR cluster.

    */ - MasterPublicDnsName?: string; + Configurations?: Configuration[]; /** - *

    The current status details about the cluster.

    + *

    The name of the security configuration applied to the cluster.

    */ - Status?: ClusterStatus; + SecurityConfiguration?: string; /** - *

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

    + *

    An IAM role for automatic scaling policies. The default role is + * EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the + * automatic scaling feature requires to launch and terminate EC2 instances in an instance + * group.

    */ - CustomAmiId?: string; + AutoScalingRole?: string; /** - *

    An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

    + *

    The way that individual Amazon EC2 instances terminate when an automatic scale-in + * activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR + * indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of + * when the request to terminate the instance was submitted. This option is only available + * with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. + * TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny + * list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of + * the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes + * first and blocks instance termination if it could lead to HDFS corruption. + * TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 + * and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    */ - NormalizedInstanceHours?: number; + ScaleDownBehavior?: ScaleDownBehavior | string; /** - *

    Specifies whether the cluster should terminate after completing all steps.

    + *

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon + * EBS-backed Linux AMI if the cluster uses a custom AMI.

    */ - AutoTerminate?: boolean; + CustomAmiId?: string; /** - *

    The applications installed on this cluster.

    + *

    The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for + * each EC2 instance. Available in Amazon EMR version 4.x and later.

    */ - Applications?: Application[]; + EbsRootVolumeSize?: number; /** - *

    Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

    + *

    Applies only when CustomAmiID is used. Specifies the type of updates that + * are applied from the Amazon Linux AMI package repositories when an instance boots using the + * AMI.

    */ - VisibleToAllUsers?: boolean; + RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; /** - *

    The name of the security configuration applied to the cluster.

    + *

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a + * security configuration. For more information see Use Kerberos Authentication + * in the Amazon EMR Management Guide.

    */ - SecurityConfiguration?: string; + KerberosAttributes?: KerberosAttributes; /** - *

    Specifies the number of steps that can be executed concurrently.

    + *

    The Amazon Resource Name of the cluster.

    */ - StepConcurrencyLevel?: number; + ClusterArn?: string; /** - *

    Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.

    + *

    The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.

    */ - RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; + OutpostArn?: string; /** - *

    An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

    + *

    Specifies the number of steps that can be executed concurrently.

    */ - AutoScalingRole?: string; + StepConcurrencyLevel?: number; /** - *

    The unique identifier for the cluster.

    + *

    Placement group configured for an Amazon EMR cluster.

    */ - Id?: string; + PlacementGroups?: PlacementGroupConfig[]; } export namespace Cluster { @@ -4046,52 +5021,60 @@ export namespace Cluster { */ export interface InstanceGroupConfig { /** - *

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    + *

    Friendly name given to the instance group.

    */ - BidPrice?: string; + Name?: string; /** - *

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    + *

    Market type of the EC2 instances used to create a cluster node.

    */ - AutoScalingPolicy?: AutoScalingPolicy; + Market?: MarketType | string; /** - * - *

    Amazon EMR releases 4.x or later.

    - *
    - *

    The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

    + *

    The role of the instance group in the cluster.

    */ - Configurations?: Configuration[]; + InstanceRole: InstanceRoleType | string | undefined; /** - *

    The role of the instance group in the cluster.

    + *

    The bid price for each EC2 Spot Instance type as defined by InstanceType. + * Expressed in USD. If neither BidPrice nor + * BidPriceAsPercentageOfOnDemandPrice is provided, + * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    */ - InstanceRole: InstanceRoleType | string | undefined; + BidPrice?: string; /** - *

    Market type of the EC2 instances used to create a cluster node.

    + *

    The EC2 instance type for all instances in the instance group.

    */ - Market?: MarketType | string; + InstanceType: string | undefined; /** - *

    Friendly name given to the instance group.

    + *

    Target number of instances for the instance group.

    */ - Name?: string; + InstanceCount: number | undefined; /** - *

    The EC2 instance type for all instances in the instance group.

    + * + *

    Amazon EMR releases 4.x or later.

    + *
    + *

    The list of configurations supplied for an EMR cluster instance group. You can specify a + * separate configuration for each instance group (master, core, and task).

    */ - InstanceType: string | undefined; + Configurations?: Configuration[]; /** - *

    EBS configurations that will be attached to each EC2 instance in the instance group.

    + *

    EBS configurations that will be attached to each EC2 instance in the instance + * group.

    */ EbsConfiguration?: EbsConfiguration; /** - *

    Target number of instances for the instance group.

    + *

    An automatic scaling policy for a core instance group or task instance group in an + * Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically + * adds and terminates EC2 instances in response to the value of a CloudWatch metric. See + * PutAutoScalingPolicy.

    */ - InstanceCount: number | undefined; + AutoScalingPolicy?: AutoScalingPolicy; } export namespace InstanceGroupConfig { @@ -4105,19 +5088,20 @@ export namespace InstanceGroupConfig { */ export interface InstanceGroupModifyConfig { /** - *

    A list of new or modified configurations to apply for an instance group.

    + *

    Unique ID of the instance group to modify.

    */ - Configurations?: Configuration[]; + InstanceGroupId: string | undefined; /** - *

    The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size.

    + *

    Target size for the instance group.

    */ - EC2InstanceIdsToTerminate?: string[]; + InstanceCount?: number; /** - *

    Unique ID of the instance group to expand or shrink.

    + *

    The EC2 InstanceIds to terminate. After you terminate the instances, the instance group + * will not return to its original requested size.

    */ - InstanceGroupId: string | undefined; + EC2InstanceIdsToTerminate?: string[]; /** *

    Policy for customizing shrink operations.

    @@ -4125,9 +5109,9 @@ export interface InstanceGroupModifyConfig { ShrinkPolicy?: ShrinkPolicy; /** - *

    Target size for the instance group.

    + *

    A list of new or modified configurations to apply for an instance group.

    */ - InstanceCount?: number; + Configurations?: Configuration[]; } export namespace InstanceGroupModifyConfig { @@ -4137,45 +5121,56 @@ export namespace InstanceGroupModifyConfig { } /** - *

    An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of 5 instance type configurations in a fleet.

    + *

    An instance type configuration for each instance type in an instance fleet, which + * determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot + * target capacities. There can be a maximum of five instance type configurations in a + * fleet.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceTypeConfig { /** - *

    An EC2 instance type, such as m3.xlarge. - *

    + *

    An EC2 instance type, such as m3.xlarge.

    */ InstanceType: string | undefined; /** - *

    A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

    + *

    The number of units that a provisioned instance of this type provides toward fulfilling + * the target capacities defined in InstanceFleetConfig. This value is 1 for + * a master instance fleet, and must be 1 or greater for core and task instance fleets. + * Defaults to 1 if not specified.

    */ - Configurations?: Configuration[]; + WeightedCapacity?: number; /** - *

    The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType. - *

    + *

    The bid price for each EC2 Spot Instance type as defined by InstanceType. + * Expressed in USD. If neither BidPrice nor + * BidPriceAsPercentageOfOnDemandPrice is provided, + * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    */ - EbsConfiguration?: EbsConfiguration; + BidPrice?: string; /** - *

    The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified. - *

    + *

    The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance as defined + * by InstanceType. Expressed as a number (for example, 20 specifies 20%). If + * neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is + * provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    */ - WeightedCapacity?: number; + BidPriceAsPercentageOfOnDemandPrice?: number; /** - *

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. - *

    + *

    The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to each instance + * as defined by InstanceType.

    */ - BidPrice?: string; + EbsConfiguration?: EbsConfiguration; /** - *

    The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    + *

    A configuration classification that applies when provisioning cluster instances, which + * can include configurations for applications and software that run on the cluster.

    */ - BidPriceAsPercentageOfOnDemandPrice?: number; + Configurations?: Configuration[]; } export namespace InstanceTypeConfig { @@ -4187,44 +5182,53 @@ export namespace InstanceTypeConfig { /** *

    The configuration specification for each instance type in an instance fleet.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceTypeSpecification { /** - *

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

    + *

    The EC2 instance type, for example m3.xlarge.

    */ - BidPrice?: string; + InstanceType?: string; /** - *

    Evaluates to TRUE when the specified InstanceType is EBS-optimized.

    + *

    The number of units that a provisioned instance of this type provides toward fulfilling + * the target capacities defined in InstanceFleetConfig. Capacity values + * represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the + * default value is 1.

    */ - EbsOptimized?: boolean; + WeightedCapacity?: number; /** - *

    The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

    + *

    The bid price for each EC2 Spot Instance type as defined by InstanceType. + * Expressed in USD.

    */ - BidPriceAsPercentageOfOnDemandPrice?: number; + BidPrice?: string; /** - *

    A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR.

    + *

    The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance as defined + * by InstanceType. Expressed as a number (for example, 20 specifies 20%).

    */ - Configurations?: Configuration[]; + BidPriceAsPercentageOfOnDemandPrice?: number; /** - *

    The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

    + *

    A configuration classification that applies when provisioning cluster instances, which + * can include configurations for applications and software bundled with Amazon EMR.

    */ - EbsBlockDevices?: EbsBlockDevice[]; + Configurations?: Configuration[]; /** - *

    The EC2 instance type, for example m3.xlarge.

    + *

    The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to each instance + * as defined by InstanceType.

    */ - InstanceType?: string; + EbsBlockDevices?: EbsBlockDevice[]; /** - *

    The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

    + *

    Evaluates to TRUE when the specified InstanceType is + * EBS-optimized.

    */ - WeightedCapacity?: number; + EbsOptimized?: boolean; } export namespace InstanceTypeSpecification { @@ -4251,17 +5255,32 @@ export namespace DescribeClusterOutput { export interface GetBlockPublicAccessConfigurationOutput { /** - *

    Properties that describe the AWS principal that created the BlockPublicAccessConfiguration using the PutBlockPublicAccessConfiguration action as well as the date and time that the configuration was created. Each time a configuration for block public access is updated, Amazon EMR updates this metadata.

    - */ - BlockPublicAccessConfigurationMetadata: BlockPublicAccessConfigurationMetadata | undefined; - - /** - *

    A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating the block public access configuration to remove the exception.

    + *

    A configuration for Amazon EMR block public access. The configuration applies to all + * clusters created in your account for the current Region. The configuration specifies + * whether block public access is enabled. If block public access is enabled, security groups + * associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or + * ::/0 on a port, unless the port is specified as an exception using + * PermittedPublicSecurityGroupRuleRanges in the + * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, + * and public access is allowed on this port. You can change this by updating the block public + * access configuration to remove the exception.

    * - *

    For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an EMR cluster in a Region before this date, block public access is enabled by default in that Region.

    + *

    For accounts that created clusters in a Region before November 25, 2019, block public + * access is disabled by default in that Region. To use this feature, you must manually + * enable and configure it. For accounts that did not create an EMR cluster in a Region + * before this date, block public access is enabled by default in that Region.

    *
    */ BlockPublicAccessConfiguration: BlockPublicAccessConfiguration | undefined; + + /** + *

    Properties that describe the AWS principal that created the + * BlockPublicAccessConfiguration using the + * PutBlockPublicAccessConfiguration action as well as the date and time that + * the configuration was created. Each time a configuration for block public access is + * updated, Amazon EMR updates this metadata.

    + */ + BlockPublicAccessConfigurationMetadata: BlockPublicAccessConfigurationMetadata | undefined; } export namespace GetBlockPublicAccessConfigurationOutput { @@ -4272,9 +5291,20 @@ export namespace GetBlockPublicAccessConfigurationOutput { export interface PutBlockPublicAccessConfigurationInput { /** - *

    A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating BlockPublicSecurityGroupRules to remove the exception.

    + *

    A configuration for Amazon EMR block public access. The configuration applies to all + * clusters created in your account for the current Region. The configuration specifies + * whether block public access is enabled. If block public access is enabled, security groups + * associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or + * ::/0 on a port, unless the port is specified as an exception using + * PermittedPublicSecurityGroupRuleRanges in the + * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, + * and public access is allowed on this port. You can change this by updating + * BlockPublicSecurityGroupRules to remove the exception.

    * - *

    For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an EMR cluster in a Region before this date, block public access is enabled by default in that Region.

    + *

    For accounts that created clusters in a Region before November 25, 2019, block public + * access is disabled by default in that Region. To use this feature, you must manually + * enable and configure it. For accounts that did not create an EMR cluster in a Region + * before this date, block public access is enabled by default in that Region.

    *
    */ BlockPublicAccessConfiguration: BlockPublicAccessConfiguration | undefined; @@ -4291,14 +5321,14 @@ export namespace PutBlockPublicAccessConfigurationInput { */ export interface AddInstanceGroupsInput { /** - *

    Job flow in which to add the instance groups.

    + *

    Instance groups to add.

    */ - JobFlowId: string | undefined; + InstanceGroups: InstanceGroupConfig[] | undefined; /** - *

    Instance groups to add.

    + *

    Job flow in which to add the instance groups.

    */ - InstanceGroups: InstanceGroupConfig[] | undefined; + JobFlowId: string | undefined; } export namespace AddInstanceGroupsInput { @@ -4308,45 +5338,28 @@ export namespace AddInstanceGroupsInput { } /** - *

    Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot instances, which are provisioned to meet a defined target capacity. - *

    + *

    Describes an instance fleet, which is a group of EC2 instances that host a particular + * node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of + * a mix of instance types and On-Demand and Spot Instances, which are provisioned to meet a + * defined target capacity.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceFleet { /** - *

    The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet. - *

    - */ - InstanceTypeSpecifications?: InstanceTypeSpecification[]; - - /** - *

    A friendly name for the instance fleet.

    - */ - Name?: string; - - /** - *

    The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

    - */ - ProvisionedOnDemandCapacity?: number; - - /** - *

    The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

    - * - *

    If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    - *
    + *

    The unique identifier of the instance fleet.

    */ - TargetOnDemandCapacity?: number; + Id?: string; /** - *

    The unique identifier of the instance fleet.

    + *

    A friendly name for the instance fleet.

    */ - Id?: string; + Name?: string; /** - *

    The current status of the instance fleet. - *

    + *

    The current status of the instance fleet.

    */ Status?: InstanceFleetStatus; @@ -4357,23 +5370,74 @@ export interface InstanceFleet { InstanceFleetType?: InstanceFleetType | string; /** - *

    Describes the launch specification for an instance fleet. - *

    + *

    The target capacity of On-Demand units for the instance fleet, which determines how many + * On-Demand Instances to provision. When the instance fleet launches, Amazon EMR tries to + * provision On-Demand Instances as specified by InstanceTypeConfig. Each + * instance configuration has a specified WeightedCapacity. When an On-Demand + * Instance is provisioned, the WeightedCapacity units count toward the target + * capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, + * even if this results in an overage. For example, if there are 2 units remaining to fulfill + * capacity, and Amazon EMR can only provision an instance with a + * WeightedCapacity of 5 units, the instance is provisioned, and the target + * capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity + * units that have been provisioned for the instance fleet.

    + * + *

    If not specified or set to 0, only Spot Instances are provisioned for the instance + * fleet using TargetSpotCapacity. At least one of + * TargetSpotCapacity and TargetOnDemandCapacity should be + * greater than 0. For a master instance fleet, only one of TargetSpotCapacity + * and TargetOnDemandCapacity can be specified, and its value must be + * 1.

    + *
    */ - LaunchSpecifications?: InstanceFleetProvisioningSpecifications; + TargetOnDemandCapacity?: number; /** - *

    The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

    + *

    The target capacity of Spot units for the instance fleet, which determines how many Spot + * instances to provision. When the instance fleet launches, Amazon EMR tries to provision + * Spot instances as specified by InstanceTypeConfig. Each instance + * configuration has a specified WeightedCapacity. When a Spot instance is + * provisioned, the WeightedCapacity units count toward the target capacity. + * Amazon EMR provisions instances until the target capacity is totally fulfilled, even if + * this results in an overage. For example, if there are 2 units remaining to fulfill + * capacity, and Amazon EMR can only provision an instance with a + * WeightedCapacity of 5 units, the instance is provisioned, and the target + * capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units + * that have been provisioned for the instance fleet.

    * - *

    If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    + *

    If not specified or set to 0, only On-Demand instances are provisioned for the + * instance fleet. At least one of TargetSpotCapacity and + * TargetOnDemandCapacity should be greater than 0. For a master instance + * fleet, only one of TargetSpotCapacity and + * TargetOnDemandCapacity can be specified, and its value must be 1.

    *
    */ TargetSpotCapacity?: number; /** - *

    The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

    + *

    The number of On-Demand units that have been provisioned for the instance fleet to + * fulfill TargetOnDemandCapacity. This provisioned capacity might be less than + * or greater than TargetOnDemandCapacity.

    + */ + ProvisionedOnDemandCapacity?: number; + + /** + *

    The number of Spot units that have been provisioned for this instance fleet to fulfill + * TargetSpotCapacity. This provisioned capacity might be less than or greater + * than TargetSpotCapacity.

    */ ProvisionedSpotCapacity?: number; + + /** + *

    The specification for the instance types that comprise an instance fleet. Up to five + * unique instance specifications may be defined for each instance fleet.

    + */ + InstanceTypeSpecifications?: InstanceTypeSpecification[]; + + /** + *

    Describes the launch specification for an instance fleet.

    + */ + LaunchSpecifications?: InstanceFleetProvisioningSpecifications; } export namespace InstanceFleet { @@ -4385,45 +5449,75 @@ export namespace InstanceFleet { /** *

    The configuration that defines an instance fleet.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ export interface InstanceFleetConfig { /** - *

    The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

    - * - *

    If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    - *
    + *

    The friendly name of the instance fleet.

    */ - TargetSpotCapacity?: number; + Name?: string; /** - *

    The instance type configurations that define the EC2 instances in the instance fleet.

    + *

    The node type that the instance fleet hosts. Valid values are MASTER,CORE,and + * TASK.

    */ - InstanceTypeConfigs?: InstanceTypeConfig[]; + InstanceFleetType: InstanceFleetType | string | undefined; /** - *

    The friendly name of the instance fleet.

    + *

    The target capacity of On-Demand units for the instance fleet, which determines how many + * On-Demand Instances to provision. When the instance fleet launches, Amazon EMR tries to + * provision On-Demand Instances as specified by InstanceTypeConfig. Each + * instance configuration has a specified WeightedCapacity. When an On-Demand + * Instance is provisioned, the WeightedCapacity units count toward the target + * capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, + * even if this results in an overage. For example, if there are 2 units remaining to fulfill + * capacity, and Amazon EMR can only provision an instance with a + * WeightedCapacity of 5 units, the instance is provisioned, and the target + * capacity is exceeded by 3 units.

    + * + *

    If not specified or set to 0, only Spot Instances are provisioned for the instance + * fleet using TargetSpotCapacity. At least one of + * TargetSpotCapacity and TargetOnDemandCapacity should be + * greater than 0. For a master instance fleet, only one of TargetSpotCapacity + * and TargetOnDemandCapacity can be specified, and its value must be + * 1.

    + *
    */ - Name?: string; + TargetOnDemandCapacity?: number; /** - *

    The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

    + *

    The target capacity of Spot units for the instance fleet, which determines how many Spot + * Instances to provision. When the instance fleet launches, Amazon EMR tries to provision + * Spot Instances as specified by InstanceTypeConfig. Each instance + * configuration has a specified WeightedCapacity. When a Spot Instance is + * provisioned, the WeightedCapacity units count toward the target capacity. + * Amazon EMR provisions instances until the target capacity is totally fulfilled, even if + * this results in an overage. For example, if there are 2 units remaining to fulfill + * capacity, and Amazon EMR can only provision an instance with a + * WeightedCapacity of 5 units, the instance is provisioned, and the target + * capacity is exceeded by 3 units.

    * - *

    If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    + *

    If not specified or set to 0, only On-Demand Instances are provisioned for the + * instance fleet. At least one of TargetSpotCapacity and + * TargetOnDemandCapacity should be greater than 0. For a master instance + * fleet, only one of TargetSpotCapacity and + * TargetOnDemandCapacity can be specified, and its value must be 1.

    *
    */ - TargetOnDemandCapacity?: number; + TargetSpotCapacity?: number; /** - *

    The launch specification for the instance fleet.

    + *

    The instance type configurations that define the EC2 instances in the instance + * fleet.

    */ - LaunchSpecifications?: InstanceFleetProvisioningSpecifications; + InstanceTypeConfigs?: InstanceTypeConfig[]; /** - *

    The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

    + *

    The launch specification for the instance fleet.

    */ - InstanceFleetType: InstanceFleetType | string | undefined; + LaunchSpecifications?: InstanceFleetProvisioningSpecifications; } export namespace InstanceFleetConfig { @@ -4472,98 +5566,110 @@ export namespace AddInstanceFleetInput { } /** - *

    This entity represents an instance group, which is a group of instances that have common purpose. For example, CORE instance group is used for HDFS.

    + *

    This entity represents an instance group, which is a group of instances that have common + * purpose. For example, CORE instance group is used for HDFS.

    */ export interface InstanceGroup { /** - *

    The target number of instances for the instance group.

    + *

    The identifier of the instance group.

    */ - RequestedInstanceCount?: number; + Id?: string; /** - *

    The identifier of the instance group.

    + *

    The name of the instance group.

    */ - Id?: string; + Name?: string; /** - *

    A list of configurations that were successfully applied for an instance group last time.

    + *

    The marketplace to provision instances for this group. Valid values are ON_DEMAND or + * SPOT.

    */ - LastSuccessfullyAppliedConfigurations?: Configuration[]; + Market?: MarketType | string; /** - *

    If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O.

    + *

    The type of the instance group. Valid values are MASTER, CORE or TASK.

    */ - EbsOptimized?: boolean; + InstanceGroupType?: InstanceGroupType | string; /** - *

    The version number of the requested configuration specification for this instance group.

    + *

    The bid price for each EC2 Spot Instance type as defined by InstanceType. + * Expressed in USD. If neither BidPrice nor + * BidPriceAsPercentageOfOnDemandPrice is provided, + * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    */ - ConfigurationsVersion?: number; + BidPrice?: string; /** - *

    The EBS block devices that are mapped to this instance group.

    + *

    The EC2 instance type for all instances in the instance group.

    */ - EbsBlockDevices?: EbsBlockDevice[]; + InstanceType?: string; /** - *

    Policy for customizing shrink operations.

    + *

    The target number of instances for the instance group.

    */ - ShrinkPolicy?: ShrinkPolicy; + RequestedInstanceCount?: number; /** - *

    The version number of a configuration specification that was successfully applied for an instance group last time.

    + *

    The number of instances currently running in this instance group.

    */ - LastSuccessfullyAppliedConfigurationsVersion?: number; + RunningInstanceCount?: number; /** - *

    The name of the instance group.

    + *

    The current status of the instance group.

    */ - Name?: string; + Status?: InstanceGroupStatus; /** - *

    The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT.

    + * + *

    Amazon EMR releases 4.x or later.

    + *
    + *

    The list of configurations supplied for an EMR cluster instance group. You can specify a + * separate configuration for each instance group (master, core, and task).

    */ - Market?: MarketType | string; + Configurations?: Configuration[]; /** - *

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in - * USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, - * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    + *

    The version number of the requested configuration specification for this instance + * group.

    */ - BidPrice?: string; + ConfigurationsVersion?: number; /** - *

    The current status of the instance group.

    + *

    A list of configurations that were successfully applied for an instance group last + * time.

    */ - Status?: InstanceGroupStatus; + LastSuccessfullyAppliedConfigurations?: Configuration[]; /** - *

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    + *

    The version number of a configuration specification that was successfully applied for an + * instance group last time.

    */ - AutoScalingPolicy?: AutoScalingPolicyDescription; + LastSuccessfullyAppliedConfigurationsVersion?: number; /** - *

    The EC2 instance type for all instances in the instance group.

    + *

    The EBS block devices that are mapped to this instance group.

    */ - InstanceType?: string; + EbsBlockDevices?: EbsBlockDevice[]; /** - * - *

    Amazon EMR releases 4.x or later.

    - *
    - *

    The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

    + *

    If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an + * optimized configuration stack and provides additional, dedicated capacity for Amazon EBS + * I/O.

    */ - Configurations?: Configuration[]; + EbsOptimized?: boolean; /** - *

    The type of the instance group. Valid values are MASTER, CORE or TASK.

    + *

    Policy for customizing shrink operations.

    */ - InstanceGroupType?: InstanceGroupType | string; + ShrinkPolicy?: ShrinkPolicy; /** - *

    The number of instances currently running in this instance group.

    + *

    An automatic scaling policy for a core instance group or task instance group in an + * Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically + * adds and terminates EC2 instances in response to the value of a CloudWatch metric. See + * PutAutoScalingPolicy.

    */ - RunningInstanceCount?: number; + AutoScalingPolicy?: AutoScalingPolicyDescription; } export namespace InstanceGroup { @@ -4595,14 +5701,14 @@ export namespace ListInstanceFleetsOutput { */ export interface ListInstanceGroupsOutput { /** - *

    The pagination token that indicates the next set of results to retrieve.

    + *

    The list of instance groups for the cluster and given filters.

    */ - Marker?: string; + InstanceGroups?: InstanceGroup[]; /** - *

    The list of instance groups for the cluster and given filters.

    + *

    The pagination token that indicates the next set of results to retrieve.

    */ - InstanceGroups?: InstanceGroup[]; + Marker?: string; } export namespace ListInstanceGroupsOutput { @@ -4612,18 +5718,21 @@ export namespace ListInstanceGroupsOutput { } /** - *

    A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets, which is the recommended configuration. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

    + *

    A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid + * JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets. They cannot be + * used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount + * (all three must be present), but we don't recommend this configuration.

    */ export interface JobFlowInstancesConfig { /** - *

    The Availability Zone in which the cluster runs.

    + *

    The EC2 instance type of the master node.

    */ - Placement?: PlacementType; + MasterInstanceType?: string; /** - *

    Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

    + *

    The EC2 instance type of the core and task nodes.

    */ - Ec2SubnetId?: string; + SlaveInstanceType?: string; /** *

    The number of EC2 instances in the cluster.

    @@ -4631,80 +5740,96 @@ export interface JobFlowInstancesConfig { InstanceCount?: number; /** - *

    The identifier of the Amazon EC2 security group for the core and task nodes.

    + *

    Configuration for the instance groups in a cluster.

    */ - EmrManagedSlaveSecurityGroup?: string; + InstanceGroups?: InstanceGroupConfig[]; /** - *

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

    + * + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    + *
    + *

    Describes the EC2 instances and instance configurations for clusters that use the + * instance fleet configuration.

    */ - ServiceAccessSecurityGroup?: string; + InstanceFleets?: InstanceFleetConfig[]; /** - *

    The identifier of the Amazon EC2 security group for the master node.

    + *

    The name of the EC2 key pair that can be used to connect to the master node using SSH as + * the user called "hadoop."

    */ - EmrManagedMasterSecurityGroup?: string; + Ec2KeyName?: string; /** - *

    A list of additional Amazon EC2 security group IDs for the master node.

    + *

    The Availability Zone in which the cluster runs.

    */ - AdditionalMasterSecurityGroups?: string[]; + Placement?: PlacementType; /** - *

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    + *

    Specifies whether the cluster should remain available after completing all steps.

    */ - AdditionalSlaveSecurityGroups?: string[]; + KeepJobFlowAliveWhenNoSteps?: boolean; /** - *

    Configuration for the instance groups in a cluster.

    + *

    Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being + * terminated by API call, user intervention, or in the event of a job-flow error.

    */ - InstanceGroups?: InstanceGroupConfig[]; + TerminationProtected?: boolean; /** - *

    The EC2 instance type of the core and task nodes.

    + *

    Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the + * cluster. Valid inputs are "0.18" (no longer maintained), "0.20" (no longer maintained), + * "0.20.205" (no longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do not set this + * value, the default of 0.18 is used, unless the AmiVersion parameter is set in + * the RunJobFlow call, in which case the default version of Hadoop for that AMI version is + * used.

    */ - SlaveInstanceType?: string; + HadoopVersion?: string; /** - *

    Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

    + *

    Applies to clusters that use the uniform instance group configuration. To launch the + * cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier + * of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this + * value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

    */ - HadoopVersion?: string; + Ec2SubnetId?: string; /** - *

    Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

    + *

    Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet + * IDs are specified, Amazon EMR evaluates them and launches instances in the optimal + * subnet.

    * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    + *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and + * later, excluding 5.0.x versions.

    *
    */ Ec2SubnetIds?: string[]; /** - *

    Specifies whether the cluster should remain available after completing all steps.

    + *

    The identifier of the Amazon EC2 security group for the master node.

    */ - KeepJobFlowAliveWhenNoSteps?: boolean; + EmrManagedMasterSecurityGroup?: string; /** - *

    Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

    + *

    The identifier of the Amazon EC2 security group for the core and task nodes.

    */ - TerminationProtected?: boolean; + EmrManagedSlaveSecurityGroup?: string; /** - * - *

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    - *
    - *

    Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

    + *

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access + * clusters in VPC private subnets.

    */ - InstanceFleets?: InstanceFleetConfig[]; + ServiceAccessSecurityGroup?: string; /** - *

    The name of the EC2 key pair that can be used to ssh to the master node as the user called "hadoop."

    + *

    A list of additional Amazon EC2 security group IDs for the master node.

    */ - Ec2KeyName?: string; + AdditionalMasterSecurityGroups?: string[]; /** - *

    The EC2 instance type of the master node.

    + *

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    */ - MasterInstanceType?: string; + AdditionalSlaveSecurityGroups?: string[]; } export namespace JobFlowInstancesConfig { @@ -4718,58 +5843,55 @@ export namespace JobFlowInstancesConfig { */ export interface RunJobFlowInput { /** - *

    A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

    + *

    The name of the job flow.

    */ - Tags?: Tag[]; + Name: string | undefined; /** - *

    Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

    + *

    The location in Amazon S3 to write the log files of the job flow. If a value is not + * provided, logs are not created.

    */ - StepConcurrencyLevel?: number; + LogUri?: string; /** - * - *

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

    - *
    - *

    A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

    - *
      - *
    • - *

      "mapr-m3" - launch the job flow using MapR M3 Edition.

      - *
    • - *
    • - *

      "mapr-m5" - launch the job flow using MapR M5 Edition.

      - *
    • - *
    + *

    The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not + * provided, the logs remain encrypted by AES-256. This attribute is only available with + * Amazon EMR version 5.30.0 and later, excluding Amazon EMR 6.0.0.

    */ - SupportedProducts?: string[]; + LogEncryptionKmsKeyId?: string; /** - *

    - * The specified managed scaling policy for an Amazon EMR cluster. - *

    + *

    A JSON string for selecting additional features.

    */ - ManagedScalingPolicy?: ManagedScalingPolicy; + AdditionalInfo?: string; /** - *

    Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

    + *

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and + * later, ReleaseLabel is used. To specify a custom AMI, use + * CustomAmiID.

    */ - JobFlowRole?: string; + AmiVersion?: string; /** - *

    The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

    + *

    The Amazon EMR release label, which determines the version of open-source application + * packages installed on the cluster. Release labels are in the form emr-x.x.x, + * where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more + * information about Amazon EMR release versions and included application versions and + * features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release + * label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use + * AmiVersion.

    */ ReleaseLabel?: string; /** - *

    For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.

    + *

    A specification of the number and type of Amazon EC2 instances.

    */ - Configurations?: Configuration[]; + Instances: JobFlowInstancesConfig | undefined; /** - *

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

    - *

    For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

    + *

    A list of steps to run.

    */ - CustomAmiId?: string; + Steps?: StepConfig[]; /** *

    A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

    @@ -4777,30 +5899,34 @@ export interface RunJobFlowInput { BootstrapActions?: BootstrapActionConfig[]; /** - *

    The specified placement group configuration for an Amazon EMR cluster.

    - */ - PlacementGroupConfigs?: PlacementGroupConfig[]; - - /** - *

    The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

    - */ - EbsRootVolumeSize?: number; - - /** - *

    Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.

    - */ - Applications?: Application[]; - - /** - *

    Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    + * + *

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use + * Applications.

    + *
    + *

    A list of strings that indicates third-party software to use. For more information, see + * the Amazon EMR + * Developer Guide. Currently supported values are:

    + *
      + *
    • + *

      "mapr-m3" - launch the job flow using MapR M3 Edition.

      + *
    • + *
    • + *

      "mapr-m5" - launch the job flow using MapR M5 Edition.

      + *
    • + *
    */ - ScaleDownBehavior?: ScaleDownBehavior | string; + SupportedProducts?: string[]; /** * - *

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

    + *

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use + * Applications.

    *
    - *

    A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see "Launch a Job Flow on the MapR Distribution for Hadoop" in the Amazon EMR Developer Guide. Supported values are:

    + *

    A list of strings that indicates third-party software to use with the job flow that + * accepts a user argument list. EMR accepts and forwards the argument list to the + * corresponding installation script as bootstrap action arguments. For more information, see + * "Launch a Job Flow on the MapR Distribution for Hadoop" in the Amazon EMR Developer Guide. Supported + * values are:

    *
      *
    • *

      "mapr-m3" - launch the cluster using MapR M3 Edition.

      @@ -4809,7 +5935,8 @@ export interface RunJobFlowInput { *

      "mapr-m5" - launch the cluster using MapR M5 Edition.

      *
    • *
    • - *

      "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or M5 Edition respectively.

      + *

      "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" - + * launch the job flow using MapR M3 or M5 Edition respectively.

      *
    • *
    • *

      "mapr-m7" - launch the cluster using MapR M7 Edition.

      @@ -4824,76 +5951,134 @@ export interface RunJobFlowInput { *

      "spark" - launch the cluster with Apache Spark installed.

      *
    • *
    • - *

      "ganglia" - launch the cluster with the Ganglia Monitoring System installed.

      + *

      "ganglia" - launch the cluster with the Ganglia Monitoring System + * installed.

      *
    • *
    */ NewSupportedProducts?: SupportedProductConfig[]; /** - *

    A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

    + *

    Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications + * for Amazon EMR to install and configure when launching the cluster. For a list of + * applications available for each Amazon EMR release version, see the Amazon EMR Release + * Guide.

    + */ + Applications?: Application[]; + + /** + *

    For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR + * cluster you are creating.

    + */ + Configurations?: Configuration[]; + + /** + *

    A value of true indicates that all IAM users in the AWS account can perform + * cluster actions if they have the proper IAM policy permissions. This is the default. A + * value of false indicates that only the IAM user who created the cluster can + * perform actions.

    */ VisibleToAllUsers?: boolean; /** - *

    The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

    + *

    Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 + * instances of the cluster assume this role. The default role is + * EMR_EC2_DefaultRole. In order to use the default role, you must have + * already created it using the CLI or console.

    */ - LogUri?: string; + JobFlowRole?: string; /** - *

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

    + *

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on + * your behalf.

    */ ServiceRole?: string; + /** + *

    A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

    + */ + Tags?: Tag[]; + /** *

    The name of a security configuration to apply to the cluster.

    */ SecurityConfiguration?: string; /** - *

    An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

    + *

    An IAM role for automatic scaling policies. The default role is + * EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the + * automatic scaling feature requires to launch and terminate EC2 instances in an instance + * group.

    */ AutoScalingRole?: string; /** - *

    Applies only when CustomAmiID is used. Specifies which updates from the Amazon Linux AMI package repositories to apply automatically when the instance boots using the AMI. If omitted, the default is SECURITY, which indicates that only security updates are applied. If NONE is specified, no updates are applied, and all updates must be applied manually.

    + *

    Specifies the way that individual Amazon EC2 instances terminate when an automatic + * scale-in activity occurs or an instance group is resized. + * TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at + * the instance-hour boundary, regardless of when the request to terminate the instance was + * submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default + * for clusters created using that version. TERMINATE_AT_TASK_COMPLETION + * indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before + * terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either + * behavior, Amazon EMR removes the least active nodes first and blocks instance termination + * if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available + * only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR + * earlier than 5.1.0.

    */ - RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; + ScaleDownBehavior?: ScaleDownBehavior | string; /** - *

    The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not provided, the logs will remain encrypted by AES-256. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    + *

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon + * EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 + * instances. For more information about custom AMIs in Amazon EMR, see Using a Custom + * AMI in the Amazon EMR Management Guide. If omitted, the + * cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR + * versions 2.x and 3.x, use AmiVersion instead.

    + *

    For information about creating a custom AMI, see Creating an Amazon EBS-Backed + * Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux + * Instances. For information about finding an AMI ID, see Finding a Linux + * AMI.

    */ - LogEncryptionKmsKeyId?: string; + CustomAmiId?: string; /** - *

    A list of steps to run.

    + *

    The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for + * each EC2 instance. Available in Amazon EMR version 4.x and later.

    */ - Steps?: StepConfig[]; + EbsRootVolumeSize?: number; /** - *

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

    + *

    Applies only when CustomAmiID is used. Specifies which updates from the + * Amazon Linux AMI package repositories to apply automatically when the instance boots using + * the AMI. If omitted, the default is SECURITY, which indicates that only + * security updates are applied. If NONE is specified, no updates are applied, + * and all updates must be applied manually.

    */ - KerberosAttributes?: KerberosAttributes; + RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; /** - *

    The name of the job flow.

    + *

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a + * security configuration. For more information see Use Kerberos Authentication + * in the Amazon EMR Management Guide.

    */ - Name: string | undefined; + KerberosAttributes?: KerberosAttributes; /** - *

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

    + *

    Specifies the number of steps that can be executed concurrently. The default value is + * 1. The maximum value is 256.

    */ - AmiVersion?: string; + StepConcurrencyLevel?: number; /** - *

    A JSON string for selecting additional features.

    + *

    The specified managed scaling policy for an Amazon EMR cluster.

    */ - AdditionalInfo?: string; + ManagedScalingPolicy?: ManagedScalingPolicy; /** - *

    A specification of the number and type of Amazon EC2 instances.

    + *

    The specified placement group configuration for an Amazon EMR cluster.

    */ - Instances: JobFlowInstancesConfig | undefined; + PlacementGroupConfigs?: PlacementGroupConfig[]; } export namespace RunJobFlowInput { diff --git a/clients/client-emr/pagination/ListStudioSessionMappingsPaginator.ts b/clients/client-emr/pagination/ListStudioSessionMappingsPaginator.ts new file mode 100644 index 0000000000000..74ec7b9b18f90 --- /dev/null +++ b/clients/client-emr/pagination/ListStudioSessionMappingsPaginator.ts @@ -0,0 +1,56 @@ +import { EMR } from "../EMR"; +import { EMRClient } from "../EMRClient"; +import { + ListStudioSessionMappingsCommand, + ListStudioSessionMappingsCommandInput, + ListStudioSessionMappingsCommandOutput, +} from "../commands/ListStudioSessionMappingsCommand"; +import { EMRPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EMRClient, + input: ListStudioSessionMappingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStudioSessionMappingsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EMR, + input: ListStudioSessionMappingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStudioSessionMappings(input, ...args); +}; +export async function* paginateListStudioSessionMappings( + config: EMRPaginationConfiguration, + input: ListStudioSessionMappingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListStudioSessionMappingsCommandOutput; + while (hasNext) { + input.Marker = token; + if (config.client instanceof EMR) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EMRClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EMR | EMRClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-emr/pagination/ListStudiosPaginator.ts b/clients/client-emr/pagination/ListStudiosPaginator.ts new file mode 100644 index 0000000000000..3378aa87ca4c4 --- /dev/null +++ b/clients/client-emr/pagination/ListStudiosPaginator.ts @@ -0,0 +1,52 @@ +import { EMR } from "../EMR"; +import { EMRClient } from "../EMRClient"; +import { ListStudiosCommand, ListStudiosCommandInput, ListStudiosCommandOutput } from "../commands/ListStudiosCommand"; +import { EMRPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EMRClient, + input: ListStudiosCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStudiosCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EMR, + input: ListStudiosCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStudios(input, ...args); +}; +export async function* paginateListStudios( + config: EMRPaginationConfiguration, + input: ListStudiosCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListStudiosCommandOutput; + while (hasNext) { + input.Marker = token; + if (config.client instanceof EMR) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EMRClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EMR | EMRClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-emr/protocols/Aws_json1_1.ts b/clients/client-emr/protocols/Aws_json1_1.ts index ffdd77057c7b2..f748f6eab11ae 100644 --- a/clients/client-emr/protocols/Aws_json1_1.ts +++ b/clients/client-emr/protocols/Aws_json1_1.ts @@ -7,10 +7,20 @@ import { CreateSecurityConfigurationCommandInput, CreateSecurityConfigurationCommandOutput, } from "../commands/CreateSecurityConfigurationCommand"; +import { CreateStudioCommandInput, CreateStudioCommandOutput } from "../commands/CreateStudioCommand"; +import { + CreateStudioSessionMappingCommandInput, + CreateStudioSessionMappingCommandOutput, +} from "../commands/CreateStudioSessionMappingCommand"; import { DeleteSecurityConfigurationCommandInput, DeleteSecurityConfigurationCommandOutput, } from "../commands/DeleteSecurityConfigurationCommand"; +import { DeleteStudioCommandInput, DeleteStudioCommandOutput } from "../commands/DeleteStudioCommand"; +import { + DeleteStudioSessionMappingCommandInput, + DeleteStudioSessionMappingCommandOutput, +} from "../commands/DeleteStudioSessionMappingCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "../commands/DescribeClusterCommand"; import { DescribeJobFlowsCommandInput, DescribeJobFlowsCommandOutput } from "../commands/DescribeJobFlowsCommand"; import { @@ -22,6 +32,7 @@ import { DescribeSecurityConfigurationCommandOutput, } from "../commands/DescribeSecurityConfigurationCommand"; import { DescribeStepCommandInput, DescribeStepCommandOutput } from "../commands/DescribeStepCommand"; +import { DescribeStudioCommandInput, DescribeStudioCommandOutput } from "../commands/DescribeStudioCommand"; import { GetBlockPublicAccessConfigurationCommandInput, GetBlockPublicAccessConfigurationCommandOutput, @@ -30,6 +41,10 @@ import { GetManagedScalingPolicyCommandInput, GetManagedScalingPolicyCommandOutput, } from "../commands/GetManagedScalingPolicyCommand"; +import { + GetStudioSessionMappingCommandInput, + GetStudioSessionMappingCommandOutput, +} from "../commands/GetStudioSessionMappingCommand"; import { ListBootstrapActionsCommandInput, ListBootstrapActionsCommandOutput, @@ -47,6 +62,11 @@ import { ListSecurityConfigurationsCommandOutput, } from "../commands/ListSecurityConfigurationsCommand"; import { ListStepsCommandInput, ListStepsCommandOutput } from "../commands/ListStepsCommand"; +import { + ListStudioSessionMappingsCommandInput, + ListStudioSessionMappingsCommandOutput, +} from "../commands/ListStudioSessionMappingsCommand"; +import { ListStudiosCommandInput, ListStudiosCommandOutput } from "../commands/ListStudiosCommand"; import { ModifyClusterCommandInput, ModifyClusterCommandOutput } from "../commands/ModifyClusterCommand"; import { ModifyInstanceFleetCommandInput, @@ -95,6 +115,10 @@ import { StopNotebookExecutionCommandOutput, } from "../commands/StopNotebookExecutionCommand"; import { TerminateJobFlowsCommandInput, TerminateJobFlowsCommandOutput } from "../commands/TerminateJobFlowsCommand"; +import { + UpdateStudioSessionMappingCommandInput, + UpdateStudioSessionMappingCommandOutput, +} from "../commands/UpdateStudioSessionMappingCommand"; import { AddInstanceFleetInput, AddInstanceFleetOutput, @@ -128,8 +152,13 @@ import { Configuration, CreateSecurityConfigurationInput, CreateSecurityConfigurationOutput, + CreateStudioInput, + CreateStudioOutput, + CreateStudioSessionMappingInput, DeleteSecurityConfigurationInput, DeleteSecurityConfigurationOutput, + DeleteStudioInput, + DeleteStudioSessionMappingInput, DescribeClusterInput, DescribeClusterOutput, DescribeJobFlowsInput, @@ -140,6 +169,8 @@ import { DescribeSecurityConfigurationOutput, DescribeStepInput, DescribeStepOutput, + DescribeStudioInput, + DescribeStudioOutput, EbsBlockDevice, EbsBlockDeviceConfig, EbsConfiguration, @@ -151,6 +182,8 @@ import { GetBlockPublicAccessConfigurationOutput, GetManagedScalingPolicyInput, GetManagedScalingPolicyOutput, + GetStudioSessionMappingInput, + GetStudioSessionMappingOutput, HadoopJarStepConfig, HadoopStepConfig, Instance, @@ -202,6 +235,10 @@ import { ListSecurityConfigurationsOutput, ListStepsInput, ListStepsOutput, + ListStudioSessionMappingsInput, + ListStudioSessionMappingsOutput, + ListStudiosInput, + ListStudiosOutput, ManagedScalingPolicy, MetricDimension, ModifyClusterInput, @@ -234,6 +271,8 @@ import { ScalingTrigger, ScriptBootstrapActionConfig, SecurityConfigurationSummary, + SessionMappingDetail, + SessionMappingSummary, SetTerminationProtectionInput, SetVisibleToAllUsersInput, ShrinkPolicy, @@ -251,9 +290,12 @@ import { StepSummary, StepTimeline, StopNotebookExecutionInput, + Studio, + StudioSummary, SupportedProductConfig, Tag, TerminateJobFlowsInput, + UpdateStudioSessionMappingInput, VolumeSpecification, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -344,6 +386,32 @@ export const serializeAws_json1_1CreateSecurityConfigurationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateStudioCommand = async ( + input: CreateStudioCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.CreateStudio", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateStudioInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateStudioSessionMappingCommand = async ( + input: CreateStudioSessionMappingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.CreateStudioSessionMapping", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateStudioSessionMappingInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteSecurityConfigurationCommand = async ( input: DeleteSecurityConfigurationCommandInput, context: __SerdeContext @@ -357,6 +425,32 @@ export const serializeAws_json1_1DeleteSecurityConfigurationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteStudioCommand = async ( + input: DeleteStudioCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.DeleteStudio", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteStudioInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteStudioSessionMappingCommand = async ( + input: DeleteStudioSessionMappingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.DeleteStudioSessionMapping", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteStudioSessionMappingInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeClusterCommand = async ( input: DescribeClusterCommandInput, context: __SerdeContext @@ -422,6 +516,19 @@ export const serializeAws_json1_1DescribeStepCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeStudioCommand = async ( + input: DescribeStudioCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.DescribeStudio", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeStudioInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetBlockPublicAccessConfigurationCommand = async ( input: GetBlockPublicAccessConfigurationCommandInput, context: __SerdeContext @@ -448,6 +555,19 @@ export const serializeAws_json1_1GetManagedScalingPolicyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetStudioSessionMappingCommand = async ( + input: GetStudioSessionMappingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.GetStudioSessionMapping", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetStudioSessionMappingInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListBootstrapActionsCommand = async ( input: ListBootstrapActionsCommandInput, context: __SerdeContext @@ -552,6 +672,32 @@ export const serializeAws_json1_1ListStepsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListStudiosCommand = async ( + input: ListStudiosCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.ListStudios", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListStudiosInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListStudioSessionMappingsCommand = async ( + input: ListStudioSessionMappingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.ListStudioSessionMappings", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListStudioSessionMappingsInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ModifyClusterCommand = async ( input: ModifyClusterCommandInput, context: __SerdeContext @@ -747,6 +893,19 @@ export const serializeAws_json1_1TerminateJobFlowsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateStudioSessionMappingCommand = async ( + input: UpdateStudioSessionMappingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.UpdateStudioSessionMapping", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateStudioSessionMappingInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_1AddInstanceFleetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1109,27 +1268,27 @@ const deserializeAws_json1_1CreateSecurityConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteSecurityConfigurationCommand = async ( +export const deserializeAws_json1_1CreateStudioCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteSecurityConfigurationCommandError(output, context); + return deserializeAws_json1_1CreateStudioCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteSecurityConfigurationOutput(data, context); - const response: DeleteSecurityConfigurationCommandOutput = { + contents = deserializeAws_json1_1CreateStudioOutput(data, context); + const response: CreateStudioCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteSecurityConfigurationCommandError = async ( +const deserializeAws_json1_1CreateStudioCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1172,27 +1331,24 @@ const deserializeAws_json1_1DeleteSecurityConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeClusterCommand = async ( +export const deserializeAws_json1_1CreateStudioSessionMappingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeClusterCommandError(output, context); + return deserializeAws_json1_1CreateStudioSessionMappingCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeClusterOutput(data, context); - const response: DescribeClusterCommandOutput = { + await collectBody(output.body, context); + const response: CreateStudioSessionMappingCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeClusterCommandError = async ( +const deserializeAws_json1_1CreateStudioSessionMappingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1202,10 +1358,10 @@ const deserializeAws_json1_1DescribeClusterCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.emr#InternalServerException": + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1235,27 +1391,27 @@ const deserializeAws_json1_1DescribeClusterCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeJobFlowsCommand = async ( +export const deserializeAws_json1_1DeleteSecurityConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeJobFlowsCommandError(output, context); + return deserializeAws_json1_1DeleteSecurityConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeJobFlowsOutput(data, context); - const response: DescribeJobFlowsCommandOutput = { + contents = deserializeAws_json1_1DeleteSecurityConfigurationOutput(data, context); + const response: DeleteSecurityConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeJobFlowsCommandError = async ( +const deserializeAws_json1_1DeleteSecurityConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1265,10 +1421,18 @@ const deserializeAws_json1_1DescribeJobFlowsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerError": - case "com.amazonaws.emr#InternalServerError": + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": response = { - ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1290,27 +1454,24 @@ const deserializeAws_json1_1DescribeJobFlowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeNotebookExecutionCommand = async ( +export const deserializeAws_json1_1DeleteStudioCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeNotebookExecutionCommandError(output, context); + return deserializeAws_json1_1DeleteStudioCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeNotebookExecutionOutput(data, context); - const response: DescribeNotebookExecutionCommandOutput = { + await collectBody(output.body, context); + const response: DeleteStudioCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeNotebookExecutionCommandError = async ( +const deserializeAws_json1_1DeleteStudioCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1320,10 +1481,10 @@ const deserializeAws_json1_1DescribeNotebookExecutionCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerError": - case "com.amazonaws.emr#InternalServerError": + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": response = { - ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1353,27 +1514,24 @@ const deserializeAws_json1_1DescribeNotebookExecutionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeSecurityConfigurationCommand = async ( +export const deserializeAws_json1_1DeleteStudioSessionMappingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeSecurityConfigurationCommandError(output, context); + return deserializeAws_json1_1DeleteStudioSessionMappingCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1DescribeSecurityConfigurationOutput(data, context); - const response: DescribeSecurityConfigurationCommandOutput = { + await collectBody(output.body, context); + const response: DeleteStudioSessionMappingCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeSecurityConfigurationCommandError = async ( +const deserializeAws_json1_1DeleteStudioSessionMappingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1383,10 +1541,10 @@ const deserializeAws_json1_1DescribeSecurityConfigurationCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.emr#InternalServerException": + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1416,27 +1574,27 @@ const deserializeAws_json1_1DescribeSecurityConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeStepCommand = async ( +export const deserializeAws_json1_1DescribeClusterCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeStepCommandError(output, context); + return deserializeAws_json1_1DescribeClusterCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeStepOutput(data, context); - const response: DescribeStepCommandOutput = { + contents = deserializeAws_json1_1DescribeClusterOutput(data, context); + const response: DescribeClusterCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeStepCommandError = async ( +const deserializeAws_json1_1DescribeClusterCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1479,27 +1637,27 @@ const deserializeAws_json1_1DescribeStepCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetBlockPublicAccessConfigurationCommand = async ( +export const deserializeAws_json1_1DescribeJobFlowsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetBlockPublicAccessConfigurationCommandError(output, context); + return deserializeAws_json1_1DescribeJobFlowsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetBlockPublicAccessConfigurationOutput(data, context); - const response: GetBlockPublicAccessConfigurationCommandOutput = { + contents = deserializeAws_json1_1DescribeJobFlowsOutput(data, context); + const response: DescribeJobFlowsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetBlockPublicAccessConfigurationCommandError = async ( +const deserializeAws_json1_1DescribeJobFlowsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1509,18 +1667,10 @@ const deserializeAws_json1_1GetBlockPublicAccessConfigurationCommandError = asyn const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.emr#InternalServerException": - response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "InvalidRequestException": - case "com.amazonaws.emr#InvalidRequestException": + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": response = { - ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1542,27 +1692,27 @@ const deserializeAws_json1_1GetBlockPublicAccessConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetManagedScalingPolicyCommand = async ( +export const deserializeAws_json1_1DescribeNotebookExecutionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetManagedScalingPolicyCommandError(output, context); + return deserializeAws_json1_1DescribeNotebookExecutionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetManagedScalingPolicyOutput(data, context); - const response: GetManagedScalingPolicyCommandOutput = { + contents = deserializeAws_json1_1DescribeNotebookExecutionOutput(data, context); + const response: DescribeNotebookExecutionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetManagedScalingPolicyCommandError = async ( +const deserializeAws_json1_1DescribeNotebookExecutionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1572,6 +1722,22 @@ const deserializeAws_json1_1GetManagedScalingPolicyCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1589,24 +1755,386 @@ const deserializeAws_json1_1GetManagedScalingPolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListBootstrapActionsCommand = async ( +export const deserializeAws_json1_1DescribeSecurityConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListBootstrapActionsCommandError(output, context); + return deserializeAws_json1_1DescribeSecurityConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListBootstrapActionsOutput(data, context); - const response: ListBootstrapActionsCommandOutput = { + contents = deserializeAws_json1_1DescribeSecurityConfigurationOutput(data, context); + const response: DescribeSecurityConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListBootstrapActionsCommandError = async ( +const deserializeAws_json1_1DescribeSecurityConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeStepCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeStepCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeStepOutput(data, context); + const response: DescribeStepCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeStepCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeStudioCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeStudioCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeStudioOutput(data, context); + const response: DescribeStudioCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeStudioCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1GetBlockPublicAccessConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetBlockPublicAccessConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetBlockPublicAccessConfigurationOutput(data, context); + const response: GetBlockPublicAccessConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetBlockPublicAccessConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1GetManagedScalingPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetManagedScalingPolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetManagedScalingPolicyOutput(data, context); + const response: GetManagedScalingPolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetManagedScalingPolicyCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1GetStudioSessionMappingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetStudioSessionMappingCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetStudioSessionMappingOutput(data, context); + const response: GetStudioSessionMappingCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetStudioSessionMappingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListBootstrapActionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListBootstrapActionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListBootstrapActionsOutput(data, context); + const response: ListBootstrapActionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListBootstrapActionsCommandError = async ( output: __HttpResponse, context: __SerdeContext ): Promise => { @@ -1778,27 +2306,153 @@ const deserializeAws_json1_1ListInstanceFleetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListInstanceGroupsCommand = async ( +export const deserializeAws_json1_1ListInstanceGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListInstanceGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListInstanceGroupsOutput(data, context); + const response: ListInstanceGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListInstanceGroupsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListInstancesOutput(data, context); + const response: ListInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListNotebookExecutionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListInstanceGroupsCommandError(output, context); + return deserializeAws_json1_1ListNotebookExecutionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListInstanceGroupsOutput(data, context); - const response: ListInstanceGroupsCommandOutput = { + contents = deserializeAws_json1_1ListNotebookExecutionsOutput(data, context); + const response: ListNotebookExecutionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListInstanceGroupsCommandError = async ( +const deserializeAws_json1_1ListNotebookExecutionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1808,10 +2462,10 @@ const deserializeAws_json1_1ListInstanceGroupsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.emr#InternalServerException": + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1841,27 +2495,27 @@ const deserializeAws_json1_1ListInstanceGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListInstancesCommand = async ( +export const deserializeAws_json1_1ListSecurityConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListInstancesCommandError(output, context); + return deserializeAws_json1_1ListSecurityConfigurationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListInstancesOutput(data, context); - const response: ListInstancesCommandOutput = { + contents = deserializeAws_json1_1ListSecurityConfigurationsOutput(data, context); + const response: ListSecurityConfigurationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListInstancesCommandError = async ( +const deserializeAws_json1_1ListSecurityConfigurationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1904,27 +2558,27 @@ const deserializeAws_json1_1ListInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListNotebookExecutionsCommand = async ( +export const deserializeAws_json1_1ListStepsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListNotebookExecutionsCommandError(output, context); + return deserializeAws_json1_1ListStepsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListNotebookExecutionsOutput(data, context); - const response: ListNotebookExecutionsCommandOutput = { + contents = deserializeAws_json1_1ListStepsOutput(data, context); + const response: ListStepsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListNotebookExecutionsCommandError = async ( +const deserializeAws_json1_1ListStepsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1934,10 +2588,10 @@ const deserializeAws_json1_1ListNotebookExecutionsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerError": - case "com.amazonaws.emr#InternalServerError": + case "InternalServerException": + case "com.amazonaws.emr#InternalServerException": response = { - ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1967,27 +2621,27 @@ const deserializeAws_json1_1ListNotebookExecutionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListSecurityConfigurationsCommand = async ( +export const deserializeAws_json1_1ListStudiosCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListSecurityConfigurationsCommandError(output, context); + return deserializeAws_json1_1ListStudiosCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListSecurityConfigurationsOutput(data, context); - const response: ListSecurityConfigurationsCommandOutput = { + contents = deserializeAws_json1_1ListStudiosOutput(data, context); + const response: ListStudiosCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListSecurityConfigurationsCommandError = async ( +const deserializeAws_json1_1ListStudiosCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2030,27 +2684,27 @@ const deserializeAws_json1_1ListSecurityConfigurationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListStepsCommand = async ( +export const deserializeAws_json1_1ListStudioSessionMappingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListStepsCommandError(output, context); + return deserializeAws_json1_1ListStudioSessionMappingsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListStepsOutput(data, context); - const response: ListStepsCommandOutput = { + contents = deserializeAws_json1_1ListStudioSessionMappingsOutput(data, context); + const response: ListStudioSessionMappingsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListStepsCommandError = async ( +const deserializeAws_json1_1ListStudioSessionMappingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2060,10 +2714,10 @@ const deserializeAws_json1_1ListStepsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.emr#InternalServerException": + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": response = { - ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2916,6 +3570,66 @@ const deserializeAws_json1_1TerminateJobFlowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateStudioSessionMappingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateStudioSessionMappingCommandError(output, context); + } + await collectBody(output.body, context); + const response: UpdateStudioSessionMappingCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateStudioSessionMappingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerError": + case "com.amazonaws.emr#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + const deserializeAws_json1_1InternalServerErrorResponse = async ( parsedOutput: any, context: __SerdeContext @@ -3122,6 +3836,35 @@ const serializeAws_json1_1CreateSecurityConfigurationInput = ( }; }; +const serializeAws_json1_1CreateStudioInput = (input: CreateStudioInput, context: __SerdeContext): any => { + return { + ...(input.AuthMode !== undefined && { AuthMode: input.AuthMode }), + ...(input.DefaultS3Location !== undefined && { DefaultS3Location: input.DefaultS3Location }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.EngineSecurityGroupId !== undefined && { EngineSecurityGroupId: input.EngineSecurityGroupId }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.ServiceRole !== undefined && { ServiceRole: input.ServiceRole }), + ...(input.SubnetIds !== undefined && { SubnetIds: serializeAws_json1_1SubnetIdList(input.SubnetIds, context) }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + ...(input.UserRole !== undefined && { UserRole: input.UserRole }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + ...(input.WorkspaceSecurityGroupId !== undefined && { WorkspaceSecurityGroupId: input.WorkspaceSecurityGroupId }), + }; +}; + +const serializeAws_json1_1CreateStudioSessionMappingInput = ( + input: CreateStudioSessionMappingInput, + context: __SerdeContext +): any => { + return { + ...(input.IdentityId !== undefined && { IdentityId: input.IdentityId }), + ...(input.IdentityName !== undefined && { IdentityName: input.IdentityName }), + ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), + ...(input.SessionPolicyArn !== undefined && { SessionPolicyArn: input.SessionPolicyArn }), + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + const serializeAws_json1_1DeleteSecurityConfigurationInput = ( input: DeleteSecurityConfigurationInput, context: __SerdeContext @@ -3131,6 +3874,24 @@ const serializeAws_json1_1DeleteSecurityConfigurationInput = ( }; }; +const serializeAws_json1_1DeleteStudioInput = (input: DeleteStudioInput, context: __SerdeContext): any => { + return { + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + +const serializeAws_json1_1DeleteStudioSessionMappingInput = ( + input: DeleteStudioSessionMappingInput, + context: __SerdeContext +): any => { + return { + ...(input.IdentityId !== undefined && { IdentityId: input.IdentityId }), + ...(input.IdentityName !== undefined && { IdentityName: input.IdentityName }), + ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + const serializeAws_json1_1DescribeClusterInput = (input: DescribeClusterInput, context: __SerdeContext): any => { return { ...(input.ClusterId !== undefined && { ClusterId: input.ClusterId }), @@ -3173,6 +3934,12 @@ const serializeAws_json1_1DescribeStepInput = (input: DescribeStepInput, context }; }; +const serializeAws_json1_1DescribeStudioInput = (input: DescribeStudioInput, context: __SerdeContext): any => { + return { + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + const serializeAws_json1_1EbsBlockDeviceConfig = (input: EbsBlockDeviceConfig, context: __SerdeContext): any => { return { ...(input.VolumeSpecification !== undefined && { @@ -3229,6 +3996,18 @@ const serializeAws_json1_1GetManagedScalingPolicyInput = ( }; }; +const serializeAws_json1_1GetStudioSessionMappingInput = ( + input: GetStudioSessionMappingInput, + context: __SerdeContext +): any => { + return { + ...(input.IdentityId !== undefined && { IdentityId: input.IdentityId }), + ...(input.IdentityName !== undefined && { IdentityName: input.IdentityName }), + ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + const serializeAws_json1_1HadoopJarStepConfig = (input: HadoopJarStepConfig, context: __SerdeContext): any => { return { ...(input.Args !== undefined && { Args: serializeAws_json1_1XmlStringList(input.Args, context) }), @@ -3545,6 +4324,23 @@ const serializeAws_json1_1ListStepsInput = (input: ListStepsInput, context: __Se }; }; +const serializeAws_json1_1ListStudioSessionMappingsInput = ( + input: ListStudioSessionMappingsInput, + context: __SerdeContext +): any => { + return { + ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + +const serializeAws_json1_1ListStudiosInput = (input: ListStudiosInput, context: __SerdeContext): any => { + return { + ...(input.Marker !== undefined && { Marker: input.Marker }), + }; +}; + const serializeAws_json1_1ManagedScalingPolicy = (input: ManagedScalingPolicy, context: __SerdeContext): any => { return { ...(input.ComputeLimits !== undefined && { @@ -3931,6 +4727,10 @@ const serializeAws_json1_1StringMap = (input: { [key: string]: string }, context ); }; +const serializeAws_json1_1SubnetIdList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1SupportedProductConfig = (input: SupportedProductConfig, context: __SerdeContext): any => { return { ...(input.Args !== undefined && { Args: serializeAws_json1_1XmlStringList(input.Args, context) }), @@ -3959,6 +4759,19 @@ const serializeAws_json1_1TerminateJobFlowsInput = (input: TerminateJobFlowsInpu }; }; +const serializeAws_json1_1UpdateStudioSessionMappingInput = ( + input: UpdateStudioSessionMappingInput, + context: __SerdeContext +): any => { + return { + ...(input.IdentityId !== undefined && { IdentityId: input.IdentityId }), + ...(input.IdentityName !== undefined && { IdentityName: input.IdentityName }), + ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), + ...(input.SessionPolicyArn !== undefined && { SessionPolicyArn: input.SessionPolicyArn }), + ...(input.StudioId !== undefined && { StudioId: input.StudioId }), + }; +}; + const serializeAws_json1_1VolumeSpecification = (input: VolumeSpecification, context: __SerdeContext): any => { return { ...(input.Iops !== undefined && { Iops: input.Iops }), @@ -4414,6 +5227,13 @@ const deserializeAws_json1_1CreateSecurityConfigurationOutput = ( } as any; }; +const deserializeAws_json1_1CreateStudioOutput = (output: any, context: __SerdeContext): CreateStudioOutput => { + return { + StudioId: output.StudioId !== undefined && output.StudioId !== null ? output.StudioId : undefined, + Url: output.Url !== undefined && output.Url !== null ? output.Url : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteSecurityConfigurationOutput = ( output: any, context: __SerdeContext @@ -4475,6 +5295,15 @@ const deserializeAws_json1_1DescribeStepOutput = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1DescribeStudioOutput = (output: any, context: __SerdeContext): DescribeStudioOutput => { + return { + Studio: + output.Studio !== undefined && output.Studio !== null + ? deserializeAws_json1_1Studio(output.Studio, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1EbsBlockDevice = (output: any, context: __SerdeContext): EbsBlockDevice => { return { Device: output.Device !== undefined && output.Device !== null ? output.Device : undefined, @@ -4598,6 +5427,18 @@ const deserializeAws_json1_1GetManagedScalingPolicyOutput = ( } as any; }; +const deserializeAws_json1_1GetStudioSessionMappingOutput = ( + output: any, + context: __SerdeContext +): GetStudioSessionMappingOutput => { + return { + SessionMapping: + output.SessionMapping !== undefined && output.SessionMapping !== null + ? deserializeAws_json1_1SessionMappingDetail(output.SessionMapping, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1HadoopJarStepConfig = (output: any, context: __SerdeContext): HadoopJarStepConfig => { return { Args: @@ -5273,6 +6114,29 @@ const deserializeAws_json1_1ListStepsOutput = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1ListStudioSessionMappingsOutput = ( + output: any, + context: __SerdeContext +): ListStudioSessionMappingsOutput => { + return { + Marker: output.Marker !== undefined && output.Marker !== null ? output.Marker : undefined, + SessionMappings: + output.SessionMappings !== undefined && output.SessionMappings !== null + ? deserializeAws_json1_1SessionMappingSummaryList(output.SessionMappings, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListStudiosOutput = (output: any, context: __SerdeContext): ListStudiosOutput => { + return { + Marker: output.Marker !== undefined && output.Marker !== null ? output.Marker : undefined, + Studios: + output.Studios !== undefined && output.Studios !== null + ? deserializeAws_json1_1StudioSummaryList(output.Studios, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ManagedScalingPolicy = (output: any, context: __SerdeContext): ManagedScalingPolicy => { return { ComputeLimits: @@ -5561,6 +6425,47 @@ const deserializeAws_json1_1SecurityConfigurationSummary = ( } as any; }; +const deserializeAws_json1_1SessionMappingDetail = (output: any, context: __SerdeContext): SessionMappingDetail => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined, + IdentityName: output.IdentityName !== undefined && output.IdentityName !== null ? output.IdentityName : undefined, + IdentityType: output.IdentityType !== undefined && output.IdentityType !== null ? output.IdentityType : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? new Date(Math.round(output.LastModifiedTime * 1000)) + : undefined, + SessionPolicyArn: + output.SessionPolicyArn !== undefined && output.SessionPolicyArn !== null ? output.SessionPolicyArn : undefined, + StudioId: output.StudioId !== undefined && output.StudioId !== null ? output.StudioId : undefined, + } as any; +}; + +const deserializeAws_json1_1SessionMappingSummary = (output: any, context: __SerdeContext): SessionMappingSummary => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined, + IdentityName: output.IdentityName !== undefined && output.IdentityName !== null ? output.IdentityName : undefined, + IdentityType: output.IdentityType !== undefined && output.IdentityType !== null ? output.IdentityType : undefined, + SessionPolicyArn: + output.SessionPolicyArn !== undefined && output.SessionPolicyArn !== null ? output.SessionPolicyArn : undefined, + StudioId: output.StudioId !== undefined && output.StudioId !== null ? output.StudioId : undefined, + } as any; +}; + +const deserializeAws_json1_1SessionMappingSummaryList = ( + output: any, + context: __SerdeContext +): SessionMappingSummary[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1SessionMappingSummary(entry, context)); +}; + const deserializeAws_json1_1ShrinkPolicy = (output: any, context: __SerdeContext): ShrinkPolicy => { return { DecommissionTimeout: @@ -5775,6 +6680,66 @@ const deserializeAws_json1_1StringMap = (output: any, context: __SerdeContext): ); }; +const deserializeAws_json1_1Studio = (output: any, context: __SerdeContext): Studio => { + return { + AuthMode: output.AuthMode !== undefined && output.AuthMode !== null ? output.AuthMode : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + DefaultS3Location: + output.DefaultS3Location !== undefined && output.DefaultS3Location !== null + ? output.DefaultS3Location + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + EngineSecurityGroupId: + output.EngineSecurityGroupId !== undefined && output.EngineSecurityGroupId !== null + ? output.EngineSecurityGroupId + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + ServiceRole: output.ServiceRole !== undefined && output.ServiceRole !== null ? output.ServiceRole : undefined, + StudioArn: output.StudioArn !== undefined && output.StudioArn !== null ? output.StudioArn : undefined, + StudioId: output.StudioId !== undefined && output.StudioId !== null ? output.StudioId : undefined, + SubnetIds: + output.SubnetIds !== undefined && output.SubnetIds !== null + ? deserializeAws_json1_1SubnetIdList(output.SubnetIds, context) + : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_1TagList(output.Tags, context) + : undefined, + Url: output.Url !== undefined && output.Url !== null ? output.Url : undefined, + UserRole: output.UserRole !== undefined && output.UserRole !== null ? output.UserRole : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + WorkspaceSecurityGroupId: + output.WorkspaceSecurityGroupId !== undefined && output.WorkspaceSecurityGroupId !== null + ? output.WorkspaceSecurityGroupId + : undefined, + } as any; +}; + +const deserializeAws_json1_1StudioSummary = (output: any, context: __SerdeContext): StudioSummary => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + StudioId: output.StudioId !== undefined && output.StudioId !== null ? output.StudioId : undefined, + Url: output.Url !== undefined && output.Url !== null ? output.Url : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; +}; + +const deserializeAws_json1_1StudioSummaryList = (output: any, context: __SerdeContext): StudioSummary[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1StudioSummary(entry, context)); +}; + +const deserializeAws_json1_1SubnetIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1SupportedProductsList = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; diff --git a/clients/client-forecast/Forecast.ts b/clients/client-forecast/Forecast.ts index da1d322df6708..efd5b8cd74450 100644 --- a/clients/client-forecast/Forecast.ts +++ b/clients/client-forecast/Forecast.ts @@ -24,6 +24,11 @@ import { CreateForecastExportJobCommandInput, CreateForecastExportJobCommandOutput, } from "./commands/CreateForecastExportJobCommand"; +import { + CreatePredictorBacktestExportJobCommand, + CreatePredictorBacktestExportJobCommandInput, + CreatePredictorBacktestExportJobCommandOutput, +} from "./commands/CreatePredictorBacktestExportJobCommand"; import { CreatePredictorCommand, CreatePredictorCommandInput, @@ -54,6 +59,11 @@ import { DeleteForecastExportJobCommandInput, DeleteForecastExportJobCommandOutput, } from "./commands/DeleteForecastExportJobCommand"; +import { + DeletePredictorBacktestExportJobCommand, + DeletePredictorBacktestExportJobCommandInput, + DeletePredictorBacktestExportJobCommandOutput, +} from "./commands/DeletePredictorBacktestExportJobCommand"; import { DeletePredictorCommand, DeletePredictorCommandInput, @@ -84,6 +94,11 @@ import { DescribeForecastExportJobCommandInput, DescribeForecastExportJobCommandOutput, } from "./commands/DescribeForecastExportJobCommand"; +import { + DescribePredictorBacktestExportJobCommand, + DescribePredictorBacktestExportJobCommandInput, + DescribePredictorBacktestExportJobCommandOutput, +} from "./commands/DescribePredictorBacktestExportJobCommand"; import { DescribePredictorCommand, DescribePredictorCommandInput, @@ -119,6 +134,11 @@ import { ListForecastsCommandInput, ListForecastsCommandOutput, } from "./commands/ListForecastsCommand"; +import { + ListPredictorBacktestExportJobsCommand, + ListPredictorBacktestExportJobsCommandInput, + ListPredictorBacktestExportJobsCommandOutput, +} from "./commands/ListPredictorBacktestExportJobsCommand"; import { ListPredictorsCommand, ListPredictorsCommandInput, @@ -499,6 +519,42 @@ export class Forecast extends ForecastClient { } } + /** + *

    Exports backtest forecasts and accuracy metrics generated by the CreatePredictor operation. Two CSV files are exported to a specified + * S3 bucket.

    + *

    You must specify a DataDestination object that includes an AWS Identity and Access Management + * (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see + * aws-forecast-iam-roles.

    + */ + public createPredictorBacktestExportJob( + args: CreatePredictorBacktestExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createPredictorBacktestExportJob( + args: CreatePredictorBacktestExportJobCommandInput, + cb: (err: any, data?: CreatePredictorBacktestExportJobCommandOutput) => void + ): void; + public createPredictorBacktestExportJob( + args: CreatePredictorBacktestExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePredictorBacktestExportJobCommandOutput) => void + ): void; + public createPredictorBacktestExportJob( + args: CreatePredictorBacktestExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreatePredictorBacktestExportJobCommandOutput) => void), + cb?: (err: any, data?: CreatePredictorBacktestExportJobCommandOutput) => void + ): Promise | void { + const command = new CreatePredictorBacktestExportJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Deletes an Amazon Forecast dataset that was created using the CreateDataset * operation. You can only delete datasets that have a status of ACTIVE or @@ -712,6 +768,38 @@ export class Forecast extends ForecastClient { } } + /** + *

    Deletes a predictor backtest export job.

    + */ + public deletePredictorBacktestExportJob( + args: DeletePredictorBacktestExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePredictorBacktestExportJob( + args: DeletePredictorBacktestExportJobCommandInput, + cb: (err: any, data?: DeletePredictorBacktestExportJobCommandOutput) => void + ): void; + public deletePredictorBacktestExportJob( + args: DeletePredictorBacktestExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePredictorBacktestExportJobCommandOutput) => void + ): void; + public deletePredictorBacktestExportJob( + args: DeletePredictorBacktestExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePredictorBacktestExportJobCommandOutput) => void), + cb?: (err: any, data?: DeletePredictorBacktestExportJobCommandOutput) => void + ): Promise | void { + const command = new DeletePredictorBacktestExportJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Describes an Amazon Forecast dataset created using the CreateDataset * operation.

    @@ -1068,6 +1156,62 @@ export class Forecast extends ForecastClient { } } + /** + *

    Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob operation.

    + *

    In addition to listing the properties provided by the user in the + * CreatePredictorBacktestExportJob request, this operation lists the + * following properties:

    + *
      + *
    • + *

      + * CreationTime + *

      + *
    • + *
    • + *

      + * LastModificationTime + *

      + *
    • + *
    • + *

      + * Status + *

      + *
    • + *
    • + *

      + * Message (if an error occurred)

      + *
    • + *
    + */ + public describePredictorBacktestExportJob( + args: DescribePredictorBacktestExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describePredictorBacktestExportJob( + args: DescribePredictorBacktestExportJobCommandInput, + cb: (err: any, data?: DescribePredictorBacktestExportJobCommandOutput) => void + ): void; + public describePredictorBacktestExportJob( + args: DescribePredictorBacktestExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribePredictorBacktestExportJobCommandOutput) => void + ): void; + public describePredictorBacktestExportJob( + args: DescribePredictorBacktestExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribePredictorBacktestExportJobCommandOutput) => void), + cb?: (err: any, data?: DescribePredictorBacktestExportJobCommandOutput) => void + ): Promise | void { + const command = new DescribePredictorBacktestExportJobCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and * to decide whether to use the predictor to generate a forecast. For more information, see @@ -1291,6 +1435,41 @@ export class Forecast extends ForecastClient { } } + /** + *

    Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary + * for each backtest export job. You can filter the list using an array of Filter objects.

    + *

    To retrieve the complete set of properties for a particular backtest export job, use the + * ARN with the DescribePredictorBacktestExportJob operation.

    + */ + public listPredictorBacktestExportJobs( + args: ListPredictorBacktestExportJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPredictorBacktestExportJobs( + args: ListPredictorBacktestExportJobsCommandInput, + cb: (err: any, data?: ListPredictorBacktestExportJobsCommandOutput) => void + ): void; + public listPredictorBacktestExportJobs( + args: ListPredictorBacktestExportJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPredictorBacktestExportJobsCommandOutput) => void + ): void; + public listPredictorBacktestExportJobs( + args: ListPredictorBacktestExportJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPredictorBacktestExportJobsCommandOutput) => void), + cb?: (err: any, data?: ListPredictorBacktestExportJobsCommandOutput) => void + ): Promise | void { + const command = new ListPredictorBacktestExportJobsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Returns a list of predictors created using the CreatePredictor * operation. For each predictor, this operation returns a summary of its properties, including diff --git a/clients/client-forecast/ForecastClient.ts b/clients/client-forecast/ForecastClient.ts index aeb638caec6c1..fe395edd43ff1 100644 --- a/clients/client-forecast/ForecastClient.ts +++ b/clients/client-forecast/ForecastClient.ts @@ -9,6 +9,10 @@ import { CreateForecastExportJobCommandInput, CreateForecastExportJobCommandOutput, } from "./commands/CreateForecastExportJobCommand"; +import { + CreatePredictorBacktestExportJobCommandInput, + CreatePredictorBacktestExportJobCommandOutput, +} from "./commands/CreatePredictorBacktestExportJobCommand"; import { CreatePredictorCommandInput, CreatePredictorCommandOutput } from "./commands/CreatePredictorCommand"; import { DeleteDatasetCommandInput, DeleteDatasetCommandOutput } from "./commands/DeleteDatasetCommand"; import { DeleteDatasetGroupCommandInput, DeleteDatasetGroupCommandOutput } from "./commands/DeleteDatasetGroupCommand"; @@ -21,6 +25,10 @@ import { DeleteForecastExportJobCommandInput, DeleteForecastExportJobCommandOutput, } from "./commands/DeleteForecastExportJobCommand"; +import { + DeletePredictorBacktestExportJobCommandInput, + DeletePredictorBacktestExportJobCommandOutput, +} from "./commands/DeletePredictorBacktestExportJobCommand"; import { DeletePredictorCommandInput, DeletePredictorCommandOutput } from "./commands/DeletePredictorCommand"; import { DescribeDatasetCommandInput, DescribeDatasetCommandOutput } from "./commands/DescribeDatasetCommand"; import { @@ -36,6 +44,10 @@ import { DescribeForecastExportJobCommandInput, DescribeForecastExportJobCommandOutput, } from "./commands/DescribeForecastExportJobCommand"; +import { + DescribePredictorBacktestExportJobCommandInput, + DescribePredictorBacktestExportJobCommandOutput, +} from "./commands/DescribePredictorBacktestExportJobCommand"; import { DescribePredictorCommandInput, DescribePredictorCommandOutput } from "./commands/DescribePredictorCommand"; import { GetAccuracyMetricsCommandInput, GetAccuracyMetricsCommandOutput } from "./commands/GetAccuracyMetricsCommand"; import { ListDatasetGroupsCommandInput, ListDatasetGroupsCommandOutput } from "./commands/ListDatasetGroupsCommand"; @@ -49,6 +61,10 @@ import { ListForecastExportJobsCommandOutput, } from "./commands/ListForecastExportJobsCommand"; import { ListForecastsCommandInput, ListForecastsCommandOutput } from "./commands/ListForecastsCommand"; +import { + ListPredictorBacktestExportJobsCommandInput, + ListPredictorBacktestExportJobsCommandOutput, +} from "./commands/ListPredictorBacktestExportJobsCommand"; import { ListPredictorsCommandInput, ListPredictorsCommandOutput } from "./commands/ListPredictorsCommand"; import { ListTagsForResourceCommandInput, @@ -112,18 +128,21 @@ export type ServiceInputTypes = | CreateDatasetImportJobCommandInput | CreateForecastCommandInput | CreateForecastExportJobCommandInput + | CreatePredictorBacktestExportJobCommandInput | CreatePredictorCommandInput | DeleteDatasetCommandInput | DeleteDatasetGroupCommandInput | DeleteDatasetImportJobCommandInput | DeleteForecastCommandInput | DeleteForecastExportJobCommandInput + | DeletePredictorBacktestExportJobCommandInput | DeletePredictorCommandInput | DescribeDatasetCommandInput | DescribeDatasetGroupCommandInput | DescribeDatasetImportJobCommandInput | DescribeForecastCommandInput | DescribeForecastExportJobCommandInput + | DescribePredictorBacktestExportJobCommandInput | DescribePredictorCommandInput | GetAccuracyMetricsCommandInput | ListDatasetGroupsCommandInput @@ -131,6 +150,7 @@ export type ServiceInputTypes = | ListDatasetsCommandInput | ListForecastExportJobsCommandInput | ListForecastsCommandInput + | ListPredictorBacktestExportJobsCommandInput | ListPredictorsCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput @@ -143,18 +163,21 @@ export type ServiceOutputTypes = | CreateDatasetImportJobCommandOutput | CreateForecastCommandOutput | CreateForecastExportJobCommandOutput + | CreatePredictorBacktestExportJobCommandOutput | CreatePredictorCommandOutput | DeleteDatasetCommandOutput | DeleteDatasetGroupCommandOutput | DeleteDatasetImportJobCommandOutput | DeleteForecastCommandOutput | DeleteForecastExportJobCommandOutput + | DeletePredictorBacktestExportJobCommandOutput | DeletePredictorCommandOutput | DescribeDatasetCommandOutput | DescribeDatasetGroupCommandOutput | DescribeDatasetImportJobCommandOutput | DescribeForecastCommandOutput | DescribeForecastExportJobCommandOutput + | DescribePredictorBacktestExportJobCommandOutput | DescribePredictorCommandOutput | GetAccuracyMetricsCommandOutput | ListDatasetGroupsCommandOutput @@ -162,6 +185,7 @@ export type ServiceOutputTypes = | ListDatasetsCommandOutput | ListForecastExportJobsCommandOutput | ListForecastsCommandOutput + | ListPredictorBacktestExportJobsCommandOutput | ListPredictorsCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput diff --git a/clients/client-forecast/commands/CreatePredictorBacktestExportJobCommand.ts b/clients/client-forecast/commands/CreatePredictorBacktestExportJobCommand.ts new file mode 100644 index 0000000000000..938edc887b8cd --- /dev/null +++ b/clients/client-forecast/commands/CreatePredictorBacktestExportJobCommand.ts @@ -0,0 +1,98 @@ +import { ForecastClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ForecastClient"; +import { CreatePredictorBacktestExportJobRequest, CreatePredictorBacktestExportJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreatePredictorBacktestExportJobCommand, + serializeAws_json1_1CreatePredictorBacktestExportJobCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreatePredictorBacktestExportJobCommandInput = CreatePredictorBacktestExportJobRequest; +export type CreatePredictorBacktestExportJobCommandOutput = CreatePredictorBacktestExportJobResponse & __MetadataBearer; + +/** + *

    Exports backtest forecasts and accuracy metrics generated by the CreatePredictor operation. Two CSV files are exported to a specified + * S3 bucket.

    + *

    You must specify a DataDestination object that includes an AWS Identity and Access Management + * (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see + * aws-forecast-iam-roles.

    + */ +export class CreatePredictorBacktestExportJobCommand extends $Command< + CreatePredictorBacktestExportJobCommandInput, + CreatePredictorBacktestExportJobCommandOutput, + ForecastClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreatePredictorBacktestExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ForecastClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ForecastClient"; + const commandName = "CreatePredictorBacktestExportJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreatePredictorBacktestExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreatePredictorBacktestExportJobResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: CreatePredictorBacktestExportJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1CreatePredictorBacktestExportJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreatePredictorBacktestExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-forecast/commands/DeletePredictorBacktestExportJobCommand.ts b/clients/client-forecast/commands/DeletePredictorBacktestExportJobCommand.ts new file mode 100644 index 0000000000000..6bd14400aa1ed --- /dev/null +++ b/clients/client-forecast/commands/DeletePredictorBacktestExportJobCommand.ts @@ -0,0 +1,94 @@ +import { ForecastClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ForecastClient"; +import { DeletePredictorBacktestExportJobRequest } from "../models/models_0"; +import { + deserializeAws_json1_1DeletePredictorBacktestExportJobCommand, + serializeAws_json1_1DeletePredictorBacktestExportJobCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeletePredictorBacktestExportJobCommandInput = DeletePredictorBacktestExportJobRequest; +export type DeletePredictorBacktestExportJobCommandOutput = __MetadataBearer; + +/** + *

    Deletes a predictor backtest export job.

    + */ +export class DeletePredictorBacktestExportJobCommand extends $Command< + DeletePredictorBacktestExportJobCommandInput, + DeletePredictorBacktestExportJobCommandOutput, + ForecastClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePredictorBacktestExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ForecastClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ForecastClient"; + const commandName = "DeletePredictorBacktestExportJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeletePredictorBacktestExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeletePredictorBacktestExportJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DeletePredictorBacktestExportJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeletePredictorBacktestExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-forecast/commands/DescribePredictorBacktestExportJobCommand.ts b/clients/client-forecast/commands/DescribePredictorBacktestExportJobCommand.ts new file mode 100644 index 0000000000000..b774ad16322f3 --- /dev/null +++ b/clients/client-forecast/commands/DescribePredictorBacktestExportJobCommand.ts @@ -0,0 +1,122 @@ +import { ForecastClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ForecastClient"; +import { + DescribePredictorBacktestExportJobRequest, + DescribePredictorBacktestExportJobResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribePredictorBacktestExportJobCommand, + serializeAws_json1_1DescribePredictorBacktestExportJobCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribePredictorBacktestExportJobCommandInput = DescribePredictorBacktestExportJobRequest; +export type DescribePredictorBacktestExportJobCommandOutput = DescribePredictorBacktestExportJobResponse & + __MetadataBearer; + +/** + *

    Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob operation.

    + *

    In addition to listing the properties provided by the user in the + * CreatePredictorBacktestExportJob request, this operation lists the + * following properties:

    + *
      + *
    • + *

      + * CreationTime + *

      + *
    • + *
    • + *

      + * LastModificationTime + *

      + *
    • + *
    • + *

      + * Status + *

      + *
    • + *
    • + *

      + * Message (if an error occurred)

      + *
    • + *
    + */ +export class DescribePredictorBacktestExportJobCommand extends $Command< + DescribePredictorBacktestExportJobCommandInput, + DescribePredictorBacktestExportJobCommandOutput, + ForecastClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribePredictorBacktestExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ForecastClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ForecastClient"; + const commandName = "DescribePredictorBacktestExportJobCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribePredictorBacktestExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribePredictorBacktestExportJobResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribePredictorBacktestExportJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribePredictorBacktestExportJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribePredictorBacktestExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-forecast/commands/ListPredictorBacktestExportJobsCommand.ts b/clients/client-forecast/commands/ListPredictorBacktestExportJobsCommand.ts new file mode 100644 index 0000000000000..4cfa78fa5d69f --- /dev/null +++ b/clients/client-forecast/commands/ListPredictorBacktestExportJobsCommand.ts @@ -0,0 +1,97 @@ +import { ForecastClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ForecastClient"; +import { ListPredictorBacktestExportJobsRequest, ListPredictorBacktestExportJobsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListPredictorBacktestExportJobsCommand, + serializeAws_json1_1ListPredictorBacktestExportJobsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListPredictorBacktestExportJobsCommandInput = ListPredictorBacktestExportJobsRequest; +export type ListPredictorBacktestExportJobsCommandOutput = ListPredictorBacktestExportJobsResponse & __MetadataBearer; + +/** + *

    Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary + * for each backtest export job. You can filter the list using an array of Filter objects.

    + *

    To retrieve the complete set of properties for a particular backtest export job, use the + * ARN with the DescribePredictorBacktestExportJob operation.

    + */ +export class ListPredictorBacktestExportJobsCommand extends $Command< + ListPredictorBacktestExportJobsCommandInput, + ListPredictorBacktestExportJobsCommandOutput, + ForecastClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPredictorBacktestExportJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ForecastClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ForecastClient"; + const commandName = "ListPredictorBacktestExportJobsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListPredictorBacktestExportJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPredictorBacktestExportJobsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListPredictorBacktestExportJobsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListPredictorBacktestExportJobsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListPredictorBacktestExportJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-forecast/index.ts b/clients/client-forecast/index.ts index 22c63fbada880..9cf2fb9de6263 100644 --- a/clients/client-forecast/index.ts +++ b/clients/client-forecast/index.ts @@ -6,18 +6,21 @@ export * from "./commands/CreateDatasetImportJobCommand"; export * from "./commands/CreateForecastCommand"; export * from "./commands/CreateForecastExportJobCommand"; export * from "./commands/CreatePredictorCommand"; +export * from "./commands/CreatePredictorBacktestExportJobCommand"; export * from "./commands/DeleteDatasetCommand"; export * from "./commands/DeleteDatasetGroupCommand"; export * from "./commands/DeleteDatasetImportJobCommand"; export * from "./commands/DeleteForecastCommand"; export * from "./commands/DeleteForecastExportJobCommand"; export * from "./commands/DeletePredictorCommand"; +export * from "./commands/DeletePredictorBacktestExportJobCommand"; export * from "./commands/DescribeDatasetCommand"; export * from "./commands/DescribeDatasetGroupCommand"; export * from "./commands/DescribeDatasetImportJobCommand"; export * from "./commands/DescribeForecastCommand"; export * from "./commands/DescribeForecastExportJobCommand"; export * from "./commands/DescribePredictorCommand"; +export * from "./commands/DescribePredictorBacktestExportJobCommand"; export * from "./commands/GetAccuracyMetricsCommand"; export * from "./commands/ListDatasetGroupsCommand"; export * from "./pagination/ListDatasetGroupsPaginator"; @@ -29,6 +32,8 @@ export * from "./commands/ListForecastExportJobsCommand"; export * from "./pagination/ListForecastExportJobsPaginator"; export * from "./commands/ListForecastsCommand"; export * from "./pagination/ListForecastsPaginator"; +export * from "./commands/ListPredictorBacktestExportJobsCommand"; +export * from "./pagination/ListPredictorBacktestExportJobsPaginator"; export * from "./commands/ListPredictorsCommand"; export * from "./pagination/ListPredictorsPaginator"; export * from "./commands/ListTagsForResourceCommand"; diff --git a/clients/client-forecast/models/models_0.ts b/clients/client-forecast/models/models_0.ts index d28db642c1ee8..daa73d84def03 100644 --- a/clients/client-forecast/models/models_0.ts +++ b/clients/client-forecast/models/models_0.ts @@ -378,12 +378,9 @@ export namespace ResourceNotFoundException { } /** - *

    The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role - * that Amazon Forecast can assume to access the file(s). Optionally, includes - * an AWS Key Management Service (KMS) key. This object is part of the DataSource object that - * is submitted in the CreateDatasetImportJob request, and part of the - * DataDestination object that is submitted in the - * CreateForecastExportJob request.

    + *

    The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role that + * Amazon Forecast can assume to access the file(s). Optionally, includes an AWS Key Management Service (KMS) key. This + * object is part of the DataSource object that is submitted in the CreateDatasetImportJob request, and part of the DataDestination object.

    */ export interface S3Config { /** @@ -593,9 +590,8 @@ export namespace CreateForecastResponse { } /** - *

    The destination for an exported forecast, an AWS Identity and Access Management (IAM) role that allows - * Amazon Forecast to access the location and, optionally, an AWS Key Management Service (KMS) key. This object is - * submitted in the CreateForecastExportJob request.

    + *

    The destination for an export job, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast + * to access the location and, optionally, an AWS Key Management Service (KMS) key.

    */ export interface DataDestination { /** @@ -1538,6 +1534,80 @@ export namespace CreatePredictorResponse { }); } +export interface CreatePredictorBacktestExportJobRequest { + /** + *

    The name for the backtest export job.

    + */ + PredictorBacktestExportJobName: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the predictor that you want to export.

    + */ + PredictorArn: string | undefined; + + /** + *

    The destination for an export job, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast + * to access the location and, optionally, an AWS Key Management Service (KMS) key.

    + */ + Destination: DataDestination | undefined; + + /** + *

    Optional metadata to help you categorize and organize your backtests. Each tag consists + * of a key and an optional value, both of which you define. Tag keys and values are case + * sensitive.

    + *

    The following restrictions apply to tags:

    + *
      + *
    • + *

      For each resource, each tag key must be unique and each tag key must have one + * value.

      + *
    • + *
    • + *

      Maximum number of tags per resource: 50.

      + *
    • + *
    • + *

      Maximum key length: 128 Unicode characters in UTF-8.

      + *
    • + *
    • + *

      Maximum value length: 256 Unicode characters in UTF-8.

      + *
    • + *
    • + *

      Accepted characters: all letters and numbers, spaces representable in UTF-8, and + + * - = . _ : / @. If your tagging schema is used across other services and resources, + * the character restrictions of those services also apply.

      + *
    • + *
    • + *

      Key prefixes cannot include any upper or lowercase combination of + * aws: or AWS:. Values can have this prefix. If a tag + * value has aws as its prefix but the key does not, Forecast considers it + * to be a user tag and will count against the limit of 50 tags. Tags with only the key + * prefix of aws do not count against your tags per resource limit. You + * cannot edit or delete tag keys with this prefix.

      + *
    • + *
    + */ + Tags?: Tag[]; +} + +export namespace CreatePredictorBacktestExportJobRequest { + export const filterSensitiveLog = (obj: CreatePredictorBacktestExportJobRequest): any => ({ + ...obj, + }); +} + +export interface CreatePredictorBacktestExportJobResponse { + /** + *

    The Amazon Resource Name (ARN) of the predictor backtest export job that you want to + * export.

    + */ + PredictorBacktestExportJobArn?: string; +} + +export namespace CreatePredictorBacktestExportJobResponse { + export const filterSensitiveLog = (obj: CreatePredictorBacktestExportJobResponse): any => ({ + ...obj, + }); +} + export interface DeleteDatasetRequest { /** *

    The Amazon Resource Name (ARN) of the dataset to delete.

    @@ -1616,6 +1686,19 @@ export namespace DeletePredictorRequest { }); } +export interface DeletePredictorBacktestExportJobRequest { + /** + *

    The Amazon Resource Name (ARN) of the predictor backtest export job to delete.

    + */ + PredictorBacktestExportJobArn: string | undefined; +} + +export namespace DeletePredictorBacktestExportJobRequest { + export const filterSensitiveLog = (obj: DeletePredictorBacktestExportJobRequest): any => ({ + ...obj, + }); +} + export interface DescribeDatasetRequest { /** *

    The Amazon Resource Name (ARN) of the dataset.

    @@ -2430,6 +2513,105 @@ export namespace DescribePredictorResponse { }); } +export interface DescribePredictorBacktestExportJobRequest { + /** + *

    The Amazon Resource Name (ARN) of the predictor backtest export job.

    + */ + PredictorBacktestExportJobArn: string | undefined; +} + +export namespace DescribePredictorBacktestExportJobRequest { + export const filterSensitiveLog = (obj: DescribePredictorBacktestExportJobRequest): any => ({ + ...obj, + }); +} + +export interface DescribePredictorBacktestExportJobResponse { + /** + *

    The Amazon Resource Name (ARN) of the predictor backtest export job.

    + */ + PredictorBacktestExportJobArn?: string; + + /** + *

    The name of the predictor backtest export job.

    + */ + PredictorBacktestExportJobName?: string; + + /** + *

    The Amazon Resource Name (ARN) of the predictor.

    + */ + PredictorArn?: string; + + /** + *

    The destination for an export job, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast + * to access the location and, optionally, an AWS Key Management Service (KMS) key.

    + */ + Destination?: DataDestination; + + /** + *

    Information about any errors that may have occurred during the backtest export.

    + */ + Message?: string; + + /** + *

    The status of the predictor backtest export job. States include:

    + *
      + *
    • + *

      + * ACTIVE + *

      + *
    • + *
    • + *

      + * CREATE_PENDING + *

      + *
    • + *
    • + *

      + * CREATE_IN_PROGRESS + *

      + *
    • + *
    • + *

      + * CREATE_FAILED + *

      + *
    • + *
    • + *

      + * DELETE_PENDING + *

      + *
    • + *
    • + *

      + * DELETE_IN_PROGRESS + *

      + *
    • + *
    • + *

      + * DELETE_FAILED + *

      + *
    • + *
    + */ + Status?: string; + + /** + *

    When the predictor backtest export job was created.

    + */ + CreationTime?: Date; + + /** + *

    When the last successful export job finished.

    + */ + LastModificationTime?: Date; +} + +export namespace DescribePredictorBacktestExportJobResponse { + export const filterSensitiveLog = (obj: DescribePredictorBacktestExportJobResponse): any => ({ + ...obj, + }); +} + export interface GetAccuracyMetricsRequest { /** *

    The Amazon Resource Name (ARN) of the predictor to get metrics for.

    @@ -2457,7 +2639,7 @@ export enum EvaluationType { export interface ErrorMetric { /** *

    - * Forecast types can be quantiles from 0.01 to 0.99 (by increments of 0.01), and the mean. + * The Forecast type used to compute WAPE and RMSE. *

    */ ForecastType?: string; @@ -3294,6 +3476,161 @@ export namespace ListForecastsResponse { }); } +export interface ListPredictorBacktestExportJobsRequest { + /** + *

    If the result of the previous request was truncated, the response includes a NextToken. + * To retrieve the next set of results, use the token in the next request. Tokens expire after + * 24 hours.

    + */ + NextToken?: string; + + /** + *

    The number of items to return in the response.

    + */ + MaxResults?: number; + + /** + *

    An array of filters. For each filter, provide a condition and a match statement. The + * condition is either IS or IS_NOT, which specifies whether to + * include or exclude the predictor backtest export jobs that match the statement from the + * list. The match statement consists of a key and a value.

    + *

    + * Filter properties + *

    + *
      + *
    • + *

      + * Condition - The condition to apply. Valid values are + * IS and IS_NOT. To include the predictor backtest + * export jobs that match the statement, specify IS. To exclude matching + * predictor backtest export jobs, specify IS_NOT.

      + *
    • + *
    • + *

      + * Key - The name of the parameter to filter on. Valid values are + * PredictorBacktestExportJobArn and Status.

      + *
    • + *
    • + *

      + * Value - The value to match.

      + *
    • + *
    + */ + Filters?: Filter[]; +} + +export namespace ListPredictorBacktestExportJobsRequest { + export const filterSensitiveLog = (obj: ListPredictorBacktestExportJobsRequest): any => ({ + ...obj, + }); +} + +/** + *

    Provides a summary of the predictor backtest export job properties used in the ListPredictorBacktestExportJobs operation. To get a complete set of properties, call + * the DescribePredictorBacktestExportJob operation, and provide the listed + * PredictorBacktestExportJobArn.

    + */ +export interface PredictorBacktestExportJobSummary { + /** + *

    The Amazon Resource Name (ARN) of the predictor backtest export job.

    + */ + PredictorBacktestExportJobArn?: string; + + /** + *

    The name of the predictor backtest export job.

    + */ + PredictorBacktestExportJobName?: string; + + /** + *

    The destination for an export job, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast + * to access the location and, optionally, an AWS Key Management Service (KMS) key.

    + */ + Destination?: DataDestination; + + /** + *

    The status of the predictor backtest export job. States include:

    + *
      + *
    • + *

      + * ACTIVE + *

      + *
    • + *
    • + *

      + * CREATE_PENDING + *

      + *
    • + *
    • + *

      + * CREATE_IN_PROGRESS + *

      + *
    • + *
    • + *

      + * CREATE_FAILED + *

      + *
    • + *
    • + *

      + * DELETE_PENDING + *

      + *
    • + *
    • + *

      + * DELETE_IN_PROGRESS + *

      + *
    • + *
    • + *

      + * DELETE_FAILED + *

      + *
    • + *
    + */ + Status?: string; + + /** + *

    Information about any errors that may have occurred during the backtest export.

    + */ + Message?: string; + + /** + *

    When the predictor backtest export job was created.

    + */ + CreationTime?: Date; + + /** + *

    When the last successful export job finished.

    + */ + LastModificationTime?: Date; +} + +export namespace PredictorBacktestExportJobSummary { + export const filterSensitiveLog = (obj: PredictorBacktestExportJobSummary): any => ({ + ...obj, + }); +} + +export interface ListPredictorBacktestExportJobsResponse { + /** + *

    An array of objects that summarize the properties of each predictor backtest export + * job.

    + */ + PredictorBacktestExportJobs?: PredictorBacktestExportJobSummary[]; + + /** + *

    Returns this token if the response is truncated. To retrieve the next + * set of results, use the token in the next request.

    + */ + NextToken?: string; +} + +export namespace ListPredictorBacktestExportJobsResponse { + export const filterSensitiveLog = (obj: ListPredictorBacktestExportJobsResponse): any => ({ + ...obj, + }); +} + export interface ListPredictorsRequest { /** *

    If the result of the previous request was truncated, the response includes a diff --git a/clients/client-forecast/pagination/ListPredictorBacktestExportJobsPaginator.ts b/clients/client-forecast/pagination/ListPredictorBacktestExportJobsPaginator.ts new file mode 100644 index 0000000000000..7548bba46d00c --- /dev/null +++ b/clients/client-forecast/pagination/ListPredictorBacktestExportJobsPaginator.ts @@ -0,0 +1,57 @@ +import { Forecast } from "../Forecast"; +import { ForecastClient } from "../ForecastClient"; +import { + ListPredictorBacktestExportJobsCommand, + ListPredictorBacktestExportJobsCommandInput, + ListPredictorBacktestExportJobsCommandOutput, +} from "../commands/ListPredictorBacktestExportJobsCommand"; +import { ForecastPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: ForecastClient, + input: ListPredictorBacktestExportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPredictorBacktestExportJobsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Forecast, + input: ListPredictorBacktestExportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPredictorBacktestExportJobs(input, ...args); +}; +export async function* paginateListPredictorBacktestExportJobs( + config: ForecastPaginationConfiguration, + input: ListPredictorBacktestExportJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListPredictorBacktestExportJobsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Forecast) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ForecastClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Forecast | ForecastClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-forecast/protocols/Aws_json1_1.ts b/clients/client-forecast/protocols/Aws_json1_1.ts index 397e787441c45..b1a13a1310b8c 100644 --- a/clients/client-forecast/protocols/Aws_json1_1.ts +++ b/clients/client-forecast/protocols/Aws_json1_1.ts @@ -9,6 +9,10 @@ import { CreateForecastExportJobCommandInput, CreateForecastExportJobCommandOutput, } from "../commands/CreateForecastExportJobCommand"; +import { + CreatePredictorBacktestExportJobCommandInput, + CreatePredictorBacktestExportJobCommandOutput, +} from "../commands/CreatePredictorBacktestExportJobCommand"; import { CreatePredictorCommandInput, CreatePredictorCommandOutput } from "../commands/CreatePredictorCommand"; import { DeleteDatasetCommandInput, DeleteDatasetCommandOutput } from "../commands/DeleteDatasetCommand"; import { DeleteDatasetGroupCommandInput, DeleteDatasetGroupCommandOutput } from "../commands/DeleteDatasetGroupCommand"; @@ -21,6 +25,10 @@ import { DeleteForecastExportJobCommandInput, DeleteForecastExportJobCommandOutput, } from "../commands/DeleteForecastExportJobCommand"; +import { + DeletePredictorBacktestExportJobCommandInput, + DeletePredictorBacktestExportJobCommandOutput, +} from "../commands/DeletePredictorBacktestExportJobCommand"; import { DeletePredictorCommandInput, DeletePredictorCommandOutput } from "../commands/DeletePredictorCommand"; import { DescribeDatasetCommandInput, DescribeDatasetCommandOutput } from "../commands/DescribeDatasetCommand"; import { @@ -36,6 +44,10 @@ import { DescribeForecastExportJobCommandInput, DescribeForecastExportJobCommandOutput, } from "../commands/DescribeForecastExportJobCommand"; +import { + DescribePredictorBacktestExportJobCommandInput, + DescribePredictorBacktestExportJobCommandOutput, +} from "../commands/DescribePredictorBacktestExportJobCommand"; import { DescribePredictorCommandInput, DescribePredictorCommandOutput } from "../commands/DescribePredictorCommand"; import { GetAccuracyMetricsCommandInput, GetAccuracyMetricsCommandOutput } from "../commands/GetAccuracyMetricsCommand"; import { ListDatasetGroupsCommandInput, ListDatasetGroupsCommandOutput } from "../commands/ListDatasetGroupsCommand"; @@ -49,6 +61,10 @@ import { ListForecastExportJobsCommandOutput, } from "../commands/ListForecastExportJobsCommand"; import { ListForecastsCommandInput, ListForecastsCommandOutput } from "../commands/ListForecastsCommand"; +import { + ListPredictorBacktestExportJobsCommandInput, + ListPredictorBacktestExportJobsCommandOutput, +} from "../commands/ListPredictorBacktestExportJobsCommand"; import { ListPredictorsCommandInput, ListPredictorsCommandOutput } from "../commands/ListPredictorsCommand"; import { ListTagsForResourceCommandInput, @@ -70,6 +86,8 @@ import { CreateForecastExportJobResponse, CreateForecastRequest, CreateForecastResponse, + CreatePredictorBacktestExportJobRequest, + CreatePredictorBacktestExportJobResponse, CreatePredictorRequest, CreatePredictorResponse, DataDestination, @@ -82,6 +100,7 @@ import { DeleteDatasetRequest, DeleteForecastExportJobRequest, DeleteForecastRequest, + DeletePredictorBacktestExportJobRequest, DeletePredictorRequest, DescribeDatasetGroupRequest, DescribeDatasetGroupResponse, @@ -93,6 +112,8 @@ import { DescribeForecastExportJobResponse, DescribeForecastRequest, DescribeForecastResponse, + DescribePredictorBacktestExportJobRequest, + DescribePredictorBacktestExportJobResponse, DescribePredictorRequest, DescribePredictorResponse, EncryptionConfig, @@ -123,12 +144,15 @@ import { ListForecastExportJobsResponse, ListForecastsRequest, ListForecastsResponse, + ListPredictorBacktestExportJobsRequest, + ListPredictorBacktestExportJobsResponse, ListPredictorsRequest, ListPredictorsResponse, ListTagsForResourceRequest, ListTagsForResourceResponse, Metrics, ParameterRanges, + PredictorBacktestExportJobSummary, PredictorExecution, PredictorExecutionDetails, PredictorSummary, @@ -239,6 +263,19 @@ export const serializeAws_json1_1CreatePredictorCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreatePredictorBacktestExportJobCommand = async ( + input: CreatePredictorBacktestExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AmazonForecast.CreatePredictorBacktestExportJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreatePredictorBacktestExportJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteDatasetCommand = async ( input: DeleteDatasetCommandInput, context: __SerdeContext @@ -317,6 +354,19 @@ export const serializeAws_json1_1DeletePredictorCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeletePredictorBacktestExportJobCommand = async ( + input: DeletePredictorBacktestExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AmazonForecast.DeletePredictorBacktestExportJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeletePredictorBacktestExportJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeDatasetCommand = async ( input: DescribeDatasetCommandInput, context: __SerdeContext @@ -395,6 +445,19 @@ export const serializeAws_json1_1DescribePredictorCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribePredictorBacktestExportJobCommand = async ( + input: DescribePredictorBacktestExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AmazonForecast.DescribePredictorBacktestExportJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribePredictorBacktestExportJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetAccuracyMetricsCommand = async ( input: GetAccuracyMetricsCommandInput, context: __SerdeContext @@ -473,6 +536,19 @@ export const serializeAws_json1_1ListForecastsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListPredictorBacktestExportJobsCommand = async ( + input: ListPredictorBacktestExportJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AmazonForecast.ListPredictorBacktestExportJobs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListPredictorBacktestExportJobsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListPredictorsCommand = async ( input: ListPredictorsCommandInput, context: __SerdeContext @@ -1044,6 +1120,93 @@ const deserializeAws_json1_1CreatePredictorCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreatePredictorBacktestExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreatePredictorBacktestExportJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreatePredictorBacktestExportJobResponse(data, context); + const response: CreatePredictorBacktestExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreatePredictorBacktestExportJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidInputException": + case "com.amazonaws.forecast#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.forecast#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.forecast#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_json1_1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.forecast#ResourceInUseException": + response = { + ...(await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.forecast#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DeleteDatasetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1452,6 +1615,74 @@ const deserializeAws_json1_1DeletePredictorCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeletePredictorBacktestExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeletePredictorBacktestExportJobCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeletePredictorBacktestExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeletePredictorBacktestExportJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidInputException": + case "com.amazonaws.forecast#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.forecast#ResourceInUseException": + response = { + ...(await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.forecast#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DescribeDatasetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1830,6 +2061,69 @@ const deserializeAws_json1_1DescribePredictorCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribePredictorBacktestExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribePredictorBacktestExportJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribePredictorBacktestExportJobResponse(data, context); + const response: DescribePredictorBacktestExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribePredictorBacktestExportJobCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidInputException": + case "com.amazonaws.forecast#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.forecast#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1GetAccuracyMetricsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2200,6 +2494,69 @@ const deserializeAws_json1_1ListForecastsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListPredictorBacktestExportJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListPredictorBacktestExportJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListPredictorBacktestExportJobsResponse(data, context); + const response: ListPredictorBacktestExportJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListPredictorBacktestExportJobsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidInputException": + case "com.amazonaws.forecast#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.forecast#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1ListPredictorsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2725,6 +3082,22 @@ const serializeAws_json1_1CreateForecastRequest = (input: CreateForecastRequest, }; }; +const serializeAws_json1_1CreatePredictorBacktestExportJobRequest = ( + input: CreatePredictorBacktestExportJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.Destination !== undefined && { + Destination: serializeAws_json1_1DataDestination(input.Destination, context), + }), + ...(input.PredictorArn !== undefined && { PredictorArn: input.PredictorArn }), + ...(input.PredictorBacktestExportJobName !== undefined && { + PredictorBacktestExportJobName: input.PredictorBacktestExportJobName, + }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreatePredictorRequest = (input: CreatePredictorRequest, context: __SerdeContext): any => { return { ...(input.AlgorithmArn !== undefined && { AlgorithmArn: input.AlgorithmArn }), @@ -2808,6 +3181,17 @@ const serializeAws_json1_1DeleteForecastRequest = (input: DeleteForecastRequest, }; }; +const serializeAws_json1_1DeletePredictorBacktestExportJobRequest = ( + input: DeletePredictorBacktestExportJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.PredictorBacktestExportJobArn !== undefined && { + PredictorBacktestExportJobArn: input.PredictorBacktestExportJobArn, + }), + }; +}; + const serializeAws_json1_1DeletePredictorRequest = (input: DeletePredictorRequest, context: __SerdeContext): any => { return { ...(input.PredictorArn !== undefined && { PredictorArn: input.PredictorArn }), @@ -2853,6 +3237,17 @@ const serializeAws_json1_1DescribeForecastRequest = (input: DescribeForecastRequ }; }; +const serializeAws_json1_1DescribePredictorBacktestExportJobRequest = ( + input: DescribePredictorBacktestExportJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.PredictorBacktestExportJobArn !== undefined && { + PredictorBacktestExportJobArn: input.PredictorBacktestExportJobArn, + }), + }; +}; + const serializeAws_json1_1DescribePredictorRequest = ( input: DescribePredictorRequest, context: __SerdeContext @@ -3039,6 +3434,17 @@ const serializeAws_json1_1ListForecastsRequest = (input: ListForecastsRequest, c }; }; +const serializeAws_json1_1ListPredictorBacktestExportJobsRequest = ( + input: ListPredictorBacktestExportJobsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1Filters(input.Filters, context) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListPredictorsRequest = (input: ListPredictorsRequest, context: __SerdeContext): any => { return { ...(input.Filters !== undefined && { Filters: serializeAws_json1_1Filters(input.Filters, context) }), @@ -3256,6 +3662,18 @@ const deserializeAws_json1_1CreateForecastResponse = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1CreatePredictorBacktestExportJobResponse = ( + output: any, + context: __SerdeContext +): CreatePredictorBacktestExportJobResponse => { + return { + PredictorBacktestExportJobArn: + output.PredictorBacktestExportJobArn !== undefined && output.PredictorBacktestExportJobArn !== null + ? output.PredictorBacktestExportJobArn + : undefined, + } as any; +}; + const deserializeAws_json1_1CreatePredictorResponse = ( output: any, context: __SerdeContext @@ -3512,6 +3930,37 @@ const deserializeAws_json1_1DescribeForecastResponse = ( } as any; }; +const deserializeAws_json1_1DescribePredictorBacktestExportJobResponse = ( + output: any, + context: __SerdeContext +): DescribePredictorBacktestExportJobResponse => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + Destination: + output.Destination !== undefined && output.Destination !== null + ? deserializeAws_json1_1DataDestination(output.Destination, context) + : undefined, + LastModificationTime: + output.LastModificationTime !== undefined && output.LastModificationTime !== null + ? new Date(Math.round(output.LastModificationTime * 1000)) + : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + PredictorArn: output.PredictorArn !== undefined && output.PredictorArn !== null ? output.PredictorArn : undefined, + PredictorBacktestExportJobArn: + output.PredictorBacktestExportJobArn !== undefined && output.PredictorBacktestExportJobArn !== null + ? output.PredictorBacktestExportJobArn + : undefined, + PredictorBacktestExportJobName: + output.PredictorBacktestExportJobName !== undefined && output.PredictorBacktestExportJobName !== null + ? output.PredictorBacktestExportJobName + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeAws_json1_1DescribePredictorResponse = ( output: any, context: __SerdeContext @@ -3890,6 +4339,19 @@ const deserializeAws_json1_1ListForecastsResponse = (output: any, context: __Ser } as any; }; +const deserializeAws_json1_1ListPredictorBacktestExportJobsResponse = ( + output: any, + context: __SerdeContext +): ListPredictorBacktestExportJobsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + PredictorBacktestExportJobs: + output.PredictorBacktestExportJobs !== undefined && output.PredictorBacktestExportJobs !== null + ? deserializeAws_json1_1PredictorBacktestExportJobs(output.PredictorBacktestExportJobs, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListPredictorsResponse = (output: any, context: __SerdeContext): ListPredictorsResponse => { return { NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, @@ -3941,6 +4403,43 @@ const deserializeAws_json1_1ParameterRanges = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1PredictorBacktestExportJobs = ( + output: any, + context: __SerdeContext +): PredictorBacktestExportJobSummary[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PredictorBacktestExportJobSummary(entry, context)); +}; + +const deserializeAws_json1_1PredictorBacktestExportJobSummary = ( + output: any, + context: __SerdeContext +): PredictorBacktestExportJobSummary => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + Destination: + output.Destination !== undefined && output.Destination !== null + ? deserializeAws_json1_1DataDestination(output.Destination, context) + : undefined, + LastModificationTime: + output.LastModificationTime !== undefined && output.LastModificationTime !== null + ? new Date(Math.round(output.LastModificationTime * 1000)) + : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + PredictorBacktestExportJobArn: + output.PredictorBacktestExportJobArn !== undefined && output.PredictorBacktestExportJobArn !== null + ? output.PredictorBacktestExportJobArn + : undefined, + PredictorBacktestExportJobName: + output.PredictorBacktestExportJobName !== undefined && output.PredictorBacktestExportJobName !== null + ? output.PredictorBacktestExportJobName + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeAws_json1_1PredictorEvaluationResults = (output: any, context: __SerdeContext): EvaluationResult[] => { return (output || []).map((entry: any) => deserializeAws_json1_1EvaluationResult(entry, context)); }; diff --git a/clients/client-fsx/FSx.ts b/clients/client-fsx/FSx.ts index 2db2a8d0df98b..a46b66a68c6c1 100644 --- a/clients/client-fsx/FSx.ts +++ b/clients/client-fsx/FSx.ts @@ -189,7 +189,7 @@ export class FSx extends FSxClient { * *

    For more information about backing up Amazon FSx for Lustre file systems, * see Working with FSx for Lustre backups.

    - *

    For more information about backing up Amazon FSx for Lustre file systems, + *

    For more information about backing up Amazon FSx for Windows file systems, * see Working with FSx for Windows backups.

    * *

    If a backup with the specified client request token exists, and the parameters @@ -252,9 +252,9 @@ export class FSx extends FSxClient { * exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A * CreateDataRepositoryTask operation will fail if a data repository is not * linked to the FSx file system. To learn more about data repository tasks, see - * Using Data Repository Tasks. + * Data Repository Tasks. * To learn more about linking a data repository to your file system, see - * Setting the Export Prefix.

    + * Linking your file system to an S3 bucket.

    */ public createDataRepositoryTask( args: CreateDataRepositoryTaskCommandInput, @@ -904,6 +904,9 @@ export class FSx extends FSxClient { *

    DailyAutomaticBackupStartTime

    * *
  • + *

    StorageCapacity

    + *
  • + *
  • *

    WeeklyMaintenanceStartTime

    *
  • * diff --git a/clients/client-fsx/commands/CreateBackupCommand.ts b/clients/client-fsx/commands/CreateBackupCommand.ts index 119af1b0d99bf..4f57d7384364a 100644 --- a/clients/client-fsx/commands/CreateBackupCommand.ts +++ b/clients/client-fsx/commands/CreateBackupCommand.ts @@ -36,7 +36,7 @@ export type CreateBackupCommandOutput = CreateBackupResponse & __MetadataBearer; * *

    For more information about backing up Amazon FSx for Lustre file systems, * see Working with FSx for Lustre backups.

    - *

    For more information about backing up Amazon FSx for Lustre file systems, + *

    For more information about backing up Amazon FSx for Windows file systems, * see Working with FSx for Windows backups.

    * *

    If a backup with the specified client request token exists, and the parameters diff --git a/clients/client-fsx/commands/CreateDataRepositoryTaskCommand.ts b/clients/client-fsx/commands/CreateDataRepositoryTaskCommand.ts index 1013490a3e776..b7d61474b1543 100644 --- a/clients/client-fsx/commands/CreateDataRepositoryTaskCommand.ts +++ b/clients/client-fsx/commands/CreateDataRepositoryTaskCommand.ts @@ -27,9 +27,9 @@ export type CreateDataRepositoryTaskCommandOutput = CreateDataRepositoryTaskResp * exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A * CreateDataRepositoryTask operation will fail if a data repository is not * linked to the FSx file system. To learn more about data repository tasks, see - * Using Data Repository Tasks. + * Data Repository Tasks. * To learn more about linking a data repository to your file system, see - * Setting the Export Prefix.

    + * Linking your file system to an S3 bucket.

    */ export class CreateDataRepositoryTaskCommand extends $Command< CreateDataRepositoryTaskCommandInput, diff --git a/clients/client-fsx/commands/UpdateFileSystemCommand.ts b/clients/client-fsx/commands/UpdateFileSystemCommand.ts index e036145650563..67bc34957c868 100644 --- a/clients/client-fsx/commands/UpdateFileSystemCommand.ts +++ b/clients/client-fsx/commands/UpdateFileSystemCommand.ts @@ -58,6 +58,9 @@ export type UpdateFileSystemCommandOutput = UpdateFileSystemResponse & __Metadat *

    DailyAutomaticBackupStartTime

    * *
  • + *

    StorageCapacity

    + *
  • + *
  • *

    WeeklyMaintenanceStartTime

    *
  • * diff --git a/clients/client-fsx/models/models_0.ts b/clients/client-fsx/models/models_0.ts index 22fab3d5e2a07..7a604cbb6caf4 100644 --- a/clients/client-fsx/models/models_0.ts +++ b/clients/client-fsx/models/models_0.ts @@ -616,8 +616,8 @@ export interface WindowsFileSystemConfiguration { *

    An array of one or more DNS aliases that are currently associated with the Amazon FSx file system. * Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. * You can associate up to 50 aliases with a file system at any time. - * You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. - * You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation. + * You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. + * You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation. * You only need to specify the alias name in the request payload. For more information, see * DNS aliases.

    */ @@ -948,6 +948,7 @@ export enum BackupLifecycle { CREATING = "CREATING", DELETED = "DELETED", FAILED = "FAILED", + PENDING = "PENDING", TRANSFERRING = "TRANSFERRING", } @@ -1651,8 +1652,8 @@ export interface CreateFileSystemWindowsConfiguration { *

    An array of one or more DNS alias names that you want to associate with the Amazon FSx file system. * Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. * You can associate up to 50 aliases with a file system at any time. - * You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. - * You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation. + * You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. + * You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation. * You only need to specify the alias name in the request payload.

    *

    For more information, see Working with DNS Aliases and * Walkthrough 5: Using DNS aliases to access your file system, including @@ -2918,13 +2919,32 @@ export interface UpdateFileSystemRequest { ClientRequestToken?: string; /** - *

    Use this parameter to increase the storage capacity of an Amazon FSx for Windows File Server file system. - * Specifies the storage capacity target value, GiB, for the file system you're updating. - * The storage capacity target value must be at least 10 percent (%) greater than the current storage capacity value. - * In order to increase storage capacity, the file system needs to have at least 16 MB/s of throughput capacity. You cannot - * make a storage capacity increase request if there is an existing storage capacity increase request in progress. - * For more information, see - * Managing Storage Capacity.

    + *

    Use this parameter to increase the storage capacity of an Amazon FSx file system. + * Specifies the storage capacity target value, GiB, to increase the storage capacity for the + * file system that you're updating. You cannot make a storage capacity increase request if + * there is an existing storage capacity increase request in progress.

    + *

    For Windows file systems, the storage capacity target value must be at least 10 percent + * (%) greater than the current storage capacity value. In order to increase storage capacity, + * the file system must have at least 16 MB/s of throughput capacity.

    + *

    For Lustre file systems, the storage capacity target value can be the following:

    + *
      + *
    • + *

      For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values + * are in multiples of 2400 GiB. The value must be greater than the current storage capacity.

      + *
    • + *
    • + *

      For PERSISTENT HDD file systems, valid values are multiples of 6000 GiB for + * 12 MB/s/TiB file systems and multiples of 1800 GiB for 40 MB/s/TiB file systems. The values must be greater + * than the current storage capacity.

      + *
    • + *
    • + *

      For SCRATCH_1 file systems, you cannot increase the storage capacity.

      + *
    • + *
    + *

    For more information, see Managing storage + * capacity in the Amazon FSx for Windows File Server User Guide + * and Managing storage and throughput capacity in the Amazon FSx for Lustre + * User Guide.

    */ StorageCapacity?: number; @@ -2950,7 +2970,8 @@ export namespace UpdateFileSystemRequest { } /** - *

    Describes a specific Amazon FSx Administrative Action for the current Windows file system.

    + *

    Describes a specific Amazon FSx administrative action for the current Windows or + * Lustre file system.

    */ export interface AdministrativeAction { /** @@ -2965,13 +2986,27 @@ export interface AdministrativeAction { *

    * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE * task to increase a file system's storage capacity completes successfully, a - * STORAGE_OPTIMIZATION task starts. Storage optimization is the process - * of migrating the file system data to the new, larger disks. You can track the - * storage migration progress using the ProgressPercent property. When - * STORAGE_OPTIMIZATION completes successfully, the parent FILE_SYSTEM_UPDATE - * action status changes to COMPLETED. For more information, see - * Managing Storage Capacity. + * STORAGE_OPTIMIZATION task starts. *

    + *
      + *
    • + *

      For Windows, storage optimization is the process of migrating the file system data + * to the new, larger disks.

      + *
    • + *
    • + *

      For Lustre, storage optimization consists of rebalancing the data across the existing and + * newly added file servers.

      + *
    • + *
    + *

    You can track the storage optimization progress using the + * ProgressPercent property. When + * STORAGE_OPTIMIZATION completes successfully, the parent + * FILE_SYSTEM_UPDATE action status changes to + * COMPLETED. For more information, see Managing + * storage capacity in the Amazon FSx for Windows File Server + * User Guide and Managing storage + * and throughput capacity in the Amazon FSx for Lustre User + * Guide.

    * *
  • *

    @@ -3020,9 +3055,14 @@ export interface AdministrativeAction { *

  • *
  • *

    - * UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon FSx has updated the file system - * with the new storage capacity, and is now performing the storage optimization process. - * For more information, see Managing Storage Capacity.

    + * UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon FSx has + * updated the file system with the new storage capacity, and is now performing the + * storage optimization process. For more information, see + * Managing + * storage capacity in the Amazon FSx for Windows File Server + * User Guide and Managing storage + * and throughput capacity in the Amazon FSx for Lustre User + * Guide.

    *
  • * */ @@ -3114,7 +3154,7 @@ export interface FileSystem { FailureDetails?: FileSystemFailureDetails; /** - *

    The storage capacity of the file system in gigabytes (GB).

    + *

    The storage capacity of the file system in gibibytes (GiB).

    */ StorageCapacity?: number; @@ -3208,7 +3248,19 @@ export namespace FileSystem { } /** - *

    A backup of an Amazon FSx for file system.

    + *

    A backup of an Amazon FSx file system. For more information see:

    + * */ export interface Backup { /** @@ -3225,15 +3277,19 @@ export interface Backup { * *
  • *

    - * CREATING - FSx is creating the backup.

    + * PENDING - For user-initiated backups on Lustre file systems only; Amazon FSx has not started creating the backup.

    + *
  • + *
  • + *

    + * CREATING - Amazon FSx is creating the backup.

    *
  • *
  • *

    - * TRANSFERRING - For Lustre file systems only; FSx is transferring the backup to S3.

    + * TRANSFERRING - For user-initiated backups on Lustre file systems only; Amazon FSx is transferring the backup to S3.

    *
  • *
  • *

    - * DELETED - The backup was deleted is no longer available.

    + * DELETED - Amazon FSx deleted the backup and it is no longer available.

    *
  • *
  • *

    diff --git a/clients/client-gamelift/GameLift.ts b/clients/client-gamelift/GameLift.ts index de6086b417a19..f3065d55db363 100644 --- a/clients/client-gamelift/GameLift.ts +++ b/clients/client-gamelift/GameLift.ts @@ -473,11 +473,11 @@ export class GameLift extends GameLiftClient { * Learn more *

    *

    - * + * * Add FlexMatch to a Game Client *

    *

    - * FlexMatch Events Reference + * FlexMatch Events Reference *

    *

    * Related operations @@ -1242,28 +1242,36 @@ export class GameLift extends GameLiftClient { } /** - *

    Defines a new matchmaking configuration for use with FlexMatch. A matchmaking - * configuration sets out guidelines for matching players and getting the matches into - * games. You can set up multiple matchmaking configurations to handle the scenarios needed - * for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides - * player attributes to support the configuration being used.

    - *

    To create a matchmaking configuration, at a minimum you must specify the following: - * configuration name; a rule set that governs how to evaluate players and find acceptable - * matches; a game session queue to use when placing a new game session for the match; and - * the maximum time allowed for a matchmaking attempt.

    - *

    To track the progress of matchmaking tickets, set up an Amazon Simple Notification Service (SNS) to receive - * notifications, and provide the topic ARN in the matchmaking configuration. An - * alternative method, continuously poling ticket status with DescribeMatchmaking, should only be used for games in development with - * low matchmaking usage.

    + *

    Defines a new matchmaking configuration for use with FlexMatch. Whether your are using + * FlexMatch with GameLift hosting or as a standalone matchmaking service, the matchmaking + * configuration sets out rules for matching players and forming teams. If you're also + * using GameLift hosting, it defines how to start game sessions for each match. Your + * matchmaking system can use multiple configurations to handle different game scenarios. + * All matchmaking requests (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration to use and + * provide player attributes consistent with that configuration.

    + *

    To create a matchmaking configuration, you must provide the following: configuration + * name and FlexMatch mode (with or without GameLift hosting); a rule set that specifies how + * to evaluate players and find acceptable matches; whether player acceptance is required; + * and the maximum time allowed for a matchmaking attempt. When using FlexMatch with GameLift + * hosting, you also need to identify the game session queue to use when starting a game + * session for the match.

    + *

    In addition, you must set up an Amazon Simple Notification Service (SNS) to receive matchmaking notifications, and + * provide the topic ARN in the matchmaking configuration. An alternative method, + * continuously polling ticket status with DescribeMatchmaking, is only + * suitable for games in development with low matchmaking usage.

    *

    * Learn more *

    *

    - * + * + * FlexMatch Developer Guide + *

    + *

    + * * Design a FlexMatch Matchmaker *

    *

    - * + * * Set Up FlexMatch Event Notification *

    *

    @@ -1358,19 +1366,19 @@ export class GameLift extends GameLiftClient { *

      *
    • *

      - * Build a Rule + * Build a Rule * Set *

      *
    • *
    • *

      - * Design a + * Design a * Matchmaker *

      *
    • *
    • *

      - * Matchmaking with + * Matchmaking with * FlexMatch *

      *
    • @@ -2334,7 +2342,7 @@ export class GameLift extends GameLiftClient { *
        *
      • *

        - * Build a Rule + * Build a Rule * Set *

        *
      • @@ -4287,11 +4295,11 @@ export class GameLift extends GameLiftClient { * Learn more *

        *

        - * + * * Add FlexMatch to a Game Client *

        *

        - * + * * Set Up FlexMatch Event Notification *

        *

        @@ -4367,7 +4375,7 @@ export class GameLift extends GameLiftClient { * Learn more *

        *

        - * Setting Up FlexMatch + * Setting Up FlexMatch * Matchmakers *

        *

        @@ -4456,7 +4464,7 @@ export class GameLift extends GameLiftClient { *

          *
        • *

          - * Build a Rule + * Build a Rule * Set *

          *
        • @@ -6545,17 +6553,17 @@ export class GameLift extends GameLiftClient { * a match is formed, the matchmaker creates player sessions for the new players. All * tickets in the match are updated with the game session's connection information, and the * GameSession object is updated to include matchmaker data on the - * new players. For more detail on how match backfill requests are processed, see How + * new players. For more detail on how match backfill requests are processed, see How * Amazon GameLift FlexMatch Works.

          *

          * Learn more *

          *

          - * + * * Backfill Existing Games with FlexMatch *

          *

          - * + * * How GameLift FlexMatch Works *

          *

          @@ -6619,75 +6627,38 @@ export class GameLift extends GameLiftClient { } /** - *

          Uses FlexMatch to create a game match for a group of players based on custom - * matchmaking rules, and starts a new game for the matched players. Each matchmaking - * request specifies the type of match to build (team configuration, rules for an - * acceptable match, etc.). The request also specifies the players to find a match for and - * where to host the new game session for optimal performance. A matchmaking request might - * start with a single player or a group of players who want to play together. FlexMatch - * finds additional players as needed to fill the match. Match type, rules, and the queue - * used to place a new game session are defined in a MatchmakingConfiguration. - *

          + *

          Uses FlexMatch to create a game match for a group of players based on custom matchmaking + * rules. If you're also using GameLift hosting, a new game session is started for the + * matched players. Each matchmaking request identifies one or more players to find a match + * for, and specifies the type of match to build, including the team configuration and the + * rules for an acceptable match. When a matchmaking request identifies a group of players + * who want to play together, FlexMatch finds additional players to fill the match. Match + * type, rules, and other features are defined in a MatchmakingConfiguration.

          *

          To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, - * and include the players to be matched. You must also include a set of player attributes - * relevant for the matchmaking configuration. If successful, a matchmaking ticket is - * returned with status set to QUEUED.

          - *

          Track the status of the ticket to respond as needed and acquire game session - * connection information for successfully completed matches. Ticket status updates are - * tracked using event notification through Amazon Simple Notification Service (SNS), which is defined in the matchmaking - * configuration.

          - *

          - * Processing a matchmaking request -- FlexMatch - * handles a matchmaking request as follows:

          - *
            - *
          1. - *

            Your client code submits a StartMatchmaking request for one or - * more players and tracks the status of the request ticket.

            - *
          2. - *
          3. - *

            FlexMatch uses this ticket and others in process to build an acceptable - * match. When a potential match is identified, all tickets in the proposed match - * are advanced to the next status.

            - *
          4. - *
          5. - *

            If the match requires player acceptance (set in the matchmaking - * configuration), the tickets move into status REQUIRES_ACCEPTANCE. - * This status triggers your client code to solicit acceptance from all players in - * every ticket involved in the match, and then call AcceptMatch - * for each player. If any player rejects or fails to accept the match before a - * specified timeout, the proposed match is dropped (see AcceptMatch - * for more details).

            - *
          6. - *
          7. - *

            Once a match is proposed and accepted, the matchmaking tickets move into - * status PLACING. FlexMatch locates resources for a new game session - * using the game session queue (set in the matchmaking configuration) and creates - * the game session based on the match data.

            - *
          8. - *
          9. - *

            When the match is successfully placed, the matchmaking tickets move into - * COMPLETED status. Connection information (including game - * session endpoint and player session) is added to the matchmaking tickets. - * Matched players can use the connection information to join the game.

            - *
          10. - *
          + * and include the players to be matched. For each player, you must also include the player + * attribute values that are required by the matchmaking configuration (in the rule set). + * If successful, a matchmaking ticket is returned with status set to QUEUED.

          + *

          Track the status of the ticket to respond as needed. If you're also using GameLift + * hosting, a successfully completed ticket contains game session connection information. + * Ticket status updates are tracked using event notification through Amazon Simple Notification Service (SNS), which is + * defined in the matchmaking configuration.

          *

          * Learn more *

          *

          - * + * * Add FlexMatch to a Game Client *

          *

          - * + * * Set Up FlexMatch Event Notification *

          *

          - * + * * FlexMatch Integration Roadmap *

          *

          - * + * * How GameLift FlexMatch Works *

          *

          @@ -6931,7 +6902,7 @@ export class GameLift extends GameLiftClient { * Learn more *

          *

          - * + * * Add FlexMatch to a Game Client *

          *

          @@ -8059,7 +8030,7 @@ export class GameLift extends GameLiftClient { * Learn more *

          *

          - * + * * Design a FlexMatch Matchmaker *

          *

          @@ -8325,7 +8296,7 @@ export class GameLift extends GameLiftClient { *

            *
          • *

            - * Build a Rule + * Build a Rule * Set *

            *
          • diff --git a/clients/client-gamelift/commands/AcceptMatchCommand.ts b/clients/client-gamelift/commands/AcceptMatchCommand.ts index 6066dc052d609..418d62d3752d3 100644 --- a/clients/client-gamelift/commands/AcceptMatchCommand.ts +++ b/clients/client-gamelift/commands/AcceptMatchCommand.ts @@ -44,11 +44,11 @@ export type AcceptMatchCommandOutput = AcceptMatchOutput & __MetadataBearer; * Learn more *

            *

            - * + * * Add FlexMatch to a Game Client *

            *

            - * FlexMatch Events Reference + * FlexMatch Events Reference *

            *

            * Related operations diff --git a/clients/client-gamelift/commands/CreateMatchmakingConfigurationCommand.ts b/clients/client-gamelift/commands/CreateMatchmakingConfigurationCommand.ts index e3f9c4f50e4d4..ee806bf63162e 100644 --- a/clients/client-gamelift/commands/CreateMatchmakingConfigurationCommand.ts +++ b/clients/client-gamelift/commands/CreateMatchmakingConfigurationCommand.ts @@ -21,28 +21,36 @@ export type CreateMatchmakingConfigurationCommandInput = CreateMatchmakingConfig export type CreateMatchmakingConfigurationCommandOutput = CreateMatchmakingConfigurationOutput & __MetadataBearer; /** - *

            Defines a new matchmaking configuration for use with FlexMatch. A matchmaking - * configuration sets out guidelines for matching players and getting the matches into - * games. You can set up multiple matchmaking configurations to handle the scenarios needed - * for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides - * player attributes to support the configuration being used.

            - *

            To create a matchmaking configuration, at a minimum you must specify the following: - * configuration name; a rule set that governs how to evaluate players and find acceptable - * matches; a game session queue to use when placing a new game session for the match; and - * the maximum time allowed for a matchmaking attempt.

            - *

            To track the progress of matchmaking tickets, set up an Amazon Simple Notification Service (SNS) to receive - * notifications, and provide the topic ARN in the matchmaking configuration. An - * alternative method, continuously poling ticket status with DescribeMatchmaking, should only be used for games in development with - * low matchmaking usage.

            + *

            Defines a new matchmaking configuration for use with FlexMatch. Whether your are using + * FlexMatch with GameLift hosting or as a standalone matchmaking service, the matchmaking + * configuration sets out rules for matching players and forming teams. If you're also + * using GameLift hosting, it defines how to start game sessions for each match. Your + * matchmaking system can use multiple configurations to handle different game scenarios. + * All matchmaking requests (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration to use and + * provide player attributes consistent with that configuration.

            + *

            To create a matchmaking configuration, you must provide the following: configuration + * name and FlexMatch mode (with or without GameLift hosting); a rule set that specifies how + * to evaluate players and find acceptable matches; whether player acceptance is required; + * and the maximum time allowed for a matchmaking attempt. When using FlexMatch with GameLift + * hosting, you also need to identify the game session queue to use when starting a game + * session for the match.

            + *

            In addition, you must set up an Amazon Simple Notification Service (SNS) to receive matchmaking notifications, and + * provide the topic ARN in the matchmaking configuration. An alternative method, + * continuously polling ticket status with DescribeMatchmaking, is only + * suitable for games in development with low matchmaking usage.

            *

            * Learn more *

            *

            - * + * + * FlexMatch Developer Guide + *

            + *

            + * * Design a FlexMatch Matchmaker *

            *

            - * + * * Set Up FlexMatch Event Notification *

            *

            diff --git a/clients/client-gamelift/commands/CreateMatchmakingRuleSetCommand.ts b/clients/client-gamelift/commands/CreateMatchmakingRuleSetCommand.ts index 8e840c0b2de54..8de257c75aa86 100644 --- a/clients/client-gamelift/commands/CreateMatchmakingRuleSetCommand.ts +++ b/clients/client-gamelift/commands/CreateMatchmakingRuleSetCommand.ts @@ -37,19 +37,19 @@ export type CreateMatchmakingRuleSetCommandOutput = CreateMatchmakingRuleSetOutp *

              *
            • *

              - * Build a Rule + * Build a Rule * Set *

              *
            • *
            • *

              - * Design a + * Design a * Matchmaker *

              *
            • *
            • *

              - * Matchmaking with + * Matchmaking with * FlexMatch *

              *
            • diff --git a/clients/client-gamelift/commands/DeleteMatchmakingRuleSetCommand.ts b/clients/client-gamelift/commands/DeleteMatchmakingRuleSetCommand.ts index 2d95e0eb9965e..d4f09a3e24daf 100644 --- a/clients/client-gamelift/commands/DeleteMatchmakingRuleSetCommand.ts +++ b/clients/client-gamelift/commands/DeleteMatchmakingRuleSetCommand.ts @@ -30,7 +30,7 @@ export type DeleteMatchmakingRuleSetCommandOutput = DeleteMatchmakingRuleSetOutp *
                *
              • *

                - * Build a Rule + * Build a Rule * Set *

                *
              • diff --git a/clients/client-gamelift/commands/DescribeMatchmakingCommand.ts b/clients/client-gamelift/commands/DescribeMatchmakingCommand.ts index d6f6c940ecd35..20a7d50c3ef1e 100644 --- a/clients/client-gamelift/commands/DescribeMatchmakingCommand.ts +++ b/clients/client-gamelift/commands/DescribeMatchmakingCommand.ts @@ -38,11 +38,11 @@ export type DescribeMatchmakingCommandOutput = DescribeMatchmakingOutput & __Met * Learn more *

                *

                - * + * * Add FlexMatch to a Game Client *

                *

                - * + * * Set Up FlexMatch Event Notification *

                *

                diff --git a/clients/client-gamelift/commands/DescribeMatchmakingConfigurationsCommand.ts b/clients/client-gamelift/commands/DescribeMatchmakingConfigurationsCommand.ts index f3d7eb4beda49..5ad084a0c53b6 100644 --- a/clients/client-gamelift/commands/DescribeMatchmakingConfigurationsCommand.ts +++ b/clients/client-gamelift/commands/DescribeMatchmakingConfigurationsCommand.ts @@ -32,7 +32,7 @@ export type DescribeMatchmakingConfigurationsCommandOutput = DescribeMatchmaking * Learn more *

                *

                - * Setting Up FlexMatch + * Setting Up FlexMatch * Matchmakers *

                *

                diff --git a/clients/client-gamelift/commands/DescribeMatchmakingRuleSetsCommand.ts b/clients/client-gamelift/commands/DescribeMatchmakingRuleSetsCommand.ts index ef2563d8873de..880e8b73c1f86 100644 --- a/clients/client-gamelift/commands/DescribeMatchmakingRuleSetsCommand.ts +++ b/clients/client-gamelift/commands/DescribeMatchmakingRuleSetsCommand.ts @@ -31,7 +31,7 @@ export type DescribeMatchmakingRuleSetsCommandOutput = DescribeMatchmakingRuleSe *

                  *
                • *

                  - * Build a Rule + * Build a Rule * Set *

                  *
                • diff --git a/clients/client-gamelift/commands/StartMatchBackfillCommand.ts b/clients/client-gamelift/commands/StartMatchBackfillCommand.ts index f457b04400dc2..de6a42513b6ae 100644 --- a/clients/client-gamelift/commands/StartMatchBackfillCommand.ts +++ b/clients/client-gamelift/commands/StartMatchBackfillCommand.ts @@ -38,17 +38,17 @@ export type StartMatchBackfillCommandOutput = StartMatchBackfillOutput & __Metad * a match is formed, the matchmaker creates player sessions for the new players. All * tickets in the match are updated with the game session's connection information, and the * GameSession object is updated to include matchmaker data on the - * new players. For more detail on how match backfill requests are processed, see How + * new players. For more detail on how match backfill requests are processed, see How * Amazon GameLift FlexMatch Works.

                  *

                  * Learn more *

                  *

                  - * + * * Backfill Existing Games with FlexMatch *

                  *

                  - * + * * How GameLift FlexMatch Works *

                  *

                  diff --git a/clients/client-gamelift/commands/StartMatchmakingCommand.ts b/clients/client-gamelift/commands/StartMatchmakingCommand.ts index 0b176fc21c2dd..165354b1e8465 100644 --- a/clients/client-gamelift/commands/StartMatchmakingCommand.ts +++ b/clients/client-gamelift/commands/StartMatchmakingCommand.ts @@ -21,75 +21,38 @@ export type StartMatchmakingCommandInput = StartMatchmakingInput; export type StartMatchmakingCommandOutput = StartMatchmakingOutput & __MetadataBearer; /** - *

                  Uses FlexMatch to create a game match for a group of players based on custom - * matchmaking rules, and starts a new game for the matched players. Each matchmaking - * request specifies the type of match to build (team configuration, rules for an - * acceptable match, etc.). The request also specifies the players to find a match for and - * where to host the new game session for optimal performance. A matchmaking request might - * start with a single player or a group of players who want to play together. FlexMatch - * finds additional players as needed to fill the match. Match type, rules, and the queue - * used to place a new game session are defined in a MatchmakingConfiguration. - *

                  + *

                  Uses FlexMatch to create a game match for a group of players based on custom matchmaking + * rules. If you're also using GameLift hosting, a new game session is started for the + * matched players. Each matchmaking request identifies one or more players to find a match + * for, and specifies the type of match to build, including the team configuration and the + * rules for an acceptable match. When a matchmaking request identifies a group of players + * who want to play together, FlexMatch finds additional players to fill the match. Match + * type, rules, and other features are defined in a MatchmakingConfiguration.

                  *

                  To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, - * and include the players to be matched. You must also include a set of player attributes - * relevant for the matchmaking configuration. If successful, a matchmaking ticket is - * returned with status set to QUEUED.

                  - *

                  Track the status of the ticket to respond as needed and acquire game session - * connection information for successfully completed matches. Ticket status updates are - * tracked using event notification through Amazon Simple Notification Service (SNS), which is defined in the matchmaking - * configuration.

                  - *

                  - * Processing a matchmaking request -- FlexMatch - * handles a matchmaking request as follows:

                  - *
                    - *
                  1. - *

                    Your client code submits a StartMatchmaking request for one or - * more players and tracks the status of the request ticket.

                    - *
                  2. - *
                  3. - *

                    FlexMatch uses this ticket and others in process to build an acceptable - * match. When a potential match is identified, all tickets in the proposed match - * are advanced to the next status.

                    - *
                  4. - *
                  5. - *

                    If the match requires player acceptance (set in the matchmaking - * configuration), the tickets move into status REQUIRES_ACCEPTANCE. - * This status triggers your client code to solicit acceptance from all players in - * every ticket involved in the match, and then call AcceptMatch - * for each player. If any player rejects or fails to accept the match before a - * specified timeout, the proposed match is dropped (see AcceptMatch - * for more details).

                    - *
                  6. - *
                  7. - *

                    Once a match is proposed and accepted, the matchmaking tickets move into - * status PLACING. FlexMatch locates resources for a new game session - * using the game session queue (set in the matchmaking configuration) and creates - * the game session based on the match data.

                    - *
                  8. - *
                  9. - *

                    When the match is successfully placed, the matchmaking tickets move into - * COMPLETED status. Connection information (including game - * session endpoint and player session) is added to the matchmaking tickets. - * Matched players can use the connection information to join the game.

                    - *
                  10. - *
                  + * and include the players to be matched. For each player, you must also include the player + * attribute values that are required by the matchmaking configuration (in the rule set). + * If successful, a matchmaking ticket is returned with status set to QUEUED.

                  + *

                  Track the status of the ticket to respond as needed. If you're also using GameLift + * hosting, a successfully completed ticket contains game session connection information. + * Ticket status updates are tracked using event notification through Amazon Simple Notification Service (SNS), which is + * defined in the matchmaking configuration.

                  *

                  * Learn more *

                  *

                  - * + * * Add FlexMatch to a Game Client *

                  *

                  - * + * * Set Up FlexMatch Event Notification *

                  *

                  - * + * * FlexMatch Integration Roadmap *

                  *

                  - * + * * How GameLift FlexMatch Works *

                  *

                  diff --git a/clients/client-gamelift/commands/StopMatchmakingCommand.ts b/clients/client-gamelift/commands/StopMatchmakingCommand.ts index 1c24266dcb344..cdd00339537d5 100644 --- a/clients/client-gamelift/commands/StopMatchmakingCommand.ts +++ b/clients/client-gamelift/commands/StopMatchmakingCommand.ts @@ -37,7 +37,7 @@ export type StopMatchmakingCommandOutput = StopMatchmakingOutput & __MetadataBea * Learn more *

                  *

                  - * + * * Add FlexMatch to a Game Client *

                  *

                  diff --git a/clients/client-gamelift/commands/UpdateMatchmakingConfigurationCommand.ts b/clients/client-gamelift/commands/UpdateMatchmakingConfigurationCommand.ts index 7645beb9cd9ae..718e3ba6b32d9 100644 --- a/clients/client-gamelift/commands/UpdateMatchmakingConfigurationCommand.ts +++ b/clients/client-gamelift/commands/UpdateMatchmakingConfigurationCommand.ts @@ -28,7 +28,7 @@ export type UpdateMatchmakingConfigurationCommandOutput = UpdateMatchmakingConfi * Learn more *

                  *

                  - * + * * Design a FlexMatch Matchmaker *

                  *

                  diff --git a/clients/client-gamelift/commands/ValidateMatchmakingRuleSetCommand.ts b/clients/client-gamelift/commands/ValidateMatchmakingRuleSetCommand.ts index ae428506868d0..ad7c7487cf08d 100644 --- a/clients/client-gamelift/commands/ValidateMatchmakingRuleSetCommand.ts +++ b/clients/client-gamelift/commands/ValidateMatchmakingRuleSetCommand.ts @@ -30,7 +30,7 @@ export type ValidateMatchmakingRuleSetCommandOutput = ValidateMatchmakingRuleSet *

                    *
                  • *

                    - * Build a Rule + * Build a Rule * Set *

                    *
                  • diff --git a/clients/client-gamelift/models/models_0.ts b/clients/client-gamelift/models/models_0.ts index f137e2063f163..15cfca79bad47 100644 --- a/clients/client-gamelift/models/models_0.ts +++ b/clients/client-gamelift/models/models_0.ts @@ -7,6 +7,12 @@ export type AcceptanceType = "ACCEPT" | "REJECT"; *

                    Represents the input for a request operation.

                    */ export interface AcceptMatchInput { + /** + *

                    A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this + * request will fail.

                    + */ + TicketId: string | undefined; + /** *

                    A unique identifier for a player delivering the response. This parameter can include one or multiple * player IDs.

                    @@ -17,12 +23,6 @@ export interface AcceptMatchInput { *

                    Player response to the proposed match.

                    */ AcceptanceType: AcceptanceType | string | undefined; - - /** - *

                    A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this - * request will fail.

                    - */ - TicketId: string | undefined; } export namespace AcceptMatchInput { @@ -216,40 +216,40 @@ export namespace RoutingStrategy { *
                  */ export interface Alias { + /** + *

                  A unique identifier for an alias. Alias IDs are unique within a Region.

                  + */ + AliasId?: string; + /** *

                  A descriptive label that is associated with an alias. Alias names do not need to be unique.

                  */ Name?: string; /** - *

                  A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                  + *

                  Amazon Resource Name (ARN) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.

                  */ - CreationTime?: Date; + AliasArn?: string; /** *

                  A human-readable description of an alias.

                  */ Description?: string; - /** - *

                  The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                  - */ - LastUpdatedTime?: Date; - /** *

                  The routing configuration, including routing type and fleet target, for the alias.

                  */ RoutingStrategy?: RoutingStrategy; /** - *

                  A unique identifier for an alias. Alias IDs are unique within a Region.

                  + *

                  A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                  */ - AliasId?: string; + CreationTime?: Date; /** - *

                  Amazon Resource Name (ARN) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.

                  + *

                  The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                  */ - AliasArn?: string; + LastUpdatedTime?: Date; } export namespace Alias { @@ -266,27 +266,27 @@ export namespace Alias { */ export interface AttributeValue { /** - *

                  For a map of up to 10 data type:value pairs. Maximum length for each string value - * is 100 characters.

                  + *

                  For single string values. Maximum string length is 100 characters.

                  */ - SDM?: { [key: string]: number }; + S?: string; /** *

                  For number values, expressed as double.

                  */ N?: number; - /** - *

                  For single string values. Maximum string length is 100 characters.

                  - */ - S?: string; - /** *

                  For a list of up to 10 strings. Maximum length for each string is 100 characters. * Duplicate values are not recognized; all occurrences of the repeated value after the * first of a repeated value are ignored.

                  */ SL?: string[]; + + /** + *

                  For a map of up to 10 data type:value pairs. Maximum length for each string value + * is 100 characters.

                  + */ + SDM?: { [key: string]: number }; } export namespace AttributeValue { @@ -382,15 +382,25 @@ export enum BuildStatus { */ export interface Build { /** - *

                  Operating system that the game server binaries are built to run on. This value - * determines the type of fleet resources that you can use for this build.

                  + *

                  A unique identifier for a build.

                  */ - OperatingSystem?: OperatingSystem | string; + BuildId?: string; /** - *

                  A unique identifier for a build.

                  + *

                  Amazon Resource Name (ARN) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the + * BuildId value.

                  */ - BuildId?: string; + BuildArn?: string; + + /** + *

                  A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

                  + */ + Name?: string; + + /** + *

                  Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

                  + */ + Version?: string; /** *

                  Current status of the build.

                  @@ -417,22 +427,6 @@ export interface Build { */ Status?: BuildStatus | string; - /** - *

                  Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                  - */ - CreationTime?: Date; - - /** - *

                  Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

                  - */ - Version?: string; - - /** - *

                  Amazon Resource Name (ARN) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the - * BuildId value.

                  - */ - BuildArn?: string; - /** *

                  File size of the uploaded game build, expressed in bytes. When the build status is * INITIALIZED, this value is 0.

                  @@ -440,9 +434,15 @@ export interface Build { SizeOnDisk?: number; /** - *

                  A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

                  + *

                  Operating system that the game server binaries are built to run on. This value + * determines the type of fleet resources that you can use for this build.

                  */ - Name?: string; + OperatingSystem?: OperatingSystem | string; + + /** + *

                  Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                  + */ + CreationTime?: Date; } export namespace Build { @@ -486,19 +486,19 @@ export interface ClaimGameServerInput { */ GameServerGroupName: string | undefined; - /** - *

                  A set of custom game server properties, formatted as a single string value. This data - * is passed to a game client or service when it requests information on game servers using - * ListGameServers or ClaimGameServer.

                  - */ - GameServerData?: string; - /** *

                  A custom string that uniquely identifies the game server to claim. If this parameter * is left empty, GameLift FleetIQ searches for an available game server in the specified game * server group.

                  */ GameServerId?: string; + + /** + *

                  A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

                  + */ + GameServerData?: string; } export namespace ClaimGameServerInput { @@ -559,41 +559,16 @@ export enum GameServerUtilizationStatus { */ export interface GameServer { /** - *

                  Timestamp that indicates when the game server was created with a RegisterGameServer request. The format is a number expressed in Unix - * time as milliseconds (for example "1469498468.057").

                  - */ - RegistrationTime?: Date; - - /** - *

                  Indicates whether the game server is currently available for new games or is busy. Possible statuses include:

                  - *
                    - *
                  • - *

                    - * AVAILABLE - The game server is available to be claimed. A game server that has - * been claimed remains in this status until it reports game hosting activity.

                    - *
                  • - *
                  • - *

                    - * UTILIZED - The game server is currently hosting a game session with players.

                    - *
                  • - *
                  + *

                  A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

                  */ - UtilizationStatus?: GameServerUtilizationStatus | string; + GameServerGroupName?: string; /** *

                  The ARN identifier for the game server group where the game server is located.

                  */ GameServerGroupArn?: string; - /** - *

                  Timestamp that indicates the last time the game server was updated with health status - * using an UpdateGameServer request. The format is a number expressed in - * Unix time as milliseconds (for example "1469498468.057"). After game server - * registration, this property is only changed when a game server update specifies a health - * check value.

                  - */ - LastHealthCheckTime?: Date; - /** *

                  A custom string that uniquely identifies the game server. Game server IDs are * developer-defined and are unique across all game server groups in an AWS @@ -602,10 +577,16 @@ export interface GameServer { GameServerId?: string; /** - *

                  A unique identifier for the game server group where the game server is running. - * Use either the GameServerGroup name or ARN value.

                  + *

                  The unique identifier for the instance where the game server is running. This ID is + * available in the instance metadata. EC2 instance IDs + * use a 17-character format, for example: i-1234567890abcdef0.

                  */ - GameServerGroupName?: string; + InstanceId?: string; + + /** + *

                  The port and IP address that must be used to establish a client connection to the game server.

                  + */ + ConnectionInfo?: string; /** *

                  A set of custom game server properties, formatted as a single string value. This data @@ -625,9 +606,26 @@ export interface GameServer { ClaimStatus?: GameServerClaimStatus | string; /** - *

                  The port and IP address that must be used to establish a client connection to the game server.

                  + *

                  Indicates whether the game server is currently available for new games or is busy. Possible statuses include:

                  + *
                    + *
                  • + *

                    + * AVAILABLE - The game server is available to be claimed. A game server that has + * been claimed remains in this status until it reports game hosting activity.

                    + *
                  • + *
                  • + *

                    + * UTILIZED - The game server is currently hosting a game session with players.

                    + *
                  • + *
                  */ - ConnectionInfo?: string; + UtilizationStatus?: GameServerUtilizationStatus | string; + + /** + *

                  Timestamp that indicates when the game server was created with a RegisterGameServer request. The format is a number expressed in Unix + * time as milliseconds (for example "1469498468.057").

                  + */ + RegistrationTime?: Date; /** *

                  Timestamp that indicates the last time the game server was claimed with a ClaimGameServer request. The format is a number expressed in Unix time @@ -637,11 +635,13 @@ export interface GameServer { LastClaimTime?: Date; /** - *

                  The unique identifier for the instance where the game server is running. This ID is - * available in the instance metadata. EC2 instance IDs - * use a 17-character format, for example: i-1234567890abcdef0.

                  + *

                  Timestamp that indicates the last time the game server was updated with health status + * using an UpdateGameServer request. The format is a number expressed in + * Unix time as milliseconds (for example "1469498468.057"). After game server + * registration, this property is only changed when a game server update specifies a health + * check value.

                  */ - InstanceId?: string; + LastHealthCheckTime?: Date; } export namespace GameServer { @@ -760,17 +760,17 @@ export enum ComparisonOperatorType { export interface Tag { /** *

                  - * The value for a developer-defined key:value pair for tagging an AWS resource. + * The key for a developer-defined key:value pair for tagging an AWS resource. *

                  */ - Value: string | undefined; + Key: string | undefined; /** *

                  - * The key for a developer-defined key:value pair for tagging an AWS resource. + * The value for a developer-defined key:value pair for tagging an AWS resource. *

                  */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -788,6 +788,16 @@ export interface CreateAliasInput { */ Name: string | undefined; + /** + *

                  A human-readable description of the alias.

                  + */ + Description?: string; + + /** + *

                  The routing configuration, including routing type and fleet target, for the alias.

                  + */ + RoutingStrategy: RoutingStrategy | undefined; + /** *

                  A list of labels to assign to the new alias resource. Tags are developer-defined * key-value pairs. Tagging @@ -800,16 +810,6 @@ export interface CreateAliasInput { * tagging limits.

                  */ Tags?: Tag[]; - - /** - *

                  A human-readable description of the alias.

                  - */ - Description?: string; - - /** - *

                  The routing configuration, including routing type and fleet target, for the alias.

                  - */ - RoutingStrategy: RoutingStrategy | undefined; } export namespace CreateAliasInput { @@ -883,12 +883,9 @@ export interface S3Location { Bucket?: string; /** - *

                  The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses - * this information when retrieving files from an S3 bucket that you own. Use this - * parameter to specify a specific version of the file. If not set, the latest version of - * the file is retrieved.

                  + *

                  The name of the zip file that contains the build files or script files.

                  */ - ObjectVersion?: string; + Key?: string; /** *

                  The Amazon Resource Name (ARN) for an IAM role that @@ -897,9 +894,12 @@ export interface S3Location { RoleArn?: string; /** - *

                  The name of the zip file that contains the build files or script files.

                  + *

                  The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses + * this information when retrieving files from an S3 bucket that you own. Use this + * parameter to specify a specific version of the file. If not set, the latest version of + * the file is retrieved.

                  */ - Key?: string; + ObjectVersion?: string; } export namespace S3Location { @@ -913,11 +913,26 @@ export namespace S3Location { */ export interface CreateBuildInput { /** - *

                  Information indicating where your game build files are stored. Use this parameter only - * when creating a build with files stored in an S3 bucket that you own. The storage - * location must specify an S3 bucket name and key. The location must also specify a role - * ARN that you set up to allow Amazon GameLift to access your S3 bucket. The S3 bucket and your - * new build must be in the same Region.

                  + *

                  A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later. + *

                  + */ + Name?: string; + + /** + *

                  Version information that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later. + *

                  + */ + Version?: string; + + /** + *

                  The location where your game build files are stored. Use this parameter only when + * creating a build using files that are stored in an S3 bucket that you own. Identify an + * S3 bucket name and key, which must in the same Region where you're creating a build. + * This parameter must also specify the ARN for an IAM role that you've set up to give + * Amazon GameLift access your S3 bucket. To call this operation with a storage location, you must + * have IAM PassRole permission. For more details on IAM roles and PassRole permissions, + * see + * Set up a role for GameLift access.

                  */ StorageLocation?: S3Location; @@ -930,12 +945,6 @@ export interface CreateBuildInput { */ OperatingSystem?: OperatingSystem | string; - /** - *

                  A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later. - *

                  - */ - Name?: string; - /** *

                  A list of labels to assign to the new build resource. Tags are developer-defined * key-value pairs. Tagging @@ -948,12 +957,6 @@ export interface CreateBuildInput { * tagging limits.

                  */ Tags?: Tag[]; - - /** - *

                  Version information that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later. - *

                  - */ - Version?: string; } export namespace CreateBuildInput { @@ -966,6 +969,11 @@ export namespace CreateBuildInput { *

                  Represents the returned data in response to a request operation.

                  */ export interface CreateBuildOutput { + /** + *

                  The newly created build resource, including a unique build IDs and status.

                  + */ + Build?: Build; + /** *

                  This element is returned only when the operation is called without a storage * location. It contains credentials to use when you are uploading a build file to an S3 @@ -974,11 +982,6 @@ export interface CreateBuildOutput { */ UploadCredentials?: AwsCredentials; - /** - *

                  The newly created build resource, including a unique build IDs and status.

                  - */ - Build?: Build; - /** *

                  Amazon S3 location for your game build file, including bucket name and * key.

                  @@ -1008,11 +1011,9 @@ export enum IpProtocol { */ export interface IpPermission { /** - *

                  A range of allowed IP addresses. This value must be expressed in CIDR notation. - * Example: "000.000.000.000/[subnet mask]" or optionally the shortened - * version "0.0.0.0/[subnet mask]".

                  + *

                  A starting value for a range of allowed port numbers.

                  */ - IpRange: string | undefined; + FromPort: number | undefined; /** *

                  An ending value for a range of allowed port numbers. Port numbers are end-inclusive. @@ -1021,14 +1022,16 @@ export interface IpPermission { ToPort: number | undefined; /** - *

                  The network communication protocol used by the fleet.

                  + *

                  A range of allowed IP addresses. This value must be expressed in CIDR notation. + * Example: "000.000.000.000/[subnet mask]" or optionally the shortened + * version "0.0.0.0/[subnet mask]".

                  */ - Protocol: IpProtocol | string | undefined; + IpRange: string | undefined; /** - *

                  A starting value for a range of allowed port numbers.

                  + *

                  The network communication protocol used by the fleet.

                  */ - FromPort: number | undefined; + Protocol: IpProtocol | string | undefined; } export namespace IpPermission { @@ -1056,6 +1059,14 @@ export type EC2InstanceType = | "c5.9xlarge" | "c5.large" | "c5.xlarge" + | "c5a.12xlarge" + | "c5a.16xlarge" + | "c5a.24xlarge" + | "c5a.2xlarge" + | "c5a.4xlarge" + | "c5a.8xlarge" + | "c5a.large" + | "c5a.xlarge" | "m3.2xlarge" | "m3.large" | "m3.medium" @@ -1073,6 +1084,14 @@ export type EC2InstanceType = | "m5.8xlarge" | "m5.large" | "m5.xlarge" + | "m5a.12xlarge" + | "m5a.16xlarge" + | "m5a.24xlarge" + | "m5a.2xlarge" + | "m5a.4xlarge" + | "m5a.8xlarge" + | "m5a.large" + | "m5a.xlarge" | "r3.2xlarge" | "r3.4xlarge" | "r3.8xlarge" @@ -1092,6 +1111,14 @@ export type EC2InstanceType = | "r5.8xlarge" | "r5.large" | "r5.xlarge" + | "r5a.12xlarge" + | "r5a.16xlarge" + | "r5a.24xlarge" + | "r5a.2xlarge" + | "r5a.4xlarge" + | "r5a.8xlarge" + | "r5a.large" + | "r5a.xlarge" | "t2.large" | "t2.medium" | "t2.micro" @@ -1232,6 +1259,12 @@ export namespace ServerProcess { *
                */ export interface RuntimeConfiguration { + /** + *

                A collection of server process configurations that describe which server processes to + * run on each instance in a fleet.

                + */ + ServerProcesses?: ServerProcess[]; + /** *

                The maximum number of game sessions with status ACTIVATING to allow on an * instance simultaneously. This setting limits the amount of instance resources that can @@ -1239,12 +1272,6 @@ export interface RuntimeConfiguration { */ MaxConcurrentGameSessionActivations?: number; - /** - *

                A collection of server process configurations that describe which server processes to - * run on each instance in a fleet.

                - */ - ServerProcesses?: ServerProcess[]; - /** *

                The maximum amount of time (in seconds) that a game session can remain in status * ACTIVATING. If the game session is not active before the timeout, @@ -1265,38 +1292,29 @@ export namespace RuntimeConfiguration { */ export interface CreateFleetInput { /** - *

                This parameter is no longer used. Instead, specify server launch parameters in the - * RuntimeConfiguration parameter. (Requests that specify a server launch - * path and launch parameters instead of a runtime configuration will continue to - * work.)

                + *

                A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                */ - ServerLaunchParameters?: string; + Name: string | undefined; /** - *

                Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS - * certificates are used for encrypting traffic between game clients and game servers - * running on GameLift. If this parameter is not specified, the default value, DISABLED, is - * used. This fleet setting cannot be changed once the fleet is created. Learn more at - * Securing Client/Server Communication.

                - *

                Note: This feature requires the AWS Certificate Manager (ACM) service, which is - * available in the AWS global partition but not in all other partitions. When working in a - * partition that does not support this feature, a request for a new fleet with certificate - * generation results fails with a 4xx unsupported Region error.

                - *

                Valid values include:

                - *
                  - *
                • - *

                  - * GENERATED - Generate a TLS/SSL certificate - * for this fleet.

                  - *
                • - *
                • - *

                  - * DISABLED - (default) Do not generate a - * TLS/SSL certificate for this fleet.

                  - *
                • - *
                + *

                A human-readable description of a fleet.

                */ - CertificateConfiguration?: CertificateConfiguration; + Description?: string; + + /** + *

                A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. + * The custom game server build must have been successfully uploaded to Amazon GameLift and be in a + * READY status. This fleet setting cannot be changed once the fleet is + * created.

                + */ + BuildId?: string; + + /** + *

                A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. + * The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting + * cannot be changed once the fleet is created.

                + */ + ScriptId?: string; /** *

                This parameter is no longer used. Instead, specify a server launch path using the @@ -1307,17 +1325,12 @@ export interface CreateFleetInput { ServerLaunchPath?: string; /** - *

                A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                - */ - Name: string | undefined; - - /** - *

                A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The - * VPC must be in the same Region as your fleet. To look up a VPC ID, use the - * VPC Dashboard in the AWS Management Console. - * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

                + *

                This parameter is no longer used. Instead, specify server launch parameters in the + * RuntimeConfiguration parameter. (Requests that specify a server launch + * path and launch parameters instead of a runtime configuration will continue to + * work.)

                */ - PeerVpcId?: string; + ServerLaunchParameters?: string; /** *

                This parameter is no longer used. Instead, to specify where Amazon GameLift should store log @@ -1327,6 +1340,47 @@ export interface CreateFleetInput { */ LogPaths?: string[]; + /** + *

                The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type + * determines the computing resources of each instance in the fleet, including CPU, memory, + * storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. + * See Amazon EC2 Instance Types + * for detailed descriptions.

                + */ + EC2InstanceType: EC2InstanceType | string | undefined; + + /** + *

                Range of IP addresses and port settings that permit inbound traffic to access game + * sessions that are running on the fleet. For fleets using a custom game build, this + * parameter is required before game sessions running on the fleet can accept connections. + * For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime + * servers. You can specify multiple permission settings or add more by updating the + * fleet.

                + */ + EC2InboundPermissions?: IpPermission[]; + + /** + *

                A game session protection policy to apply to all instances in this fleet. If this + * parameter is not set, instances in this fleet default to no protection. You can change a + * fleet's protection policy using UpdateFleetAttributes, but this change + * will only affect sessions created after the policy change. You can also set protection + * for individual instances using UpdateGameSession.

                + *
                  + *
                • + *

                  + * NoProtection - The game session can be + * terminated during a scale-down event.

                  + *
                • + *
                • + *

                  + * FullProtection - If the game session is in an + * ACTIVE status, it cannot be terminated during a scale-down + * event.

                  + *
                • + *
                + */ + NewGameSessionProtectionPolicy?: ProtectionPolicy | string; + /** *

                Instructions for launching server processes on each instance in the fleet. Server * processes run either a custom game build executable or a Realtime script. The runtime @@ -1342,49 +1396,12 @@ export interface CreateFleetInput { */ RuntimeConfiguration?: RuntimeConfiguration; - /** - *

                A list of labels to assign to the new fleet resource. Tags are developer-defined - * key-value pairs. Tagging - * AWS resources are useful for resource management, access management and cost allocation. - * For more information, see Tagging AWS Resources in the - * AWS General Reference. Once the resource is created, you can - * use TagResource, UntagResource, and - * ListTagsForResource to add, remove, and view tags. The - * maximum tag limit may be lower than stated. See the AWS General Reference for actual - * tagging limits.

                - */ - Tags?: Tag[]; - - /** - *

                A unique identifier for an AWS IAM role that manages access to your AWS services. - * With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, - * including install scripts, server processes, and daemons (background processes). Create a role or look up a role's - * ARN from the IAM dashboard in the AWS Management Console. - * Learn more about using on-box credentials for your game servers at - * - * Access external resources from a game server.

                - */ - InstanceRoleArn?: string; - /** *

                A policy that limits the number of game sessions an individual player can create over * a span of time for this fleet.

                */ ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; - /** - *

                A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. - * The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting - * cannot be changed once the fleet is created.

                - */ - ScriptId?: string; - - /** - *

                A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift - * fleet with. You can find your account ID in the AWS Management Console under account settings.

                - */ - PeerVpcAwsAccountId?: string; - /** *

                The name of an Amazon CloudWatch metric group to add this fleet to. A metric group * aggregates the metrics for all fleets in the group. Specify an existing metric group @@ -1394,34 +1411,18 @@ export interface CreateFleetInput { MetricGroups?: string[]; /** - *

                A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. - * The custom game server build must have been successfully uploaded to Amazon GameLift and be in a - * READY status. This fleet setting cannot be changed once the fleet is - * created.

                + *

                A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift + * fleet with. You can find your account ID in the AWS Management Console under account settings.

                */ - BuildId?: string; + PeerVpcAwsAccountId?: string; /** - *

                A game session protection policy to apply to all instances in this fleet. If this - * parameter is not set, instances in this fleet default to no protection. You can change a - * fleet's protection policy using UpdateFleetAttributes, but this change - * will only affect sessions created after the policy change. You can also set protection - * for individual instances using UpdateGameSession.

                - *
                  - *
                • - *

                  - * NoProtection - The game session can be - * terminated during a scale-down event.

                  - *
                • - *
                • - *

                  - * FullProtection - If the game session is in an - * ACTIVE status, it cannot be terminated during a scale-down - * event.

                  - *
                • - *
                + *

                A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The + * VPC must be in the same Region as your fleet. To look up a VPC ID, use the + * VPC Dashboard in the AWS Management Console. + * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

                */ - NewGameSessionProtectionPolicy?: ProtectionPolicy | string; + PeerVpcId?: string; /** *

                Indicates whether to use On-Demand instances or Spot instances for this fleet. If @@ -1432,28 +1433,53 @@ export interface CreateFleetInput { FleetType?: FleetType | string; /** - *

                Range of IP addresses and port settings that permit inbound traffic to access game - * sessions that are running on the fleet. For fleets using a custom game build, this - * parameter is required before game sessions running on the fleet can accept connections. - * For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime - * servers. You can specify multiple permission settings or add more by updating the - * fleet.

                + *

                A unique identifier for an AWS IAM role that manages access to your AWS services. + * Fleets with an instance role ARN allow applications that are running on the fleet's instances to assume the role. + * Learn more about using on-box credentials for your game servers at + * + * Access external resources from a game server. To call this operation with instance role ARN, you must have IAM PassRole + * permissions. See IAM policy examples for GameLift.

                */ - EC2InboundPermissions?: IpPermission[]; + InstanceRoleArn?: string; /** - *

                A human-readable description of a fleet.

                + *

                Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS + * certificates are used for encrypting traffic between game clients and game servers + * running on GameLift. If this parameter is not specified, the default value, DISABLED, is + * used. This fleet setting cannot be changed once the fleet is created. Learn more at + * Securing Client/Server Communication.

                + *

                Note: This feature requires the AWS Certificate Manager (ACM) service, which is + * available in the AWS global partition but not in all other partitions. When working in a + * partition that does not support this feature, a request for a new fleet with certificate + * generation results fails with a 4xx unsupported Region error.

                + *

                Valid values include:

                + *
                  + *
                • + *

                  + * GENERATED - Generate a TLS/SSL certificate + * for this fleet.

                  + *
                • + *
                • + *

                  + * DISABLED - (default) Do not generate a + * TLS/SSL certificate for this fleet.

                  + *
                • + *
                */ - Description?: string; + CertificateConfiguration?: CertificateConfiguration; /** - *

                The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type - * determines the computing resources of each instance in the fleet, including CPU, memory, - * storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. - * See Amazon EC2 Instance Types - * for detailed descriptions.

                + *

                A list of labels to assign to the new fleet resource. Tags are developer-defined + * key-value pairs. Tagging + * AWS resources are useful for resource management, access management and cost allocation. + * For more information, see Tagging AWS Resources in the + * AWS General Reference. Once the resource is created, you can + * use TagResource, UntagResource, and + * ListTagsForResource to add, remove, and view tags. The + * maximum tag limit may be lower than stated. See the AWS General Reference for actual + * tagging limits.

                */ - EC2InstanceType: EC2InstanceType | string | undefined; + Tags?: Tag[]; } export namespace CreateFleetInput { @@ -1515,38 +1541,21 @@ export enum FleetAction { */ export interface FleetAttributes { /** - *

                Names of metric groups that this fleet is included in. In Amazon CloudWatch, you - * can view metrics for an individual fleet or aggregated metrics for fleets that are in a - * fleet metric group. A fleet can be included in only one metric group at a - * time.

                - */ - MetricGroups?: string[]; - - /** - *

                Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                - */ - TerminationTime?: Date; - - /** - *

                A unique identifier for an AWS IAM role that manages access to your AWS services. - * With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, - * including install scripts, server processes, and daemons (background processes). Create a role or look up a role's - * ARN from the IAM dashboard in the AWS Management Console. - * Learn more about using on-box credentials for your game servers at - * - * Access external resources from a game server.

                + *

                A unique identifier for a fleet.

                */ - InstanceRoleArn?: string; + FleetId?: string; /** - *

                Indicates whether a TLS/SSL certificate was generated for the fleet.

                + *

                The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the + * FleetId value.

                */ - CertificateConfiguration?: CertificateConfiguration; + FleetArn?: string; /** - *

                A unique identifier for a fleet.

                + *

                Indicates whether the fleet uses on-demand or spot instances. A spot instance in use + * may be interrupted with a two-minute notification.

                */ - FleetId?: string; + FleetType?: FleetType | string; /** *

                EC2 instance type indicating the computing resources of each instance in the @@ -1556,29 +1565,14 @@ export interface FleetAttributes { InstanceType?: EC2InstanceType | string; /** - *

                The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances - * in this fleet. In a GameLift build ARN, the resource ID matches the - * BuildId value.

                - */ - BuildArn?: string; - - /** - *

                A unique identifier for a build.

                - */ - BuildId?: string; - - /** - *

                Game server launch parameters specified for fleets created before 2016-08-04 (or - * AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are - * specified in the fleet's RuntimeConfiguration.

                + *

                Human-readable description of the fleet.

                */ - ServerLaunchParameters?: string; + Description?: string; /** - *

                Operating system of the fleet's computing resources. A fleet's operating system - * depends on the OS specified for the build that is deployed on this fleet.

                + *

                A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                */ - OperatingSystem?: OperatingSystem | string; + Name?: string; /** *

                Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                @@ -1586,15 +1580,9 @@ export interface FleetAttributes { CreationTime?: Date; /** - *

                The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the - * FleetId value.

                - */ - FleetArn?: string; - - /** - *

                List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

                + *

                Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                */ - StoppedActions?: (FleetAction | string)[]; + TerminationTime?: Date; /** *

                Current status of the fleet.

                @@ -1636,9 +1624,21 @@ export interface FleetAttributes { Status?: FleetStatus | string; /** - *

                Human-readable description of the fleet.

                + *

                A unique identifier for a build.

                */ - Description?: string; + BuildId?: string; + + /** + *

                The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances + * in this fleet. In a GameLift build ARN, the resource ID matches the + * BuildId value.

                + */ + BuildArn?: string; + + /** + *

                A unique identifier for a Realtime script.

                + */ + ScriptId?: string; /** *

                The Amazon Resource Name (ARN) associated with the GameLift script resource that is deployed on instances @@ -1648,21 +1648,28 @@ export interface FleetAttributes { ScriptArn?: string; /** - *

                Indicates whether the fleet uses on-demand or spot instances. A spot instance in use - * may be interrupted with a two-minute notification.

                + *

                Path to a game server executable in the fleet's build, specified for fleets created + * before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after + * this date are specified in the fleet's RuntimeConfiguration.

                */ - FleetType?: FleetType | string; + ServerLaunchPath?: string; /** - *

                Fleet policy to limit the number of game sessions an individual player can create - * over a span of time.

                + *

                Game server launch parameters specified for fleets created before 2016-08-04 (or + * AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are + * specified in the fleet's RuntimeConfiguration.

                */ - ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + ServerLaunchParameters?: string; /** - *

                A unique identifier for a Realtime script.

                + *

                Location of default log files. When a server process is shut down, Amazon GameLift captures + * and stores any log files in this location. These logs are in addition to game session + * logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, + * Amazon GameLift automatically uploads logs that are stored on each instance at + * C:\game\logs (for Windows) or /local/game/logs (for + * Linux). Use the Amazon GameLift console to access stored logs.

                */ - ScriptId?: string; + LogPaths?: string[]; /** *

                The type of game session protection to set for all new instances started in the @@ -1684,26 +1691,39 @@ export interface FleetAttributes { NewGameSessionProtectionPolicy?: ProtectionPolicy | string; /** - *

                A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                + *

                Operating system of the fleet's computing resources. A fleet's operating system + * depends on the OS specified for the build that is deployed on this fleet.

                */ - Name?: string; + OperatingSystem?: OperatingSystem | string; /** - *

                Path to a game server executable in the fleet's build, specified for fleets created - * before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after - * this date are specified in the fleet's RuntimeConfiguration.

                + *

                Fleet policy to limit the number of game sessions an individual player can create + * over a span of time.

                */ - ServerLaunchPath?: string; + ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; /** - *

                Location of default log files. When a server process is shut down, Amazon GameLift captures - * and stores any log files in this location. These logs are in addition to game session - * logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, - * Amazon GameLift automatically uploads logs that are stored on each instance at - * C:\game\logs (for Windows) or /local/game/logs (for - * Linux). Use the Amazon GameLift console to access stored logs.

                + *

                Names of metric groups that this fleet is included in. In Amazon CloudWatch, you + * can view metrics for an individual fleet or aggregated metrics for fleets that are in a + * fleet metric group. A fleet can be included in only one metric group at a + * time.

                */ - LogPaths?: string[]; + MetricGroups?: string[]; + + /** + *

                List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

                + */ + StoppedActions?: (FleetAction | string)[]; + + /** + *

                A unique identifier for an AWS IAM role that manages access to your AWS services.

                + */ + InstanceRoleArn?: string; + + /** + *

                Indicates whether a TLS/SSL certificate was generated for the fleet.

                + */ + CertificateConfiguration?: CertificateConfiguration; } export namespace FleetAttributes { @@ -1844,6 +1864,11 @@ export type GameServerGroupInstanceType = * types.

                */ export interface InstanceDefinition { + /** + *

                An EC2 instance type designation.

                + */ + InstanceType: GameServerGroupInstanceType | string | undefined; + /** *

                Instance weighting that indicates how much this instance type contributes to the total * capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the @@ -1853,11 +1878,6 @@ export interface InstanceDefinition { * Default value is "1".

                */ WeightedCapacity?: string; - - /** - *

                An EC2 instance type designation.

                - */ - InstanceType: GameServerGroupInstanceType | string | undefined; } export namespace InstanceDefinition { @@ -1880,17 +1900,17 @@ export interface LaunchTemplateSpecification { */ LaunchTemplateId?: string; + /** + *

                A readable identifier for an existing EC2 launch template.

                + */ + LaunchTemplateName?: string; + /** *

                The version of the EC2 launch template to use. If no version is specified, the * default version will be used. With Amazon EC2, you can specify a default version for a * launch template. If none is set, the default is the first version created.

                */ Version?: string; - - /** - *

                A readable identifier for an existing EC2 launch template.

                - */ - LaunchTemplateName?: string; } export namespace LaunchTemplateSpecification { @@ -1900,12 +1920,28 @@ export namespace LaunchTemplateSpecification { } export interface CreateGameServerGroupInput { + /** + *

                An identifier for the new game server group. This value is used to generate unique ARN + * identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name + * must be unique per Region per AWS account.

                + */ + GameServerGroupName: string | undefined; + /** *

                The Amazon Resource Name (ARN) for an IAM role that * allows Amazon GameLift to access your EC2 Auto Scaling groups.

                */ RoleArn: string | undefined; + /** + *

                The minimum number of instances allowed in the EC2 Auto Scaling group. During + * automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this + * minimum. In production, this value should be set to at least 1. After the Auto Scaling + * group is created, update this value directly in the Auto Scaling group using the AWS + * console or APIs.

                + */ + MinSize: number | undefined; + /** *

                The maximum number of instances allowed in the EC2 Auto Scaling group. During * automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum. @@ -1915,25 +1951,15 @@ export interface CreateGameServerGroupInput { MaxSize: number | undefined; /** - *

                Configuration settings to define a scaling policy for the Auto Scaling group that is - * optimized for game hosting. The scaling policy uses the metric - * "PercentUtilizedGameServers" to maintain a buffer of idle game servers - * that can immediately accommodate new games and players. After the Auto Scaling group is - * created, update this value directly in the Auto Scaling group using the AWS console or - * APIs.

                - */ - AutoScalingPolicy?: GameServerGroupAutoScalingPolicy; - - /** - *

                A list of labels to assign to the new game server group resource. Tags are - * developer-defined key-value pairs. Tagging AWS resources is useful for resource - * management, access management, and cost allocation. For more information, see Tagging AWS - * Resources in the AWS General Reference. Once the - * resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, - * and view tags, respectively. The maximum tag limit may be lower than stated. See the - * AWS General Reference for actual tagging limits.

                + *

                The EC2 launch template that contains configuration settings and game server code to + * be deployed to all instances in the game server group. You can specify the template + * using either the template name or ID. For help with creating a launch template, see + * Creating a Launch + * Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling + * User Guide. After the Auto Scaling group is created, update this value + * directly in the Auto Scaling group using the AWS console or APIs.

                */ - Tags?: Tag[]; + LaunchTemplate: LaunchTemplateSpecification | undefined; /** *

                The EC2 instance types and sizes to use in the Auto Scaling group. The instance @@ -1948,11 +1974,14 @@ export interface CreateGameServerGroupInput { InstanceDefinitions: InstanceDefinition[] | undefined; /** - *

                An identifier for the new game server group. This value is used to generate unique ARN - * identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name - * must be unique per Region per AWS account.

                + *

                Configuration settings to define a scaling policy for the Auto Scaling group that is + * optimized for game hosting. The scaling policy uses the metric + * "PercentUtilizedGameServers" to maintain a buffer of idle game servers + * that can immediately accommodate new games and players. After the Auto Scaling group is + * created, update this value directly in the Auto Scaling group using the AWS console or + * APIs.

                */ - GameServerGroupName: string | undefined; + AutoScalingPolicy?: GameServerGroupAutoScalingPolicy; /** *

                Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the @@ -1984,45 +2013,36 @@ export interface CreateGameServerGroupInput { */ BalancingStrategy?: BalancingStrategy | string; + /** + *

                A flag that indicates whether instances in the game server group are protected + * from early termination. Unprotected instances that have active game servers running might + * be terminated during a scale-down event, causing players to be dropped from the game. + * Protected instances cannot be terminated while there are active game servers running except + * in the event of a forced game server group deletion (see ). An exception to this is with Spot + * Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

                + */ + GameServerProtectionPolicy?: GameServerProtectionPolicy | string; + /** *

                A list of virtual private cloud (VPC) subnets to use with instances in the game server * group. By default, all GameLift FleetIQ-supported Availability Zones are used. You can use this - * parameter to specify VPCs that you've set up. This property cannot be updated after the + * parameter to specify VPCs that you've set up. This property cannot be updated after the * game server group is created, and the corresponding Auto Scaling group will always use * the property value that is set with this request, even if the Auto Scaling group is - * updated directly

                + * updated directly.

                */ VpcSubnets?: string[]; /** - *

                The EC2 launch template that contains configuration settings and game server code to - * be deployed to all instances in the game server group. You can specify the template - * using either the template name or ID. For help with creating a launch template, see - * Creating a Launch - * Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling - * User Guide. After the Auto Scaling group is created, update this value - * directly in the Auto Scaling group using the AWS console or APIs.

                - */ - LaunchTemplate: LaunchTemplateSpecification | undefined; - - /** - *

                The minimum number of instances allowed in the EC2 Auto Scaling group. During - * automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this - * minimum. In production, this value should be set to at least 1. After the Auto Scaling - * group is created, update this value directly in the Auto Scaling group using the AWS - * console or APIs.

                - */ - MinSize: number | undefined; - - /** - *

                A flag that indicates whether instances in the game server group are protected - * from early termination. Unprotected instances that have active game servers running might - * be terminated during a scale-down event, causing players to be dropped from the game. - * Protected instances cannot be terminated while there are active game servers running except - * in the event of a forced game server group deletion (see ). An exception to this is with Spot - * Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

                + *

                A list of labels to assign to the new game server group resource. Tags are + * developer-defined key-value pairs. Tagging AWS resources is useful for resource + * management, access management, and cost allocation. For more information, see Tagging AWS + * Resources in the AWS General Reference. Once the + * resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, + * and view tags, respectively. The maximum tag limit may be lower than stated. See the + * AWS General Reference for actual tagging limits.

                */ - GameServerProtectionPolicy?: GameServerProtectionPolicy | string; + Tags?: Tag[]; } export namespace CreateGameServerGroupInput { @@ -2101,9 +2121,10 @@ export enum GameServerGroupAction { */ export interface GameServerGroup { /** - *

                A timestamp that indicates when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                + *

                A developer-defined identifier for the game server group. The name is unique for each + * Region in each AWS account.

                */ - CreationTime?: Date; + GameServerGroupName?: string; /** *

                A generated unique ID for the game server group.

                @@ -2111,31 +2132,56 @@ export interface GameServerGroup { GameServerGroupArn?: string; /** - *

                A flag that indicates whether instances in the game server group are protected - * from early termination. Unprotected instances that have active game servers running might - * be terminated during a scale-down event, causing players to be dropped from the game. - * Protected instances cannot be terminated while there are active game servers running except - * in the event of a forced game server group deletion (see ). An exception to this is with Spot - * Instances, which can be terminated by AWS regardless of protection status.

                + *

                The Amazon Resource Name (ARN) for an IAM role that + * allows Amazon GameLift to access your EC2 Auto Scaling groups.

                */ - GameServerProtectionPolicy?: GameServerProtectionPolicy | string; + RoleArn?: string; /** - *

                A timestamp that indicates when this game server group was last updated.

                + *

                The set of EC2 instance types that GameLift FleetIQ can use when balancing and automatically + * scaling instances in the corresponding Auto Scaling group.

                */ - LastUpdatedTime?: Date; + InstanceDefinitions?: InstanceDefinition[]; /** - *

                A developer-defined identifier for the game server group. The name is unique for each - * Region in each AWS account.

                + *

                Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the + * game server group. Method options include the following:

                + *
                  + *
                • + *

                  + * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot + * Instances are unavailable or not viable for game hosting, the game server group + * provides no hosting capacity until Spot Instances can again be used. Until then, + * no new instances are started, and the existing nonviable Spot Instances are + * terminated (after current gameplay ends) and are not replaced.

                  + *
                • + *
                • + *

                  + * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in + * the game server group. If Spot Instances are unavailable, the game server group + * continues to provide hosting capacity by falling back to On-Demand Instances. + * Existing nonviable Spot Instances are terminated (after current gameplay ends) + * and are replaced with new On-Demand Instances.

                  + *
                • + *
                • + *

                  + * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game + * server group. No Spot Instances are used, even when available, while this + * balancing strategy is in force.

                  + *
                • + *
                */ - GameServerGroupName?: string; + BalancingStrategy?: BalancingStrategy | string; /** - *

                Additional information about the current game server group status. This information - * might provide additional insight on groups that are in ERROR status.

                + *

                A flag that indicates whether instances in the game server group are protected + * from early termination. Unprotected instances that have active game servers running might + * be terminated during a scale-down event, causing players to be dropped from the game. + * Protected instances cannot be terminated while there are active game servers running except + * in the event of a forced game server group deletion (see ). An exception to this is with Spot + * Instances, which can be terminated by AWS regardless of protection status.

                */ - StatusReason?: string; + GameServerProtectionPolicy?: GameServerProtectionPolicy | string; /** *

                A generated unique ID for the EC2 Auto Scaling group that is associated with this @@ -2186,34 +2232,10 @@ export interface GameServerGroup { Status?: GameServerGroupStatus | string; /** - *

                Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the - * game server group. Method options include the following:

                - *
                  - *
                • - *

                  - * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot - * Instances are unavailable or not viable for game hosting, the game server group - * provides no hosting capacity until Spot Instances can again be used. Until then, - * no new instances are started, and the existing nonviable Spot Instances are - * terminated (after current gameplay ends) and are not replaced.

                  - *
                • - *
                • - *

                  - * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in - * the game server group. If Spot Instances are unavailable, the game server group - * continues to provide hosting capacity by falling back to On-Demand Instances. - * Existing nonviable Spot Instances are terminated (after current gameplay ends) - * and are replaced with new On-Demand Instances.

                  - *
                • - *
                • - *

                  - * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game - * server group. No Spot Instances are used, even when available, while this - * balancing strategy is in force.

                  - *
                • - *
                + *

                Additional information about the current game server group status. This information + * might provide additional insight on groups that are in ERROR status.

                */ - BalancingStrategy?: BalancingStrategy | string; + StatusReason?: string; /** *

                A list of activities that are currently suspended for this game server group. @@ -2222,16 +2244,14 @@ export interface GameServerGroup { SuspendedActions?: (GameServerGroupAction | string)[]; /** - *

                The set of EC2 instance types that GameLift FleetIQ can use when balancing and automatically - * scaling instances in the corresponding Auto Scaling group.

                + *

                A timestamp that indicates when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                */ - InstanceDefinitions?: InstanceDefinition[]; + CreationTime?: Date; /** - *

                The Amazon Resource Name (ARN) for an IAM role that - * allows Amazon GameLift to access your EC2 Auto Scaling groups.

                + *

                A timestamp that indicates when this game server group was last updated.

                */ - RoleArn?: string; + LastUpdatedTime?: Date; } export namespace GameServerGroup { @@ -2265,14 +2285,14 @@ export namespace CreateGameServerGroupOutput { */ export interface GameProperty { /** - *

                The game property value.

                + *

                The game property identifier.

                */ - Value: string | undefined; + Key: string | undefined; /** - *

                The game property identifier.

                + *

                The game property value.

                */ - Key: string | undefined; + Value: string | undefined; } export namespace GameProperty { @@ -2285,6 +2305,12 @@ export namespace GameProperty { *

                Represents the input for a request operation.

                */ export interface CreateGameSessionInput { + /** + *

                A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each + * request must reference either a fleet ID or alias ID, but not both.

                + */ + FleetId?: string; + /** *

                A unique identifier for an alias associated with the fleet to create a game session in. You can use either the * alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but @@ -2303,23 +2329,17 @@ export interface CreateGameSessionInput { Name?: string; /** - *

                A unique identifier for a player or entity creating the game session. This ID is used to enforce a - * resource protection policy (if one exists) that limits the number of concurrent active - * game sessions one player can have.

                - */ - CreatorId?: string; - - /** - *

                Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + *

                Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the * GameSession object with a request to start a new game session (see Start a Game Session).

                */ - GameSessionData?: string; + GameProperties?: GameProperty[]; /** - *

                Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

                + *

                A unique identifier for a player or entity creating the game session. This ID is used to enforce a + * resource protection policy (if one exists) that limits the number of concurrent active + * game sessions one player can have.

                */ - GameProperties?: GameProperty[]; + CreatorId?: string; /** *

                @@ -2342,10 +2362,10 @@ export interface CreateGameSessionInput { IdempotencyToken?: string; /** - *

                A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each - * request must reference either a fleet ID or alias ID, but not both.

                + *

                Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

                */ - FleetId?: string; + GameSessionData?: string; } export namespace CreateGameSessionInput { @@ -2432,11 +2452,6 @@ export enum GameSessionStatusReason { *
              */ export interface GameSession { - /** - *

              The maximum number of players that can be connected simultaneously to the game session.

              - */ - MaximumPlayerSessionCount?: number; - /** *

              A unique identifier for the game session. A game session ARN has the following format: * arn:aws:gamelift:::gamesession//.

              @@ -2444,42 +2459,41 @@ export interface GameSession { GameSessionId?: string; /** - *

              Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + *

              A descriptive label that is associated with a game session. Session names do not need to be unique.

              */ - TerminationTime?: Date; + Name?: string; /** - *

              Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + *

              A unique identifier for a fleet that the game session is running on.

              */ - CreationTime?: Date; + FleetId?: string; /** - *

              A unique identifier for a fleet that the game session is running on.

              + *

              + * The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on. + *

              */ - FleetId?: string; + FleetArn?: string; /** - *

              A unique identifier for a player. This ID is used to enforce a resource protection policy (if one - * exists), that limits the number of game sessions a player can create.

              + *

              Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              */ - CreatorId?: string; + CreationTime?: Date; /** - *

              Indicates whether or not the game session is accepting new players.

              + *

              Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              */ - PlayerSessionCreationPolicy?: PlayerSessionCreationPolicy | string; + TerminationTime?: Date; /** - *

              Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

              + *

              Number of players currently in the game session.

              */ - Port?: number; + CurrentPlayerSessionCount?: number; /** - *

              Provides additional information about game session status. INTERRUPTED - * indicates that the game session was hosted on a spot instance that was reclaimed, - * causing the active game session to be terminated.

              + *

              The maximum number of players that can be connected simultaneously to the game session.

              */ - StatusReason?: GameSessionStatusReason | string; + MaximumPlayerSessionCount?: number; /** *

              Current status of the game session. A game session must have an ACTIVE @@ -2488,9 +2502,11 @@ export interface GameSession { Status?: GameSessionStatus | string; /** - *

              IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

              + *

              Provides additional information about game session status. INTERRUPTED + * indicates that the game session was hosted on a spot instance that was reclaimed, + * causing the active game session to be terminated.

              */ - IpAddress?: string; + StatusReason?: GameSessionStatusReason | string; /** *

              Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the @@ -2500,11 +2516,9 @@ export interface GameSession { GameProperties?: GameProperty[]; /** - *

              - * The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on. - *

              + *

              IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

              */ - FleetArn?: string; + IpAddress?: string; /** *

              DNS identifier assigned to the instance that is running the game session. Values have @@ -2522,6 +2536,22 @@ export interface GameSession { */ DnsName?: string; + /** + *

              Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

              + */ + Port?: number; + + /** + *

              Indicates whether or not the game session is accepting new players.

              + */ + PlayerSessionCreationPolicy?: PlayerSessionCreationPolicy | string; + + /** + *

              A unique identifier for a player. This ID is used to enforce a resource protection policy (if one + * exists), that limits the number of game sessions a player can create.

              + */ + CreatorId?: string; + /** *

              Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the * GameSession object with a request to start a new game session (see Start a Game Session).

              @@ -2532,21 +2562,11 @@ export interface GameSession { *

              Information about the matchmaking process that was used to create the game session. * It is in JSON syntax, formatted as a string. In addition the matchmaking configuration * used, it contains data on all players assigned to the match, including player attributes - * and team assignments. For more details on matchmaker data, see Match + * and team assignments. For more details on matchmaker data, see Match * Data. Matchmaker data is useful when requesting match backfills, and is * updated whenever new players are added during a successful backfill (see StartMatchBackfill).

              */ MatchmakerData?: string; - - /** - *

              A descriptive label that is associated with a game session. Session names do not need to be unique.

              - */ - Name?: string; - - /** - *

              Number of players currently in the game session.

              - */ - CurrentPlayerSessionCount?: number; } export namespace GameSession { @@ -2736,6 +2756,16 @@ export namespace PlayerLatencyPolicy { *

              Represents the input for a request operation.

              */ export interface CreateGameSessionQueueInput { + /** + *

              A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

              + */ + Name: string | undefined; + + /** + *

              The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

              + */ + TimeoutInSeconds?: number; + /** *

              A collection of latency policies to apply when processing game sessions placement requests with * player latency information. Multiple policies are evaluated in order of the maximum latency value, @@ -2754,11 +2784,6 @@ export interface CreateGameSessionQueueInput { */ Destinations?: GameSessionQueueDestination[]; - /** - *

              A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

              - */ - Name: string | undefined; - /** *

              A list of labels to assign to the new game session queue resource. Tags are developer-defined * key-value pairs. Tagging @@ -2771,11 +2796,6 @@ export interface CreateGameSessionQueueInput { * tagging limits.

              */ Tags?: Tag[]; - - /** - *

              The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

              - */ - TimeoutInSeconds?: number; } export namespace CreateGameSessionQueueInput { @@ -2830,15 +2850,20 @@ export namespace CreateGameSessionQueueInput { */ export interface GameSessionQueue { /** - *

              A list of fleets that can be used to fulfill game session placement requests in the queue. - * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

              + *

              A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

              */ - Destinations?: GameSessionQueueDestination[]; + Name?: string; /** - *

              A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

              + *

              Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift game session queue ARN, the resource ID matches the + * Name value.

              */ - Name?: string; + GameSessionQueueArn?: string; + + /** + *

              The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

              + */ + TimeoutInSeconds?: number; /** *

              A collection of latency policies to apply when processing game sessions placement requests with @@ -2851,16 +2876,11 @@ export interface GameSessionQueue { PlayerLatencyPolicies?: PlayerLatencyPolicy[]; /** - *

              Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift game session queue ARN, the resource ID matches the - * Name value.

              + *

              A list of fleets that can be used to fulfill game session placement requests in the queue. + * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

              */ - GameSessionQueueArn?: string; - - /** - *

              The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

              - */ - TimeoutInSeconds?: number; -} + Destinations?: GameSessionQueueDestination[]; +} export namespace GameSessionQueue { export const filterSensitiveLog = (obj: GameSessionQueue): any => ({ @@ -2884,10 +2904,34 @@ export namespace CreateGameSessionQueueOutput { }); } +export enum FlexMatchMode { + STANDALONE = "STANDALONE", + WITH_QUEUE = "WITH_QUEUE", +} + /** *

              Represents the input for a request operation.

              */ export interface CreateMatchmakingConfigurationInput { + /** + *

              A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a + * matchmaking request or ticket.

              + */ + Name: string | undefined; + + /** + *

              A human-readable description of the matchmaking configuration.

              + */ + Description?: string; + + /** + *

              Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new + * GameLift-hosted game sessions for matches that are created with this matchmaking + * configuration. If FlexMatchMode is set to STANDALONE, do not + * set this parameter.

              + */ + GameSessionQueueArns?: string[]; + /** *

              The maximum duration, in seconds, that a matchmaking ticket can remain in process * before timing out. Requests that fail due to timing out can be resubmitted as @@ -2896,19 +2940,19 @@ export interface CreateMatchmakingConfigurationInput { RequestTimeoutSeconds: number | undefined; /** - *

              The method used to backfill game sessions that are created with this matchmaking - * configuration. Specify MANUAL when your game manages backfill requests - * manually or does not use the match backfill feature. Specify AUTOMATIC to - * have GameLift create a StartMatchBackfill request whenever a game - * session has one or more open slots. Learn more about manual and automatic backfill in - * Backfill Existing Games with FlexMatch.

              + *

              The length of time (in seconds) to wait for players to accept a proposed match, if + * acceptance is required. If any player rejects the match or fails to accept before the + * timeout, the tickets are returned to the ticket pool and continue to be evaluated for an + * acceptable match.

              */ - BackfillMode?: BackfillMode | string; + AcceptanceTimeoutSeconds?: number; /** *

              A flag that determines whether a match that was created with this configuration must - * be accepted by the matched players. To require acceptance, set to - * TRUE.

              + * be accepted by the matched players. To require acceptance, set to TRUE. + * With this option enabled, matchmaking tickets use the status + * REQUIRES_ACCEPTANCE to indicate when a completed potential match is + * waiting for player acceptance.

              */ AcceptanceRequired: boolean | undefined; @@ -2920,72 +2964,83 @@ export interface CreateMatchmakingConfigurationInput { RuleSetName: string | undefined; /** - *

              The length of time (in seconds) to wait for players to accept a proposed match. If any - * player rejects the match or fails to accept before the timeout, the ticket continues to - * look for an acceptable match.

              + *

              An SNS topic ARN that is set up to receive matchmaking notifications.

              */ - AcceptanceTimeoutSeconds?: number; + NotificationTarget?: string; /** *

              The number of player slots in a match to keep open for future players. For example, * assume that the configuration's rule set specifies a match for a single 12-person team. If - * the additional player count is set to 2, only 10 players are initially selected for the match.

              + * the additional player count is set to 2, only 10 players are initially selected for the match. This parameter is not used if FlexMatchMode is set to + * STANDALONE.

              */ AdditionalPlayerCount?: number; /** - *

              Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created - * with this matchmaking configuration. Queues can be located in any Region.

              - */ - GameSessionQueueArns: string[] | undefined; - - /** - *

              A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined - * key-value pairs. Tagging - * AWS resources are useful for resource management, access management and cost allocation. - * For more information, see Tagging AWS Resources in the - * AWS General Reference. Once the resource is created, you can - * use TagResource, UntagResource, and - * ListTagsForResource to add, remove, and view tags. The - * maximum tag limit may be lower than stated. See the AWS General Reference for actual - * tagging limits.

              + *

              Information to be added to all events related to this matchmaking configuration. + *

              */ - Tags?: Tag[]; + CustomEventData?: string; /** - *

              A human-readable description of the matchmaking configuration.

              + *

              A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession + * object that is created for a successful match. This parameter is not used if + * FlexMatchMode is set to STANDALONE.

              */ - Description?: string; + GameProperties?: GameProperty[]; /** *

              A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession - * object that is created for a successful match.

              + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object + * that is created for a successful match. This parameter is not used if + * FlexMatchMode is set to STANDALONE.

              */ GameSessionData?: string; /** - *

              A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

              - */ - GameProperties?: GameProperty[]; - - /** - *

              An SNS topic ARN that is set up to receive matchmaking notifications.

              + *

              The method used to backfill game sessions that are created with this matchmaking + * configuration. Specify MANUAL when your game manages backfill requests + * manually or does not use the match backfill feature. Specify AUTOMATIC to + * have GameLift create a StartMatchBackfill request whenever a game + * session has one or more open slots. Learn more about manual and automatic backfill in + * Backfill Existing Games with FlexMatch. Automatic backfill is not + * available when FlexMatchMode is set to STANDALONE.

              */ - NotificationTarget?: string; + BackfillMode?: BackfillMode | string; /** - *

              A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a - * matchmaking request or ticket.

              + *

              Indicates whether this matchmaking configuration is being used with GameLift hosting or + * as a standalone matchmaking solution.

              + *
                + *
              • + *

                + * STANDALONE - FlexMatch forms matches and returns + * match information, including players and team assignments, in a + * + * MatchmakingSucceeded event.

                + *
              • + *
              • + *

                + * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to + * start a game session for the match.

                + *
              • + *
              */ - Name: string | undefined; + FlexMatchMode?: FlexMatchMode | string; /** - *

              Information to be added to all events related to this matchmaking configuration. - *

              + *

              A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined + * key-value pairs. Tagging + * AWS resources are useful for resource management, access management and cost allocation. + * For more information, see Tagging AWS Resources in the + * AWS General Reference. Once the resource is created, you can + * use TagResource, UntagResource, and + * ListTagsForResource to add, remove, and view tags. The + * maximum tag limit may be lower than stated. See the AWS General Reference for actual + * tagging limits.

              */ - CustomEventData?: string; + Tags?: Tag[]; } export namespace CreateMatchmakingConfigurationInput { @@ -3000,23 +3055,29 @@ export namespace CreateMatchmakingConfigurationInput { */ export interface MatchmakingConfiguration { /** - *

              A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

              + *

              A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a + * matchmaking request or ticket.

              */ - GameProperties?: GameProperty[]; + Name?: string; /** - *

              The length of time (in seconds) to wait for players to accept a proposed match. If any - * player rejects the match or fails to accept before the timeout, the ticket continues to - * look for an acceptable match.

              + *

              Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the + * Name value.

              */ - AcceptanceTimeoutSeconds?: number; + ConfigurationArn?: string; /** - *

              A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a - * matchmaking request or ticket.

              + *

              A descriptive label that is associated with matchmaking configuration.

              */ - Name?: string; + Description?: string; + + /** + *

              Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new + * GameLift-hosted game sessions for matches that are created with this matchmaking + * configuration. Thais property is not set when FlexMatchMode is set to + * STANDALONE.

              + */ + GameSessionQueueArns?: string[]; /** *

              The maximum duration, in seconds, that a matchmaking ticket can remain in process @@ -3026,76 +3087,100 @@ export interface MatchmakingConfiguration { RequestTimeoutSeconds?: number; /** - *

              Information to attach to all events related to the matchmaking configuration.

              + *

              The length of time (in seconds) to wait for players to accept a proposed match, if + * acceptance is required. If any player rejects the match or fails to accept before the + * timeout, the tickets are returned to the ticket pool and continue to be evaluated for an + * acceptable match.

              */ - CustomEventData?: string; + AcceptanceTimeoutSeconds?: number; /** - *

              An SNS topic ARN that is set up to receive matchmaking notifications.

              + *

              A flag that indicates whether a match that was created with this configuration must be + * accepted by the matched players. To require acceptance, set to TRUE. When this option is + * enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate + * when a completed potential match is waiting for player acceptance.

              */ - NotificationTarget?: string; + AcceptanceRequired?: boolean; /** - *

              A flag that indicates whether a match that was created with this configuration must be - * accepted by the matched players. To require acceptance, set to TRUE.

              + *

              A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use + * rule sets that are defined in the same Region.

              */ - AcceptanceRequired?: boolean; + RuleSetName?: string; /** - *

              The method used to backfill game sessions created with this matchmaking configuration. - * MANUAL indicates that the game makes backfill requests or does not use the match - * backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open - * slots. Learn more about manual and automatic backfill in Backfill Existing Games - * with FlexMatch.

              + *

              The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

              */ - BackfillMode?: BackfillMode | string; + RuleSetArn?: string; /** - *

              Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the - * Name value.

              + *

              An SNS topic ARN that is set up to receive matchmaking notifications.

              */ - ConfigurationArn?: string; + NotificationTarget?: string; /** - *

              A descriptive label that is associated with matchmaking configuration.

              + *

              The number of player slots in a match to keep open for future players. For example, + * assume that the configuration's rule set specifies a match for a single 12-person team. If + * the additional player count is set to 2, only 10 players are initially selected for the match. This parameter is not used when FlexMatchMode is set to + * STANDALONE.

              */ - Description?: string; + AdditionalPlayerCount?: number; /** - *

              The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

              + *

              Information to attach to all events related to the matchmaking configuration.

              */ - RuleSetArn?: string; + CustomEventData?: string; /** - *

              Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are - * created with this matchmaking configuration. Queues can be located in any Region.

              + *

              The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              */ - GameSessionQueueArns?: string[]; + CreationTime?: Date; /** - *

              A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + *

              A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession - * object that is created for a successful match.

              + * object that is created for a successful match. This parameter is not used when + * FlexMatchMode is set to STANDALONE.

              */ - GameSessionData?: string; + GameProperties?: GameProperty[]; /** - *

              The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + *

              A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object + * that is created for a successful match. This parameter is not used when + * FlexMatchMode is set to STANDALONE.

              */ - CreationTime?: Date; + GameSessionData?: string; /** - *

              The number of player slots in a match to keep open for future players. For example, - * assume that the configuration's rule set specifies a match for a single 12-person team. If - * the additional player count is set to 2, only 10 players are initially selected for the match.

              + *

              The method used to backfill game sessions created with this matchmaking configuration. + * MANUAL indicates that the game makes backfill requests or does not use the match + * backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open + * slots. Learn more about manual and automatic backfill in Backfill Existing Games + * with FlexMatch. Automatic backfill is not available when + * FlexMatchMode is set to STANDALONE.

              */ - AdditionalPlayerCount?: number; + BackfillMode?: BackfillMode | string; /** - *

              A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use - * rule sets that are defined in the same Region.

              + *

              Indicates whether this matchmaking configuration is being used with GameLift hosting or + * as a standalone matchmaking solution.

              + *
                + *
              • + *

                + * STANDALONE - FlexMatch forms matches and returns + * match information, including players and team assignments, in a + * + * MatchmakingSucceeded event.

                + *
              • + *
              • + *

                + * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to + * start a game session for the match.

                + *
              • + *
              */ - RuleSetName?: string; + FlexMatchMode?: FlexMatchMode | string; } export namespace MatchmakingConfiguration { @@ -3124,6 +3209,13 @@ export namespace CreateMatchmakingConfigurationOutput { *

              Represents the input for a request operation.

              */ export interface CreateMatchmakingRuleSetInput { + /** + *

              A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name + * value. Note that the rule set name is different from the optional name + * field in the rule set body.

              + */ + Name: string | undefined; + /** *

              A collection of matchmaking rules, formatted as a JSON string. Comments are not * allowed in JSON, but most elements support a description field.

              @@ -3142,13 +3234,6 @@ export interface CreateMatchmakingRuleSetInput { * tagging limits.

              */ Tags?: Tag[]; - - /** - *

              A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name - * value. Note that the rule set name is different from the optional name - * field in the rule set body.

              - */ - Name: string | undefined; } export namespace CreateMatchmakingRuleSetInput { @@ -3162,7 +3247,7 @@ export namespace CreateMatchmakingRuleSetInput { * matches. Each rule set describes a type of group to be created and defines the * parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

              *

              A rule set may define the following elements for a match. For detailed information - * and examples showing how to construct a rule set, see Build a FlexMatch Rule + * and examples showing how to construct a rule set, see Build a FlexMatch Rule * Set.

              *
                *
              • @@ -3252,14 +3337,14 @@ export interface CreatePlayerSessionInput { GameSessionId: string | undefined; /** - *

                Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                + *

                A unique identifier for a player. Player IDs are developer-defined.

                */ - PlayerData?: string; + PlayerId: string | undefined; /** - *

                A unique identifier for a player. Player IDs are developer-defined.

                + *

                Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                */ - PlayerId: string | undefined; + PlayerData?: string; } export namespace CreatePlayerSessionInput { @@ -3325,11 +3410,43 @@ export enum PlayerSessionStatus { *
              */ export interface PlayerSession { + /** + *

              A unique identifier for a player session.

              + */ + PlayerSessionId?: string; + + /** + *

              A unique identifier for a player that is associated with this player session.

              + */ + PlayerId?: string; + /** *

              A unique identifier for the game session that the player session is connected to.

              */ GameSessionId?: string; + /** + *

              A unique identifier for a fleet that the player's game session is running on.

              + */ + FleetId?: string; + + /** + *

              + * The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on. + *

              + */ + FleetArn?: string; + + /** + *

              Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + */ + CreationTime?: Date; + + /** + *

              Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + */ + TerminationTime?: Date; + /** *

              Current status of the player session.

              *

              Possible player session statuses include the following:

              @@ -3361,14 +3478,9 @@ export interface PlayerSession { Status?: PlayerSessionStatus | string; /** - *

              Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              - */ - TerminationTime?: Date; - - /** - *

              A unique identifier for a player session.

              + *

              IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

              */ - PlayerSessionId?: string; + IpAddress?: string; /** *

              DNS identifier assigned to the instance that is running the game session. Values have @@ -3386,39 +3498,12 @@ export interface PlayerSession { */ DnsName?: string; - /** - *

              A unique identifier for a player that is associated with this player session.

              - */ - PlayerId?: string; - /** *

              Port number for the game session. To connect to a Amazon GameLift server process, an app * needs both the IP address and port number.

              */ Port?: number; - /** - *

              Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              - */ - CreationTime?: Date; - - /** - *

              A unique identifier for a fleet that the player's game session is running on.

              - */ - FleetId?: string; - - /** - *

              - * The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on. - *

              - */ - FleetArn?: string; - - /** - *

              IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

              - */ - IpAddress?: string; - /** *

              Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

              */ @@ -3490,17 +3575,17 @@ export interface CreatePlayerSessionsInput { GameSessionId: string | undefined; /** - *

              Map of string pairs, each specifying a player ID and a set of developer-defined + *

              List of unique identifiers for the players to be added.

              + */ + PlayerIds: string[] | undefined; + + /** + *

              Map of string pairs, each specifying a player ID and a set of developer-defined * information related to the player. Amazon GameLift does not use this data, so it can be formatted * as needed for use in the game. Player data strings for player IDs not included in the * PlayerIds parameter are ignored.

              */ PlayerDataMap?: { [key: string]: string }; - - /** - *

              List of unique identifiers for the players to be added.

              - */ - PlayerIds: string[] | undefined; } export namespace CreatePlayerSessionsInput { @@ -3526,12 +3611,31 @@ export namespace CreatePlayerSessionsOutput { } export interface CreateScriptInput { + /** + *

              A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later. + *

              + */ + Name?: string; + /** *

              The version that is associated with a build or script. Version strings do not need to be unique. You can use UpdateScript to change this value later. *

              */ Version?: string; + /** + *

              The Amazon S3 location of your Realtime scripts. The storage location must specify the S3 + * bucket name, the zip file name (the "key"), and an IAM role ARN that allows Amazon GameLift to + * access the S3 storage location. The S3 bucket must be in the same Region where you are + * creating a new script. By default, Amazon GameLift uploads the latest version of the zip file; if + * you have S3 object versioning turned on, you can use the ObjectVersion + * parameter to specify an earlier version. To call this operation with a storage location, + * you must have IAM PassRole permission. For more details on IAM roles and PassRole + * permissions, see Set up a role for + * GameLift access.

              + */ + StorageLocation?: S3Location; + /** *

              A data object containing your Realtime scripts and dependencies as a zip file. The zip * file can have one or multiple files. Maximum size of a zip file is 5 MB.

              @@ -3552,23 +3656,6 @@ export interface CreateScriptInput { * tagging limits.

              */ Tags?: Tag[]; - - /** - *

              A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later. - *

              - */ - Name?: string; - - /** - *

              The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is - * stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the - * "key"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 - * bucket must be in the same Region where you want to create a new script. By default, - * Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning - * turned on, you can use the ObjectVersion parameter to specify an earlier - * version.

              - */ - StorageLocation?: S3Location; } export namespace CreateScriptInput { @@ -3612,16 +3699,9 @@ export namespace CreateScriptInput { */ export interface Script { /** - *

              A descriptive label that is associated with a script. Script names do not need to be unique.

              - */ - Name?: string; - - /** - *

              The location in S3 where build or script files are stored for access by Amazon GameLift. This - * location is specified in CreateBuild, CreateScript, - * and UpdateScript requests.

              + *

              A unique identifier for a Realtime script

              */ - StorageLocation?: S3Location; + ScriptId?: string; /** *

              Amazon Resource Name (ARN) that is assigned to a GameLift script resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift script ARN, the resource ID matches the @@ -3629,6 +3709,11 @@ export interface Script { */ ScriptArn?: string; + /** + *

              A descriptive label that is associated with a script. Script names do not need to be unique.

              + */ + Name?: string; + /** *

              The version that is associated with a build or script. Version strings do not need to be unique.

              */ @@ -3646,9 +3731,11 @@ export interface Script { CreationTime?: Date; /** - *

              A unique identifier for a Realtime script

              + *

              The location in S3 where build or script files are stored for access by Amazon GameLift. This + * location is specified in CreateBuild, CreateScript, + * and UpdateScript requests.

              */ - ScriptId?: string; + StorageLocation?: S3Location; } export namespace Script { @@ -3740,20 +3827,15 @@ export namespace CreateVpcPeeringAuthorizationInput { */ export interface VpcPeeringAuthorization { /** - *

              - */ - PeerVpcAwsAccountId?: string; - - /** - *

              Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + *

              A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. + * You can find your Account ID in the AWS Management Console under account settings.

              */ - CreationTime?: Date; + GameLiftAwsAccountId?: string; /** - *

              Time stamp indicating when this authorization expires (24 hours after issuance). - * Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + *

              */ - ExpirationTime?: Date; + PeerVpcAwsAccountId?: string; /** *

              A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The @@ -3764,10 +3846,15 @@ export interface VpcPeeringAuthorization { PeerVpcId?: string; /** - *

              A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. - * You can find your Account ID in the AWS Management Console under account settings.

              + *

              Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              */ - GameLiftAwsAccountId?: string; + CreationTime?: Date; + + /** + *

              Time stamp indicating when this authorization expires (24 hours after issuance). + * Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              + */ + ExpirationTime?: Date; } export namespace VpcPeeringAuthorization { @@ -3797,12 +3884,10 @@ export namespace CreateVpcPeeringAuthorizationOutput { */ export interface CreateVpcPeeringConnectionInput { /** - *

              A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The - * VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the - * VPC Dashboard in the AWS Management Console. - * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

              + *

              A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift + * VPC to peer with.

              */ - PeerVpcId: string | undefined; + FleetId: string | undefined; /** *

              A unique identifier for the AWS account with the VPC that you want to peer your @@ -3812,10 +3897,12 @@ export interface CreateVpcPeeringConnectionInput { PeerVpcAwsAccountId: string | undefined; /** - *

              A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift - * VPC to peer with.

              + *

              A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The + * VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the + * VPC Dashboard in the AWS Management Console. + * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

              */ - FleetId: string | undefined; + PeerVpcId: string | undefined; } export namespace CreateVpcPeeringConnectionInput { @@ -3888,14 +3975,19 @@ export enum GameServerGroupDeleteOption { } export interface DeleteGameServerGroupInput { + /** + *

              A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

              + */ + GameServerGroupName: string | undefined; + /** *

              The type of delete to perform. Options include the following:

              *
                *
              • *

                - * SAFE_DELETE – Terminates the game server group and EC2 Auto - * Scaling group only when it has no game servers that are in UTILIZED - * status.

                + * SAFE_DELETE – (default) Terminates the game server group and + * EC2 Auto Scaling group only when it has no game servers that are in + * UTILIZED status.

                *
              • *
              • *

                @@ -3911,11 +4003,6 @@ export interface DeleteGameServerGroupInput { *

              */ DeleteOption?: GameServerGroupDeleteOption | string; - - /** - *

              A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

              - */ - GameServerGroupName: string | undefined; } export namespace DeleteGameServerGroupInput { @@ -4112,16 +4199,16 @@ export namespace DeleteVpcPeeringConnectionOutput { } export interface DeregisterGameServerInput { - /** - *

              A custom string that uniquely identifies the game server to deregister.

              - */ - GameServerId: string | undefined; - /** *

              A unique identifier for the game server group where the game server is running. * Use either the GameServerGroup name or ARN value.

              */ GameServerGroupName: string | undefined; + + /** + *

              A custom string that uniquely identifies the game server to deregister.

              + */ + GameServerId: string | undefined; } export namespace DeregisterGameServerInput { @@ -4221,12 +4308,6 @@ export namespace DescribeEC2InstanceLimitsInput { * (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.

              */ export interface EC2InstanceLimit { - /** - *

              Number of instances of the specified type that are currently in use by this AWS - * account.

              - */ - CurrentInstances?: number; - /** *

              Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type * determines the computing resources of each instance in the fleet, including CPU, memory, @@ -4236,6 +4317,12 @@ export interface EC2InstanceLimit { */ EC2InstanceType?: EC2InstanceType | string; + /** + *

              Number of instances of the specified type that are currently in use by this AWS + * account.

              + */ + CurrentInstances?: number; + /** *

              Number of instances allowed.

              */ @@ -4270,10 +4357,12 @@ export namespace DescribeEC2InstanceLimitsOutput { */ export interface DescribeFleetAttributesInput { /** - *

              Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet - * IDs.

              + *

              A list of unique fleet identifiers to retrieve attributes for. You can use either the + * fleet ID or ARN value. To retrieve attributes for all current fleets, do not include + * this parameter. If the list of fleet identifiers includes fleets that don't currently + * exist, the request succeeds but no attributes for that fleet are returned.

              */ - NextToken?: string; + FleetIds?: string[]; /** *

              The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet @@ -4282,12 +4371,10 @@ export interface DescribeFleetAttributesInput { Limit?: number; /** - *

              A list of unique fleet identifiers to retrieve attributes for. You can use either the - * fleet ID or ARN value. To retrieve attributes for all current fleets, do not include - * this parameter. If the list of fleet identifiers includes fleets that don't currently - * exist, the request succeeds but no attributes for that fleet are returned.

              + *

              Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet + * IDs.

              */ - FleetIds?: string[]; + NextToken?: string; } export namespace DescribeFleetAttributesInput { @@ -4322,18 +4409,18 @@ export namespace DescribeFleetAttributesOutput { *

              Represents the input for a request operation.

              */ export interface DescribeFleetCapacityInput { - /** - *

              The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet - * IDs.

              - */ - Limit?: number; - /** *

              A unique identifier for a fleet(s) to retrieve capacity information for. You can use either the fleet ID or ARN * value.

              */ FleetIds?: string[]; + /** + *

              The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet + * IDs.

              + */ + Limit?: number; + /** *

              Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet * IDs.

              @@ -4387,21 +4474,19 @@ export namespace DescribeFleetCapacityInput { */ export interface EC2InstanceCounts { /** - *

              Number of instances in the fleet that are no longer active but haven't yet been - * terminated.

              + *

              Ideal number of active instances in the fleet.

              */ - TERMINATING?: number; + DESIRED?: number; /** - *

              Actual number of active instances in the fleet.

              + *

              The minimum value allowed for the fleet's instance count.

              */ - ACTIVE?: number; + MINIMUM?: number; /** - *

              Number of active instances in the fleet that are not currently hosting a game - * session.

              + *

              The maximum value allowed for the fleet's instance count.

              */ - IDLE?: number; + MAXIMUM?: number; /** *

              Number of instances in the fleet that are starting but not yet active.

              @@ -4409,19 +4494,21 @@ export interface EC2InstanceCounts { PENDING?: number; /** - *

              Ideal number of active instances in the fleet.

              + *

              Actual number of active instances in the fleet.

              */ - DESIRED?: number; + ACTIVE?: number; /** - *

              The maximum value allowed for the fleet's instance count.

              + *

              Number of active instances in the fleet that are not currently hosting a game + * session.

              */ - MAXIMUM?: number; + IDLE?: number; /** - *

              The minimum value allowed for the fleet's instance count.

              + *

              Number of instances in the fleet that are no longer active but haven't yet been + * terminated.

              */ - MINIMUM?: number; + TERMINATING?: number; } export namespace EC2InstanceCounts { @@ -4470,9 +4557,9 @@ export namespace EC2InstanceCounts { */ export interface FleetCapacity { /** - *

              Current status of fleet capacity.

              + *

              A unique identifier for a fleet.

              */ - InstanceCounts?: EC2InstanceCounts; + FleetId?: string; /** *

              Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type @@ -4484,9 +4571,9 @@ export interface FleetCapacity { InstanceType?: EC2InstanceType | string; /** - *

              A unique identifier for a fleet.

              + *

              Current status of fleet capacity.

              */ - FleetId?: string; + InstanceCounts?: EC2InstanceCounts; } export namespace FleetCapacity { @@ -4522,9 +4609,9 @@ export namespace DescribeFleetCapacityOutput { */ export interface DescribeFleetEventsInput { /** - *

              Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

              + *

              A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value.

              */ - NextToken?: string; + FleetId: string | undefined; /** *

              Earliest date to retrieve event logs for. If no start time is specified, this call @@ -4535,9 +4622,11 @@ export interface DescribeFleetEventsInput { StartTime?: Date; /** - *

              A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value.

              + *

              Most recent date to retrieve event logs for. If no end time is specified, this call + * returns entries from the specified start time up to the present. Format is a number + * expressed in Unix time as milliseconds (ex: "1469498468.057").

              */ - FleetId: string | undefined; + EndTime?: Date; /** *

              The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

              @@ -4545,11 +4634,9 @@ export interface DescribeFleetEventsInput { Limit?: number; /** - *

              Most recent date to retrieve event logs for. If no end time is specified, this call - * returns entries from the specified start time up to the present. Format is a number - * expressed in Unix time as milliseconds (ex: "1469498468.057").

              + *

              Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

              */ - EndTime?: Date; + NextToken?: string; } export namespace DescribeFleetEventsInput { @@ -4605,28 +4692,11 @@ export interface Event { */ EventId?: string; - /** - *

              Location of stored logs with additional detail that is related to the event. This - * is useful for debugging issues. The URL is valid for 15 minutes. You can also access - * fleet creation logs through the Amazon GameLift console.

              - */ - PreSignedLogUrl?: string; - - /** - *

              Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

              - */ - EventTime?: Date; - /** *

              A unique identifier for an event resource, such as a fleet ID.

              */ ResourceId?: string; - /** - *

              Additional information related to the event.

              - */ - Message?: string; - /** *

              The type of event being logged.

              *

              @@ -4765,6 +4835,23 @@ export interface Event { *

            */ EventCode?: EventCode | string; + + /** + *

            Additional information related to the event.

            + */ + Message?: string; + + /** + *

            Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

            + */ + EventTime?: Date; + + /** + *

            Location of stored logs with additional detail that is related to the event. This + * is useful for debugging issues. The URL is valid for 15 minutes. You can also access + * fleet creation logs through the Amazon GameLift console.

            + */ + PreSignedLogUrl?: string; } export namespace Event { @@ -4777,16 +4864,16 @@ export namespace Event { *

            Represents the returned data in response to a request operation.

            */ export interface DescribeFleetEventsOutput { - /** - *

            Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            - */ - NextToken?: string; - /** *

            A collection of objects containing event log entries for the specified * fleet.

            */ Events?: Event[]; + + /** + *

            Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            + */ + NextToken?: string; } export namespace DescribeFleetEventsOutput { @@ -4897,10 +4984,15 @@ export namespace DescribeFleetUtilizationInput { */ export interface FleetUtilization { /** - *

            The maximum number of players allowed across all game sessions currently being hosted on all - * instances in the fleet.

            + *

            A unique identifier for a fleet.

            */ - MaximumPlayerSessionCount?: number; + FleetId?: string; + + /** + *

            Number of server processes in an ACTIVE status currently running + * across all instances in the fleet

            + */ + ActiveServerProcessCount?: number; /** *

            Number of active game sessions currently being hosted on all instances in the @@ -4915,15 +5007,10 @@ export interface FleetUtilization { CurrentPlayerSessionCount?: number; /** - *

            A unique identifier for a fleet.

            - */ - FleetId?: string; - - /** - *

            Number of server processes in an ACTIVE status currently running - * across all instances in the fleet

            + *

            The maximum number of players allowed across all game sessions currently being hosted on all + * instances in the fleet.

            */ - ActiveServerProcessCount?: number; + MaximumPlayerSessionCount?: number; } export namespace FleetUtilization { @@ -4936,16 +5023,16 @@ export namespace FleetUtilization { *

            Represents the returned data in response to a request operation.

            */ export interface DescribeFleetUtilizationOutput { - /** - *

            Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            - */ - NextToken?: string; - /** *

            A collection of objects containing utilization information for each requested fleet * ID.

            */ FleetUtilization?: FleetUtilization[]; + + /** + *

            Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            + */ + NextToken?: string; } export namespace DescribeFleetUtilizationOutput { @@ -4955,16 +5042,16 @@ export namespace DescribeFleetUtilizationOutput { } export interface DescribeGameServerInput { - /** - *

            A custom string that uniquely identifies the game server information to be retrieved.

            - */ - GameServerId: string | undefined; - /** *

            A unique identifier for the game server group where the game server is running. * Use either the GameServerGroup name or ARN value.

            */ GameServerGroupName: string | undefined; + + /** + *

            A custom string that uniquely identifies the game server information to be retrieved.

            + */ + GameServerId: string | undefined; } export namespace DescribeGameServerInput { @@ -5019,11 +5106,11 @@ export interface DescribeGameServerInstancesInput { GameServerGroupName: string | undefined; /** - *

            - * A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value. - *

            + *

            The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a + * 17-character format, for example: i-1234567890abcdef0. To retrieve all + * instances in the game server group, leave this parameter empty.

            */ - NextToken?: string; + InstanceIds?: string[]; /** *

            @@ -5033,11 +5120,11 @@ export interface DescribeGameServerInstancesInput { Limit?: number; /** - *

            The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a - * 17-character format, for example: i-1234567890abcdef0. To retrieve all - * instances in the game server group, leave this parameter empty.

            + *

            + * A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value. + *

            */ - InstanceIds?: string[]; + NextToken?: string; } export namespace DescribeGameServerInstancesInput { @@ -5112,6 +5199,19 @@ export interface GameServerInstance { */ GameServerGroupName?: string; + /** + *

            A generated unique identifier for the game server group that includes the game + * server instance.

            + */ + GameServerGroupArn?: string; + + /** + *

            The unique identifier for the instance where the game server is running. This ID is + * available in the instance metadata. EC2 instance IDs + * use a 17-character format, for example: i-1234567890abcdef0.

            + */ + InstanceId?: string; + /** *

            * Current status of the game server instance. @@ -5140,19 +5240,6 @@ export interface GameServerInstance { *

          */ InstanceStatus?: GameServerInstanceStatus | string; - - /** - *

          A generated unique identifier for the game server group that includes the game - * server instance.

          - */ - GameServerGroupArn?: string; - - /** - *

          The unique identifier for the instance where the game server is running. This ID is - * available in the instance metadata. EC2 instance IDs - * use a 17-character format, for example: i-1234567890abcdef0.

          - */ - InstanceId?: string; } export namespace GameServerInstance { @@ -5164,17 +5251,17 @@ export namespace GameServerInstance { export interface DescribeGameServerInstancesOutput { /** *

          - * A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list. + * The collection of requested game server instances. *

          */ - NextToken?: string; + GameServerInstances?: GameServerInstance[]; /** *

          - * The collection of requested game server instances. + * A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list. *

          */ - GameServerInstances?: GameServerInstance[]; + NextToken?: string; } export namespace DescribeGameServerInstancesOutput { @@ -5194,16 +5281,9 @@ export interface DescribeGameSessionDetailsInput { FleetId?: string; /** - *

          Game session status to filter results on. Possible game session statuses include - * ACTIVE, TERMINATED, ACTIVATING and - * TERMINATING (the last two are transitory).

          - */ - StatusFilter?: string; - - /** - *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          + *

          A unique identifier for the game session to retrieve.

          */ - NextToken?: string; + GameSessionId?: string; /** *

          A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either @@ -5211,15 +5291,22 @@ export interface DescribeGameSessionDetailsInput { */ AliasId?: string; + /** + *

          Game session status to filter results on. Possible game session statuses include + * ACTIVE, TERMINATED, ACTIVATING and + * TERMINATING (the last two are transitory).

          + */ + StatusFilter?: string; + /** *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          */ Limit?: number; /** - *

          A unique identifier for the game session to retrieve.

          + *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          */ - GameSessionId?: string; + NextToken?: string; } export namespace DescribeGameSessionDetailsInput { @@ -5267,16 +5354,16 @@ export namespace GameSessionDetail { *

          Represents the returned data in response to a request operation.

          */ export interface DescribeGameSessionDetailsOutput { - /** - *

          Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          - */ - NextToken?: string; - /** *

          A collection of objects containing game session properties and the protection policy * currently in force for each session matching the request.

          */ GameSessionDetails?: GameSessionDetail[]; + + /** + *

          Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          + */ + NextToken?: string; } export namespace DescribeGameSessionDetailsOutput { @@ -5375,15 +5462,15 @@ export interface PlayerLatency { PlayerId?: string; /** - *

          Amount of time that represents the time lag experienced by the player when - * connected to the specified Region.

          + *

          Name of the Region that is associated with the latency value.

          */ - LatencyInMilliseconds?: number; + RegionIdentifier?: string; /** - *

          Name of the Region that is associated with the latency value.

          + *

          Amount of time that represents the time lag experienced by the player when + * connected to the specified Region.

          */ - RegionIdentifier?: string; + LatencyInMilliseconds?: number; } export namespace PlayerLatency { @@ -5425,79 +5512,110 @@ export enum GameSessionPlacementState { */ export interface GameSessionPlacement { /** - *

          Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          + *

          A unique identifier for a game session placement.

          */ - StartTime?: Date; + PlacementId?: string; /** - *

          Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

          + *

          A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

          */ - GameSessionData?: string; + GameSessionQueueName?: string; /** - *

          A collection of information on player sessions created in response to the game - * session placement request. These player sessions are created only once a new game - * session is successfully placed (placement status is FULFILLED). This - * information includes the player ID (as provided in the placement request) and the - * corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

          + *

          Current status of the game session placement request.

          + *
            + *
          • + *

            + * PENDING -- The placement request is currently + * in the queue waiting to be processed.

            + *
          • + *
          • + *

            + * FULFILLED -- A new game session and player + * sessions (if requested) have been successfully created. Values for + * GameSessionArn and + * GameSessionRegion are available.

            + *
          • + *
          • + *

            + * CANCELLED -- The placement request was canceled + * with a call to StopGameSessionPlacement.

            + *
          • + *
          • + *

            + * TIMED_OUT -- A new game session was not + * successfully created before the time limit expired. You can resubmit the + * placement request as needed.

            + *
          • + *
          • + *

            + * FAILED -- GameLift is not able to complete the + * process of placing the game session. Common reasons are the + * game session terminated before the placement process was completed, or an unexpected + * internal error.

            + *
          • + *
          */ - PlacedPlayerSessions?: PlacedPlayerSession[]; + Status?: GameSessionPlacementState | string; /** - *

          Time stamp indicating when this request was completed, canceled, or timed - * out.

          + *

          Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

          */ - EndTime?: Date; + GameProperties?: GameProperty[]; /** - *

          Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

          + *

          The maximum number of players that can be connected simultaneously to the game session.

          */ - PlayerLatencies?: PlayerLatency[]; + MaximumPlayerSessionCount?: number; /** - *

          IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is - * FULFILLED).

          + *

          A descriptive label that is associated with a game session. Session names do not need to be unique.

          */ - IpAddress?: string; + GameSessionName?: string; /** - *

          A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

          + *

          A unique identifier for the game session. This value is set once the new game session is placed (placement status is + * FULFILLED).

          */ - GameSessionQueueName?: string; + GameSessionId?: string; /** - *

          Information on the matchmaking process for this game. Data is in JSON syntax, - * formatted as a string. It identifies the matchmaking configuration used to create the - * match, and contains data on all players assigned to the match, including player - * attributes and team assignments. For more details on matchmaker data, see Match - * Data.

          + *

          Identifier for the game session created by this placement request. This value is + * set once the new game session is placed (placement status is FULFILLED). + * This identifier is unique across all Regions. You can use this value as a + * GameSessionId value as needed.

          */ - MatchmakerData?: string; + GameSessionArn?: string; /** - *

          The maximum number of players that can be connected simultaneously to the game session.

          + *

          Name of the Region where the game session created by this placement request is + * running. This value is set once the new game session is placed (placement status is + * FULFILLED).

          */ - MaximumPlayerSessionCount?: number; + GameSessionRegion?: string; /** - *

          A unique identifier for the game session. This value is set once the new game session is placed (placement status is - * FULFILLED).

          + *

          Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

          */ - GameSessionId?: string; + PlayerLatencies?: PlayerLatency[]; /** - *

          Identifier for the game session created by this placement request. This value is - * set once the new game session is placed (placement status is FULFILLED). - * This identifier is unique across all Regions. You can use this value as a - * GameSessionId value as needed.

          + *

          Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          */ - GameSessionArn?: string; + StartTime?: Date; /** - *

          A unique identifier for a game session placement.

          + *

          Time stamp indicating when this request was completed, canceled, or timed + * out.

          */ - PlacementId?: string; + EndTime?: Date; + + /** + *

          IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is + * FULFILLED).

          + */ + IpAddress?: string; /** *

          DNS identifier assigned to the instance that is running the game session. Values have @@ -5516,65 +5634,34 @@ export interface GameSessionPlacement { DnsName?: string; /** - *

          Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

          - */ - GameProperties?: GameProperty[]; - - /** - *

          Name of the Region where the game session created by this placement request is - * running. This value is set once the new game session is placed (placement status is + *

          Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is * FULFILLED).

          */ - GameSessionRegion?: string; + Port?: number; /** - *

          A descriptive label that is associated with a game session. Session names do not need to be unique.

          + *

          A collection of information on player sessions created in response to the game + * session placement request. These player sessions are created only once a new game + * session is successfully placed (placement status is FULFILLED). This + * information includes the player ID (as provided in the placement request) and the + * corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

          */ - GameSessionName?: string; + PlacedPlayerSessions?: PlacedPlayerSession[]; /** - *

          Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is - * FULFILLED).

          + *

          Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

          */ - Port?: number; + GameSessionData?: string; /** - *

          Current status of the game session placement request.

          - *
            - *
          • - *

            - * PENDING -- The placement request is currently - * in the queue waiting to be processed.

            - *
          • - *
          • - *

            - * FULFILLED -- A new game session and player - * sessions (if requested) have been successfully created. Values for - * GameSessionArn and - * GameSessionRegion are available.

            - *
          • - *
          • - *

            - * CANCELLED -- The placement request was canceled - * with a call to StopGameSessionPlacement.

            - *
          • - *
          • - *

            - * TIMED_OUT -- A new game session was not - * successfully created before the time limit expired. You can resubmit the - * placement request as needed.

            - *
          • - *
          • - *

            - * FAILED -- GameLift is not able to complete the - * process of placing the game session. Common reasons are the - * game session terminated before the placement process was completed, or an unexpected - * internal error.

            - *
          • - *
          + *

          Information on the matchmaking process for this game. Data is in JSON syntax, + * formatted as a string. It identifies the matchmaking configuration used to create the + * match, and contains data on all players assigned to the match, including player + * attributes and team assignments. For more details on matchmaker data, see Match + * Data.

          */ - Status?: GameSessionPlacementState | string; + MatchmakerData?: string; } export namespace GameSessionPlacement { @@ -5631,14 +5718,14 @@ export namespace DescribeGameSessionQueuesInput { */ export interface DescribeGameSessionQueuesOutput { /** - *

          A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          + *

          A collection of objects that describe the requested game session queues.

          */ - NextToken?: string; + GameSessionQueues?: GameSessionQueue[]; /** - *

          A collection of objects that describe the requested game session queues.

          + *

          A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          */ - GameSessionQueues?: GameSessionQueue[]; + NextToken?: string; } export namespace DescribeGameSessionQueuesOutput { @@ -5657,19 +5744,15 @@ export interface DescribeGameSessionsInput { FleetId?: string; /** - *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          - */ - Limit?: number; - - /** - *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          + *

          A unique identifier for the game session to retrieve.

          */ - NextToken?: string; + GameSessionId?: string; /** - *

          A unique identifier for the game session to retrieve.

          + *

          A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either + * the alias ID or ARN value.

          */ - GameSessionId?: string; + AliasId?: string; /** *

          Game session status to filter results on. Possible game session statuses include @@ -5679,10 +5762,14 @@ export interface DescribeGameSessionsInput { StatusFilter?: string; /** - *

          A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either - * the alias ID or ARN value.

          + *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          */ - AliasId?: string; + Limit?: number; + + /** + *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          + */ + NextToken?: string; } export namespace DescribeGameSessionsInput { @@ -5695,16 +5782,16 @@ export namespace DescribeGameSessionsInput { *

          Represents the returned data in response to a request operation.

          */ export interface DescribeGameSessionsOutput { - /** - *

          Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          - */ - NextToken?: string; - /** *

          A collection of objects containing game session properties for each session matching * the request.

          */ GameSessions?: GameSession[]; + + /** + *

          Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          + */ + NextToken?: string; } export namespace DescribeGameSessionsOutput { @@ -5717,11 +5804,6 @@ export namespace DescribeGameSessionsOutput { *

          Represents the input for a request operation.

          */ export interface DescribeInstancesInput { - /** - *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          - */ - NextToken?: string; - /** *

          A unique identifier for a fleet to retrieve instance information for. You can use either the fleet ID or ARN * value.

          @@ -5738,6 +5820,11 @@ export interface DescribeInstancesInput { *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          */ Limit?: number; + + /** + *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          + */ + NextToken?: string; } export namespace DescribeInstancesInput { @@ -5758,41 +5845,19 @@ export enum InstanceStatus { */ export interface Instance { /** - *

          EC2 instance type that defines the computing resources of this instance. - *

          + *

          A unique identifier for a fleet that the instance is in.

          */ - Type?: EC2InstanceType | string; + FleetId?: string; /** - *

          IP address that is assigned to the instance.

          + *

          A unique identifier for an instance.

          */ - IpAddress?: string; + InstanceId?: string; /** - *

          Current status of the instance. Possible statuses include the following:

          - *
            - *
          • - *

            - * PENDING -- The instance is in the process of - * being created and launching server processes as defined in the fleet's run-time - * configuration.

            - *
          • - *
          • - *

            - * ACTIVE -- The instance has been successfully - * created and at least one server process has successfully launched and reported - * back to Amazon GameLift that it is ready to host a game session. The instance is now - * considered ready to host game sessions.

            - *
          • - *
          • - *

            - * TERMINATING -- The instance is in the process - * of shutting down. This may happen to reduce capacity during a scaling down event - * or to recycle resources in the event of a problem.

            - *
          • - *
          + *

          IP address that is assigned to the instance.

          */ - Status?: InstanceStatus | string; + IpAddress?: string; /** *

          DNS identifier assigned to the instance that is running the game session. Values have @@ -5811,19 +5876,41 @@ export interface Instance { DnsName?: string; /** - *

          A unique identifier for a fleet that the instance is in.

          + *

          Operating system that is running on this instance.

          */ - FleetId?: string; + OperatingSystem?: OperatingSystem | string; /** - *

          A unique identifier for an instance.

          + *

          EC2 instance type that defines the computing resources of this instance. + *

          */ - InstanceId?: string; + Type?: EC2InstanceType | string; /** - *

          Operating system that is running on this instance.

          + *

          Current status of the instance. Possible statuses include the following:

          + *
            + *
          • + *

            + * PENDING -- The instance is in the process of + * being created and launching server processes as defined in the fleet's run-time + * configuration.

            + *
          • + *
          • + *

            + * ACTIVE -- The instance has been successfully + * created and at least one server process has successfully launched and reported + * back to Amazon GameLift that it is ready to host a game session. The instance is now + * considered ready to host game sessions.

            + *
          • + *
          • + *

            + * TERMINATING -- The instance is in the process + * of shutting down. This may happen to reduce capacity during a scaling down event + * or to recycle resources in the event of a problem.

            + *
          • + *
          */ - OperatingSystem?: OperatingSystem | string; + Status?: InstanceStatus | string; /** *

          Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          @@ -5842,14 +5929,14 @@ export namespace Instance { */ export interface DescribeInstancesOutput { /** - *

          Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          + *

          A collection of objects containing properties for each instance returned.

          */ - NextToken?: string; + Instances?: Instance[]; /** - *

          A collection of objects containing properties for each instance returned.

          + *

          Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          */ - Instances?: Instance[]; + NextToken?: string; } export namespace DescribeInstancesOutput { @@ -5900,18 +5987,21 @@ export namespace MatchedPlayerSession { } /** - *

          Connection information for the new game session that is created with matchmaking. - * (with StartMatchmaking). Once a match is set, the FlexMatch engine - * places the match and creates a new game session for it. This information, including the - * game session endpoint and player sessions for each player in the original matchmaking - * request, is added to the MatchmakingTicket, which can be retrieved by - * calling DescribeMatchmaking.

          + *

          Connection information for a new game session that is created in response to a StartMatchmaking request. Once a match is made, the FlexMatch engine + * creates a new game session for it. This information, including the game session endpoint + * and player sessions for each player in the original matchmaking request, is added to the + * MatchmakingTicket, which can be retrieved by calling DescribeMatchmaking.

          */ export interface GameSessionConnectionInfo { /** - *

          Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

          + *

          Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

          */ - Port?: number; + GameSessionArn?: string; + + /** + *

          IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

          + */ + IpAddress?: string; /** *

          DNS identifier assigned to the instance that is running the game session. Values have @@ -5930,14 +6020,9 @@ export interface GameSessionConnectionInfo { DnsName?: string; /** - *

          Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

          - */ - GameSessionArn?: string; - - /** - *

          IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

          + *

          Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

          */ - IpAddress?: string; + Port?: number; /** *

          A collection of player session IDs, one for each player ID that was included in the @@ -5959,10 +6044,9 @@ export namespace GameSessionConnectionInfo { */ export interface Player { /** - *

          Name of the team that the player is assigned to in a match. Team names are defined - * in a matchmaking rule set.

          + *

          A unique identifier for a player

          */ - Team?: string; + PlayerId?: string; /** *

          A collection of key:value pairs containing player information for use in matchmaking. @@ -5972,6 +6056,12 @@ export interface Player { */ PlayerAttributes?: { [key: string]: AttributeValue }; + /** + *

          Name of the team that the player is assigned to in a match. Team names are defined + * in a matchmaking rule set.

          + */ + Team?: string; + /** *

          Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only * in Regions for which latency is reported.

          @@ -5981,11 +6071,6 @@ export interface Player { *

          */ LatencyInMs?: { [key: string]: number }; - - /** - *

          A unique identifier for a player

          - */ - PlayerId?: string; } export namespace Player { @@ -6011,62 +6096,17 @@ export type MatchmakingConfigurationStatus = * calling DescribeMatchmaking with the ticket ID.

          */ export interface MatchmakingTicket { - /** - *

          Name of the MatchmakingConfiguration that is used with this - * ticket. Matchmaking configurations determine how players are grouped into a match and - * how a new game session is created for the match.

          - */ - ConfigurationName?: string; - - /** - *

          A set of Player objects, each representing a player to find matches - * for. Players are identified by a unique player ID and may include latency data for use - * during matchmaking. If the ticket is in status COMPLETED, the - * Player objects include the team the players were assigned to in the - * resulting match.

          - */ - Players?: Player[]; - - /** - *

          Identifier and connection information of the game session created for the match. - * This information is added to the ticket only after the matchmaking request has been - * successfully completed.

          - */ - GameSessionConnectionInfo?: GameSessionConnectionInfo; - /** *

          A unique identifier for a matchmaking ticket.

          */ TicketId?: string; /** - *

          Code to explain the current status. For example, a status reason may indicate when - * a ticket has returned to SEARCHING status after a proposed match fails to - * receive player acceptances.

          - */ - StatusReason?: string; - - /** - *

          Average amount of time (in seconds) that players are currently waiting for a match. - * If there is not enough recent data, this property may be empty.

          - */ - EstimatedWaitTime?: number; - - /** - *

          Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          - */ - StartTime?: Date; - - /** - *

          Time stamp indicating when this matchmaking request stopped being processed due to - * success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          - */ - EndTime?: Date; - - /** - *

          Additional information about the current status.

          + *

          Name of the MatchmakingConfiguration that is used with this + * ticket. Matchmaking configurations determine how players are grouped into a match and + * how a new game session is created for the match.

          */ - StatusMessage?: string; + ConfigurationName?: string; /** *

          The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket.

          @@ -6129,6 +6169,52 @@ export interface MatchmakingTicket { * */ Status?: MatchmakingConfigurationStatus | string; + + /** + *

          Code to explain the current status. For example, a status reason may indicate when + * a ticket has returned to SEARCHING status after a proposed match fails to + * receive player acceptances.

          + */ + StatusReason?: string; + + /** + *

          Additional information about the current status.

          + */ + StatusMessage?: string; + + /** + *

          Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          + */ + StartTime?: Date; + + /** + *

          Time stamp indicating when this matchmaking request stopped being processed due to + * success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

          + */ + EndTime?: Date; + + /** + *

          A set of Player objects, each representing a player to find matches + * for. Players are identified by a unique player ID and may include latency data for use + * during matchmaking. If the ticket is in status COMPLETED, the + * Player objects include the team the players were assigned to in the + * resulting match.

          + */ + Players?: Player[]; + + /** + *

          Identifier and connection information of the game session created for the match. This + * information is added to the ticket only after the matchmaking request has been + * successfully completed. This parameter is not set when FlexMatch is being used without + * GameLift hosting.

          + */ + GameSessionConnectionInfo?: GameSessionConnectionInfo; + + /** + *

          Average amount of time (in seconds) that players are currently waiting for a match. + * If there is not enough recent data, this property may be empty.

          + */ + EstimatedWaitTime?: number; } export namespace MatchmakingTicket { @@ -6157,16 +6243,6 @@ export namespace DescribeMatchmakingOutput { *

          Represents the input for a request operation.

          */ export interface DescribeMatchmakingConfigurationsInput { - /** - *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

          - */ - Limit?: number; - - /** - *

          A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          - */ - NextToken?: string; - /** *

          A unique identifier for a matchmaking configuration(s) to retrieve. You can use either the configuration name or ARN value. To * request all existing configurations, leave this parameter empty.

          @@ -6178,6 +6254,16 @@ export interface DescribeMatchmakingConfigurationsInput { * retrieve all matchmaking configurations that use this rule set.

          */ RuleSetName?: string; + + /** + *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

          + */ + Limit?: number; + + /** + *

          A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          + */ + NextToken?: string; } export namespace DescribeMatchmakingConfigurationsInput { @@ -6191,14 +6277,14 @@ export namespace DescribeMatchmakingConfigurationsInput { */ export interface DescribeMatchmakingConfigurationsOutput { /** - *

          A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          + *

          A collection of requested matchmaking configurations.

          */ - NextToken?: string; + Configurations?: MatchmakingConfiguration[]; /** - *

          A collection of requested matchmaking configurations.

          + *

          A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          */ - Configurations?: MatchmakingConfiguration[]; + NextToken?: string; } export namespace DescribeMatchmakingConfigurationsOutput { @@ -6219,14 +6305,14 @@ export interface DescribeMatchmakingRuleSetsInput { Names?: string[]; /** - *

          A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          + *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          */ - NextToken?: string; + Limit?: number; /** - *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          + *

          A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          */ - Limit?: number; + NextToken?: string; } export namespace DescribeMatchmakingRuleSetsInput { @@ -6240,14 +6326,14 @@ export namespace DescribeMatchmakingRuleSetsInput { */ export interface DescribeMatchmakingRuleSetsOutput { /** - *

          A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          + *

          A collection of requested matchmaking rule set objects.

          */ - NextToken?: string; + RuleSets: MatchmakingRuleSet[] | undefined; /** - *

          A collection of requested matchmaking rule set objects.

          + *

          A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

          */ - RuleSets: MatchmakingRuleSet[] | undefined; + NextToken?: string; } export namespace DescribeMatchmakingRuleSetsOutput { @@ -6261,15 +6347,20 @@ export namespace DescribeMatchmakingRuleSetsOutput { */ export interface DescribePlayerSessionsInput { /** - *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

          + *

          A unique identifier for the game session to retrieve player sessions for.

          */ - Limit?: number; + GameSessionId?: string; /** *

          A unique identifier for a player to retrieve player sessions for.

          */ PlayerId?: string; + /** + *

          A unique identifier for a player session to retrieve.

          + */ + PlayerSessionId?: string; + /** *

          Player session status to filter results on.

          *

          Possible player session statuses include the following:

          @@ -6301,19 +6392,14 @@ export interface DescribePlayerSessionsInput { PlayerSessionStatusFilter?: string; /** - *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

          - */ - NextToken?: string; - - /** - *

          A unique identifier for the game session to retrieve player sessions for.

          + *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

          */ - GameSessionId?: string; + Limit?: number; /** - *

          A unique identifier for a player session to retrieve.

          + *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

          */ - PlayerSessionId?: string; + NextToken?: string; } export namespace DescribePlayerSessionsInput { @@ -6392,22 +6478,12 @@ export enum ScalingStatusType { *

          Represents the input for a request operation.

          */ export interface DescribeScalingPoliciesInput { - /** - *

          Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

          - */ - NextToken?: string; - /** *

          A unique identifier for a fleet to retrieve scaling policies for. You can use either the fleet ID or ARN * value.

          */ FleetId: string | undefined; - /** - *

          The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

          - */ - Limit?: number; - /** *

          Scaling policy status to filter results on. A scaling policy is only in force when * in an ACTIVE status.

          @@ -6450,6 +6526,16 @@ export interface DescribeScalingPoliciesInput { *
        */ StatusFilter?: ScalingStatusType | string; + + /** + *

        The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

        + */ + Limit?: number; + + /** + *

        Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

        + */ + NextToken?: string; } export namespace DescribeScalingPoliciesInput { @@ -6610,85 +6696,64 @@ export namespace TargetConfiguration { */ export interface ScalingPolicy { /** - *

        Amount of adjustment to make, based on the scaling adjustment type.

        + *

        A unique identifier for a fleet that is associated with this scaling policy.

        */ - ScalingAdjustment?: number; + FleetId?: string; /** - *

        Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For - * detailed descriptions of fleet metrics, see Monitor Amazon GameLift - * with Amazon CloudWatch.

        - *
          - *
        • - *

          - * ActivatingGameSessions -- Game sessions in - * the process of being created.

          - *
        • - *
        • - *

          - * ActiveGameSessions -- Game sessions that - * are currently running.

          - *
        • - *
        • - *

          - * ActiveInstances -- Fleet instances that - * are currently running at least one game session.

          - *
        • - *
        • - *

          - * AvailableGameSessions -- Additional game - * sessions that fleet could host simultaneously, given current capacity.

          - *
        • + *

          A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

          + */ + Name?: string; + + /** + *

          Current status of the scaling policy. The scaling policy can be in force only when + * in an ACTIVE status. Scaling policies can be suspended for individual + * fleets (see StopFleetActions; if suspended for a fleet, the policy + * status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

          + *
            *
          • - *

            - * AvailablePlayerSessions -- Empty player - * slots in currently active game sessions. This includes game sessions that are - * not currently accepting players. Reserved player slots are not - * included.

            + *

            + * ACTIVE -- The scaling policy can be used for + * auto-scaling a fleet.

            *
          • *
          • - *

            - * CurrentPlayerSessions -- Player slots in - * active game sessions that are being used by a player or are reserved for a - * player.

            + *

            + * UPDATE_REQUESTED -- A request to update the + * scaling policy has been received.

            *
          • *
          • - *

            - * IdleInstances -- Active instances that are - * currently hosting zero game sessions.

            + *

            + * UPDATING -- A change is being made to the + * scaling policy.

            *
          • *
          • - *

            - * PercentAvailableGameSessions -- Unused - * percentage of the total number of game sessions that a fleet could host - * simultaneously, given current capacity. Use this metric for a target-based - * scaling policy.

            + *

            + * DELETE_REQUESTED -- A request to delete the + * scaling policy has been received.

            *
          • *
          • - *

            - * PercentIdleInstances -- Percentage of the - * total number of active instances that are hosting zero game sessions.

            + *

            + * DELETING -- The scaling policy is being + * deleted.

            *
          • *
          • - *

            - * QueueDepth -- Pending game session - * placement requests, in any queue, where the current fleet is the top-priority - * destination.

            + *

            + * DELETED -- The scaling policy has been + * deleted.

            *
          • *
          • - *

            - * WaitTime -- Current wait time for pending - * game session placement requests, in any queue, where the current fleet is the - * top-priority destination.

            + *

            + * ERROR -- An error occurred in creating the + * policy. It should be removed and recreated.

            *
          • *
          */ - MetricName?: MetricName | string; + Status?: ScalingStatusType | string; /** - *

          Metric value used to trigger a scaling event.

          + *

          Amount of adjustment to make, based on the scaling adjustment type.

          */ - Threshold?: number; + ScalingAdjustment?: number; /** *

          The type of adjustment to make to a fleet's instance count (see FleetCapacity):

          @@ -6714,17 +6779,6 @@ export interface ScalingPolicy { */ ScalingAdjustmentType?: ScalingAdjustmentType | string; - /** - *

          A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

          - */ - Name?: string; - - /** - *

          Length of time (in minutes) the metric must be at or beyond the threshold before a - * scaling event is triggered.

          - */ - EvaluationPeriods?: number; - /** *

          Comparison operator to use when measuring a metric against the threshold * value.

          @@ -6732,54 +6786,86 @@ export interface ScalingPolicy { ComparisonOperator?: ComparisonOperatorType | string; /** - *

          The settings for a target-based scaling policy.

          + *

          Metric value used to trigger a scaling event.

          */ - TargetConfiguration?: TargetConfiguration; + Threshold?: number; /** - *

          Current status of the scaling policy. The scaling policy can be in force only when - * in an ACTIVE status. Scaling policies can be suspended for individual - * fleets (see StopFleetActions; if suspended for a fleet, the policy - * status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

          - *
            + *

            Length of time (in minutes) the metric must be at or beyond the threshold before a + * scaling event is triggered.

            + */ + EvaluationPeriods?: number; + + /** + *

            Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For + * detailed descriptions of fleet metrics, see Monitor Amazon GameLift + * with Amazon CloudWatch.

            + *
              + *
            • + *

              + * ActivatingGameSessions -- Game sessions in + * the process of being created.

              + *
            • *
            • - *

              - * ACTIVE -- The scaling policy can be used for - * auto-scaling a fleet.

              + *

              + * ActiveGameSessions -- Game sessions that + * are currently running.

              *
            • *
            • - *

              - * UPDATE_REQUESTED -- A request to update the - * scaling policy has been received.

              + *

              + * ActiveInstances -- Fleet instances that + * are currently running at least one game session.

              *
            • *
            • - *

              - * UPDATING -- A change is being made to the - * scaling policy.

              + *

              + * AvailableGameSessions -- Additional game + * sessions that fleet could host simultaneously, given current capacity.

              *
            • *
            • - *

              - * DELETE_REQUESTED -- A request to delete the - * scaling policy has been received.

              + *

              + * AvailablePlayerSessions -- Empty player + * slots in currently active game sessions. This includes game sessions that are + * not currently accepting players. Reserved player slots are not + * included.

              *
            • *
            • - *

              - * DELETING -- The scaling policy is being - * deleted.

              + *

              + * CurrentPlayerSessions -- Player slots in + * active game sessions that are being used by a player or are reserved for a + * player.

              *
            • *
            • - *

              - * DELETED -- The scaling policy has been - * deleted.

              + *

              + * IdleInstances -- Active instances that are + * currently hosting zero game sessions.

              *
            • *
            • - *

              - * ERROR -- An error occurred in creating the - * policy. It should be removed and recreated.

              + *

              + * PercentAvailableGameSessions -- Unused + * percentage of the total number of game sessions that a fleet could host + * simultaneously, given current capacity. Use this metric for a target-based + * scaling policy.

              + *
            • + *
            • + *

              + * PercentIdleInstances -- Percentage of the + * total number of active instances that are hosting zero game sessions.

              + *
            • + *
            • + *

              + * QueueDepth -- Pending game session + * placement requests, in any queue, where the current fleet is the top-priority + * destination.

              + *
            • + *
            • + *

              + * WaitTime -- Current wait time for pending + * game session placement requests, in any queue, where the current fleet is the + * top-priority destination.

              *
            • *
            */ - Status?: ScalingStatusType | string; + MetricName?: MetricName | string; /** *

            The type of scaling policy to create. For a target-based policy, set the parameter @@ -6793,9 +6879,9 @@ export interface ScalingPolicy { PolicyType?: PolicyType | string; /** - *

            A unique identifier for a fleet that is associated with this scaling policy.

            + *

            The settings for a target-based scaling policy.

            */ - FleetId?: string; + TargetConfiguration?: TargetConfiguration; } export namespace ScalingPolicy { @@ -6959,18 +7045,11 @@ export interface VpcPeeringConnection { FleetId?: string; /** - *

            A unique identifier for the VPC that contains the Amazon GameLift fleet for this - * connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account. + *

            + * The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection. *

            */ - GameLiftVpcId?: string; - - /** - *

            A unique identifier that is automatically assigned to the connection record. This ID - * is referenced in VPC peering connection events, and is used when deleting a connection - * with DeleteVpcPeeringConnection.

            - */ - VpcPeeringConnectionId?: string; + FleetArn?: string; /** *

            CIDR block of IPv4 addresses assigned to the VPC peering connection for the @@ -6980,17 +7059,17 @@ export interface VpcPeeringConnection { IpV4CidrBlock?: string; /** - *

            The status information about the connection. Status indicates if a - * connection is pending, successful, or failed.

            + *

            A unique identifier that is automatically assigned to the connection record. This ID + * is referenced in VPC peering connection events, and is used when deleting a connection + * with DeleteVpcPeeringConnection.

            */ - Status?: VpcPeeringConnectionStatus; + VpcPeeringConnectionId?: string; /** - *

            - * The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection. - *

            + *

            The status information about the connection. Status indicates if a + * connection is pending, successful, or failed.

            */ - FleetArn?: string; + Status?: VpcPeeringConnectionStatus; /** *

            A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The @@ -6999,6 +7078,13 @@ export interface VpcPeeringConnection { * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

            */ PeerVpcId?: string; + + /** + *

            A unique identifier for the VPC that contains the Amazon GameLift fleet for this + * connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account. + *

            + */ + GameLiftVpcId?: string; } export namespace VpcPeeringConnection { @@ -7136,24 +7222,24 @@ export namespace InstanceCredentials { */ export interface InstanceAccess { /** - *

            IP address that is assigned to the instance.

            + *

            A unique identifier for a fleet containing the instance being accessed.

            */ - IpAddress?: string; + FleetId?: string; /** - *

            Operating system that is running on the instance.

            + *

            A unique identifier for an instance being accessed.

            */ - OperatingSystem?: OperatingSystem | string; + InstanceId?: string; /** - *

            A unique identifier for an instance being accessed.

            + *

            IP address that is assigned to the instance.

            */ - InstanceId?: string; + IpAddress?: string; /** - *

            A unique identifier for a fleet containing the instance being accessed.

            + *

            Operating system that is running on the instance.

            */ - FleetId?: string; + OperatingSystem?: OperatingSystem | string; /** *

            Credentials required to access the instance.

            @@ -7237,14 +7323,14 @@ export namespace ListAliasesInput { */ export interface ListAliasesOutput { /** - *

            A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            + *

            A collection of alias resources that match the request parameters.

            */ - NextToken?: string; + Aliases?: Alias[]; /** - *

            A collection of alias resources that match the request parameters.

            + *

            A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            */ - Aliases?: Alias[]; + NextToken?: string; } export namespace ListAliasesOutput { @@ -7325,13 +7411,6 @@ export namespace ListBuildsOutput { *

            Represents the input for a request operation.

            */ export interface ListFleetsInput { - /** - *

            A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using a - * specified script. Use either the script ID or ARN value. To retrieve all fleets, leave - * this parameter empty.

            - */ - ScriptId?: string; - /** *

            A unique identifier for a build to return fleets for. Use this parameter to return only fleets using a specified * build. Use either the build ID or ARN value. To retrieve all fleets, do not include @@ -7339,6 +7418,13 @@ export interface ListFleetsInput { */ BuildId?: string; + /** + *

            A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using a + * specified script. Use either the script ID or ARN value. To retrieve all fleets, leave + * this parameter empty.

            + */ + ScriptId?: string; + /** *

            The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

            */ @@ -7360,17 +7446,17 @@ export namespace ListFleetsInput { *

            Represents the returned data in response to a request operation.

            */ export interface ListFleetsOutput { - /** - *

            Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            - */ - NextToken?: string; - /** *

            Set of fleet IDs matching the list request. You can retrieve additional information * about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, or * DescribeFleetUtilization.

            */ FleetIds?: string[]; + + /** + *

            Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            + */ + NextToken?: string; } export namespace ListFleetsOutput { @@ -7399,14 +7485,14 @@ export namespace ListGameServerGroupsInput { export interface ListGameServerGroupsOutput { /** - *

            A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            + *

            A collection of game server group objects that match the request.

            */ - NextToken?: string; + GameServerGroups?: GameServerGroup[]; /** - *

            A collection of game server group objects that match the request.

            + *

            A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            */ - GameServerGroups?: GameServerGroup[]; + NextToken?: string; } export namespace ListGameServerGroupsOutput { @@ -7422,9 +7508,10 @@ export enum SortOrder { export interface ListGameServersInput { /** - *

            A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.

            + *

            An identifier for the game server group to retrieve a list of game servers from. + * Use either the GameServerGroup name or ARN value.

            */ - NextToken?: string; + GameServerGroupName: string | undefined; /** *

            Indicates how to sort the returned data based on game server registration timestamp. @@ -7440,10 +7527,9 @@ export interface ListGameServersInput { Limit?: number; /** - *

            An identifier for the game server group to retrieve a list of game servers from. - * Use either the GameServerGroup name or ARN value.

            + *

            A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.

            */ - GameServerGroupName: string | undefined; + NextToken?: string; } export namespace ListGameServersInput { @@ -7490,14 +7576,14 @@ export namespace ListScriptsInput { export interface ListScriptsOutput { /** - *

            A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            + *

            A set of properties describing the requested script.

            */ - NextToken?: string; + Scripts?: Script[]; /** - *

            A set of properties describing the requested script.

            + *

            A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

            */ - Scripts?: Script[]; + NextToken?: string; } export namespace ListScriptsOutput { @@ -7544,25 +7630,20 @@ export namespace ListTagsForResourceResponse { */ export interface PutScalingPolicyInput { /** - *

            Amount of adjustment to make, based on the scaling adjustment type.

            - */ - ScalingAdjustment?: number; - - /** - *

            Length of time (in minutes) the metric must be at or beyond the threshold before a - * scaling event is triggered.

            + *

            A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

            */ - EvaluationPeriods?: number; + Name: string | undefined; /** - *

            Metric value used to trigger a scaling event.

            + *

            A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet + * cannot be in any of the following statuses: ERROR or DELETING.

            */ - Threshold?: number; + FleetId: string | undefined; /** - *

            A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

            + *

            Amount of adjustment to make, based on the scaling adjustment type.

            */ - Name: string | undefined; + ScalingAdjustment?: number; /** *

            The type of adjustment to make to a fleet's instance count (see FleetCapacity):

            @@ -7590,20 +7671,9 @@ export interface PutScalingPolicyInput { ScalingAdjustmentType?: ScalingAdjustmentType | string; /** - *

            The type of scaling policy to create. For a target-based policy, set the parameter - * MetricName to 'PercentAvailableGameSessions' and specify a - * TargetConfiguration. For a rule-based policy set the following - * parameters: MetricName, ComparisonOperator, - * Threshold, EvaluationPeriods, - * ScalingAdjustmentType, and - * ScalingAdjustment.

            - */ - PolicyType?: PolicyType | string; - - /** - *

            The settings for a target-based scaling policy.

            + *

            Metric value used to trigger a scaling event.

            */ - TargetConfiguration?: TargetConfiguration; + Threshold?: number; /** *

            Comparison operator to use when measuring the metric against the threshold @@ -7611,6 +7681,12 @@ export interface PutScalingPolicyInput { */ ComparisonOperator?: ComparisonOperatorType | string; + /** + *

            Length of time (in minutes) the metric must be at or beyond the threshold before a + * scaling event is triggered.

            + */ + EvaluationPeriods?: number; + /** *

            Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For * detailed descriptions of fleet metrics, see Monitor Amazon GameLift @@ -7683,10 +7759,20 @@ export interface PutScalingPolicyInput { MetricName: MetricName | string | undefined; /** - *

            A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet - * cannot be in any of the following statuses: ERROR or DELETING.

            + *

            The type of scaling policy to create. For a target-based policy, set the parameter + * MetricName to 'PercentAvailableGameSessions' and specify a + * TargetConfiguration. For a rule-based policy set the following + * parameters: MetricName, ComparisonOperator, + * Threshold, EvaluationPeriods, + * ScalingAdjustmentType, and + * ScalingAdjustment.

            */ - FleetId: string | undefined; + PolicyType?: PolicyType | string; + + /** + *

            The settings for a target-based scaling policy.

            + */ + TargetConfiguration?: TargetConfiguration; } export namespace PutScalingPolicyInput { @@ -7713,17 +7799,10 @@ export namespace PutScalingPolicyOutput { export interface RegisterGameServerInput { /** - *

            Information that is needed to make inbound client connections to the game server. This - * might include the IP address and port, DNS name, and other information.

            - */ - ConnectionInfo?: string; - - /** - *

            A set of custom game server properties, formatted as a single string value. This data - * is passed to a game client or service when it requests information on game servers using - * ListGameServers or ClaimGameServer.

            + *

            A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

            */ - GameServerData?: string; + GameServerGroupName: string | undefined; /** *

            A custom string that uniquely identifies the game server to register. @@ -7736,13 +7815,20 @@ export interface RegisterGameServerInput { * available in the instance metadata. EC2 instance IDs * use a 17-character format, for example: i-1234567890abcdef0.

            */ - InstanceId: string | undefined; + InstanceId: string | undefined; + + /** + *

            Information that is needed to make inbound client connections to the game server. This + * might include the IP address and port, DNS name, and other information.

            + */ + ConnectionInfo?: string; /** - *

            A unique identifier for the game server group where the game server is running. - * Use either the GameServerGroup name or ARN value.

            + *

            A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

            */ - GameServerGroupName: string | undefined; + GameServerData?: string; } export namespace RegisterGameServerInput { @@ -7847,14 +7933,14 @@ export namespace ResolveAliasOutput { export interface ResumeGameServerGroupInput { /** - *

            The activity to resume for this game server group.

            + *

            A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

            */ - ResumeActions: (GameServerGroupAction | string)[] | undefined; + GameServerGroupName: string | undefined; /** - *

            A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

            + *

            The activity to resume for this game server group.

            */ - GameServerGroupName: string | undefined; + ResumeActions: (GameServerGroupAction | string)[] | undefined; } export namespace ResumeGameServerGroupInput { @@ -7883,34 +7969,17 @@ export namespace ResumeGameServerGroupOutput { */ export interface SearchGameSessionsInput { /** - *

            Instructions on how to sort the search results. If no sort expression is included, - * the request returns results in random order. A sort expression consists of the following - * elements:

            - *
              - *
            • - *

              - * Operand -- Name of a game session attribute. - * Valid values are gameSessionName, gameSessionId, - * gameSessionProperties, maximumSessions, - * creationTimeMillis, playerSessionCount, - * hasAvailablePlayerSessions.

              - *
            • - *
            • - *

              - * Order -- Valid sort orders are ASC - * (ascending) and DESC (descending).

              - *
            • - *
            - *

            For example, this sort expression returns the oldest active sessions first: - * "SortExpression": "creationTimeMillis ASC". Results with a null value - * for the sort operand are returned at the end of the list.

            + *

            A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN + * value. Each request must reference either a fleet ID or alias ID, but not both.

            */ - SortExpression?: string; + FleetId?: string; /** - *

            Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

            + *

            A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either + * the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, + * but not both.

            */ - NextToken?: string; + AliasId?: string; /** *

            String containing the search criteria for the session search. If no filter @@ -7978,11 +8047,29 @@ export interface SearchGameSessionsInput { FilterExpression?: string; /** - *

            A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either - * the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, - * but not both.

            + *

            Instructions on how to sort the search results. If no sort expression is included, + * the request returns results in random order. A sort expression consists of the following + * elements:

            + *
              + *
            • + *

              + * Operand -- Name of a game session attribute. + * Valid values are gameSessionName, gameSessionId, + * gameSessionProperties, maximumSessions, + * creationTimeMillis, playerSessionCount, + * hasAvailablePlayerSessions.

              + *
            • + *
            • + *

              + * Order -- Valid sort orders are ASC + * (ascending) and DESC (descending).

              + *
            • + *
            + *

            For example, this sort expression returns the oldest active sessions first: + * "SortExpression": "creationTimeMillis ASC". Results with a null value + * for the sort operand are returned at the end of the list.

            */ - AliasId?: string; + SortExpression?: string; /** *

            The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set @@ -7991,10 +8078,9 @@ export interface SearchGameSessionsInput { Limit?: number; /** - *

            A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN - * value. Each request must reference either a fleet ID or alias ID, but not both.

            + *

            Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

            */ - FleetId?: string; + NextToken?: string; } export namespace SearchGameSessionsInput { @@ -8027,14 +8113,14 @@ export namespace SearchGameSessionsOutput { export interface StartFleetActionsInput { /** - *

            List of actions to restart on the fleet.

            + *

            A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value.

            */ - Actions: (FleetAction | string)[] | undefined; + FleetId: string | undefined; /** - *

            A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value.

            + *

            List of actions to restart on the fleet.

            */ - FleetId: string | undefined; + Actions: (FleetAction | string)[] | undefined; } export namespace StartFleetActionsInput { @@ -8056,16 +8142,17 @@ export namespace StartFleetActionsOutput { */ export interface StartGameSessionPlacementInput { /** - *

            Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where - * it can offer the best possible gameplay experience for the players.

            + *

            A unique identifier to assign to the new game session placement. This value is + * developer-defined. The value must be unique across all Regions and cannot be reused + * unless you are resubmitting a canceled or timed-out placement request.

            */ - PlayerLatencies?: PlayerLatency[]; + PlacementId: string | undefined; /** - *

            Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

            + *

            Name of the queue to use to place the new game session. You can use either the queue name + * or ARN value.

            */ - GameSessionData?: string; + GameSessionQueueName: string | undefined; /** *

            Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the @@ -8074,32 +8161,31 @@ export interface StartGameSessionPlacementInput { GameProperties?: GameProperty[]; /** - *

            Set of information on each player to create a player session for.

            + *

            The maximum number of players that can be connected simultaneously to the game session.

            */ - DesiredPlayerSessions?: DesiredPlayerSession[]; + MaximumPlayerSessionCount: number | undefined; /** - *

            Name of the queue to use to place the new game session. You can use either the queue name - * or ARN value.

            + *

            A descriptive label that is associated with a game session. Session names do not need to be unique.

            */ - GameSessionQueueName: string | undefined; + GameSessionName?: string; /** - *

            A descriptive label that is associated with a game session. Session names do not need to be unique.

            + *

            Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where + * it can offer the best possible gameplay experience for the players.

            */ - GameSessionName?: string; + PlayerLatencies?: PlayerLatency[]; /** - *

            The maximum number of players that can be connected simultaneously to the game session.

            + *

            Set of information on each player to create a player session for.

            */ - MaximumPlayerSessionCount: number | undefined; + DesiredPlayerSessions?: DesiredPlayerSession[]; /** - *

            A unique identifier to assign to the new game session placement. This value is - * developer-defined. The value must be unique across all Regions and cannot be reused - * unless you are resubmitting a canceled or timed-out placement request.

            + *

            Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

            */ - PlacementId: string | undefined; + GameSessionData?: string; } export namespace StartGameSessionPlacementInput { @@ -8130,6 +8216,26 @@ export namespace StartGameSessionPlacementOutput { *

            Represents the input for a request operation.

            */ export interface StartMatchBackfillInput { + /** + *

            A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of + * a UUID. Use this identifier to track the match backfill ticket status and retrieve match + * results.

            + */ + TicketId?: string; + + /** + *

            Name of the matchmaker to use for this request. You can use either the configuration + * name or ARN value. The ARN of the matchmaker that was used with the original game + * session is listed in the GameSession object, + * MatchmakerData property.

            + */ + ConfigurationName: string | undefined; + + /** + *

            Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.

            + */ + GameSessionArn?: string; + /** *

            Match information on all players that are currently assigned to the game session. * This information is used by the matchmaker to find new players and add them to the @@ -8139,7 +8245,7 @@ export interface StartMatchBackfillInput { *

            PlayerID, PlayerAttributes, Team -\\- This information is maintained in the * GameSession object, MatchmakerData property, * for all players who are currently assigned to the game session. The matchmaker - * data is in JSON syntax, formatted as a string. For more details, see + * data is in JSON syntax, formatted as a string. For more details, see * Match Data.

            * *
          • @@ -8150,26 +8256,6 @@ export interface StartMatchBackfillInput { *
          */ Players: Player[] | undefined; - - /** - *

          A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of - * a UUID. Use this identifier to track the match backfill ticket status and retrieve match - * results.

          - */ - TicketId?: string; - - /** - *

          Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.

          - */ - GameSessionArn: string | undefined; - - /** - *

          Name of the matchmaker to use for this request. You can use either the configuration - * name or ARN value. The ARN of the matchmaker that was used with the original game - * session is listed in the GameSession object, - * MatchmakerData property.

          - */ - ConfigurationName: string | undefined; } export namespace StartMatchBackfillInput { @@ -8201,12 +8287,11 @@ export namespace StartMatchBackfillOutput { */ export interface StartMatchmakingInput { /** - *

          Information on each player to be matched. This information must include a player - * ID, and may contain player attributes and latency data to be used in the matchmaking - * process. After a successful match, Player objects contain the name of the - * team the player is assigned to.

          + *

          A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of + * a UUID. Use this identifier to track the matchmaking ticket status and retrieve match + * results.

          */ - Players: Player[] | undefined; + TicketId?: string; /** *

          Name of the matchmaking configuration to use for this request. Matchmaking @@ -8216,11 +8301,12 @@ export interface StartMatchmakingInput { ConfigurationName: string | undefined; /** - *

          A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of - * a UUID. Use this identifier to track the matchmaking ticket status and retrieve match - * results.

          + *

          Information on each player to be matched. This information must include a player + * ID, and may contain player attributes and latency data to be used in the matchmaking + * process. After a successful match, Player objects contain the name of the + * team the player is assigned to.

          */ - TicketId?: string; + Players: Player[] | undefined; } export namespace StartMatchmakingInput { @@ -8364,14 +8450,6 @@ export namespace SuspendGameServerGroupOutput { } export interface TagResourceRequest { - /** - *

          A list of one or more tags to assign to the specified GameLift resource. - * Tags are developer-defined and structured as key-value pairs. - * The maximum tag limit may be lower than stated. See Tagging AWS Resources - * for actual tagging limits.

          - */ - Tags: Tag[] | undefined; - /** *

          * The Amazon Resource Name @@ -8381,6 +8459,14 @@ export interface TagResourceRequest { * can be retrieved by calling a List or Describe operation for the resource type.

          */ ResourceARN: string | undefined; + + /** + *

          A list of one or more tags to assign to the specified GameLift resource. + * Tags are developer-defined and structured as key-value pairs. + * The maximum tag limit may be lower than stated. See Tagging AWS Resources + * for actual tagging limits.

          + */ + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -8444,15 +8530,15 @@ export interface UpdateAliasInput { Name?: string; /** - *

          The routing configuration, including routing type and fleet target, for the - * alias.

          + *

          A human-readable description of the alias.

          */ - RoutingStrategy?: RoutingStrategy; + Description?: string; /** - *

          A human-readable description of the alias.

          + *

          The routing configuration, including routing type and fleet target, for the + * alias.

          */ - Description?: string; + RoutingStrategy?: RoutingStrategy; } export namespace UpdateAliasInput { @@ -8487,14 +8573,14 @@ export interface UpdateBuildInput { BuildId: string | undefined; /** - *

          Version information that is associated with a build or script. Version strings do not need to be unique.

          + *

          A descriptive label that is associated with a build. Build names do not need to be unique.

          */ - Version?: string; + Name?: string; /** - *

          A descriptive label that is associated with a build. Build names do not need to be unique.

          + *

          Version information that is associated with a build or script. Version strings do not need to be unique.

          */ - Name?: string; + Version?: string; } export namespace UpdateBuildInput { @@ -8524,23 +8610,20 @@ export namespace UpdateBuildOutput { */ export interface UpdateFleetAttributesInput { /** - *

          A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

          + *

          A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN + * value.

          */ - Name?: string; + FleetId: string | undefined; /** - *

          Policy that limits the number of game sessions an individual player can create over - * a span of time.

          + *

          A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

          */ - ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + Name?: string; /** - *

          Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet - * metric group is to aggregate metrics from multiple fleets. Use an existing metric group - * name to add this fleet to the group. Or use a new name to create a new metric group. A - * fleet can only be included in one metric group at a time.

          + *

          Human-readable description of a fleet.

          */ - MetricGroups?: string[]; + Description?: string; /** *

          Game session protection policy to apply to all new instances created in this fleet. @@ -8563,15 +8646,18 @@ export interface UpdateFleetAttributesInput { NewGameSessionProtectionPolicy?: ProtectionPolicy | string; /** - *

          A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN - * value.

          + *

          Policy that limits the number of game sessions an individual player can create over + * a span of time.

          */ - FleetId: string | undefined; + ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; /** - *

          Human-readable description of a fleet.

          + *

          Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet + * metric group is to aggregate metrics from multiple fleets. Use an existing metric group + * name to add this fleet to the group. Or use a new name to create a new metric group. A + * fleet can only be included in one metric group at a time.

          */ - Description?: string; + MetricGroups?: string[]; } export namespace UpdateFleetAttributesInput { @@ -8596,10 +8682,20 @@ export namespace UpdateFleetAttributesOutput { }); } -/** - *

          Represents the input for a request operation.

          - */ -export interface UpdateFleetCapacityInput { +/** + *

          Represents the input for a request operation.

          + */ +export interface UpdateFleetCapacityInput { + /** + *

          A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value.

          + */ + FleetId: string | undefined; + + /** + *

          Number of EC2 instances you want this fleet to host.

          + */ + DesiredInstances?: number; + /** *

          The minimum value allowed for the fleet's instance count. Default if not set is * 0.

          @@ -8611,16 +8707,6 @@ export interface UpdateFleetCapacityInput { * 1.

          */ MaxSize?: number; - - /** - *

          A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value.

          - */ - FleetId: string | undefined; - - /** - *

          Number of EC2 instances you want this fleet to host.

          - */ - DesiredInstances?: number; } export namespace UpdateFleetCapacityInput { @@ -8649,6 +8735,12 @@ export namespace UpdateFleetCapacityOutput { *

          Represents the input for a request operation.

          */ export interface UpdateFleetPortSettingsInput { + /** + *

          A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN + * value.

          + */ + FleetId: string | undefined; + /** *

          A collection of port settings to be added to the fleet resource.

          */ @@ -8658,12 +8750,6 @@ export interface UpdateFleetPortSettingsInput { *

          A collection of port settings to be removed from the fleet resource.

          */ InboundPermissionRevocations?: IpPermission[]; - - /** - *

          A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN - * value.

          - */ - FleetId: string | undefined; } export namespace UpdateFleetPortSettingsInput { @@ -8694,10 +8780,10 @@ export enum GameServerHealthCheck { export interface UpdateGameServerInput { /** - *

          Indicates whether the game server is available or is currently hosting - * gameplay.

          + *

          A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

          */ - UtilizationStatus?: GameServerUtilizationStatus | string; + GameServerGroupName: string | undefined; /** *

          A custom string that uniquely identifies the game server to update.

          @@ -8705,23 +8791,23 @@ export interface UpdateGameServerInput { GameServerId: string | undefined; /** - *

          Indicates health status of the game server. A request that includes this parameter - * updates the game server's LastHealthCheckTime timestamp.

          + *

          A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

          */ - HealthCheck?: GameServerHealthCheck | string; + GameServerData?: string; /** - *

          A unique identifier for the game server group where the game server is running. - * Use either the GameServerGroup name or ARN value.

          + *

          Indicates whether the game server is available or is currently hosting + * gameplay.

          */ - GameServerGroupName: string | undefined; + UtilizationStatus?: GameServerUtilizationStatus | string; /** - *

          A set of custom game server properties, formatted as a single string value. This data - * is passed to a game client or service when it requests information on game servers using - * ListGameServers or ClaimGameServer.

          + *

          Indicates health status of the game server. A request that includes this parameter + * updates the game server's LastHealthCheckTime timestamp.

          */ - GameServerData?: string; + HealthCheck?: GameServerHealthCheck | string; } export namespace UpdateGameServerInput { @@ -8744,36 +8830,6 @@ export namespace UpdateGameServerOutput { } export interface UpdateGameServerGroupInput { - /** - *

          Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the - * game server group. Method options include the following:

          - *
            - *
          • - *

            - * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot - * Instances are unavailable or not viable for game hosting, the game server group - * provides no hosting capacity until Spot Instances can again be used. Until then, - * no new instances are started, and the existing nonviable Spot Instances are - * terminated (after current gameplay ends) and are not replaced.

            - *
          • - *
          • - *

            - * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in - * the game server group. If Spot Instances are unavailable, the game server group - * continues to provide hosting capacity by falling back to On-Demand Instances. - * Existing nonviable Spot Instances are terminated (after current gameplay ends) - * and are replaced with new On-Demand Instances.

            - *
          • - *
          • - *

            - * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game - * server group. No Spot Instances are used, even when available, while this - * balancing strategy is in force.

            - *
          • - *
          - */ - BalancingStrategy?: BalancingStrategy | string; - /** *

          A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

          */ @@ -8807,6 +8863,36 @@ export interface UpdateGameServerGroupInput { * Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

          */ GameServerProtectionPolicy?: GameServerProtectionPolicy | string; + + /** + *

          Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the + * game server group. Method options include the following:

          + *
            + *
          • + *

            + * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot + * Instances are unavailable or not viable for game hosting, the game server group + * provides no hosting capacity until Spot Instances can again be used. Until then, + * no new instances are started, and the existing nonviable Spot Instances are + * terminated (after current gameplay ends) and are not replaced.

            + *
          • + *
          • + *

            + * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in + * the game server group. If Spot Instances are unavailable, the game server group + * continues to provide hosting capacity by falling back to On-Demand Instances. + * Existing nonviable Spot Instances are terminated (after current gameplay ends) + * and are replaced with new On-Demand Instances.

            + *
          • + *
          • + *

            + * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game + * server group. No Spot Instances are used, even when available, while this + * balancing strategy is in force.

            + *
          • + *
          + */ + BalancingStrategy?: BalancingStrategy | string; } export namespace UpdateGameServerGroupInput { @@ -8842,6 +8928,16 @@ export interface UpdateGameSessionInput { */ MaximumPlayerSessionCount?: number; + /** + *

          A descriptive label that is associated with a game session. Session names do not need to be unique.

          + */ + Name?: string; + + /** + *

          Policy determining whether or not the game session accepts new players.

          + */ + PlayerSessionCreationPolicy?: PlayerSessionCreationPolicy | string; + /** *

          Game session protection policy to apply to this game session only.

          *
            @@ -8859,16 +8955,6 @@ export interface UpdateGameSessionInput { *
          */ ProtectionPolicy?: ProtectionPolicy | string; - - /** - *

          Policy determining whether or not the game session accepts new players.

          - */ - PlayerSessionCreationPolicy?: PlayerSessionCreationPolicy | string; - - /** - *

          A descriptive label that is associated with a game session. Session names do not need to be unique.

          - */ - Name?: string; } export namespace UpdateGameSessionInput { @@ -8897,6 +8983,16 @@ export namespace UpdateGameSessionOutput { *

          Represents the input for a request operation.

          */ export interface UpdateGameSessionQueueInput { + /** + *

          A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value.

          + */ + Name: string | undefined; + + /** + *

          The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

          + */ + TimeoutInSeconds?: number; + /** *

          A collection of latency policies to apply when processing game sessions placement requests with * player latency information. Multiple policies are evaluated in order of the maximum latency value, @@ -8908,21 +9004,11 @@ export interface UpdateGameSessionQueueInput { */ PlayerLatencyPolicies?: PlayerLatencyPolicy[]; - /** - *

          The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

          - */ - TimeoutInSeconds?: number; - /** *

          A list of fleets that can be used to fulfill game session placement requests in the queue. * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.

          */ Destinations?: GameSessionQueueDestination[]; - - /** - *

          A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value.

          - */ - Name: string | undefined; } export namespace UpdateGameSessionQueueInput { @@ -8952,31 +9038,22 @@ export namespace UpdateGameSessionQueueOutput { */ export interface UpdateMatchmakingConfigurationInput { /** - *

          A flag that indicates whether a match that was created with this configuration must be - * accepted by the matched players. To require acceptance, set to TRUE.

          - */ - AcceptanceRequired?: boolean; - - /** - *

          Information to add to all events related to the matchmaking configuration.

          + *

          A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

          */ - CustomEventData?: string; + Name: string | undefined; /** - *

          The method that is used to backfill game sessions created with this matchmaking - * configuration. Specify MANUAL when your game manages backfill requests manually or does - * not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open - * slots. Learn more about manual and automatic backfill in Backfill Existing Games - * with FlexMatch.

          + *

          A descriptive label that is associated with matchmaking configuration.

          */ - BackfillMode?: BackfillMode | string; + Description?: string; /** - *

          The number of player slots in a match to keep open for future players. For example, - * assume that the configuration's rule set specifies a match for a single 12-person team. If - * the additional player count is set to 2, only 10 players are initially selected for the match.

          + *

          Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new + * GameLift-hosted game sessions for matches that are created with this matchmaking + * configuration. If FlexMatchMode is set to STANDALONE, do not + * set this parameter.

          */ - AdditionalPlayerCount?: number; + GameSessionQueueArns?: string[]; /** *

          The maximum duration, in seconds, that a matchmaking ticket can remain in process @@ -8986,17 +9063,20 @@ export interface UpdateMatchmakingConfigurationInput { RequestTimeoutSeconds?: number; /** - *

          An SNS topic ARN that is set up to receive matchmaking notifications. See - * Setting up Notifications for Matchmaking for more information.

          + *

          The length of time (in seconds) to wait for players to accept a proposed match, if + * acceptance is required. If any player rejects the match or fails to accept before the + * timeout, the tickets are returned to the ticket pool and continue to be evaluated for an + * acceptable match.

          */ - NotificationTarget?: string; + AcceptanceTimeoutSeconds?: number; /** - *

          The length of time (in seconds) to wait for players to accept a proposed match. If any - * player rejects the match or fails to accept before the timeout, the ticket continues to - * look for an acceptable match.

          + *

          A flag that indicates whether a match that was created with this configuration must be + * accepted by the matched players. To require acceptance, set to TRUE. With this option + * enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate + * when a completed potential match is waiting for player acceptance.

          */ - AcceptanceTimeoutSeconds?: number; + AcceptanceRequired?: boolean; /** *

          A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN @@ -9006,34 +9086,69 @@ export interface UpdateMatchmakingConfigurationInput { RuleSetName?: string; /** - *

          Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are - * created with this matchmaking configuration. Queues can be located in any - * Region.

          + *

          An SNS topic ARN that is set up to receive matchmaking notifications. See + * Setting up Notifications for Matchmaking for more information.

          */ - GameSessionQueueArns?: string[]; + NotificationTarget?: string; /** - *

          A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

          + *

          The number of player slots in a match to keep open for future players. For example, + * assume that the configuration's rule set specifies a match for a single 12-person team. If + * the additional player count is set to 2, only 10 players are initially selected for the match. This parameter is not used if FlexMatchMode is set to + * STANDALONE.

          */ - Name: string | undefined; + AdditionalPlayerCount?: number; /** - *

          A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession - * object that is created for a successful match.

          + *

          Information to add to all events related to the matchmaking configuration.

          */ - GameSessionData?: string; + CustomEventData?: string; /** *

          A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

          + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession + * object that is created for a successful match. This parameter is not used if + * FlexMatchMode is set to STANDALONE.

          */ GameProperties?: GameProperty[]; /** - *

          A descriptive label that is associated with matchmaking configuration.

          + *

          A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object + * that is created for a successful match. This parameter is not used if + * FlexMatchMode is set to STANDALONE.

          */ - Description?: string; + GameSessionData?: string; + + /** + *

          The method that is used to backfill game sessions created with this matchmaking + * configuration. Specify MANUAL when your game manages backfill requests manually or does + * not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open + * slots. Learn more about manual and automatic backfill in Backfill Existing Games + * with FlexMatch. Automatic backfill is not available when + * FlexMatchMode is set to STANDALONE.

          + */ + BackfillMode?: BackfillMode | string; + + /** + *

          Indicates whether this matchmaking configuration is being used with GameLift hosting or + * as a standalone matchmaking solution.

          + *
            + *
          • + *

            + * STANDALONE - FlexMatch forms matches and returns + * match information, including players and team assignments, in a + * + * MatchmakingSucceeded event.

            + *
          • + *
          • + *

            + * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to + * start a game session for the match.

            + *
          • + *
          + */ + FlexMatchMode?: FlexMatchMode | string; } export namespace UpdateMatchmakingConfigurationInput { @@ -9062,6 +9177,12 @@ export namespace UpdateMatchmakingConfigurationOutput { *

          Represents the input for a request operation.

          */ export interface UpdateRuntimeConfigurationInput { + /** + *

          A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN + * value.

          + */ + FleetId: string | undefined; + /** *

          Instructions for launching server processes on each instance in the fleet. Server * processes run either a custom game build executable or a Realtime Servers script. The runtime @@ -9072,12 +9193,6 @@ export interface UpdateRuntimeConfigurationInput { * process configuration.

          */ RuntimeConfiguration: RuntimeConfiguration | undefined; - - /** - *

          A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN - * value.

          - */ - FleetId: string | undefined; } export namespace UpdateRuntimeConfigurationInput { @@ -9104,31 +9219,15 @@ export namespace UpdateRuntimeConfigurationOutput { } export interface UpdateScriptInput { - /** - *

          The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is - * stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the - * "key"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 - * bucket must be in the same Region where you want to create a new script. By default, - * Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning - * turned on, you can use the ObjectVersion parameter to specify an earlier - * version.

          - */ - StorageLocation?: S3Location; - /** *

          A unique identifier for a Realtime script to update. You can use either the script ID or ARN value.

          */ ScriptId: string | undefined; /** - *

          A data object containing your Realtime scripts and dependencies as a zip file. The zip - * file can have one or multiple files. Maximum size of a zip file is 5 MB.

          - *

          When using the AWS CLI tool to create a script, this parameter is set to the zip file - * name. It must be prepended with the string "fileb://" to indicate that the file data is - * a binary object. For example: --zip-file - * fileb://myRealtimeScript.zip.

          + *

          A descriptive label that is associated with a script. Script names do not need to be unique.

          */ - ZipFile?: Uint8Array; + Name?: string; /** *

          The version that is associated with a build or script. Version strings do not need to be unique.

          @@ -9136,9 +9235,27 @@ export interface UpdateScriptInput { Version?: string; /** - *

          A descriptive label that is associated with a script. Script names do not need to be unique.

          + *

          The Amazon S3 location of your Realtime scripts. The storage location must specify the S3 + * bucket name, the zip file name (the "key"), and an IAM role ARN that allows Amazon GameLift to + * access the S3 storage location. The S3 bucket must be in the same Region as the script + * you're updating. By default, Amazon GameLift uploads the latest version of the zip file; if you + * have S3 object versioning turned on, you can use the ObjectVersion + * parameter to specify an earlier version. To call this operation with a storage location, + * you must have IAM PassRole permission. For more details on IAM roles and PassRole + * permissions, see Set up a role for + * GameLift access.

          */ - Name?: string; + StorageLocation?: S3Location; + + /** + *

          A data object containing your Realtime scripts and dependencies as a zip file. The zip + * file can have one or multiple files. Maximum size of a zip file is 5 MB.

          + *

          When using the AWS CLI tool to create a script, this parameter is set to the zip file + * name. It must be prepended with the string "fileb://" to indicate that the file data is + * a binary object. For example: --zip-file + * fileb://myRealtimeScript.zip.

          + */ + ZipFile?: Uint8Array; } export namespace UpdateScriptInput { diff --git a/clients/client-gamelift/protocols/Aws_json1_1.ts b/clients/client-gamelift/protocols/Aws_json1_1.ts index 8522bc410e704..2e0a16addf2ff 100644 --- a/clients/client-gamelift/protocols/Aws_json1_1.ts +++ b/clients/client-gamelift/protocols/Aws_json1_1.ts @@ -9474,6 +9474,7 @@ const serializeAws_json1_1CreateMatchmakingConfigurationInput = ( ...(input.BackfillMode !== undefined && { BackfillMode: input.BackfillMode }), ...(input.CustomEventData !== undefined && { CustomEventData: input.CustomEventData }), ...(input.Description !== undefined && { Description: input.Description }), + ...(input.FlexMatchMode !== undefined && { FlexMatchMode: input.FlexMatchMode }), ...(input.GameProperties !== undefined && { GameProperties: serializeAws_json1_1GamePropertyList(input.GameProperties, context), }), @@ -10603,6 +10604,7 @@ const serializeAws_json1_1UpdateMatchmakingConfigurationInput = ( ...(input.BackfillMode !== undefined && { BackfillMode: input.BackfillMode }), ...(input.CustomEventData !== undefined && { CustomEventData: input.CustomEventData }), ...(input.Description !== undefined && { Description: input.Description }), + ...(input.FlexMatchMode !== undefined && { FlexMatchMode: input.FlexMatchMode }), ...(input.GameProperties !== undefined && { GameProperties: serializeAws_json1_1GamePropertyList(input.GameProperties, context), }), @@ -11987,6 +11989,8 @@ const deserializeAws_json1_1MatchmakingConfiguration = ( CustomEventData: output.CustomEventData !== undefined && output.CustomEventData !== null ? output.CustomEventData : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + FlexMatchMode: + output.FlexMatchMode !== undefined && output.FlexMatchMode !== null ? output.FlexMatchMode : undefined, GameProperties: output.GameProperties !== undefined && output.GameProperties !== null ? deserializeAws_json1_1GamePropertyList(output.GameProperties, context) diff --git a/clients/client-glue/Glue.ts b/clients/client-glue/Glue.ts index a93ddcb4e3c19..7252496f158b2 100644 --- a/clients/client-glue/Glue.ts +++ b/clients/client-glue/Glue.ts @@ -110,6 +110,11 @@ import { CreatePartitionCommandInput, CreatePartitionCommandOutput, } from "./commands/CreatePartitionCommand"; +import { + CreatePartitionIndexCommand, + CreatePartitionIndexCommandInput, + CreatePartitionIndexCommandOutput, +} from "./commands/CreatePartitionIndexCommand"; import { CreateRegistryCommand, CreateRegistryCommandInput, @@ -192,6 +197,11 @@ import { DeletePartitionCommandInput, DeletePartitionCommandOutput, } from "./commands/DeletePartitionCommand"; +import { + DeletePartitionIndexCommand, + DeletePartitionIndexCommandInput, + DeletePartitionIndexCommandOutput, +} from "./commands/DeletePartitionIndexCommand"; import { DeleteRegistryCommand, DeleteRegistryCommandInput, @@ -1425,6 +1435,38 @@ export class Glue extends GlueClient { } } + /** + *

          Creates a specified partition index in an existing table.

          + */ + public createPartitionIndex( + args: CreatePartitionIndexCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createPartitionIndex( + args: CreatePartitionIndexCommandInput, + cb: (err: any, data?: CreatePartitionIndexCommandOutput) => void + ): void; + public createPartitionIndex( + args: CreatePartitionIndexCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePartitionIndexCommandOutput) => void + ): void; + public createPartitionIndex( + args: CreatePartitionIndexCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreatePartitionIndexCommandOutput) => void), + cb?: (err: any, data?: CreatePartitionIndexCommandOutput) => void + ): Promise | void { + const command = new CreatePartitionIndexCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

          Creates a new registry which may be used to hold a collection of schemas.

          */ @@ -2008,6 +2050,38 @@ export class Glue extends GlueClient { } } + /** + *

          Deletes a specified partition index from an existing table.

          + */ + public deletePartitionIndex( + args: DeletePartitionIndexCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePartitionIndex( + args: DeletePartitionIndexCommandInput, + cb: (err: any, data?: DeletePartitionIndexCommandOutput) => void + ): void; + public deletePartitionIndex( + args: DeletePartitionIndexCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePartitionIndexCommandOutput) => void + ): void; + public deletePartitionIndex( + args: DeletePartitionIndexCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePartitionIndexCommandOutput) => void), + cb?: (err: any, data?: DeletePartitionIndexCommandOutput) => void + ): Promise | void { + const command = new DeletePartitionIndexCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

          Delete the entire registry including schema and all of its versions. To get the status of the delete operation, you can call the GetRegistry API after the asynchronous call. Deleting a registry will disable all online operations for the registry such as the UpdateRegistry, CreateSchema, UpdateSchema, and RegisterSchemaVersion APIs.

          */ diff --git a/clients/client-glue/GlueClient.ts b/clients/client-glue/GlueClient.ts index a10c13b17347e..8a8eb56b72c5e 100644 --- a/clients/client-glue/GlueClient.ts +++ b/clients/client-glue/GlueClient.ts @@ -42,6 +42,10 @@ import { CreateDevEndpointCommandInput, CreateDevEndpointCommandOutput } from ". import { CreateJobCommandInput, CreateJobCommandOutput } from "./commands/CreateJobCommand"; import { CreateMLTransformCommandInput, CreateMLTransformCommandOutput } from "./commands/CreateMLTransformCommand"; import { CreatePartitionCommandInput, CreatePartitionCommandOutput } from "./commands/CreatePartitionCommand"; +import { + CreatePartitionIndexCommandInput, + CreatePartitionIndexCommandOutput, +} from "./commands/CreatePartitionIndexCommand"; import { CreateRegistryCommandInput, CreateRegistryCommandOutput } from "./commands/CreateRegistryCommand"; import { CreateSchemaCommandInput, CreateSchemaCommandOutput } from "./commands/CreateSchemaCommand"; import { CreateScriptCommandInput, CreateScriptCommandOutput } from "./commands/CreateScriptCommand"; @@ -72,6 +76,10 @@ import { DeleteDevEndpointCommandInput, DeleteDevEndpointCommandOutput } from ". import { DeleteJobCommandInput, DeleteJobCommandOutput } from "./commands/DeleteJobCommand"; import { DeleteMLTransformCommandInput, DeleteMLTransformCommandOutput } from "./commands/DeleteMLTransformCommand"; import { DeletePartitionCommandInput, DeletePartitionCommandOutput } from "./commands/DeletePartitionCommand"; +import { + DeletePartitionIndexCommandInput, + DeletePartitionIndexCommandOutput, +} from "./commands/DeletePartitionIndexCommand"; import { DeleteRegistryCommandInput, DeleteRegistryCommandOutput } from "./commands/DeleteRegistryCommand"; import { DeleteResourcePolicyCommandInput, @@ -361,6 +369,7 @@ export type ServiceInputTypes = | CreateJobCommandInput | CreateMLTransformCommandInput | CreatePartitionCommandInput + | CreatePartitionIndexCommandInput | CreateRegistryCommandInput | CreateSchemaCommandInput | CreateScriptCommandInput @@ -379,6 +388,7 @@ export type ServiceInputTypes = | DeleteJobCommandInput | DeleteMLTransformCommandInput | DeletePartitionCommandInput + | DeletePartitionIndexCommandInput | DeleteRegistryCommandInput | DeleteResourcePolicyCommandInput | DeleteSchemaCommandInput @@ -518,6 +528,7 @@ export type ServiceOutputTypes = | CreateJobCommandOutput | CreateMLTransformCommandOutput | CreatePartitionCommandOutput + | CreatePartitionIndexCommandOutput | CreateRegistryCommandOutput | CreateSchemaCommandOutput | CreateScriptCommandOutput @@ -536,6 +547,7 @@ export type ServiceOutputTypes = | DeleteJobCommandOutput | DeleteMLTransformCommandOutput | DeletePartitionCommandOutput + | DeletePartitionIndexCommandOutput | DeleteRegistryCommandOutput | DeleteResourcePolicyCommandOutput | DeleteSchemaCommandOutput diff --git a/clients/client-glue/commands/CreatePartitionIndexCommand.ts b/clients/client-glue/commands/CreatePartitionIndexCommand.ts new file mode 100644 index 0000000000000..a3cf4e8fec74a --- /dev/null +++ b/clients/client-glue/commands/CreatePartitionIndexCommand.ts @@ -0,0 +1,88 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { CreatePartitionIndexRequest, CreatePartitionIndexResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreatePartitionIndexCommand, + serializeAws_json1_1CreatePartitionIndexCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreatePartitionIndexCommandInput = CreatePartitionIndexRequest; +export type CreatePartitionIndexCommandOutput = CreatePartitionIndexResponse & __MetadataBearer; + +/** + *

          Creates a specified partition index in an existing table.

          + */ +export class CreatePartitionIndexCommand extends $Command< + CreatePartitionIndexCommandInput, + CreatePartitionIndexCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreatePartitionIndexCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "CreatePartitionIndexCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreatePartitionIndexRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreatePartitionIndexResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreatePartitionIndexCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreatePartitionIndexCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreatePartitionIndexCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/DeletePartitionIndexCommand.ts b/clients/client-glue/commands/DeletePartitionIndexCommand.ts new file mode 100644 index 0000000000000..163a9574826c4 --- /dev/null +++ b/clients/client-glue/commands/DeletePartitionIndexCommand.ts @@ -0,0 +1,88 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { DeletePartitionIndexRequest, DeletePartitionIndexResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeletePartitionIndexCommand, + serializeAws_json1_1DeletePartitionIndexCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeletePartitionIndexCommandInput = DeletePartitionIndexRequest; +export type DeletePartitionIndexCommandOutput = DeletePartitionIndexResponse & __MetadataBearer; + +/** + *

          Deletes a specified partition index from an existing table.

          + */ +export class DeletePartitionIndexCommand extends $Command< + DeletePartitionIndexCommandInput, + DeletePartitionIndexCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePartitionIndexCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "DeletePartitionIndexCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeletePartitionIndexRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeletePartitionIndexResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeletePartitionIndexCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeletePartitionIndexCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeletePartitionIndexCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetJobBookmarkCommand.ts b/clients/client-glue/commands/GetJobBookmarkCommand.ts index aca5c4e4005dc..a95bda61bebfc 100644 --- a/clients/client-glue/commands/GetJobBookmarkCommand.ts +++ b/clients/client-glue/commands/GetJobBookmarkCommand.ts @@ -1,5 +1,6 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetJobBookmarkRequest, GetJobBookmarkResponse } from "../models/models_0"; +import { GetJobBookmarkRequest } from "../models/models_0"; +import { GetJobBookmarkResponse } from "../models/models_1"; import { deserializeAws_json1_1GetJobBookmarkCommand, serializeAws_json1_1GetJobBookmarkCommand, diff --git a/clients/client-glue/commands/GetJobRunCommand.ts b/clients/client-glue/commands/GetJobRunCommand.ts index fd07df0e4b224..bbd443d3b7ff8 100644 --- a/clients/client-glue/commands/GetJobRunCommand.ts +++ b/clients/client-glue/commands/GetJobRunCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetJobRunRequest, GetJobRunResponse } from "../models/models_0"; +import { GetJobRunRequest, GetJobRunResponse } from "../models/models_1"; import { deserializeAws_json1_1GetJobRunCommand, serializeAws_json1_1GetJobRunCommand } from "../protocols/Aws_json1_1"; import { getSerdePlugin } from "@aws-sdk/middleware-serde"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; diff --git a/clients/client-glue/commands/GetJobRunsCommand.ts b/clients/client-glue/commands/GetJobRunsCommand.ts index 76b4cf0f24dd3..39b8ed356e98b 100644 --- a/clients/client-glue/commands/GetJobRunsCommand.ts +++ b/clients/client-glue/commands/GetJobRunsCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetJobRunsRequest, GetJobRunsResponse } from "../models/models_0"; +import { GetJobRunsRequest, GetJobRunsResponse } from "../models/models_1"; import { deserializeAws_json1_1GetJobRunsCommand, serializeAws_json1_1GetJobRunsCommand, diff --git a/clients/client-glue/commands/GetJobsCommand.ts b/clients/client-glue/commands/GetJobsCommand.ts index c19a99b1a576f..0c61467a8e428 100644 --- a/clients/client-glue/commands/GetJobsCommand.ts +++ b/clients/client-glue/commands/GetJobsCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetJobsRequest, GetJobsResponse } from "../models/models_0"; +import { GetJobsRequest, GetJobsResponse } from "../models/models_1"; import { deserializeAws_json1_1GetJobsCommand, serializeAws_json1_1GetJobsCommand } from "../protocols/Aws_json1_1"; import { getSerdePlugin } from "@aws-sdk/middleware-serde"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; diff --git a/clients/client-glue/index.ts b/clients/client-glue/index.ts index 519d1090456cb..b2de4b3b5d450 100644 --- a/clients/client-glue/index.ts +++ b/clients/client-glue/index.ts @@ -23,6 +23,7 @@ export * from "./commands/CreateDevEndpointCommand"; export * from "./commands/CreateJobCommand"; export * from "./commands/CreateMLTransformCommand"; export * from "./commands/CreatePartitionCommand"; +export * from "./commands/CreatePartitionIndexCommand"; export * from "./commands/CreateRegistryCommand"; export * from "./commands/CreateSchemaCommand"; export * from "./commands/CreateScriptCommand"; @@ -41,6 +42,7 @@ export * from "./commands/DeleteDevEndpointCommand"; export * from "./commands/DeleteJobCommand"; export * from "./commands/DeleteMLTransformCommand"; export * from "./commands/DeletePartitionCommand"; +export * from "./commands/DeletePartitionIndexCommand"; export * from "./commands/DeleteRegistryCommand"; export * from "./commands/DeleteResourcePolicyCommand"; export * from "./commands/DeleteSchemaCommand"; diff --git a/clients/client-glue/models/models_0.ts b/clients/client-glue/models/models_0.ts index a8e0d2882e1e3..cd57fff5577fe 100644 --- a/clients/client-glue/models/models_0.ts +++ b/clients/client-glue/models/models_0.ts @@ -859,6 +859,36 @@ export namespace LastCrawlInfo { }); } +export enum CrawlerLineageSettings { + DISABLE = "DISABLE", + ENABLE = "ENABLE", +} + +/** + *

          Specifies data lineage configuration settings for the crawler.

          + */ +export interface LineageConfiguration { + /** + *

          Specifies whether data lineage is enabled for the crawler. Valid values are:

          + * + *
            + *
          • + *

            ENABLE: enables data lineage for the crawler

            + *
          • + *
          • + *

            DISABLE: disables data lineage for the crawler

            + *
          • + *
          + */ + CrawlerLineageSettings?: CrawlerLineageSettings | string; +} + +export namespace LineageConfiguration { + export const filterSensitiveLog = (obj: LineageConfiguration): any => ({ + ...obj, + }); +} + export enum RecrawlBehavior { CRAWL_EVERYTHING = "CRAWL_EVERYTHING", CRAWL_NEW_FOLDERS_ONLY = "CRAWL_NEW_FOLDERS_ONLY", @@ -1168,6 +1198,11 @@ export interface Crawler { */ SchemaChangePolicy?: SchemaChangePolicy; + /** + *

          A configuration that specifies whether data lineage is enabled for the crawler.

          + */ + LineageConfiguration?: LineageConfiguration; + /** *

          Indicates whether the crawler is running, or whether a run is pending.

          */ @@ -3269,6 +3304,11 @@ export interface CreateCrawlerRequest { */ RecrawlPolicy?: RecrawlPolicy; + /** + *

          Specifies data lineage configuration settings for the crawler.

          + */ + LineageConfiguration?: LineageConfiguration; + /** *

          Crawler configuration information. This versioned JSON * string allows users to specify aspects of a crawler's behavior. @@ -4276,6 +4316,63 @@ export namespace CreatePartitionResponse { }); } +/** + *

          A structure for a partition index.

          + */ +export interface PartitionIndex { + /** + *

          The keys for the partition index.

          + */ + Keys: string[] | undefined; + + /** + *

          The name of the partition index.

          + */ + IndexName: string | undefined; +} + +export namespace PartitionIndex { + export const filterSensitiveLog = (obj: PartitionIndex): any => ({ + ...obj, + }); +} + +export interface CreatePartitionIndexRequest { + /** + *

          The catalog ID where the table resides.

          + */ + CatalogId?: string; + + /** + *

          Specifies the name of a database in which you want to create a partition index.

          + */ + DatabaseName: string | undefined; + + /** + *

          Specifies the name of a table in which you want to create a partition index.

          + */ + TableName: string | undefined; + + /** + *

          Specifies a PartitionIndex structure to create a partition index in an existing table.

          + */ + PartitionIndex: PartitionIndex | undefined; +} + +export namespace CreatePartitionIndexRequest { + export const filterSensitiveLog = (obj: CreatePartitionIndexRequest): any => ({ + ...obj, + }); +} + +export interface CreatePartitionIndexResponse {} + +export namespace CreatePartitionIndexResponse { + export const filterSensitiveLog = (obj: CreatePartitionIndexResponse): any => ({ + ...obj, + }); +} + export interface CreateRegistryInput { /** *

          Name of the registry to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.

          @@ -4798,27 +4895,6 @@ export namespace CreateSecurityConfigurationResponse { }); } -/** - *

          A structure for a partition index.

          - */ -export interface PartitionIndex { - /** - *

          The keys for the partition index.

          - */ - Keys: string[] | undefined; - - /** - *

          The name of the partition index.

          - */ - IndexName: string | undefined; -} - -export namespace PartitionIndex { - export const filterSensitiveLog = (obj: PartitionIndex): any => ({ - ...obj, - }); -} - /** *

          A structure that describes a target table for resource linking.

          */ @@ -5514,6 +5590,60 @@ export namespace DeletePartitionResponse { }); } +/** + *

          The CreatePartitions API was called on a table that has indexes enabled.

          + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + /** + *

          A message describing the problem.

          + */ + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export interface DeletePartitionIndexRequest { + /** + *

          The catalog ID where the table resides.

          + */ + CatalogId?: string; + + /** + *

          Specifies the name of a database from which you want to delete a partition index.

          + */ + DatabaseName: string | undefined; + + /** + *

          Specifies the name of a table from which you want to delete a partition index.

          + */ + TableName: string | undefined; + + /** + *

          The name of the partition index to be deleted.

          + */ + IndexName: string | undefined; +} + +export namespace DeletePartitionIndexRequest { + export const filterSensitiveLog = (obj: DeletePartitionIndexRequest): any => ({ + ...obj, + }); +} + +export interface DeletePartitionIndexResponse {} + +export namespace DeletePartitionIndexResponse { + export const filterSensitiveLog = (obj: DeletePartitionIndexResponse): any => ({ + ...obj, + }); +} + export interface DeleteRegistryInput { /** *

          This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

          @@ -7560,129 +7690,3 @@ export namespace JobBookmarkEntry { ...obj, }); } - -export interface GetJobBookmarkResponse { - /** - *

          A structure that defines a point that a job can resume processing.

          - */ - JobBookmarkEntry?: JobBookmarkEntry; -} - -export namespace GetJobBookmarkResponse { - export const filterSensitiveLog = (obj: GetJobBookmarkResponse): any => ({ - ...obj, - }); -} - -export interface GetJobRunRequest { - /** - *

          Name of the job definition being run.

          - */ - JobName: string | undefined; - - /** - *

          The ID of the job run.

          - */ - RunId: string | undefined; - - /** - *

          True if a list of predecessor runs should be returned.

          - */ - PredecessorsIncluded?: boolean; -} - -export namespace GetJobRunRequest { - export const filterSensitiveLog = (obj: GetJobRunRequest): any => ({ - ...obj, - }); -} - -export interface GetJobRunResponse { - /** - *

          The requested job-run metadata.

          - */ - JobRun?: JobRun; -} - -export namespace GetJobRunResponse { - export const filterSensitiveLog = (obj: GetJobRunResponse): any => ({ - ...obj, - }); -} - -export interface GetJobRunsRequest { - /** - *

          The name of the job definition for which to retrieve all job runs.

          - */ - JobName: string | undefined; - - /** - *

          A continuation token, if this is a continuation call.

          - */ - NextToken?: string; - - /** - *

          The maximum size of the response.

          - */ - MaxResults?: number; -} - -export namespace GetJobRunsRequest { - export const filterSensitiveLog = (obj: GetJobRunsRequest): any => ({ - ...obj, - }); -} - -export interface GetJobRunsResponse { - /** - *

          A list of job-run metadata objects.

          - */ - JobRuns?: JobRun[]; - - /** - *

          A continuation token, if not all requested job runs have been returned.

          - */ - NextToken?: string; -} - -export namespace GetJobRunsResponse { - export const filterSensitiveLog = (obj: GetJobRunsResponse): any => ({ - ...obj, - }); -} - -export interface GetJobsRequest { - /** - *

          A continuation token, if this is a continuation call.

          - */ - NextToken?: string; - - /** - *

          The maximum size of the response.

          - */ - MaxResults?: number; -} - -export namespace GetJobsRequest { - export const filterSensitiveLog = (obj: GetJobsRequest): any => ({ - ...obj, - }); -} - -export interface GetJobsResponse { - /** - *

          A list of job definitions.

          - */ - Jobs?: Job[]; - - /** - *

          A continuation token, if not all job definitions have yet been returned.

          - */ - NextToken?: string; -} - -export namespace GetJobsResponse { - export const filterSensitiveLog = (obj: GetJobsResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-glue/models/models_1.ts b/clients/client-glue/models/models_1.ts index fdcab982b99bb..21c5db174906c 100644 --- a/clients/client-glue/models/models_1.ts +++ b/clients/client-glue/models/models_1.ts @@ -15,12 +15,16 @@ import { ErrorDetail, ExecutionProperty, GlueTable, + Job, JobBookmarkEntry, JobCommand, + JobRun, Language, + LineageConfiguration, NotificationProperty, Partition, PartitionInput, + PartitionValueList, Predicate, PrincipalType, RecrawlPolicy, @@ -48,6 +52,132 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export interface GetJobBookmarkResponse { + /** + *

          A structure that defines a point that a job can resume processing.

          + */ + JobBookmarkEntry?: JobBookmarkEntry; +} + +export namespace GetJobBookmarkResponse { + export const filterSensitiveLog = (obj: GetJobBookmarkResponse): any => ({ + ...obj, + }); +} + +export interface GetJobRunRequest { + /** + *

          Name of the job definition being run.

          + */ + JobName: string | undefined; + + /** + *

          The ID of the job run.

          + */ + RunId: string | undefined; + + /** + *

          True if a list of predecessor runs should be returned.

          + */ + PredecessorsIncluded?: boolean; +} + +export namespace GetJobRunRequest { + export const filterSensitiveLog = (obj: GetJobRunRequest): any => ({ + ...obj, + }); +} + +export interface GetJobRunResponse { + /** + *

          The requested job-run metadata.

          + */ + JobRun?: JobRun; +} + +export namespace GetJobRunResponse { + export const filterSensitiveLog = (obj: GetJobRunResponse): any => ({ + ...obj, + }); +} + +export interface GetJobRunsRequest { + /** + *

          The name of the job definition for which to retrieve all job runs.

          + */ + JobName: string | undefined; + + /** + *

          A continuation token, if this is a continuation call.

          + */ + NextToken?: string; + + /** + *

          The maximum size of the response.

          + */ + MaxResults?: number; +} + +export namespace GetJobRunsRequest { + export const filterSensitiveLog = (obj: GetJobRunsRequest): any => ({ + ...obj, + }); +} + +export interface GetJobRunsResponse { + /** + *

          A list of job-run metadata objects.

          + */ + JobRuns?: JobRun[]; + + /** + *

          A continuation token, if not all requested job runs have been returned.

          + */ + NextToken?: string; +} + +export namespace GetJobRunsResponse { + export const filterSensitiveLog = (obj: GetJobRunsResponse): any => ({ + ...obj, + }); +} + +export interface GetJobsRequest { + /** + *

          A continuation token, if this is a continuation call.

          + */ + NextToken?: string; + + /** + *

          The maximum size of the response.

          + */ + MaxResults?: number; +} + +export namespace GetJobsRequest { + export const filterSensitiveLog = (obj: GetJobsRequest): any => ({ + ...obj, + }); +} + +export interface GetJobsResponse { + /** + *

          A list of job definitions.

          + */ + Jobs?: Job[]; + + /** + *

          A continuation token, if not all job definitions have yet been returned.

          + */ + NextToken?: string; +} + +export namespace GetJobsResponse { + export const filterSensitiveLog = (obj: GetJobsResponse): any => ({ + ...obj, + }); +} + /** *

          The location of resources.

          */ @@ -1177,24 +1307,6 @@ export namespace GetPartitionResponse { }); } -/** - *

          The CreatePartitions API was called on a table that has indexes enabled.

          - */ -export interface ConflictException extends __SmithyException, $MetadataBearer { - name: "ConflictException"; - $fault: "client"; - /** - *

          A message describing the problem.

          - */ - Message?: string; -} - -export namespace ConflictException { - export const filterSensitiveLog = (obj: ConflictException): any => ({ - ...obj, - }); -} - export interface GetPartitionIndexesRequest { /** *

          The catalog ID where the table resides.

          @@ -1223,8 +1335,60 @@ export namespace GetPartitionIndexesRequest { }); } +export enum BackfillErrorCode { + ENCRYPTED_PARTITION_ERROR = "ENCRYPTED_PARTITION_ERROR", + INTERNAL_ERROR = "INTERNAL_ERROR", + INVALID_PARTITION_TYPE_DATA_ERROR = "INVALID_PARTITION_TYPE_DATA_ERROR", + MISSING_PARTITION_VALUE_ERROR = "MISSING_PARTITION_VALUE_ERROR", + UNSUPPORTED_PARTITION_CHARACTER_ERROR = "UNSUPPORTED_PARTITION_CHARACTER_ERROR", +} + +/** + *

          A list of errors that can occur when registering partition indexes for an existing table.

          + * + *

          These errors give the details about why an index registration failed and provide a limited number of partitions in the response, so that you can fix the partitions at fault and try registering the index again. The most common set of errors that can occur are categorized as follows:

          + * + *
            + *
          • + *

            EncryptedPartitionError: The partitions are encrypted.

            + *
          • + *
          • + *

            InvalidPartitionTypeDataError: The partition value doesn't match the data type for that partition column.

            + *
          • + *
          • + *

            MissingPartitionValueError: The partitions are encrypted.

            + *
          • + *
          • + *

            UnsupportedPartitionCharacterError: Characters inside the partition value are not supported. For example: U+0000 , U+0001, U+0002.

            + *
          • + *
          • + *

            InternalError: Any error which does not belong to other error codes.

            + *
          • + *
          + */ +export interface BackfillError { + /** + *

          The error code for an error that occurred when registering partition indexes for an existing table.

          + */ + Code?: BackfillErrorCode | string; + + /** + *

          A list of a limited number of partitions in the response.

          + */ + Partitions?: PartitionValueList[]; +} + +export namespace BackfillError { + export const filterSensitiveLog = (obj: BackfillError): any => ({ + ...obj, + }); +} + export enum PartitionIndexStatus { ACTIVE = "ACTIVE", + CREATING = "CREATING", + DELETING = "DELETING", + FAILED = "FAILED", } /** @@ -1264,8 +1428,29 @@ export interface PartitionIndexDescriptor { /** *

          The status of the partition index.

          + * + *

          The possible statuses are:

          + *
            + *
          • + *

            CREATING: The index is being created. When an index is in a CREATING state, the index or its table cannot be deleted.

            + *
          • + *
          • + *

            ACTIVE: The index creation succeeds.

            + *
          • + *
          • + *

            FAILED: The index creation fails.

            + *
          • + *
          • + *

            DELETING: The index is deleted from the list of indexes.

            + *
          • + *
          */ IndexStatus: PartitionIndexStatus | string | undefined; + + /** + *

          A list of errors that can occur when registering partition indexes for an existing table.

          + */ + BackfillErrors?: BackfillError[]; } export namespace PartitionIndexDescriptor { @@ -4990,6 +5175,11 @@ export interface UpdateCrawlerRequest { */ RecrawlPolicy?: RecrawlPolicy; + /** + *

          Specifies data lineage configuration settings for the crawler.

          + */ + LineageConfiguration?: LineageConfiguration; + /** *

          Crawler configuration information. This versioned JSON string allows users * to specify aspects of a crawler's behavior. diff --git a/clients/client-glue/protocols/Aws_json1_1.ts b/clients/client-glue/protocols/Aws_json1_1.ts index eac2f65e37b72..e39fd985250d3 100644 --- a/clients/client-glue/protocols/Aws_json1_1.ts +++ b/clients/client-glue/protocols/Aws_json1_1.ts @@ -42,6 +42,10 @@ import { CreateDevEndpointCommandInput, CreateDevEndpointCommandOutput } from ". import { CreateJobCommandInput, CreateJobCommandOutput } from "../commands/CreateJobCommand"; import { CreateMLTransformCommandInput, CreateMLTransformCommandOutput } from "../commands/CreateMLTransformCommand"; import { CreatePartitionCommandInput, CreatePartitionCommandOutput } from "../commands/CreatePartitionCommand"; +import { + CreatePartitionIndexCommandInput, + CreatePartitionIndexCommandOutput, +} from "../commands/CreatePartitionIndexCommand"; import { CreateRegistryCommandInput, CreateRegistryCommandOutput } from "../commands/CreateRegistryCommand"; import { CreateSchemaCommandInput, CreateSchemaCommandOutput } from "../commands/CreateSchemaCommand"; import { CreateScriptCommandInput, CreateScriptCommandOutput } from "../commands/CreateScriptCommand"; @@ -72,6 +76,10 @@ import { DeleteDevEndpointCommandInput, DeleteDevEndpointCommandOutput } from ". import { DeleteJobCommandInput, DeleteJobCommandOutput } from "../commands/DeleteJobCommand"; import { DeleteMLTransformCommandInput, DeleteMLTransformCommandOutput } from "../commands/DeleteMLTransformCommand"; import { DeletePartitionCommandInput, DeletePartitionCommandOutput } from "../commands/DeletePartitionCommand"; +import { + DeletePartitionIndexCommandInput, + DeletePartitionIndexCommandOutput, +} from "../commands/DeletePartitionIndexCommand"; import { DeleteRegistryCommandInput, DeleteRegistryCommandOutput } from "../commands/DeleteRegistryCommand"; import { DeleteResourcePolicyCommandInput, @@ -342,6 +350,7 @@ import { ConcurrentModificationException, Condition, ConditionCheckFailureException, + ConflictException, Connection, ConnectionInput, ConnectionPasswordEncryption, @@ -370,6 +379,8 @@ import { CreateJsonClassifierRequest, CreateMLTransformRequest, CreateMLTransformResponse, + CreatePartitionIndexRequest, + CreatePartitionIndexResponse, CreatePartitionRequest, CreatePartitionResponse, CreateRegistryInput, @@ -416,6 +427,8 @@ import { DeleteJobResponse, DeleteMLTransformRequest, DeleteMLTransformResponse, + DeletePartitionIndexRequest, + DeletePartitionIndexResponse, DeletePartitionRequest, DeletePartitionResponse, DeleteRegistryInput, @@ -483,15 +496,8 @@ import { GetDevEndpointsRequest, GetDevEndpointsResponse, GetJobBookmarkRequest, - GetJobBookmarkResponse, GetJobRequest, GetJobResponse, - GetJobRunRequest, - GetJobRunResponse, - GetJobRunsRequest, - GetJobRunsResponse, - GetJobsRequest, - GetJobsResponse, GlueEncryptionException, GlueTable, GrokClassifier, @@ -507,6 +513,7 @@ import { JobRun, JsonClassifier, LastCrawlInfo, + LineageConfiguration, LongColumnStatisticsData, MLUserDataEncryption, MongoDBTarget, @@ -557,10 +564,10 @@ import { XMLClassifier, } from "../models/models_0"; import { + BackfillError, CatalogEntry, ColumnStatisticsError, ConcurrentRunsExceededException, - ConflictException, ConfusionMatrix, CrawlerNotRunningException, CrawlerStoppingException, @@ -569,6 +576,13 @@ import { ExportLabelsTaskRunProperties, FindMatchesMetrics, FindMatchesTaskRunProperties, + GetJobBookmarkResponse, + GetJobRunRequest, + GetJobRunResponse, + GetJobRunsRequest, + GetJobRunsResponse, + GetJobsRequest, + GetJobsResponse, GetMLTaskRunRequest, GetMLTaskRunResponse, GetMLTaskRunsRequest, @@ -1085,6 +1099,19 @@ export const serializeAws_json1_1CreatePartitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreatePartitionIndexCommand = async ( + input: CreatePartitionIndexCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.CreatePartitionIndex", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreatePartitionIndexRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateRegistryCommand = async ( input: CreateRegistryCommandInput, context: __SerdeContext @@ -1319,6 +1346,19 @@ export const serializeAws_json1_1DeletePartitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeletePartitionIndexCommand = async ( + input: DeletePartitionIndexCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.DeletePartitionIndex", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeletePartitionIndexRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteRegistryCommand = async ( input: DeleteRegistryCommandInput, context: __SerdeContext @@ -4706,6 +4746,109 @@ const deserializeAws_json1_1CreatePartitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreatePartitionIndexCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreatePartitionIndexCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreatePartitionIndexResponse(data, context); + const response: CreatePartitionIndexCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreatePartitionIndexCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": + response = { + ...(await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": + response = { + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNumberLimitExceededException": + case "com.amazonaws.glue#ResourceNumberLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1CreateRegistryCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6224,6 +6367,101 @@ const deserializeAws_json1_1DeletePartitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeletePartitionIndexCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeletePartitionIndexCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeletePartitionIndexResponse(data, context); + const response: DeletePartitionIndexCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeletePartitionIndexCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.glue#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": + response = { + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DeleteRegistryCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -16294,6 +16532,9 @@ const serializeAws_json1_1CreateCrawlerRequest = (input: CreateCrawlerRequest, c }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), ...(input.Description !== undefined && { Description: input.Description }), + ...(input.LineageConfiguration !== undefined && { + LineageConfiguration: serializeAws_json1_1LineageConfiguration(input.LineageConfiguration, context), + }), ...(input.Name !== undefined && { Name: input.Name }), ...(input.RecrawlPolicy !== undefined && { RecrawlPolicy: serializeAws_json1_1RecrawlPolicy(input.RecrawlPolicy, context), @@ -16443,6 +16684,20 @@ const serializeAws_json1_1CreateMLTransformRequest = ( }; }; +const serializeAws_json1_1CreatePartitionIndexRequest = ( + input: CreatePartitionIndexRequest, + context: __SerdeContext +): any => { + return { + ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.PartitionIndex !== undefined && { + PartitionIndex: serializeAws_json1_1PartitionIndex(input.PartitionIndex, context), + }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + const serializeAws_json1_1CreatePartitionRequest = (input: CreatePartitionRequest, context: __SerdeContext): any => { return { ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), @@ -16733,6 +16988,18 @@ const serializeAws_json1_1DeleteMLTransformRequest = ( }; }; +const serializeAws_json1_1DeletePartitionIndexRequest = ( + input: DeletePartitionIndexRequest, + context: __SerdeContext +): any => { + return { + ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.IndexName !== undefined && { IndexName: input.IndexName }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + const serializeAws_json1_1DeletePartitionRequest = (input: DeletePartitionRequest, context: __SerdeContext): any => { return { ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), @@ -17482,6 +17749,12 @@ const serializeAws_json1_1KeyList = (input: string[], context: __SerdeContext): return input.map((entry) => entry); }; +const serializeAws_json1_1LineageConfiguration = (input: LineageConfiguration, context: __SerdeContext): any => { + return { + ...(input.CrawlerLineageSettings !== undefined && { CrawlerLineageSettings: input.CrawlerLineageSettings }), + }; +}; + const serializeAws_json1_1ListCrawlersRequest = (input: ListCrawlersRequest, context: __SerdeContext): any => { return { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), @@ -18406,6 +18679,9 @@ const serializeAws_json1_1UpdateCrawlerRequest = (input: UpdateCrawlerRequest, c }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), ...(input.Description !== undefined && { Description: input.Description }), + ...(input.LineageConfiguration !== undefined && { + LineageConfiguration: serializeAws_json1_1LineageConfiguration(input.LineageConfiguration, context), + }), ...(input.Name !== undefined && { Name: input.Name }), ...(input.RecrawlPolicy !== undefined && { RecrawlPolicy: serializeAws_json1_1RecrawlPolicy(input.RecrawlPolicy, context), @@ -18686,6 +18962,27 @@ const deserializeAws_json1_1AlreadyExistsException = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1BackfillError = (output: any, context: __SerdeContext): BackfillError => { + return { + Code: output.Code !== undefined && output.Code !== null ? output.Code : undefined, + Partitions: + output.Partitions !== undefined && output.Partitions !== null + ? deserializeAws_json1_1BackfillErroredPartitionsList(output.Partitions, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1BackfillErroredPartitionsList = ( + output: any, + context: __SerdeContext +): PartitionValueList[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PartitionValueList(entry, context)); +}; + +const deserializeAws_json1_1BackfillErrors = (output: any, context: __SerdeContext): BackfillError[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1BackfillError(entry, context)); +}; + const deserializeAws_json1_1BatchCreatePartitionResponse = ( output: any, context: __SerdeContext @@ -19378,6 +19675,10 @@ const deserializeAws_json1_1Crawler = (output: any, context: __SerdeContext): Cr output.LastUpdated !== undefined && output.LastUpdated !== null ? new Date(Math.round(output.LastUpdated * 1000)) : undefined, + LineageConfiguration: + output.LineageConfiguration !== undefined && output.LineageConfiguration !== null + ? deserializeAws_json1_1LineageConfiguration(output.LineageConfiguration, context) + : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, RecrawlPolicy: output.RecrawlPolicy !== undefined && output.RecrawlPolicy !== null @@ -19593,6 +19894,13 @@ const deserializeAws_json1_1CreateMLTransformResponse = ( } as any; }; +const deserializeAws_json1_1CreatePartitionIndexResponse = ( + output: any, + context: __SerdeContext +): CreatePartitionIndexResponse => { + return {} as any; +}; + const deserializeAws_json1_1CreatePartitionResponse = ( output: any, context: __SerdeContext @@ -19905,6 +20213,13 @@ const deserializeAws_json1_1DeleteMLTransformResponse = ( } as any; }; +const deserializeAws_json1_1DeletePartitionIndexResponse = ( + output: any, + context: __SerdeContext +): DeletePartitionIndexResponse => { + return {} as any; +}; + const deserializeAws_json1_1DeletePartitionResponse = ( output: any, context: __SerdeContext @@ -21243,6 +21558,15 @@ const deserializeAws_json1_1LastCrawlInfo = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1LineageConfiguration = (output: any, context: __SerdeContext): LineageConfiguration => { + return { + CrawlerLineageSettings: + output.CrawlerLineageSettings !== undefined && output.CrawlerLineageSettings !== null + ? output.CrawlerLineageSettings + : undefined, + } as any; +}; + const deserializeAws_json1_1ListCrawlersResponse = (output: any, context: __SerdeContext): ListCrawlersResponse => { return { CrawlerNames: @@ -21629,6 +21953,10 @@ const deserializeAws_json1_1PartitionIndexDescriptor = ( context: __SerdeContext ): PartitionIndexDescriptor => { return { + BackfillErrors: + output.BackfillErrors !== undefined && output.BackfillErrors !== null + ? deserializeAws_json1_1BackfillErrors(output.BackfillErrors, context) + : undefined, IndexName: output.IndexName !== undefined && output.IndexName !== null ? output.IndexName : undefined, IndexStatus: output.IndexStatus !== undefined && output.IndexStatus !== null ? output.IndexStatus : undefined, Keys: diff --git a/clients/client-iot/models/models_0.ts b/clients/client-iot/models/models_0.ts index 5d8cf8c0cf8cd..e25fbd2a3e084 100644 --- a/clients/client-iot/models/models_0.ts +++ b/clients/client-iot/models/models_0.ts @@ -725,35 +725,92 @@ export namespace AssetPropertyTimestamp { /** *

          Contains an asset property value (of a single type).

          */ -export interface AssetPropertyVariant { +export type AssetPropertyVariant = + | AssetPropertyVariant.BooleanValueMember + | AssetPropertyVariant.DoubleValueMember + | AssetPropertyVariant.IntegerValueMember + | AssetPropertyVariant.StringValueMember + | AssetPropertyVariant.$UnknownMember; + +export namespace AssetPropertyVariant { /** *

          Optional. The string value of the value entry. Accepts substitution templates.

          */ - stringValue?: string; + export interface StringValueMember { + stringValue: string; + integerValue?: never; + doubleValue?: never; + booleanValue?: never; + $unknown?: never; + } /** *

          Optional. A string that contains the integer value of the value entry. Accepts * substitution templates.

          */ - integerValue?: string; + export interface IntegerValueMember { + stringValue?: never; + integerValue: string; + doubleValue?: never; + booleanValue?: never; + $unknown?: never; + } /** *

          Optional. A string that contains the double value of the value entry. Accepts substitution * templates.

          */ - doubleValue?: string; + export interface DoubleValueMember { + stringValue?: never; + integerValue?: never; + doubleValue: string; + booleanValue?: never; + $unknown?: never; + } /** *

          Optional. A string that contains the boolean value (true or * false) of the value entry. Accepts substitution templates.

          */ - booleanValue?: string; -} - -export namespace AssetPropertyVariant { - export const filterSensitiveLog = (obj: AssetPropertyVariant): any => ({ - ...obj, - }); + export interface BooleanValueMember { + stringValue?: never; + integerValue?: never; + doubleValue?: never; + booleanValue: string; + $unknown?: never; + } + + export interface $UnknownMember { + stringValue?: never; + integerValue?: never; + doubleValue?: never; + booleanValue?: never; + $unknown: [string, any]; + } + + export interface Visitor { + stringValue: (value: string) => T; + integerValue: (value: string) => T; + doubleValue: (value: string) => T; + booleanValue: (value: string) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: AssetPropertyVariant, visitor: Visitor): T => { + if (value.stringValue !== undefined) return visitor.stringValue(value.stringValue); + if (value.integerValue !== undefined) return visitor.integerValue(value.integerValue); + if (value.doubleValue !== undefined) return visitor.doubleValue(value.doubleValue); + if (value.booleanValue !== undefined) return visitor.booleanValue(value.booleanValue); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: AssetPropertyVariant): any => { + if (obj.stringValue !== undefined) return { stringValue: obj.stringValue }; + if (obj.integerValue !== undefined) return { integerValue: obj.integerValue }; + if (obj.doubleValue !== undefined) return { doubleValue: obj.doubleValue }; + if (obj.booleanValue !== undefined) return { booleanValue: obj.booleanValue }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } /** @@ -780,6 +837,7 @@ export interface AssetPropertyValue { export namespace AssetPropertyValue { export const filterSensitiveLog = (obj: AssetPropertyValue): any => ({ ...obj, + ...(obj.value && { value: AssetPropertyVariant.filterSensitiveLog(obj.value) }), }); } @@ -825,6 +883,9 @@ export interface PutAssetPropertyValueEntry { export namespace PutAssetPropertyValueEntry { export const filterSensitiveLog = (obj: PutAssetPropertyValueEntry): any => ({ ...obj, + ...(obj.propertyValues && { + propertyValues: obj.propertyValues.map((item) => AssetPropertyValue.filterSensitiveLog(item)), + }), }); } @@ -4484,6 +4545,12 @@ export interface OTAUpdateFile { */ fileName?: string; + /** + *

          An integer value you can include in the job document to allow your devices to identify the type of file received + * from the cloud.

          + */ + fileType?: number; + /** *

          The file version.

          */ diff --git a/clients/client-iot/protocols/Aws_restJson1.ts b/clients/client-iot/protocols/Aws_restJson1.ts index ed4cdb1495ce9..d676cb252e08d 100644 --- a/clients/client-iot/protocols/Aws_restJson1.ts +++ b/clients/client-iot/protocols/Aws_restJson1.ts @@ -27790,12 +27790,13 @@ const serializeAws_restJson1AssetPropertyValueList = (input: AssetPropertyValue[ }; const serializeAws_restJson1AssetPropertyVariant = (input: AssetPropertyVariant, context: __SerdeContext): any => { - return { - ...(input.booleanValue !== undefined && { booleanValue: input.booleanValue }), - ...(input.doubleValue !== undefined && { doubleValue: input.doubleValue }), - ...(input.integerValue !== undefined && { integerValue: input.integerValue }), - ...(input.stringValue !== undefined && { stringValue: input.stringValue }), - }; + return AssetPropertyVariant.visit(input, { + booleanValue: (value) => ({ booleanValue: value }), + doubleValue: (value) => ({ doubleValue: value }), + integerValue: (value) => ({ integerValue: value }), + stringValue: (value) => ({ stringValue: value }), + _: (name, value) => ({ name: value } as any), + }); }; const serializeAws_restJson1AttributePayload = (input: AttributePayload, context: __SerdeContext): any => { @@ -28449,6 +28450,7 @@ const serializeAws_restJson1OTAUpdateFile = (input: OTAUpdateFile, context: __Se fileLocation: serializeAws_restJson1FileLocation(input.fileLocation, context), }), ...(input.fileName !== undefined && { fileName: input.fileName }), + ...(input.fileType !== undefined && { fileType: input.fileType }), ...(input.fileVersion !== undefined && { fileVersion: input.fileVersion }), }; }; @@ -29141,12 +29143,27 @@ const deserializeAws_restJson1AssetPropertyValueList = (output: any, context: __ }; const deserializeAws_restJson1AssetPropertyVariant = (output: any, context: __SerdeContext): AssetPropertyVariant => { - return { - booleanValue: output.booleanValue !== undefined && output.booleanValue !== null ? output.booleanValue : undefined, - doubleValue: output.doubleValue !== undefined && output.doubleValue !== null ? output.doubleValue : undefined, - integerValue: output.integerValue !== undefined && output.integerValue !== null ? output.integerValue : undefined, - stringValue: output.stringValue !== undefined && output.stringValue !== null ? output.stringValue : undefined, - } as any; + if (output.booleanValue !== undefined && output.booleanValue !== null) { + return { + booleanValue: output.booleanValue, + }; + } + if (output.doubleValue !== undefined && output.doubleValue !== null) { + return { + doubleValue: output.doubleValue, + }; + } + if (output.integerValue !== undefined && output.integerValue !== null) { + return { + integerValue: output.integerValue, + }; + } + if (output.stringValue !== undefined && output.stringValue !== null) { + return { + stringValue: output.stringValue, + }; + } + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restJson1AttributePayload = (output: any, context: __SerdeContext): AttributePayload => { @@ -30635,6 +30652,7 @@ const deserializeAws_restJson1OTAUpdateFile = (output: any, context: __SerdeCont ? deserializeAws_restJson1FileLocation(output.fileLocation, context) : undefined, fileName: output.fileName !== undefined && output.fileName !== null ? output.fileName : undefined, + fileType: output.fileType !== undefined && output.fileType !== null ? output.fileType : undefined, fileVersion: output.fileVersion !== undefined && output.fileVersion !== null ? output.fileVersion : undefined, } as any; }; diff --git a/clients/client-iotsitewise/IoTSiteWise.ts b/clients/client-iotsitewise/IoTSiteWise.ts index ec7eeb930d696..c0648303beb30 100644 --- a/clients/client-iotsitewise/IoTSiteWise.ts +++ b/clients/client-iotsitewise/IoTSiteWise.ts @@ -111,6 +111,11 @@ import { DescribeDashboardCommandInput, DescribeDashboardCommandOutput, } from "./commands/DescribeDashboardCommand"; +import { + DescribeDefaultEncryptionConfigurationCommand, + DescribeDefaultEncryptionConfigurationCommandInput, + DescribeDefaultEncryptionConfigurationCommandOutput, +} from "./commands/DescribeDefaultEncryptionConfigurationCommand"; import { DescribeGatewayCapabilityConfigurationCommand, DescribeGatewayCapabilityConfigurationCommandInput, @@ -198,6 +203,11 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PutDefaultEncryptionConfigurationCommand, + PutDefaultEncryptionConfigurationCommandInput, + PutDefaultEncryptionConfigurationCommandOutput, +} from "./commands/PutDefaultEncryptionConfigurationCommand"; import { PutLoggingOptionsCommand, PutLoggingOptionsCommandInput, @@ -611,8 +621,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { /** *

          Creates a pre-signed URL to a portal. Use this operation to create URLs to portals that * use AWS Identity and Access Management (IAM) to authenticate users. An IAM user with access to a portal can call this API - * to get a URL to that portal. The URL contains a session token that lets the IAM user access - * the portal.

          + * to get a URL to that portal. The URL contains an authentication token that lets the IAM user + * access the portal.

          */ public createPresignedPortalUrl( args: CreatePresignedPortalUrlCommandInput, @@ -1071,6 +1081,42 @@ export class IoTSiteWise extends IoTSiteWiseClient { } } + /** + *

          Retrieves information about the default encryption configuration for the + * AWS account in the default or specified region. For more information, see Key management + * in the AWS IoT SiteWise User Guide.

          + */ + public describeDefaultEncryptionConfiguration( + args: DescribeDefaultEncryptionConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeDefaultEncryptionConfiguration( + args: DescribeDefaultEncryptionConfigurationCommandInput, + cb: (err: any, data?: DescribeDefaultEncryptionConfigurationCommandOutput) => void + ): void; + public describeDefaultEncryptionConfiguration( + args: DescribeDefaultEncryptionConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeDefaultEncryptionConfigurationCommandOutput) => void + ): void; + public describeDefaultEncryptionConfiguration( + args: DescribeDefaultEncryptionConfigurationCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeDefaultEncryptionConfigurationCommandOutput) => void), + cb?: (err: any, data?: DescribeDefaultEncryptionConfigurationCommandOutput) => void + ): Promise | void { + const command = new DescribeDefaultEncryptionConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

          Retrieves information about a gateway.

          */ @@ -1723,6 +1769,40 @@ export class IoTSiteWise extends IoTSiteWiseClient { } } + /** + *

          Sets the default encryption configuration for the AWS + * account. For more information, see Key management + * in the AWS IoT SiteWise User Guide.

          + */ + public putDefaultEncryptionConfiguration( + args: PutDefaultEncryptionConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putDefaultEncryptionConfiguration( + args: PutDefaultEncryptionConfigurationCommandInput, + cb: (err: any, data?: PutDefaultEncryptionConfigurationCommandOutput) => void + ): void; + public putDefaultEncryptionConfiguration( + args: PutDefaultEncryptionConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutDefaultEncryptionConfigurationCommandOutput) => void + ): void; + public putDefaultEncryptionConfiguration( + args: PutDefaultEncryptionConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutDefaultEncryptionConfigurationCommandOutput) => void), + cb?: (err: any, data?: PutDefaultEncryptionConfigurationCommandOutput) => void + ): Promise | void { + const command = new PutDefaultEncryptionConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

          Sets logging options for AWS IoT SiteWise.

          */ diff --git a/clients/client-iotsitewise/IoTSiteWiseClient.ts b/clients/client-iotsitewise/IoTSiteWiseClient.ts index 9270c81743cb4..45cc9033d3c5f 100644 --- a/clients/client-iotsitewise/IoTSiteWiseClient.ts +++ b/clients/client-iotsitewise/IoTSiteWiseClient.ts @@ -40,6 +40,10 @@ import { DescribeAssetPropertyCommandOutput, } from "./commands/DescribeAssetPropertyCommand"; import { DescribeDashboardCommandInput, DescribeDashboardCommandOutput } from "./commands/DescribeDashboardCommand"; +import { + DescribeDefaultEncryptionConfigurationCommandInput, + DescribeDefaultEncryptionConfigurationCommandOutput, +} from "./commands/DescribeDefaultEncryptionConfigurationCommand"; import { DescribeGatewayCapabilityConfigurationCommandInput, DescribeGatewayCapabilityConfigurationCommandOutput, @@ -80,6 +84,10 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PutDefaultEncryptionConfigurationCommandInput, + PutDefaultEncryptionConfigurationCommandOutput, +} from "./commands/PutDefaultEncryptionConfigurationCommand"; import { PutLoggingOptionsCommandInput, PutLoggingOptionsCommandOutput } from "./commands/PutLoggingOptionsCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; @@ -172,6 +180,7 @@ export type ServiceInputTypes = | DescribeAssetModelCommandInput | DescribeAssetPropertyCommandInput | DescribeDashboardCommandInput + | DescribeDefaultEncryptionConfigurationCommandInput | DescribeGatewayCapabilityConfigurationCommandInput | DescribeGatewayCommandInput | DescribeLoggingOptionsCommandInput @@ -191,6 +200,7 @@ export type ServiceInputTypes = | ListProjectAssetsCommandInput | ListProjectsCommandInput | ListTagsForResourceCommandInput + | PutDefaultEncryptionConfigurationCommandInput | PutLoggingOptionsCommandInput | TagResourceCommandInput | UntagResourceCommandInput @@ -229,6 +239,7 @@ export type ServiceOutputTypes = | DescribeAssetModelCommandOutput | DescribeAssetPropertyCommandOutput | DescribeDashboardCommandOutput + | DescribeDefaultEncryptionConfigurationCommandOutput | DescribeGatewayCapabilityConfigurationCommandOutput | DescribeGatewayCommandOutput | DescribeLoggingOptionsCommandOutput @@ -248,6 +259,7 @@ export type ServiceOutputTypes = | ListProjectAssetsCommandOutput | ListProjectsCommandOutput | ListTagsForResourceCommandOutput + | PutDefaultEncryptionConfigurationCommandOutput | PutLoggingOptionsCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput diff --git a/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts b/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts index c01c56920d0d5..afc143b483ac5 100644 --- a/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts +++ b/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts @@ -23,8 +23,8 @@ export type CreatePresignedPortalUrlCommandOutput = CreatePresignedPortalUrlResp /** *

          Creates a pre-signed URL to a portal. Use this operation to create URLs to portals that * use AWS Identity and Access Management (IAM) to authenticate users. An IAM user with access to a portal can call this API - * to get a URL to that portal. The URL contains a session token that lets the IAM user access - * the portal.

          + * to get a URL to that portal. The URL contains an authentication token that lets the IAM user + * access the portal.

          */ export class CreatePresignedPortalUrlCommand extends $Command< CreatePresignedPortalUrlCommandInput, diff --git a/clients/client-iotsitewise/commands/DescribeDefaultEncryptionConfigurationCommand.ts b/clients/client-iotsitewise/commands/DescribeDefaultEncryptionConfigurationCommand.ts new file mode 100644 index 0000000000000..572739cf0bb5f --- /dev/null +++ b/clients/client-iotsitewise/commands/DescribeDefaultEncryptionConfigurationCommand.ts @@ -0,0 +1,100 @@ +import { IoTSiteWiseClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTSiteWiseClient"; +import { + DescribeDefaultEncryptionConfigurationRequest, + DescribeDefaultEncryptionConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1DescribeDefaultEncryptionConfigurationCommand, + serializeAws_restJson1DescribeDefaultEncryptionConfigurationCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeDefaultEncryptionConfigurationCommandInput = DescribeDefaultEncryptionConfigurationRequest; +export type DescribeDefaultEncryptionConfigurationCommandOutput = DescribeDefaultEncryptionConfigurationResponse & + __MetadataBearer; + +/** + *

          Retrieves information about the default encryption configuration for the + * AWS account in the default or specified region. For more information, see Key management + * in the AWS IoT SiteWise User Guide.

          + */ +export class DescribeDefaultEncryptionConfigurationCommand extends $Command< + DescribeDefaultEncryptionConfigurationCommandInput, + DescribeDefaultEncryptionConfigurationCommandOutput, + IoTSiteWiseClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeDefaultEncryptionConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTSiteWiseClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "IoTSiteWiseClient"; + const commandName = "DescribeDefaultEncryptionConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeDefaultEncryptionConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeDefaultEncryptionConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeDefaultEncryptionConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeDefaultEncryptionConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeDefaultEncryptionConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iotsitewise/commands/PutDefaultEncryptionConfigurationCommand.ts b/clients/client-iotsitewise/commands/PutDefaultEncryptionConfigurationCommand.ts new file mode 100644 index 0000000000000..733cad5e1de0c --- /dev/null +++ b/clients/client-iotsitewise/commands/PutDefaultEncryptionConfigurationCommand.ts @@ -0,0 +1,100 @@ +import { IoTSiteWiseClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTSiteWiseClient"; +import { + PutDefaultEncryptionConfigurationRequest, + PutDefaultEncryptionConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1PutDefaultEncryptionConfigurationCommand, + serializeAws_restJson1PutDefaultEncryptionConfigurationCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type PutDefaultEncryptionConfigurationCommandInput = PutDefaultEncryptionConfigurationRequest; +export type PutDefaultEncryptionConfigurationCommandOutput = PutDefaultEncryptionConfigurationResponse & + __MetadataBearer; + +/** + *

          Sets the default encryption configuration for the AWS + * account. For more information, see Key management + * in the AWS IoT SiteWise User Guide.

          + */ +export class PutDefaultEncryptionConfigurationCommand extends $Command< + PutDefaultEncryptionConfigurationCommandInput, + PutDefaultEncryptionConfigurationCommandOutput, + IoTSiteWiseClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutDefaultEncryptionConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTSiteWiseClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "IoTSiteWiseClient"; + const commandName = "PutDefaultEncryptionConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PutDefaultEncryptionConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutDefaultEncryptionConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PutDefaultEncryptionConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1PutDefaultEncryptionConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1PutDefaultEncryptionConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iotsitewise/index.ts b/clients/client-iotsitewise/index.ts index 18872999288f6..3407687ba5a84 100644 --- a/clients/client-iotsitewise/index.ts +++ b/clients/client-iotsitewise/index.ts @@ -24,6 +24,7 @@ export * from "./commands/DescribeAssetCommand"; export * from "./commands/DescribeAssetModelCommand"; export * from "./commands/DescribeAssetPropertyCommand"; export * from "./commands/DescribeDashboardCommand"; +export * from "./commands/DescribeDefaultEncryptionConfigurationCommand"; export * from "./commands/DescribeGatewayCommand"; export * from "./commands/DescribeGatewayCapabilityConfigurationCommand"; export * from "./commands/DescribeLoggingOptionsCommand"; @@ -54,6 +55,7 @@ export * from "./pagination/ListProjectAssetsPaginator"; export * from "./commands/ListProjectsCommand"; export * from "./pagination/ListProjectsPaginator"; export * from "./commands/ListTagsForResourceCommand"; +export * from "./commands/PutDefaultEncryptionConfigurationCommand"; export * from "./commands/PutLoggingOptionsCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; diff --git a/clients/client-iotsitewise/models/models_0.ts b/clients/client-iotsitewise/models/models_0.ts index 441385cb3abd3..013f370246de8 100644 --- a/clients/client-iotsitewise/models/models_0.ts +++ b/clients/client-iotsitewise/models/models_0.ts @@ -59,8 +59,8 @@ export namespace UserIdentity { /** *

          Contains an identity that can access an AWS IoT SiteWise Monitor resource.

          * - *

          Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can find the AWS SSO - * identity IDs in the URL of user and group pages in the AWS SSO console.

          + *

          Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can find the + * AWS SSO identity IDs in the URL of user and group pages in the AWS SSO console.

          *
          */ export interface Identity { @@ -1866,14 +1866,15 @@ export interface CreatePortalRequest { * SSO – The portal uses AWS Single Sign-On to authenticate users and manage * user permissions. Before you can create a portal that uses AWS SSO, you must enable AWS SSO. * For more information, see Enabling AWS SSO in the - * AWS IoT SiteWise User Guide. This option is only available in AWS Regions other - * than the China Regions.

          + * AWS IoT SiteWise User Guide. This option is only available in AWS Regions other than + * the China Regions.

          * *
        • *

          * IAM – The portal uses AWS Identity and Access Management (IAM) to authenticate users and manage * user permissions. IAM users must have the - * iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. This option is only available in the China Regions.

          + * iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. This option is only available in the + * China Regions.

          *
        • *
        *

        You can't change this value after you create a portal.

        @@ -1992,7 +1993,7 @@ export interface CreatePresignedPortalUrlRequest { /** *

        The duration (in seconds) for which the session at the URL is valid.

        - *

        Default: 900 seconds (15 minutes)

        + *

        Default: 43,200 seconds (12 hours)

        */ sessionDurationSeconds?: number; } @@ -2005,10 +2006,10 @@ export namespace CreatePresignedPortalUrlRequest { export interface CreatePresignedPortalUrlResponse { /** - *

        The pre-signed URL to the portal. The URL contains the portal ID and a session token that - * lets you access the portal. The URL has the following format.

        + *

        The pre-signed URL to the portal. The URL contains the portal ID and an authentication + * token that lets you access the portal. The URL has the following format.

        *

        - * https://.app.iotsitewise.aws/auth?token= + * https://.app.iotsitewise.aws/iam?token= *

        */ presignedPortalUrl: string | undefined; @@ -2626,6 +2627,93 @@ export namespace DescribeDashboardResponse { }); } +export interface DescribeDefaultEncryptionConfigurationRequest {} + +export namespace DescribeDefaultEncryptionConfigurationRequest { + export const filterSensitiveLog = (obj: DescribeDefaultEncryptionConfigurationRequest): any => ({ + ...obj, + }); +} + +/** + *

        + */ +export interface ConfigurationErrorDetails { + /** + *

        + */ + code: ErrorCode | string | undefined; + + /** + *

        + */ + message: string | undefined; +} + +export namespace ConfigurationErrorDetails { + export const filterSensitiveLog = (obj: ConfigurationErrorDetails): any => ({ + ...obj, + }); +} + +export enum ConfigurationState { + ACTIVE = "ACTIVE", + UPDATE_FAILED = "UPDATE_FAILED", + UPDATE_IN_PROGRESS = "UPDATE_IN_PROGRESS", +} + +/** + *

        + */ +export interface ConfigurationStatus { + /** + *

        + */ + state: ConfigurationState | string | undefined; + + /** + *

        + */ + error?: ConfigurationErrorDetails; +} + +export namespace ConfigurationStatus { + export const filterSensitiveLog = (obj: ConfigurationStatus): any => ({ + ...obj, + }); +} + +export enum EncryptionType { + KMS_BASED_ENCRYPTION = "KMS_BASED_ENCRYPTION", + SITEWISE_DEFAULT_ENCRYPTION = "SITEWISE_DEFAULT_ENCRYPTION", +} + +export interface DescribeDefaultEncryptionConfigurationResponse { + /** + *

        The type of encryption used for the encryption configuration.

        + */ + encryptionType: EncryptionType | string | undefined; + + /** + *

        The key ARN of the customer managed customer master key (CMK) used for AWS KMS encryption + * if you use KMS_BASED_ENCRYPTION.

        + */ + kmsKeyArn?: string; + + /** + *

        The status of the account configuration. This contains the + * ConfigurationState. If + * there's an error, it also contains the ErrorDetails.

        + */ + configurationStatus: ConfigurationStatus | undefined; +} + +export namespace DescribeDefaultEncryptionConfigurationResponse { + export const filterSensitiveLog = (obj: DescribeDefaultEncryptionConfigurationResponse): any => ({ + ...obj, + }); +} + export interface DescribeGatewayRequest { /** *

        The ID of the gateway device.

        @@ -3906,6 +3994,51 @@ export namespace ListTagsForResourceResponse { }); } +export interface PutDefaultEncryptionConfigurationRequest { + /** + *

        The type of encryption used for the encryption configuration.

        + */ + encryptionType: EncryptionType | string | undefined; + + /** + *

        The Key ID of the customer managed customer master key (CMK) used for AWS KMS encryption. This is required if you use + * KMS_BASED_ENCRYPTION.

        + */ + kmsKeyId?: string; +} + +export namespace PutDefaultEncryptionConfigurationRequest { + export const filterSensitiveLog = (obj: PutDefaultEncryptionConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface PutDefaultEncryptionConfigurationResponse { + /** + *

        The type of encryption used for the encryption configuration.

        + */ + encryptionType: EncryptionType | string | undefined; + + /** + *

        The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you use + * KMS_BASED_ENCRYPTION.

        + */ + kmsKeyArn?: string; + + /** + *

        The status of the account configuration. This contains the + * ConfigurationState. If there is an error, it also contains the + * ErrorDetails.

        + */ + configurationStatus: ConfigurationStatus | undefined; +} + +export namespace PutDefaultEncryptionConfigurationResponse { + export const filterSensitiveLog = (obj: PutDefaultEncryptionConfigurationResponse): any => ({ + ...obj, + }); +} + export interface PutLoggingOptionsRequest { /** *

        The logging options to set.

        @@ -4289,9 +4422,8 @@ export interface UpdateGatewayCapabilityConfigurationResponse { * SYNC_FAILED – The gateway rejected the capability configuration.

        * *
      - *

      After you update a capability configuration, its sync status is - * OUT_OF_SYNC until the gateway receives and applies or rejects the updated - * configuration.

      + *

      After you update a capability configuration, its sync status is OUT_OF_SYNC + * until the gateway receives and applies or rejects the updated configuration.

      */ capabilitySyncStatus: CapabilitySyncStatus | string | undefined; } diff --git a/clients/client-iotsitewise/protocols/Aws_restJson1.ts b/clients/client-iotsitewise/protocols/Aws_restJson1.ts index 6ed0203db9d2e..a3b41bb96a74a 100644 --- a/clients/client-iotsitewise/protocols/Aws_restJson1.ts +++ b/clients/client-iotsitewise/protocols/Aws_restJson1.ts @@ -40,6 +40,10 @@ import { DescribeAssetPropertyCommandOutput, } from "../commands/DescribeAssetPropertyCommand"; import { DescribeDashboardCommandInput, DescribeDashboardCommandOutput } from "../commands/DescribeDashboardCommand"; +import { + DescribeDefaultEncryptionConfigurationCommandInput, + DescribeDefaultEncryptionConfigurationCommandOutput, +} from "../commands/DescribeDefaultEncryptionConfigurationCommand"; import { DescribeGatewayCapabilityConfigurationCommandInput, DescribeGatewayCapabilityConfigurationCommandOutput, @@ -80,6 +84,10 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + PutDefaultEncryptionConfigurationCommandInput, + PutDefaultEncryptionConfigurationCommandOutput, +} from "../commands/PutDefaultEncryptionConfigurationCommand"; import { PutLoggingOptionsCommandInput, PutLoggingOptionsCommandOutput } from "../commands/PutLoggingOptionsCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; @@ -118,6 +126,8 @@ import { Attribute, BatchPutAssetPropertyError, BatchPutAssetPropertyErrorEntry, + ConfigurationErrorDetails, + ConfigurationStatus, ConflictingOperationException, DashboardSummary, ErrorDetails, @@ -1115,6 +1125,28 @@ export const serializeAws_restJson1DescribeDashboardCommand = async ( }); }; +export const serializeAws_restJson1DescribeDefaultEncryptionConfigurationCommand = async ( + input: DescribeDefaultEncryptionConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/configuration/account/encryption"; + let body: any; + body = "{}"; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeGatewayCommand = async ( input: DescribeGatewayCommandInput, context: __SerdeContext @@ -1810,6 +1842,31 @@ export const serializeAws_restJson1ListTagsForResourceCommand = async ( }); }; +export const serializeAws_restJson1PutDefaultEncryptionConfigurationCommand = async ( + input: PutDefaultEncryptionConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/configuration/account/encryption"; + let body: any; + body = JSON.stringify({ + ...(input.encryptionType !== undefined && { encryptionType: input.encryptionType }), + ...(input.kmsKeyId !== undefined && { kmsKeyId: input.kmsKeyId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1PutLoggingOptionsCommand = async ( input: PutLoggingOptionsCommandInput, context: __SerdeContext @@ -4503,6 +4560,85 @@ const deserializeAws_restJson1DescribeDashboardCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DescribeDefaultEncryptionConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDefaultEncryptionConfigurationCommandError(output, context); + } + const contents: DescribeDefaultEncryptionConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + configurationStatus: undefined, + encryptionType: undefined, + kmsKeyArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.configurationStatus !== undefined && data.configurationStatus !== null) { + contents.configurationStatus = deserializeAws_restJson1ConfigurationStatus(data.configurationStatus, context); + } + if (data.encryptionType !== undefined && data.encryptionType !== null) { + contents.encryptionType = data.encryptionType; + } + if (data.kmsKeyArn !== undefined && data.kmsKeyArn !== null) { + contents.kmsKeyArn = data.kmsKeyArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDefaultEncryptionConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalFailureException": + case "com.amazonaws.iotsitewise#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iotsitewise#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iotsitewise#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DescribeGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6134,6 +6270,101 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1PutDefaultEncryptionConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutDefaultEncryptionConfigurationCommandError(output, context); + } + const contents: PutDefaultEncryptionConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + configurationStatus: undefined, + encryptionType: undefined, + kmsKeyArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.configurationStatus !== undefined && data.configurationStatus !== null) { + contents.configurationStatus = deserializeAws_restJson1ConfigurationStatus(data.configurationStatus, context); + } + if (data.encryptionType !== undefined && data.encryptionType !== null) { + contents.encryptionType = data.encryptionType; + } + if (data.kmsKeyArn !== undefined && data.kmsKeyArn !== null) { + contents.kmsKeyArn = data.kmsKeyArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PutDefaultEncryptionConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictingOperationException": + case "com.amazonaws.iotsitewise#ConflictingOperationException": + response = { + ...(await deserializeAws_restJson1ConflictingOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.iotsitewise#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iotsitewise#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.iotsitewise#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iotsitewise#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1PutLoggingOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7919,6 +8150,26 @@ const deserializeAws_restJson1BatchPutAssetPropertyErrors = ( return (output || []).map((entry: any) => deserializeAws_restJson1BatchPutAssetPropertyError(entry, context)); }; +const deserializeAws_restJson1ConfigurationErrorDetails = ( + output: any, + context: __SerdeContext +): ConfigurationErrorDetails => { + return { + code: output.code !== undefined && output.code !== null ? output.code : undefined, + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + +const deserializeAws_restJson1ConfigurationStatus = (output: any, context: __SerdeContext): ConfigurationStatus => { + return { + error: + output.error !== undefined && output.error !== null + ? deserializeAws_restJson1ConfigurationErrorDetails(output.error, context) + : undefined, + state: output.state !== undefined && output.state !== null ? output.state : undefined, + } as any; +}; + const deserializeAws_restJson1DashboardSummaries = (output: any, context: __SerdeContext): DashboardSummary[] => { return (output || []).map((entry: any) => deserializeAws_restJson1DashboardSummary(entry, context)); }; diff --git a/clients/client-kafka/models/models_0.ts b/clients/client-kafka/models/models_0.ts index 43bbf92644623..fc48019806730 100644 --- a/clients/client-kafka/models/models_0.ts +++ b/clients/client-kafka/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface BrokerEBSVolumeInfo { /** - *

      Size of the EBS volume to update.

      + *

      The ID of the broker to update.

      */ - VolumeSizeGB: number | undefined; + KafkaBrokerNodeId: string | undefined; /** - *

      The ID of the broker to update.

      + *

      Size of the EBS volume to update.

      */ - KafkaBrokerNodeId: string | undefined; + VolumeSizeGB: number | undefined; } export namespace BrokerEBSVolumeInfo { @@ -62,16 +62,6 @@ export namespace StorageInfo { *

      Describes the setup to be used for Kafka broker nodes in the cluster.

      */ export interface BrokerNodeGroupInfo { - /** - *

      The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

      - */ - SecurityGroups?: string[]; - - /** - *

      Contains information about storage volumes attached to MSK broker nodes.

      - */ - StorageInfo?: StorageInfo; - /** *

      The distribution of broker nodes across Availability Zones. This is an optional parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. You can also explicitly set this parameter to the value DEFAULT. No other values are currently allowed.

      *

      Amazon MSK distributes the broker nodes evenly across the Availability Zones that correspond to the subnets you provide when you create the cluster.

      @@ -88,6 +78,16 @@ export interface BrokerNodeGroupInfo { * kafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.

      */ InstanceType: string | undefined; + + /** + *

      The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

      + */ + SecurityGroups?: string[]; + + /** + *

      Contains information about storage volumes attached to MSK broker nodes.

      + */ + StorageInfo?: StorageInfo; } export namespace BrokerNodeGroupInfo { @@ -149,14 +149,14 @@ export namespace Tls { */ export interface ClientAuthentication { /** - *

      Details for ClientAuthentication using TLS.

      + *

      Details for ClientAuthentication using SASL.

      */ - Tls?: Tls; + Sasl?: Sasl; /** - *

      Details for ClientAuthentication using SASL.

      + *

      Details for ClientAuthentication using TLS.

      */ - Sasl?: Sasl; + Tls?: Tls; } export namespace ClientAuthentication { @@ -169,11 +169,6 @@ export namespace ClientAuthentication { *

      Information about the current software installed on the cluster.

      */ export interface BrokerSoftwareInfo { - /** - *

      The version of Apache Kafka.

      - */ - KafkaVersion?: string; - /** *

      The Amazon Resource Name (ARN) of the configuration used for the cluster. This field isn't visible in this preview release.

      */ @@ -183,6 +178,11 @@ export interface BrokerSoftwareInfo { *

      The revision of the configuration to use. This field isn't visible in this preview release.

      */ ConfigurationRevision?: number; + + /** + *

      The version of Apache Kafka.

      + */ + KafkaVersion?: string; } export namespace BrokerSoftwareInfo { @@ -217,12 +217,6 @@ export enum ClientBroker { *

      The settings for encrypting data in transit.

      */ export interface EncryptionInTransit { - /** - *

      When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

      - *

      The default value is true.

      - */ - InCluster?: boolean; - /** *

      Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

      *

      @@ -234,6 +228,12 @@ export interface EncryptionInTransit { *

      The default value is TLS_PLAINTEXT.

      */ ClientBroker?: ClientBroker | string; + + /** + *

      When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

      + *

      The default value is true.

      + */ + InCluster?: boolean; } export namespace EncryptionInTransit { @@ -282,8 +282,8 @@ export namespace CloudWatchLogs { } export interface Firehose { - Enabled: boolean | undefined; DeliveryStream?: string; + Enabled: boolean | undefined; } export namespace Firehose { @@ -293,8 +293,8 @@ export namespace Firehose { } export interface S3 { - Enabled: boolean | undefined; Bucket?: string; + Enabled: boolean | undefined; Prefix?: string; } @@ -305,9 +305,9 @@ export namespace S3 { } export interface BrokerLogs { - S3?: S3; - Firehose?: Firehose; CloudWatchLogs?: CloudWatchLogs; + Firehose?: Firehose; + S3?: S3; } export namespace BrokerLogs { @@ -363,14 +363,14 @@ export namespace NodeExporter { */ export interface Prometheus { /** - *

      Indicates whether you want to enable or disable the Node Exporter.

      + *

      Indicates whether you want to enable or disable the JMX Exporter.

      */ - NodeExporter?: NodeExporter; + JmxExporter?: JmxExporter; /** - *

      Indicates whether you want to enable or disable the JMX Exporter.

      + *

      Indicates whether you want to enable or disable the Node Exporter.

      */ - JmxExporter?: JmxExporter; + NodeExporter?: NodeExporter; } export namespace Prometheus { @@ -400,12 +400,14 @@ export enum ClusterState { CREATING = "CREATING", DELETING = "DELETING", FAILED = "FAILED", + MAINTENANCE = "MAINTENANCE", + REBOOTING_BROKER = "REBOOTING_BROKER", UPDATING = "UPDATING", } export interface StateInfo { - Message?: string; Code?: string; + Message?: string; } export namespace StateInfo { @@ -418,11 +420,6 @@ export namespace StateInfo { *

      Returns information about a cluster.

      */ export interface ClusterInfo { - /** - *

      The connection string to use to connect to zookeeper cluster on Tls port.

      - */ - ZookeeperConnectStringTls?: string; - /** *

      Arn of active cluster operation.

      */ @@ -434,41 +431,45 @@ export interface ClusterInfo { BrokerNodeGroupInfo?: BrokerNodeGroupInfo; /** - *

      The name of the cluster.

      + *

      Includes all client authentication information.

      */ - ClusterName?: string; + ClientAuthentication?: ClientAuthentication; /** - *

      Tags attached to the cluster.

      + *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      */ - Tags?: { [key: string]: string }; + ClusterArn?: string; /** - *

      Includes all client authentication information.

      + *

      The name of the cluster.

      */ - ClientAuthentication?: ClientAuthentication; + ClusterName?: string; /** - *

      The current version of the MSK cluster.

      + *

      The time when the cluster was created.

      */ - CurrentVersion?: string; + CreationTime?: Date; - StateInfo?: StateInfo; /** - *

      The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

      + *

      Information about the version of software currently deployed on the Kafka brokers in the cluster.

      */ - State?: ClusterState | string; + CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; /** - *

      The number of broker nodes in the cluster.

      + *

      The current version of the MSK cluster.

      */ - NumberOfBrokerNodes?: number; + CurrentVersion?: string; /** *

      Includes all encryption-related information.

      */ EncryptionInfo?: EncryptionInfo; + /** + *

      Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

      + */ + EnhancedMonitoring?: EnhancedMonitoring | string; + /** *

      Settings for open monitoring using Prometheus.

      */ @@ -476,29 +477,30 @@ export interface ClusterInfo { LoggingInfo?: LoggingInfo; /** - *

      Information about the version of software currently deployed on the Kafka brokers in the cluster.

      + *

      The number of broker nodes in the cluster.

      */ - CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; + NumberOfBrokerNodes?: number; /** - *

      The connection string to use to connect to the Apache ZooKeeper cluster.

      + *

      The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

      */ - ZookeeperConnectString?: string; + State?: ClusterState | string; + StateInfo?: StateInfo; /** - *

      The time when the cluster was created.

      + *

      Tags attached to the cluster.

      */ - CreationTime?: Date; + Tags?: { [key: string]: string }; /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      + *

      The connection string to use to connect to the Apache ZooKeeper cluster.

      */ - ClusterArn?: string; + ZookeeperConnectString?: string; /** - *

      Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

      + *

      The connection string to use to connect to zookeeper cluster on Tls port.

      */ - EnhancedMonitoring?: EnhancedMonitoring | string; + ZookeeperConnectStringTls?: string; } export namespace ClusterInfo { @@ -591,35 +593,36 @@ export namespace ConfigurationInfo { */ export interface MutableClusterInfo { /** - *

      The settings for open monitoring.

      + *

      Specifies the size of the EBS volume and the ID of the associated broker.

      */ - OpenMonitoring?: OpenMonitoring; + BrokerEBSVolumeInfo?: BrokerEBSVolumeInfo[]; /** *

      Information about the changes in the configuration of the brokers.

      */ ConfigurationInfo?: ConfigurationInfo; - LoggingInfo?: LoggingInfo; /** - *

      Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

      + *

      The number of broker nodes in the cluster.

      */ - EnhancedMonitoring?: EnhancedMonitoring | string; + NumberOfBrokerNodes?: number; /** - *

      The Kafka version.

      + *

      Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

      */ - KafkaVersion?: string; + EnhancedMonitoring?: EnhancedMonitoring | string; /** - *

      Specifies the size of the EBS volume and the ID of the associated broker.

      + *

      The settings for open monitoring.

      */ - BrokerEBSVolumeInfo?: BrokerEBSVolumeInfo[]; + OpenMonitoring?: OpenMonitoring; /** - *

      The number of broker nodes in the cluster.

      + *

      The Kafka version.

      */ - NumberOfBrokerNodes?: number; + KafkaVersion?: string; + + LoggingInfo?: LoggingInfo; } export namespace MutableClusterInfo { @@ -632,30 +635,25 @@ export namespace MutableClusterInfo { *

      Returns information about a cluster operation.

      */ export interface ClusterOperationInfo { - /** - *

      ARN of the cluster operation.

      - */ - OperationArn?: string; - /** *

      The ID of the API request that triggered this operation.

      */ ClientRequestId?: string; /** - *

      Steps completed during the operation.

      + *

      ARN of the cluster.

      */ - OperationSteps?: ClusterOperationStep[]; + ClusterArn?: string; /** - *

      The time at which the operation finished.

      + *

      The time that the operation was created.

      */ - EndTime?: Date; + CreationTime?: Date; /** - *

      Information about cluster attributes before a cluster is updated.

      + *

      The time at which the operation finished.

      */ - SourceClusterInfo?: MutableClusterInfo; + EndTime?: Date; /** *

      Describes the error if the operation fails.

      @@ -663,19 +661,19 @@ export interface ClusterOperationInfo { ErrorInfo?: ErrorInfo; /** - *

      ARN of the cluster.

      + *

      ARN of the cluster operation.

      */ - ClusterArn?: string; + OperationArn?: string; /** - *

      The time that the operation was created.

      + *

      State of the cluster operation.

      */ - CreationTime?: Date; + OperationState?: string; /** - *

      Information about cluster attributes after a cluster is updated.

      + *

      Steps completed during the operation.

      */ - TargetClusterInfo?: MutableClusterInfo; + OperationSteps?: ClusterOperationStep[]; /** *

      Type of the cluster operation.

      @@ -683,9 +681,14 @@ export interface ClusterOperationInfo { OperationType?: string; /** - *

      State of the cluster operation.

      + *

      Information about cluster attributes before a cluster is updated.

      */ - OperationState?: string; + SourceClusterInfo?: MutableClusterInfo; + + /** + *

      Information about cluster attributes after a cluster is updated.

      + */ + TargetClusterInfo?: MutableClusterInfo; } export namespace ClusterOperationInfo { @@ -720,9 +723,9 @@ export namespace CompatibleKafkaVersion { */ export interface ConfigurationRevision { /** - *

      The revision number.

      + *

      The time when the configuration revision was created.

      */ - Revision: number | undefined; + CreationTime: Date | undefined; /** *

      The description of the configuration revision.

      @@ -730,9 +733,9 @@ export interface ConfigurationRevision { Description?: string; /** - *

      The time when the configuration revision was created.

      + *

      The revision number.

      */ - CreationTime: Date | undefined; + Revision: number | undefined; } export namespace ConfigurationRevision { @@ -762,9 +765,9 @@ export interface Configuration { CreationTime: Date | undefined; /** - *

      The name of the configuration.

      + *

      The description of the configuration.

      */ - Name: string | undefined; + Description: string | undefined; /** *

      An array of the versions of Apache Kafka with which you can use this MSK configuration. You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this array.

      @@ -777,9 +780,9 @@ export interface Configuration { LatestRevision: ConfigurationRevision | undefined; /** - *

      The description of the configuration.

      + *

      The name of the configuration.

      */ - Description: string | undefined; + Name: string | undefined; /** *

      The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

      @@ -818,11 +821,6 @@ export interface BrokerNodeInfo { */ AttachedENIId?: string; - /** - *

      Information about the version of software currently deployed on the Kafka brokers in the cluster.

      - */ - CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; - /** *

      The ID of the broker.

      */ @@ -838,6 +836,11 @@ export interface BrokerNodeInfo { */ ClientVpcIpAddress?: string; + /** + *

      Information about the version of software currently deployed on the Kafka brokers in the cluster.

      + */ + CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; + /** *

      Endpoints for accessing the broker.

      */ @@ -858,11 +861,6 @@ export enum NodeType { *

      Zookeeper node information.

      */ export interface ZookeeperNodeInfo { - /** - *

      The role-specific ID for Zookeeper.

      - */ - ZookeeperId?: number; - /** *

      The attached elastic network interface of the broker.

      */ @@ -878,6 +876,11 @@ export interface ZookeeperNodeInfo { */ Endpoints?: string[]; + /** + *

      The role-specific ID for Zookeeper.

      + */ + ZookeeperId?: number; + /** *

      The version of Zookeeper.

      */ @@ -895,34 +898,34 @@ export namespace ZookeeperNodeInfo { */ export interface NodeInfo { /** - *

      The node type.

      + *

      The start time.

      */ - NodeType?: NodeType | string; + AddedToClusterTime?: string; /** - *

      The ZookeeperNodeInfo.

      + *

      The broker node info.

      */ - ZookeeperNodeInfo?: ZookeeperNodeInfo; + BrokerNodeInfo?: BrokerNodeInfo; /** - *

      The Amazon Resource Name (ARN) of the node.

      + *

      The instance type.

      */ - NodeARN?: string; + InstanceType?: string; /** - *

      The start time.

      + *

      The Amazon Resource Name (ARN) of the node.

      */ - AddedToClusterTime?: string; + NodeARN?: string; /** - *

      The broker node info.

      + *

      The node type.

      */ - BrokerNodeInfo?: BrokerNodeInfo; + NodeType?: NodeType | string; /** - *

      The instance type.

      + *

      The ZookeeperNodeInfo.

      */ - InstanceType?: string; + ZookeeperNodeInfo?: ZookeeperNodeInfo; } export namespace NodeInfo { @@ -936,14 +939,14 @@ export namespace NodeInfo { */ export interface UnprocessedScramSecret { /** - *

      Error message for associate/disassociate failure.

      + *

      Error code for associate/disassociate failure.

      */ - ErrorMessage?: string; + ErrorCode?: string; /** - *

      Error code for associate/disassociate failure.

      + *

      Error message for associate/disassociate failure.

      */ - ErrorCode?: string; + ErrorMessage?: string; /** *

      AWS Secrets Manager secret ARN.

      @@ -985,14 +988,14 @@ export namespace BadRequestException { */ export interface BatchAssociateScramSecretRequest { /** - *

      List of AWS Secrets Manager secret ARNs.

      + *

      The Amazon Resource Name (ARN) of the cluster to be updated.

      */ - SecretArnList: string[] | undefined; + ClusterArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) of the cluster to be updated.

      + *

      List of AWS Secrets Manager secret ARNs.

      */ - ClusterArn: string | undefined; + SecretArnList: string[] | undefined; } export namespace BatchAssociateScramSecretRequest { @@ -1003,14 +1006,14 @@ export namespace BatchAssociateScramSecretRequest { export interface BatchAssociateScramSecretResponse { /** - *

      List of errors when associating secrets to cluster.

      + *

      The Amazon Resource Name (ARN) of the cluster.

      */ - UnprocessedScramSecrets?: UnprocessedScramSecret[]; + ClusterArn?: string; /** - *

      The Amazon Resource Name (ARN) of the cluster.

      + *

      List of errors when associating secrets to cluster.

      */ - ClusterArn?: string; + UnprocessedScramSecrets?: UnprocessedScramSecret[]; } export namespace BatchAssociateScramSecretResponse { @@ -1095,14 +1098,14 @@ export interface ServiceUnavailableException extends __SmithyException, $Metadat name: "ServiceUnavailableException"; $fault: "server"; /** - *

      The description of the error.

      + *

      The parameter that caused the error.

      */ - Message?: string; + InvalidParameter?: string; /** - *

      The parameter that caused the error.

      + *

      The description of the error.

      */ - InvalidParameter?: string; + Message?: string; } export namespace ServiceUnavailableException { @@ -1118,14 +1121,14 @@ export interface TooManyRequestsException extends __SmithyException, $MetadataBe name: "TooManyRequestsException"; $fault: "client"; /** - *

      The description of the error.

      + *

      The parameter that caused the error.

      */ - Message?: string; + InvalidParameter?: string; /** - *

      The parameter that caused the error.

      + *

      The description of the error.

      */ - InvalidParameter?: string; + Message?: string; } export namespace TooManyRequestsException { @@ -1141,14 +1144,14 @@ export interface UnauthorizedException extends __SmithyException, $MetadataBeare name: "UnauthorizedException"; $fault: "client"; /** - *

      The description of the error.

      + *

      The parameter that caused the error.

      */ - Message?: string; + InvalidParameter?: string; /** - *

      The parameter that caused the error.

      + *

      The description of the error.

      */ - InvalidParameter?: string; + Message?: string; } export namespace UnauthorizedException { @@ -1162,14 +1165,14 @@ export namespace UnauthorizedException { */ export interface BatchDisassociateScramSecretRequest { /** - *

      List of AWS Secrets Manager secret ARNs.

      + *

      The Amazon Resource Name (ARN) of the cluster to be updated.

      */ - SecretArnList: string[] | undefined; + ClusterArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) of the cluster to be updated.

      + *

      List of AWS Secrets Manager secret ARNs.

      */ - ClusterArn: string | undefined; + SecretArnList: string[] | undefined; } export namespace BatchDisassociateScramSecretRequest { @@ -1203,14 +1206,14 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; /** - *

      The description of the error.

      + *

      The parameter that caused the error.

      */ - Message?: string; + InvalidParameter?: string; /** - *

      The parameter that caused the error.

      + *

      The description of the error.

      */ - InvalidParameter?: string; + Message?: string; } export namespace ConflictException { @@ -1290,55 +1293,55 @@ export namespace OpenMonitoringInfo { export interface CreateClusterRequest { /** - *

      The version of Apache Kafka.

      + *

      Information about the broker nodes in the cluster.

      */ - KafkaVersion: string | undefined; + BrokerNodeGroupInfo: BrokerNodeGroupInfo | undefined; /** - *

      Create tags when creating the cluster.

      + *

      Includes all client authentication related information.

      */ - Tags?: { [key: string]: string }; + ClientAuthentication?: ClientAuthentication; /** - *

      Information about the broker nodes in the cluster.

      + *

      The name of the cluster.

      */ - BrokerNodeGroupInfo: BrokerNodeGroupInfo | undefined; + ClusterName: string | undefined; /** - *

      Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

      + *

      Represents the configuration that you want MSK to use for the brokers in a cluster.

      */ - EnhancedMonitoring?: EnhancedMonitoring | string; + ConfigurationInfo?: ConfigurationInfo; /** - *

      The settings for open monitoring.

      + *

      Includes all encryption-related information.

      */ - OpenMonitoring?: OpenMonitoringInfo; + EncryptionInfo?: EncryptionInfo; /** - *

      Represents the configuration that you want MSK to use for the brokers in a cluster.

      + *

      Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

      */ - ConfigurationInfo?: ConfigurationInfo; + EnhancedMonitoring?: EnhancedMonitoring | string; /** - *

      The name of the cluster.

      + *

      The settings for open monitoring.

      */ - ClusterName: string | undefined; + OpenMonitoring?: OpenMonitoringInfo; /** - *

      Includes all encryption-related information.

      + *

      The version of Apache Kafka.

      */ - EncryptionInfo?: EncryptionInfo; + KafkaVersion: string | undefined; + LoggingInfo?: LoggingInfo; /** *

      The number of broker nodes in the cluster.

      */ NumberOfBrokerNodes: number | undefined; - LoggingInfo?: LoggingInfo; /** - *

      Includes all client authentication related information.

      + *

      Create tags when creating the cluster.

      */ - ClientAuthentication?: ClientAuthentication; + Tags?: { [key: string]: string }; } export namespace CreateClusterRequest { @@ -1348,11 +1351,6 @@ export namespace CreateClusterRequest { } export interface CreateClusterResponse { - /** - *

      The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

      - */ - State?: ClusterState | string; - /** *

      The Amazon Resource Name (ARN) of the cluster.

      */ @@ -1362,6 +1360,11 @@ export interface CreateClusterResponse { *

      The name of the MSK cluster.

      */ ClusterName?: string; + + /** + *

      The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

      + */ + State?: ClusterState | string; } export namespace CreateClusterResponse { @@ -1376,12 +1379,6 @@ export interface CreateConfigurationRequest { */ Description?: string; - /** - *

      Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. - * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

      - */ - ServerProperties: Uint8Array | undefined; - /** *

      The versions of Apache Kafka with which you can use this MSK configuration.

      */ @@ -1391,6 +1388,12 @@ export interface CreateConfigurationRequest { *

      The name of the configuration.

      */ Name: string | undefined; + + /** + *

      Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. + * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

      + */ + ServerProperties: Uint8Array | undefined; } export namespace CreateConfigurationRequest { @@ -1401,9 +1404,9 @@ export namespace CreateConfigurationRequest { export interface CreateConfigurationResponse { /** - *

      Latest revision of the configuration.

      + *

      The Amazon Resource Name (ARN) of the configuration.

      */ - LatestRevision?: ConfigurationRevision; + Arn?: string; /** *

      The time when the configuration was created.

      @@ -1411,9 +1414,9 @@ export interface CreateConfigurationResponse { CreationTime?: Date; /** - *

      The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

      + *

      Latest revision of the configuration.

      */ - State?: ConfigurationState | string; + LatestRevision?: ConfigurationRevision; /** *

      The name of the configuration.

      @@ -1421,9 +1424,9 @@ export interface CreateConfigurationResponse { Name?: string; /** - *

      The Amazon Resource Name (ARN) of the configuration.

      + *

      The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

      */ - Arn?: string; + State?: ConfigurationState | string; } export namespace CreateConfigurationResponse { @@ -1434,14 +1437,14 @@ export namespace CreateConfigurationResponse { export interface DeleteClusterRequest { /** - *

      The current version of the MSK cluster.

      + *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      */ - CurrentVersion?: string; + ClusterArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      + *

      The current version of the MSK cluster.

      */ - ClusterArn: string | undefined; + CurrentVersion?: string; } export namespace DeleteClusterRequest { @@ -1457,7 +1460,7 @@ export interface DeleteClusterResponse { ClusterArn?: string; /** - *

      The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

      + *

      The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

      */ State?: ClusterState | string; } @@ -1565,40 +1568,40 @@ export namespace DescribeConfigurationRequest { } export interface DescribeConfigurationResponse { + /** + *

      The Amazon Resource Name (ARN) of the configuration.

      + */ + Arn?: string; + /** *

      The time when the configuration was created.

      */ CreationTime?: Date; /** - *

      The name of the configuration.

      + *

      The description of the configuration.

      */ - Name?: string; + Description?: string; /** - *

      Latest revision of the configuration.

      + *

      The versions of Apache Kafka with which you can use this MSK configuration.

      */ - LatestRevision?: ConfigurationRevision; + KafkaVersions?: string[]; /** - *

      The Amazon Resource Name (ARN) of the configuration.

      + *

      Latest revision of the configuration.

      */ - Arn?: string; + LatestRevision?: ConfigurationRevision; /** - *

      The versions of Apache Kafka with which you can use this MSK configuration.

      + *

      The name of the configuration.

      */ - KafkaVersions?: string[]; + Name?: string; /** *

      The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

      */ State?: ConfigurationState | string; - - /** - *

      The description of the configuration.

      - */ - Description?: string; } export namespace DescribeConfigurationResponse { @@ -1609,14 +1612,14 @@ export namespace DescribeConfigurationResponse { export interface DescribeConfigurationRevisionRequest { /** - *

      A string that uniquely identifies a revision of an MSK configuration.

      + *

      The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

      */ - Revision: number | undefined; + Arn: string | undefined; /** - *

      The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

      + *

      A string that uniquely identifies a revision of an MSK configuration.

      */ - Arn: string | undefined; + Revision: number | undefined; } export namespace DescribeConfigurationRevisionRequest { @@ -1627,10 +1630,14 @@ export namespace DescribeConfigurationRevisionRequest { export interface DescribeConfigurationRevisionResponse { /** - *

      Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. - * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

      + *

      The Amazon Resource Name (ARN) of the configuration.

      */ - ServerProperties?: Uint8Array; + Arn?: string; + + /** + *

      The time when the configuration was created.

      + */ + CreationTime?: Date; /** *

      The description of the configuration.

      @@ -1643,14 +1650,10 @@ export interface DescribeConfigurationRevisionResponse { Revision?: number; /** - *

      The Amazon Resource Name (ARN) of the configuration.

      - */ - Arn?: string; - - /** - *

      The time when the configuration was created.

      + *

      Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. + * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

      */ - CreationTime?: Date; + ServerProperties?: Uint8Array; } export namespace DescribeConfigurationRevisionResponse { @@ -1673,11 +1676,6 @@ export namespace GetBootstrapBrokersRequest { } export interface GetBootstrapBrokersResponse { - /** - *

      A string containing one or more DNS names (or IP) and Sasl Scram port pairs.

      - */ - BootstrapBrokerStringSaslScram?: string; - /** *

      A string containing one or more hostname:port pairs.

      */ @@ -1687,6 +1685,11 @@ export interface GetBootstrapBrokersResponse { *

      A string containing one or more DNS names (or IP) and TLS port pairs.

      */ BootstrapBrokerStringTls?: string; + + /** + *

      A string containing one or more DNS names (or IP) and Sasl Scram port pairs.

      + */ + BootstrapBrokerStringSaslScram?: string; } export namespace GetBootstrapBrokersResponse { @@ -1747,14 +1750,14 @@ export namespace ListClusterOperationsRequest { export interface ListClusterOperationsResponse { /** - *

      If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

      + *

      An array of cluster operation information objects.

      */ - NextToken?: string; + ClusterOperationInfoList?: ClusterOperationInfo[]; /** - *

      An array of cluster operation information objects.

      + *

      If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

      */ - ClusterOperationInfoList?: ClusterOperationInfo[]; + NextToken?: string; } export namespace ListClusterOperationsResponse { @@ -1765,10 +1768,9 @@ export namespace ListClusterOperationsResponse { export interface ListClustersRequest { /** - *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. - * To get the next batch, provide this token in your next request.

      + *

      Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

      */ - NextToken?: string; + ClusterNameFilter?: string; /** *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      @@ -1776,9 +1778,10 @@ export interface ListClustersRequest { MaxResults?: number; /** - *

      Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

      + *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. + * To get the next batch, provide this token in your next request.

      */ - ClusterNameFilter?: string; + NextToken?: string; } export namespace ListClustersRequest { @@ -1789,15 +1792,15 @@ export namespace ListClustersRequest { export interface ListClustersResponse { /** - *

      The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. - * To get another batch of clusters, provide this token in your next request.

      + *

      Information on each of the MSK clusters in the response.

      */ - NextToken?: string; + ClusterInfoList?: ClusterInfo[]; /** - *

      Information on each of the MSK clusters in the response.

      + *

      The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. + * To get another batch of clusters, provide this token in your next request.

      */ - ClusterInfoList?: ClusterInfo[]; + NextToken?: string; } export namespace ListClustersResponse { @@ -1813,15 +1816,15 @@ export interface ListConfigurationRevisionsRequest { Arn: string | undefined; /** - *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. - * To get the next batch, provide this token in your next request.

      + *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      */ - NextToken?: string; + MaxResults?: number; /** - *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      + *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. + * To get the next batch, provide this token in your next request.

      */ - MaxResults?: number; + NextToken?: string; } export namespace ListConfigurationRevisionsRequest { @@ -1832,14 +1835,14 @@ export namespace ListConfigurationRevisionsRequest { export interface ListConfigurationRevisionsResponse { /** - *

      List of ConfigurationRevision objects.

      + *

      Paginated results marker.

      */ - Revisions?: ConfigurationRevision[]; + NextToken?: string; /** - *

      Paginated results marker.

      + *

      List of ConfigurationRevision objects.

      */ - NextToken?: string; + Revisions?: ConfigurationRevision[]; } export namespace ListConfigurationRevisionsResponse { @@ -1850,15 +1853,15 @@ export namespace ListConfigurationRevisionsResponse { export interface ListConfigurationsRequest { /** - *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. - * To get the next batch, provide this token in your next request.

      + *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      */ - NextToken?: string; + MaxResults?: number; /** - *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      + *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. + * To get the next batch, provide this token in your next request.

      */ - MaxResults?: number; + NextToken?: string; } export namespace ListConfigurationsRequest { @@ -1869,15 +1872,15 @@ export namespace ListConfigurationsRequest { export interface ListConfigurationsResponse { /** - *

      The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. - * To get another batch of configurations, provide this token in your next request.

      + *

      An array of MSK configurations.

      */ - NextToken?: string; + Configurations?: Configuration[]; /** - *

      An array of MSK configurations.

      + *

      The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. + * To get another batch of configurations, provide this token in your next request.

      */ - Configurations?: Configuration[]; + NextToken?: string; } export namespace ListConfigurationsResponse { @@ -1905,8 +1908,8 @@ export namespace ListKafkaVersionsRequest { } export interface ListKafkaVersionsResponse { - NextToken?: string; KafkaVersions?: KafkaVersion[]; + NextToken?: string; } export namespace ListKafkaVersionsResponse { @@ -1917,14 +1920,14 @@ export namespace ListKafkaVersionsResponse { export interface ListNodesRequest { /** - *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      + *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      */ - MaxResults?: number; + ClusterArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      + *

      The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

      */ - ClusterArn: string | undefined; + MaxResults?: number; /** *

      The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. @@ -1940,16 +1943,16 @@ export namespace ListNodesRequest { } export interface ListNodesResponse { - /** - *

      List containing a NodeInfo object.

      - */ - NodeInfoList?: NodeInfo[]; - /** *

      The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. * To get another batch of nodes, provide this token in your next request.

      */ NextToken?: string; + + /** + *

      List containing a NodeInfo object.

      + */ + NodeInfoList?: NodeInfo[]; } export namespace ListNodesResponse { @@ -1960,9 +1963,9 @@ export namespace ListNodesResponse { export interface ListScramSecretsRequest { /** - *

      The nextToken of the query.

      + *

      The arn of the cluster.

      */ - NextToken?: string; + ClusterArn: string | undefined; /** *

      The maxResults of the query.

      @@ -1970,9 +1973,9 @@ export interface ListScramSecretsRequest { MaxResults?: number; /** - *

      The arn of the cluster.

      + *

      The nextToken of the query.

      */ - ClusterArn: string | undefined; + NextToken?: string; } export namespace ListScramSecretsRequest { @@ -2048,14 +2051,14 @@ export namespace RebootBrokerRequest { export interface RebootBrokerResponse { /** - *

      The Amazon Resource Name (ARN) of the cluster operation.

      + *

      The Amazon Resource Name (ARN) of the cluster.

      */ - ClusterOperationArn?: string; + ClusterArn?: string; /** - *

      The Amazon Resource Name (ARN) of the cluster.

      + *

      The Amazon Resource Name (ARN) of the cluster operation.

      */ - ClusterArn?: string; + ClusterOperationArn?: string; } export namespace RebootBrokerResponse { @@ -2083,6 +2086,11 @@ export namespace TagResourceRequest { } export interface UntagResourceRequest { + /** + *

      The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

      + */ + ResourceArn: string | undefined; + /** *

      Tag keys must be unique for a given cluster. In addition, the following restrictions apply:

      *
        @@ -2106,11 +2114,6 @@ export interface UntagResourceRequest { *
      */ TagKeys: string[] | undefined; - - /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

      - */ - ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -2121,14 +2124,14 @@ export namespace UntagResourceRequest { export interface UpdateBrokerCountRequest { /** - *

      The version of cluster to update from. A successful operation will then generate a new version.

      + *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      */ - CurrentVersion: string | undefined; + ClusterArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      + *

      The version of cluster to update from. A successful operation will then generate a new version.

      */ - ClusterArn: string | undefined; + CurrentVersion: string | undefined; /** *

      The number of broker nodes that you want the cluster to have after this operation completes successfully.

      @@ -2144,14 +2147,14 @@ export namespace UpdateBrokerCountRequest { export interface UpdateBrokerCountResponse { /** - *

      The Amazon Resource Name (ARN) of the cluster operation.

      + *

      The Amazon Resource Name (ARN) of the cluster.

      */ - ClusterOperationArn?: string; + ClusterArn?: string; /** - *

      The Amazon Resource Name (ARN) of the cluster.

      + *

      The Amazon Resource Name (ARN) of the cluster operation.

      */ - ClusterArn?: string; + ClusterOperationArn?: string; } export namespace UpdateBrokerCountResponse { @@ -2162,14 +2165,14 @@ export namespace UpdateBrokerCountResponse { export interface UpdateBrokerStorageRequest { /** - *

      The version of cluster to update from. A successful operation will then generate a new version.

      + *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      */ - CurrentVersion: string | undefined; + ClusterArn: string | undefined; /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      + *

      The version of cluster to update from. A successful operation will then generate a new version.

      */ - ClusterArn: string | undefined; + CurrentVersion: string | undefined; /** *

      Describes the target volume size and the ID of the broker to apply the update to.

      @@ -2185,14 +2188,14 @@ export namespace UpdateBrokerStorageRequest { export interface UpdateBrokerStorageResponse { /** - *

      The Amazon Resource Name (ARN) of the cluster operation.

      + *

      The Amazon Resource Name (ARN) of the cluster.

      */ - ClusterOperationArn?: string; + ClusterArn?: string; /** - *

      The Amazon Resource Name (ARN) of the cluster.

      + *

      The Amazon Resource Name (ARN) of the cluster operation.

      */ - ClusterArn?: string; + ClusterOperationArn?: string; } export namespace UpdateBrokerStorageResponse { @@ -2202,6 +2205,11 @@ export namespace UpdateBrokerStorageResponse { } export interface UpdateClusterConfigurationRequest { + /** + *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      + */ + ClusterArn: string | undefined; + /** *

      Represents the configuration that you want MSK to use for the brokers in a cluster.

      */ @@ -2211,11 +2219,6 @@ export interface UpdateClusterConfigurationRequest { *

      The version of the cluster that needs to be updated.

      */ CurrentVersion: string | undefined; - - /** - *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      - */ - ClusterArn: string | undefined; } export namespace UpdateClusterConfigurationRequest { @@ -2289,6 +2292,11 @@ export namespace UpdateClusterKafkaVersionResponse { } export interface UpdateConfigurationRequest { + /** + *

      The Amazon Resource Name (ARN) of the configuration.

      + */ + Arn: string | undefined; + /** *

      The description of the configuration revision.

      */ @@ -2299,11 +2307,6 @@ export interface UpdateConfigurationRequest { * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

      */ ServerProperties: Uint8Array | undefined; - - /** - *

      The Amazon Resource Name (ARN) of the configuration.

      - */ - Arn: string | undefined; } export namespace UpdateConfigurationRequest { @@ -2334,11 +2337,6 @@ export namespace UpdateConfigurationResponse { * Request body for UpdateMonitoring. */ export interface UpdateMonitoringRequest { - /** - *

      The settings for open monitoring.

      - */ - OpenMonitoring?: OpenMonitoringInfo; - /** *

      The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      */ @@ -2354,6 +2352,11 @@ export interface UpdateMonitoringRequest { */ EnhancedMonitoring?: EnhancedMonitoring | string; + /** + *

      The settings for open monitoring.

      + */ + OpenMonitoring?: OpenMonitoringInfo; + LoggingInfo?: LoggingInfo; } @@ -2365,14 +2368,14 @@ export namespace UpdateMonitoringRequest { export interface UpdateMonitoringResponse { /** - *

      The Amazon Resource Name (ARN) of the cluster operation.

      + *

      The Amazon Resource Name (ARN) of the cluster.

      */ - ClusterOperationArn?: string; + ClusterArn?: string; /** - *

      The Amazon Resource Name (ARN) of the cluster.

      + *

      The Amazon Resource Name (ARN) of the cluster operation.

      */ - ClusterArn?: string; + ClusterOperationArn?: string; } export namespace UpdateMonitoringResponse { diff --git a/clients/client-kafka/protocols/Aws_restJson1.ts b/clients/client-kafka/protocols/Aws_restJson1.ts index 3fb3cc7e9900a..5ae6a2fc3aa63 100644 --- a/clients/client-kafka/protocols/Aws_restJson1.ts +++ b/clients/client-kafka/protocols/Aws_restJson1.ts @@ -445,15 +445,6 @@ export const serializeAws_restJson1DescribeConfigurationRevisionCommand = async "Content-Type": "", }; let resolvedPath = "/v1/configurations/{Arn}/revisions/{Revision}"; - if (input.Revision !== undefined) { - const labelValue: string = input.Revision.toString(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Revision."); - } - resolvedPath = resolvedPath.replace("{Revision}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Revision."); - } if (input.Arn !== undefined) { const labelValue: string = input.Arn; if (labelValue.length <= 0) { @@ -463,6 +454,15 @@ export const serializeAws_restJson1DescribeConfigurationRevisionCommand = async } else { throw new Error("No value provided for input HTTP label: Arn."); } + if (input.Revision !== undefined) { + const labelValue: string = input.Revision.toString(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Revision."); + } + resolvedPath = resolvedPath.replace("{Revision}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Revision."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -575,9 +575,9 @@ export const serializeAws_restJson1ListClustersCommand = async ( }; let resolvedPath = "/v1/clusters"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.ClusterNameFilter !== undefined && { clusterNameFilter: input.ClusterNameFilter }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -611,8 +611,8 @@ export const serializeAws_restJson1ListConfigurationRevisionsCommand = async ( throw new Error("No value provided for input HTTP label: Arn."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -637,8 +637,8 @@ export const serializeAws_restJson1ListConfigurationsCommand = async ( }; let resolvedPath = "/v1/configurations"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -733,8 +733,8 @@ export const serializeAws_restJson1ListScramSecretsCommand = async ( throw new Error("No value provided for input HTTP label: ClusterArn."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-lambda/Lambda.ts b/clients/client-lambda/Lambda.ts index 1cab7adb448b8..211d42c21f06c 100644 --- a/clients/client-lambda/Lambda.ts +++ b/clients/client-lambda/Lambda.ts @@ -10,6 +10,11 @@ import { AddPermissionCommandOutput, } from "./commands/AddPermissionCommand"; import { CreateAliasCommand, CreateAliasCommandInput, CreateAliasCommandOutput } from "./commands/CreateAliasCommand"; +import { + CreateCodeSigningConfigCommand, + CreateCodeSigningConfigCommandInput, + CreateCodeSigningConfigCommandOutput, +} from "./commands/CreateCodeSigningConfigCommand"; import { CreateEventSourceMappingCommand, CreateEventSourceMappingCommandInput, @@ -21,11 +26,21 @@ import { CreateFunctionCommandOutput, } from "./commands/CreateFunctionCommand"; import { DeleteAliasCommand, DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand"; +import { + DeleteCodeSigningConfigCommand, + DeleteCodeSigningConfigCommandInput, + DeleteCodeSigningConfigCommandOutput, +} from "./commands/DeleteCodeSigningConfigCommand"; import { DeleteEventSourceMappingCommand, DeleteEventSourceMappingCommandInput, DeleteEventSourceMappingCommandOutput, } from "./commands/DeleteEventSourceMappingCommand"; +import { + DeleteFunctionCodeSigningConfigCommand, + DeleteFunctionCodeSigningConfigCommandInput, + DeleteFunctionCodeSigningConfigCommandOutput, +} from "./commands/DeleteFunctionCodeSigningConfigCommand"; import { DeleteFunctionCommand, DeleteFunctionCommandInput, @@ -57,11 +72,21 @@ import { GetAccountSettingsCommandOutput, } from "./commands/GetAccountSettingsCommand"; import { GetAliasCommand, GetAliasCommandInput, GetAliasCommandOutput } from "./commands/GetAliasCommand"; +import { + GetCodeSigningConfigCommand, + GetCodeSigningConfigCommandInput, + GetCodeSigningConfigCommandOutput, +} from "./commands/GetCodeSigningConfigCommand"; import { GetEventSourceMappingCommand, GetEventSourceMappingCommandInput, GetEventSourceMappingCommandOutput, } from "./commands/GetEventSourceMappingCommand"; +import { + GetFunctionCodeSigningConfigCommand, + GetFunctionCodeSigningConfigCommandInput, + GetFunctionCodeSigningConfigCommandOutput, +} from "./commands/GetFunctionCodeSigningConfigCommand"; import { GetFunctionCommand, GetFunctionCommandInput, GetFunctionCommandOutput } from "./commands/GetFunctionCommand"; import { GetFunctionConcurrencyCommand, @@ -102,6 +127,11 @@ import { import { InvokeAsyncCommand, InvokeAsyncCommandInput, InvokeAsyncCommandOutput } from "./commands/InvokeAsyncCommand"; import { InvokeCommand, InvokeCommandInput, InvokeCommandOutput } from "./commands/InvokeCommand"; import { ListAliasesCommand, ListAliasesCommandInput, ListAliasesCommandOutput } from "./commands/ListAliasesCommand"; +import { + ListCodeSigningConfigsCommand, + ListCodeSigningConfigsCommandInput, + ListCodeSigningConfigsCommandOutput, +} from "./commands/ListCodeSigningConfigsCommand"; import { ListEventSourceMappingsCommand, ListEventSourceMappingsCommandInput, @@ -112,6 +142,11 @@ import { ListFunctionEventInvokeConfigsCommandInput, ListFunctionEventInvokeConfigsCommandOutput, } from "./commands/ListFunctionEventInvokeConfigsCommand"; +import { + ListFunctionsByCodeSigningConfigCommand, + ListFunctionsByCodeSigningConfigCommandInput, + ListFunctionsByCodeSigningConfigCommandOutput, +} from "./commands/ListFunctionsByCodeSigningConfigCommand"; import { ListFunctionsCommand, ListFunctionsCommandInput, @@ -144,6 +179,11 @@ import { PublishVersionCommandInput, PublishVersionCommandOutput, } from "./commands/PublishVersionCommand"; +import { + PutFunctionCodeSigningConfigCommand, + PutFunctionCodeSigningConfigCommandInput, + PutFunctionCodeSigningConfigCommandOutput, +} from "./commands/PutFunctionCodeSigningConfigCommand"; import { PutFunctionConcurrencyCommand, PutFunctionConcurrencyCommandInput, @@ -176,6 +216,11 @@ import { UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; import { UpdateAliasCommand, UpdateAliasCommandInput, UpdateAliasCommandOutput } from "./commands/UpdateAliasCommand"; +import { + UpdateCodeSigningConfigCommand, + UpdateCodeSigningConfigCommandInput, + UpdateCodeSigningConfigCommandOutput, +} from "./commands/UpdateCodeSigningConfigCommand"; import { UpdateEventSourceMappingCommand, UpdateEventSourceMappingCommandInput, @@ -319,6 +364,40 @@ export class Lambda extends LambdaClient { } } + /** + *

      Creates a code signing configuration. A code signing configuration defines a list of + * allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment + * validation checks fail).

      + */ + public createCodeSigningConfig( + args: CreateCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createCodeSigningConfig( + args: CreateCodeSigningConfigCommandInput, + cb: (err: any, data?: CreateCodeSigningConfigCommandOutput) => void + ): void; + public createCodeSigningConfig( + args: CreateCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateCodeSigningConfigCommandOutput) => void + ): void; + public createCodeSigningConfig( + args: CreateCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: CreateCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new CreateCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source * and triggers the function.

      @@ -431,6 +510,11 @@ export class Lambda extends LambdaClient { * to both the unpublished and published versions of the function, and include tags (TagResource) * and per-function concurrency limits (PutFunctionConcurrency).

      * + *

      To enable code signing for this function, specify the ARN of a code-signing configuration. When a user + * attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code + * package has a valid signature from a trusted publisher. The code-signing configuration + * includes set set of signing profiles, which define the trusted publishers for this function.

      + * *

      If another account or an AWS service invokes your function, use AddPermission to grant * permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, * or on an alias.

      @@ -494,6 +578,39 @@ export class Lambda extends LambdaClient { } } + /** + *

      Deletes the code signing configuration. You can delete the code signing configuration only if no function is + * using it.

      + */ + public deleteCodeSigningConfig( + args: DeleteCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteCodeSigningConfig( + args: DeleteCodeSigningConfigCommandInput, + cb: (err: any, data?: DeleteCodeSigningConfigCommandOutput) => void + ): void; + public deleteCodeSigningConfig( + args: DeleteCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteCodeSigningConfigCommandOutput) => void + ): void; + public deleteCodeSigningConfig( + args: DeleteCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: DeleteCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new DeleteCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Deletes an event source * mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

      @@ -566,6 +683,38 @@ export class Lambda extends LambdaClient { } } + /** + *

      Removes the code signing configuration from the function.

      + */ + public deleteFunctionCodeSigningConfig( + args: DeleteFunctionCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteFunctionCodeSigningConfig( + args: DeleteFunctionCodeSigningConfigCommandInput, + cb: (err: any, data?: DeleteFunctionCodeSigningConfigCommandOutput) => void + ): void; + public deleteFunctionCodeSigningConfig( + args: DeleteFunctionCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteFunctionCodeSigningConfigCommandOutput) => void + ): void; + public deleteFunctionCodeSigningConfig( + args: DeleteFunctionCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteFunctionCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: DeleteFunctionCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new DeleteFunctionCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Removes a concurrent execution limit from a function.

      */ @@ -755,6 +904,38 @@ export class Lambda extends LambdaClient { } } + /** + *

      Returns information about the specified code signing configuration.

      + */ + public getCodeSigningConfig( + args: GetCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getCodeSigningConfig( + args: GetCodeSigningConfigCommandInput, + cb: (err: any, data?: GetCodeSigningConfigCommandOutput) => void + ): void; + public getCodeSigningConfig( + args: GetCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetCodeSigningConfigCommandOutput) => void + ): void; + public getCodeSigningConfig( + args: GetCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: GetCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new GetCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Returns details about an event source mapping. You can get the identifier of a mapping from the output of * ListEventSourceMappings.

      @@ -816,6 +997,38 @@ export class Lambda extends LambdaClient { } } + /** + *

      Returns the code signing configuration for the specified function.

      + */ + public getFunctionCodeSigningConfig( + args: GetFunctionCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getFunctionCodeSigningConfig( + args: GetFunctionCodeSigningConfigCommandInput, + cb: (err: any, data?: GetFunctionCodeSigningConfigCommandOutput) => void + ): void; + public getFunctionCodeSigningConfig( + args: GetFunctionCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetFunctionCodeSigningConfigCommandOutput) => void + ): void; + public getFunctionCodeSigningConfig( + args: GetFunctionCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetFunctionCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: GetFunctionCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new GetFunctionCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Returns details about the reserved concurrency configuration for a function. To set a concurrency limit for a * function, use PutFunctionConcurrency.

      @@ -1183,6 +1396,40 @@ export class Lambda extends LambdaClient { } } + /** + *

      Returns a list of code + * signing configurations for the specified function. A request returns up to 10,000 configurations per + * call. You can use the MaxItems parameter to return fewer configurations per call.

      + */ + public listCodeSigningConfigs( + args: ListCodeSigningConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listCodeSigningConfigs( + args: ListCodeSigningConfigsCommandInput, + cb: (err: any, data?: ListCodeSigningConfigsCommandOutput) => void + ): void; + public listCodeSigningConfigs( + args: ListCodeSigningConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListCodeSigningConfigsCommandOutput) => void + ): void; + public listCodeSigningConfigs( + args: ListCodeSigningConfigsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListCodeSigningConfigsCommandOutput) => void), + cb?: (err: any, data?: ListCodeSigningConfigsCommandOutput) => void + ): Promise | void { + const command = new ListCodeSigningConfigsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a * single event source.

      @@ -1284,6 +1531,39 @@ export class Lambda extends LambdaClient { } } + /** + *

      List the functions that use the specified code signing configuration. You can use this method prior to deleting a + * code signing configuration, to verify that no functions are using it.

      + */ + public listFunctionsByCodeSigningConfig( + args: ListFunctionsByCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listFunctionsByCodeSigningConfig( + args: ListFunctionsByCodeSigningConfigCommandInput, + cb: (err: any, data?: ListFunctionsByCodeSigningConfigCommandOutput) => void + ): void; + public listFunctionsByCodeSigningConfig( + args: ListFunctionsByCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListFunctionsByCodeSigningConfigCommandOutput) => void + ): void; + public listFunctionsByCodeSigningConfig( + args: ListFunctionsByCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListFunctionsByCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: ListFunctionsByCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new ListFunctionsByCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Lists AWS Lambda * layers and shows information about the latest version of each. Specify a runtime identifier to list only layers @@ -1513,6 +1793,39 @@ export class Lambda extends LambdaClient { } } + /** + *

      Update the code signing configuration for the function. Changes to the code signing configuration take effect the + * next time a user tries to deploy a code package to the function.

      + */ + public putFunctionCodeSigningConfig( + args: PutFunctionCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putFunctionCodeSigningConfig( + args: PutFunctionCodeSigningConfigCommandInput, + cb: (err: any, data?: PutFunctionCodeSigningConfigCommandOutput) => void + ): void; + public putFunctionCodeSigningConfig( + args: PutFunctionCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutFunctionCodeSigningConfigCommandOutput) => void + ): void; + public putFunctionCodeSigningConfig( + args: PutFunctionCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutFunctionCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: PutFunctionCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new PutFunctionCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency * level.

      @@ -1778,6 +2091,39 @@ export class Lambda extends LambdaClient { } } + /** + *

      Update the code signing configuration. Changes to the code signing configuration take effect the next time a + * user tries to deploy a code package to the function.

      + */ + public updateCodeSigningConfig( + args: UpdateCodeSigningConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateCodeSigningConfig( + args: UpdateCodeSigningConfigCommandInput, + cb: (err: any, data?: UpdateCodeSigningConfigCommandOutput) => void + ): void; + public updateCodeSigningConfig( + args: UpdateCodeSigningConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateCodeSigningConfigCommandOutput) => void + ): void; + public updateCodeSigningConfig( + args: UpdateCodeSigningConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateCodeSigningConfigCommandOutput) => void), + cb?: (err: any, data?: UpdateCodeSigningConfigCommandOutput) => void + ): Promise | void { + const command = new UpdateCodeSigningConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and * resume later from the same location.

      @@ -1835,7 +2181,8 @@ export class Lambda extends LambdaClient { } /** - *

      Updates a Lambda function's code.

      + *

      Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed + * by a trusted publisher. For more information, see Configuring code signing.

      * *

      The function's code is locked when you publish a version. You can't modify the code of a published version, * only the unpublished version.

      diff --git a/clients/client-lambda/LambdaClient.ts b/clients/client-lambda/LambdaClient.ts index 01d376106e54e..f77a48c924207 100644 --- a/clients/client-lambda/LambdaClient.ts +++ b/clients/client-lambda/LambdaClient.ts @@ -4,16 +4,28 @@ import { } from "./commands/AddLayerVersionPermissionCommand"; import { AddPermissionCommandInput, AddPermissionCommandOutput } from "./commands/AddPermissionCommand"; import { CreateAliasCommandInput, CreateAliasCommandOutput } from "./commands/CreateAliasCommand"; +import { + CreateCodeSigningConfigCommandInput, + CreateCodeSigningConfigCommandOutput, +} from "./commands/CreateCodeSigningConfigCommand"; import { CreateEventSourceMappingCommandInput, CreateEventSourceMappingCommandOutput, } from "./commands/CreateEventSourceMappingCommand"; import { CreateFunctionCommandInput, CreateFunctionCommandOutput } from "./commands/CreateFunctionCommand"; import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand"; +import { + DeleteCodeSigningConfigCommandInput, + DeleteCodeSigningConfigCommandOutput, +} from "./commands/DeleteCodeSigningConfigCommand"; import { DeleteEventSourceMappingCommandInput, DeleteEventSourceMappingCommandOutput, } from "./commands/DeleteEventSourceMappingCommand"; +import { + DeleteFunctionCodeSigningConfigCommandInput, + DeleteFunctionCodeSigningConfigCommandOutput, +} from "./commands/DeleteFunctionCodeSigningConfigCommand"; import { DeleteFunctionCommandInput, DeleteFunctionCommandOutput } from "./commands/DeleteFunctionCommand"; import { DeleteFunctionConcurrencyCommandInput, @@ -30,10 +42,18 @@ import { } from "./commands/DeleteProvisionedConcurrencyConfigCommand"; import { GetAccountSettingsCommandInput, GetAccountSettingsCommandOutput } from "./commands/GetAccountSettingsCommand"; import { GetAliasCommandInput, GetAliasCommandOutput } from "./commands/GetAliasCommand"; +import { + GetCodeSigningConfigCommandInput, + GetCodeSigningConfigCommandOutput, +} from "./commands/GetCodeSigningConfigCommand"; import { GetEventSourceMappingCommandInput, GetEventSourceMappingCommandOutput, } from "./commands/GetEventSourceMappingCommand"; +import { + GetFunctionCodeSigningConfigCommandInput, + GetFunctionCodeSigningConfigCommandOutput, +} from "./commands/GetFunctionCodeSigningConfigCommand"; import { GetFunctionCommandInput, GetFunctionCommandOutput } from "./commands/GetFunctionCommand"; import { GetFunctionConcurrencyCommandInput, @@ -64,6 +84,10 @@ import { import { InvokeAsyncCommandInput, InvokeAsyncCommandOutput } from "./commands/InvokeAsyncCommand"; import { InvokeCommandInput, InvokeCommandOutput } from "./commands/InvokeCommand"; import { ListAliasesCommandInput, ListAliasesCommandOutput } from "./commands/ListAliasesCommand"; +import { + ListCodeSigningConfigsCommandInput, + ListCodeSigningConfigsCommandOutput, +} from "./commands/ListCodeSigningConfigsCommand"; import { ListEventSourceMappingsCommandInput, ListEventSourceMappingsCommandOutput, @@ -72,6 +96,10 @@ import { ListFunctionEventInvokeConfigsCommandInput, ListFunctionEventInvokeConfigsCommandOutput, } from "./commands/ListFunctionEventInvokeConfigsCommand"; +import { + ListFunctionsByCodeSigningConfigCommandInput, + ListFunctionsByCodeSigningConfigCommandOutput, +} from "./commands/ListFunctionsByCodeSigningConfigCommand"; import { ListFunctionsCommandInput, ListFunctionsCommandOutput } from "./commands/ListFunctionsCommand"; import { ListLayerVersionsCommandInput, ListLayerVersionsCommandOutput } from "./commands/ListLayerVersionsCommand"; import { ListLayersCommandInput, ListLayersCommandOutput } from "./commands/ListLayersCommand"; @@ -89,6 +117,10 @@ import { PublishLayerVersionCommandOutput, } from "./commands/PublishLayerVersionCommand"; import { PublishVersionCommandInput, PublishVersionCommandOutput } from "./commands/PublishVersionCommand"; +import { + PutFunctionCodeSigningConfigCommandInput, + PutFunctionCodeSigningConfigCommandOutput, +} from "./commands/PutFunctionCodeSigningConfigCommand"; import { PutFunctionConcurrencyCommandInput, PutFunctionConcurrencyCommandOutput, @@ -109,6 +141,10 @@ import { RemovePermissionCommandInput, RemovePermissionCommandOutput } from "./c import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateAliasCommandInput, UpdateAliasCommandOutput } from "./commands/UpdateAliasCommand"; +import { + UpdateCodeSigningConfigCommandInput, + UpdateCodeSigningConfigCommandOutput, +} from "./commands/UpdateCodeSigningConfigCommand"; import { UpdateEventSourceMappingCommandInput, UpdateEventSourceMappingCommandOutput, @@ -175,10 +211,13 @@ export type ServiceInputTypes = | AddLayerVersionPermissionCommandInput | AddPermissionCommandInput | CreateAliasCommandInput + | CreateCodeSigningConfigCommandInput | CreateEventSourceMappingCommandInput | CreateFunctionCommandInput | DeleteAliasCommandInput + | DeleteCodeSigningConfigCommandInput | DeleteEventSourceMappingCommandInput + | DeleteFunctionCodeSigningConfigCommandInput | DeleteFunctionCommandInput | DeleteFunctionConcurrencyCommandInput | DeleteFunctionEventInvokeConfigCommandInput @@ -186,7 +225,9 @@ export type ServiceInputTypes = | DeleteProvisionedConcurrencyConfigCommandInput | GetAccountSettingsCommandInput | GetAliasCommandInput + | GetCodeSigningConfigCommandInput | GetEventSourceMappingCommandInput + | GetFunctionCodeSigningConfigCommandInput | GetFunctionCommandInput | GetFunctionConcurrencyCommandInput | GetFunctionConfigurationCommandInput @@ -199,8 +240,10 @@ export type ServiceInputTypes = | InvokeAsyncCommandInput | InvokeCommandInput | ListAliasesCommandInput + | ListCodeSigningConfigsCommandInput | ListEventSourceMappingsCommandInput | ListFunctionEventInvokeConfigsCommandInput + | ListFunctionsByCodeSigningConfigCommandInput | ListFunctionsCommandInput | ListLayerVersionsCommandInput | ListLayersCommandInput @@ -209,6 +252,7 @@ export type ServiceInputTypes = | ListVersionsByFunctionCommandInput | PublishLayerVersionCommandInput | PublishVersionCommandInput + | PutFunctionCodeSigningConfigCommandInput | PutFunctionConcurrencyCommandInput | PutFunctionEventInvokeConfigCommandInput | PutProvisionedConcurrencyConfigCommandInput @@ -217,6 +261,7 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateAliasCommandInput + | UpdateCodeSigningConfigCommandInput | UpdateEventSourceMappingCommandInput | UpdateFunctionCodeCommandInput | UpdateFunctionConfigurationCommandInput @@ -226,10 +271,13 @@ export type ServiceOutputTypes = | AddLayerVersionPermissionCommandOutput | AddPermissionCommandOutput | CreateAliasCommandOutput + | CreateCodeSigningConfigCommandOutput | CreateEventSourceMappingCommandOutput | CreateFunctionCommandOutput | DeleteAliasCommandOutput + | DeleteCodeSigningConfigCommandOutput | DeleteEventSourceMappingCommandOutput + | DeleteFunctionCodeSigningConfigCommandOutput | DeleteFunctionCommandOutput | DeleteFunctionConcurrencyCommandOutput | DeleteFunctionEventInvokeConfigCommandOutput @@ -237,7 +285,9 @@ export type ServiceOutputTypes = | DeleteProvisionedConcurrencyConfigCommandOutput | GetAccountSettingsCommandOutput | GetAliasCommandOutput + | GetCodeSigningConfigCommandOutput | GetEventSourceMappingCommandOutput + | GetFunctionCodeSigningConfigCommandOutput | GetFunctionCommandOutput | GetFunctionConcurrencyCommandOutput | GetFunctionConfigurationCommandOutput @@ -250,8 +300,10 @@ export type ServiceOutputTypes = | InvokeAsyncCommandOutput | InvokeCommandOutput | ListAliasesCommandOutput + | ListCodeSigningConfigsCommandOutput | ListEventSourceMappingsCommandOutput | ListFunctionEventInvokeConfigsCommandOutput + | ListFunctionsByCodeSigningConfigCommandOutput | ListFunctionsCommandOutput | ListLayerVersionsCommandOutput | ListLayersCommandOutput @@ -260,6 +312,7 @@ export type ServiceOutputTypes = | ListVersionsByFunctionCommandOutput | PublishLayerVersionCommandOutput | PublishVersionCommandOutput + | PutFunctionCodeSigningConfigCommandOutput | PutFunctionConcurrencyCommandOutput | PutFunctionEventInvokeConfigCommandOutput | PutProvisionedConcurrencyConfigCommandOutput @@ -268,6 +321,7 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAliasCommandOutput + | UpdateCodeSigningConfigCommandOutput | UpdateEventSourceMappingCommandOutput | UpdateFunctionCodeCommandOutput | UpdateFunctionConfigurationCommandOutput diff --git a/clients/client-lambda/commands/CreateCodeSigningConfigCommand.ts b/clients/client-lambda/commands/CreateCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..41f848c41fb0d --- /dev/null +++ b/clients/client-lambda/commands/CreateCodeSigningConfigCommand.ts @@ -0,0 +1,90 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { CreateCodeSigningConfigRequest, CreateCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateCodeSigningConfigCommand, + serializeAws_restJson1CreateCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateCodeSigningConfigCommandInput = CreateCodeSigningConfigRequest; +export type CreateCodeSigningConfigCommandOutput = CreateCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      Creates a code signing configuration. A code signing configuration defines a list of + * allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment + * validation checks fail).

      + */ +export class CreateCodeSigningConfigCommand extends $Command< + CreateCodeSigningConfigCommandInput, + CreateCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "CreateCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateCodeSigningConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateCodeSigningConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/CreateFunctionCommand.ts b/clients/client-lambda/commands/CreateFunctionCommand.ts index ee5355edcf3b2..26efdb72e4493 100644 --- a/clients/client-lambda/commands/CreateFunctionCommand.ts +++ b/clients/client-lambda/commands/CreateFunctionCommand.ts @@ -43,6 +43,11 @@ export type CreateFunctionCommandOutput = FunctionConfiguration & __MetadataBear * to both the unpublished and published versions of the function, and include tags (TagResource) * and per-function concurrency limits (PutFunctionConcurrency).

      * + *

      To enable code signing for this function, specify the ARN of a code-signing configuration. When a user + * attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code + * package has a valid signature from a trusted publisher. The code-signing configuration + * includes set set of signing profiles, which define the trusted publishers for this function.

      + * *

      If another account or an AWS service invokes your function, use AddPermission to grant * permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, * or on an alias.

      diff --git a/clients/client-lambda/commands/DeleteCodeSigningConfigCommand.ts b/clients/client-lambda/commands/DeleteCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..d2d4a4f2ab6bd --- /dev/null +++ b/clients/client-lambda/commands/DeleteCodeSigningConfigCommand.ts @@ -0,0 +1,89 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { DeleteCodeSigningConfigRequest, DeleteCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteCodeSigningConfigCommand, + serializeAws_restJson1DeleteCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteCodeSigningConfigCommandInput = DeleteCodeSigningConfigRequest; +export type DeleteCodeSigningConfigCommandOutput = DeleteCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      Deletes the code signing configuration. You can delete the code signing configuration only if no function is + * using it.

      + */ +export class DeleteCodeSigningConfigCommand extends $Command< + DeleteCodeSigningConfigCommandInput, + DeleteCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "DeleteCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteCodeSigningConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteCodeSigningConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/DeleteFunctionCodeSigningConfigCommand.ts b/clients/client-lambda/commands/DeleteFunctionCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..566182123da01 --- /dev/null +++ b/clients/client-lambda/commands/DeleteFunctionCodeSigningConfigCommand.ts @@ -0,0 +1,94 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { DeleteFunctionCodeSigningConfigRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteFunctionCodeSigningConfigCommand, + serializeAws_restJson1DeleteFunctionCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteFunctionCodeSigningConfigCommandInput = DeleteFunctionCodeSigningConfigRequest; +export type DeleteFunctionCodeSigningConfigCommandOutput = __MetadataBearer; + +/** + *

      Removes the code signing configuration from the function.

      + */ +export class DeleteFunctionCodeSigningConfigCommand extends $Command< + DeleteFunctionCodeSigningConfigCommandInput, + DeleteFunctionCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteFunctionCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "DeleteFunctionCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteFunctionCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteFunctionCodeSigningConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteFunctionCodeSigningConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DeleteFunctionCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/GetCodeSigningConfigCommand.ts b/clients/client-lambda/commands/GetCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..adaf11dffd336 --- /dev/null +++ b/clients/client-lambda/commands/GetCodeSigningConfigCommand.ts @@ -0,0 +1,88 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { GetCodeSigningConfigRequest, GetCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetCodeSigningConfigCommand, + serializeAws_restJson1GetCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetCodeSigningConfigCommandInput = GetCodeSigningConfigRequest; +export type GetCodeSigningConfigCommandOutput = GetCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      Returns information about the specified code signing configuration.

      + */ +export class GetCodeSigningConfigCommand extends $Command< + GetCodeSigningConfigCommandInput, + GetCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "GetCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetCodeSigningConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetCodeSigningConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/GetFunctionCodeSigningConfigCommand.ts b/clients/client-lambda/commands/GetFunctionCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..85990735bcabb --- /dev/null +++ b/clients/client-lambda/commands/GetFunctionCodeSigningConfigCommand.ts @@ -0,0 +1,91 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { GetFunctionCodeSigningConfigRequest, GetFunctionCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetFunctionCodeSigningConfigCommand, + serializeAws_restJson1GetFunctionCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetFunctionCodeSigningConfigCommandInput = GetFunctionCodeSigningConfigRequest; +export type GetFunctionCodeSigningConfigCommandOutput = GetFunctionCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      Returns the code signing configuration for the specified function.

      + */ +export class GetFunctionCodeSigningConfigCommand extends $Command< + GetFunctionCodeSigningConfigCommandInput, + GetFunctionCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetFunctionCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "GetFunctionCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetFunctionCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetFunctionCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetFunctionCodeSigningConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetFunctionCodeSigningConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1GetFunctionCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/ListCodeSigningConfigsCommand.ts b/clients/client-lambda/commands/ListCodeSigningConfigsCommand.ts new file mode 100644 index 0000000000000..96d2a8b0f80b5 --- /dev/null +++ b/clients/client-lambda/commands/ListCodeSigningConfigsCommand.ts @@ -0,0 +1,90 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { ListCodeSigningConfigsRequest, ListCodeSigningConfigsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListCodeSigningConfigsCommand, + serializeAws_restJson1ListCodeSigningConfigsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListCodeSigningConfigsCommandInput = ListCodeSigningConfigsRequest; +export type ListCodeSigningConfigsCommandOutput = ListCodeSigningConfigsResponse & __MetadataBearer; + +/** + *

      Returns a list of code + * signing configurations for the specified function. A request returns up to 10,000 configurations per + * call. You can use the MaxItems parameter to return fewer configurations per call.

      + */ +export class ListCodeSigningConfigsCommand extends $Command< + ListCodeSigningConfigsCommandInput, + ListCodeSigningConfigsCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListCodeSigningConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "ListCodeSigningConfigsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListCodeSigningConfigsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListCodeSigningConfigsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListCodeSigningConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListCodeSigningConfigsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListCodeSigningConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/ListFunctionsByCodeSigningConfigCommand.ts b/clients/client-lambda/commands/ListFunctionsByCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..9bad4e046d38a --- /dev/null +++ b/clients/client-lambda/commands/ListFunctionsByCodeSigningConfigCommand.ts @@ -0,0 +1,95 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { ListFunctionsByCodeSigningConfigRequest, ListFunctionsByCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListFunctionsByCodeSigningConfigCommand, + serializeAws_restJson1ListFunctionsByCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListFunctionsByCodeSigningConfigCommandInput = ListFunctionsByCodeSigningConfigRequest; +export type ListFunctionsByCodeSigningConfigCommandOutput = ListFunctionsByCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      List the functions that use the specified code signing configuration. You can use this method prior to deleting a + * code signing configuration, to verify that no functions are using it.

      + */ +export class ListFunctionsByCodeSigningConfigCommand extends $Command< + ListFunctionsByCodeSigningConfigCommandInput, + ListFunctionsByCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListFunctionsByCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "ListFunctionsByCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListFunctionsByCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListFunctionsByCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListFunctionsByCodeSigningConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1ListFunctionsByCodeSigningConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListFunctionsByCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/PutFunctionCodeSigningConfigCommand.ts b/clients/client-lambda/commands/PutFunctionCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..d3f80c614dc0b --- /dev/null +++ b/clients/client-lambda/commands/PutFunctionCodeSigningConfigCommand.ts @@ -0,0 +1,92 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { PutFunctionCodeSigningConfigRequest, PutFunctionCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1PutFunctionCodeSigningConfigCommand, + serializeAws_restJson1PutFunctionCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type PutFunctionCodeSigningConfigCommandInput = PutFunctionCodeSigningConfigRequest; +export type PutFunctionCodeSigningConfigCommandOutput = PutFunctionCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      Update the code signing configuration for the function. Changes to the code signing configuration take effect the + * next time a user tries to deploy a code package to the function.

      + */ +export class PutFunctionCodeSigningConfigCommand extends $Command< + PutFunctionCodeSigningConfigCommandInput, + PutFunctionCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutFunctionCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "PutFunctionCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PutFunctionCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutFunctionCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutFunctionCodeSigningConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1PutFunctionCodeSigningConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1PutFunctionCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/UpdateCodeSigningConfigCommand.ts b/clients/client-lambda/commands/UpdateCodeSigningConfigCommand.ts new file mode 100644 index 0000000000000..637cae0ab976c --- /dev/null +++ b/clients/client-lambda/commands/UpdateCodeSigningConfigCommand.ts @@ -0,0 +1,89 @@ +import { LambdaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LambdaClient"; +import { UpdateCodeSigningConfigRequest, UpdateCodeSigningConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateCodeSigningConfigCommand, + serializeAws_restJson1UpdateCodeSigningConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateCodeSigningConfigCommandInput = UpdateCodeSigningConfigRequest; +export type UpdateCodeSigningConfigCommandOutput = UpdateCodeSigningConfigResponse & __MetadataBearer; + +/** + *

      Update the code signing configuration. Changes to the code signing configuration take effect the next time a + * user tries to deploy a code package to the function.

      + */ +export class UpdateCodeSigningConfigCommand extends $Command< + UpdateCodeSigningConfigCommandInput, + UpdateCodeSigningConfigCommandOutput, + LambdaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateCodeSigningConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LambdaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LambdaClient"; + const commandName = "UpdateCodeSigningConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateCodeSigningConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateCodeSigningConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateCodeSigningConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateCodeSigningConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateCodeSigningConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lambda/commands/UpdateFunctionCodeCommand.ts b/clients/client-lambda/commands/UpdateFunctionCodeCommand.ts index ca45f6672c308..23655e88db269 100644 --- a/clients/client-lambda/commands/UpdateFunctionCodeCommand.ts +++ b/clients/client-lambda/commands/UpdateFunctionCodeCommand.ts @@ -21,7 +21,8 @@ export type UpdateFunctionCodeCommandInput = UpdateFunctionCodeRequest; export type UpdateFunctionCodeCommandOutput = FunctionConfiguration & __MetadataBearer; /** - *

      Updates a Lambda function's code.

      + *

      Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed + * by a trusted publisher. For more information, see Configuring code signing.

      * *

      The function's code is locked when you publish a version. You can't modify the code of a published version, * only the unpublished version.

      diff --git a/clients/client-lambda/index.ts b/clients/client-lambda/index.ts index c89ad3bbd7657..9c482878d1bb5 100644 --- a/clients/client-lambda/index.ts +++ b/clients/client-lambda/index.ts @@ -3,19 +3,24 @@ export * from "./Lambda"; export * from "./commands/AddLayerVersionPermissionCommand"; export * from "./commands/AddPermissionCommand"; export * from "./commands/CreateAliasCommand"; +export * from "./commands/CreateCodeSigningConfigCommand"; export * from "./commands/CreateEventSourceMappingCommand"; export * from "./commands/CreateFunctionCommand"; export * from "./commands/DeleteAliasCommand"; +export * from "./commands/DeleteCodeSigningConfigCommand"; export * from "./commands/DeleteEventSourceMappingCommand"; export * from "./commands/DeleteFunctionCommand"; +export * from "./commands/DeleteFunctionCodeSigningConfigCommand"; export * from "./commands/DeleteFunctionConcurrencyCommand"; export * from "./commands/DeleteFunctionEventInvokeConfigCommand"; export * from "./commands/DeleteLayerVersionCommand"; export * from "./commands/DeleteProvisionedConcurrencyConfigCommand"; export * from "./commands/GetAccountSettingsCommand"; export * from "./commands/GetAliasCommand"; +export * from "./commands/GetCodeSigningConfigCommand"; export * from "./commands/GetEventSourceMappingCommand"; export * from "./commands/GetFunctionCommand"; +export * from "./commands/GetFunctionCodeSigningConfigCommand"; export * from "./commands/GetFunctionConcurrencyCommand"; export * from "./commands/GetFunctionConfigurationCommand"; export * from "./commands/GetFunctionEventInvokeConfigCommand"; @@ -28,12 +33,16 @@ export * from "./commands/InvokeCommand"; export * from "./commands/InvokeAsyncCommand"; export * from "./commands/ListAliasesCommand"; export * from "./pagination/ListAliasesPaginator"; +export * from "./commands/ListCodeSigningConfigsCommand"; +export * from "./pagination/ListCodeSigningConfigsPaginator"; export * from "./commands/ListEventSourceMappingsCommand"; export * from "./pagination/ListEventSourceMappingsPaginator"; export * from "./commands/ListFunctionEventInvokeConfigsCommand"; export * from "./pagination/ListFunctionEventInvokeConfigsPaginator"; export * from "./commands/ListFunctionsCommand"; export * from "./pagination/ListFunctionsPaginator"; +export * from "./commands/ListFunctionsByCodeSigningConfigCommand"; +export * from "./pagination/ListFunctionsByCodeSigningConfigPaginator"; export * from "./commands/ListLayersCommand"; export * from "./pagination/ListLayersPaginator"; export * from "./commands/ListLayerVersionsCommand"; @@ -45,6 +54,7 @@ export * from "./commands/ListVersionsByFunctionCommand"; export * from "./pagination/ListVersionsByFunctionPaginator"; export * from "./commands/PublishLayerVersionCommand"; export * from "./commands/PublishVersionCommand"; +export * from "./commands/PutFunctionCodeSigningConfigCommand"; export * from "./commands/PutFunctionConcurrencyCommand"; export * from "./commands/PutFunctionEventInvokeConfigCommand"; export * from "./commands/PutProvisionedConcurrencyConfigCommand"; @@ -53,6 +63,7 @@ export * from "./commands/RemovePermissionCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateAliasCommand"; +export * from "./commands/UpdateCodeSigningConfigCommand"; export * from "./commands/UpdateEventSourceMappingCommand"; export * from "./commands/UpdateFunctionCodeCommand"; export * from "./commands/UpdateFunctionConfigurationCommand"; diff --git a/clients/client-lambda/models/models_0.ts b/clients/client-lambda/models/models_0.ts index 6f1e5c2bf27f2..894728858398e 100644 --- a/clients/client-lambda/models/models_0.ts +++ b/clients/client-lambda/models/models_0.ts @@ -423,6 +423,23 @@ export namespace AliasConfiguration { }); } +/** + *

      List of signing profiles that can sign a code package.

      + */ +export interface AllowedPublishers { + /** + *

      The Amazon Resource Name (ARN) for each of the signing profiles. A signing profile defines a trusted user + * who can sign a code package.

      + */ + SigningProfileVersionArns: string[] | undefined; +} + +export namespace AllowedPublishers { + export const filterSensitiveLog = (obj: AllowedPublishers): any => ({ + ...obj, + }); +} + export interface CreateAliasRequest { /** *

      The name of the Lambda function.

      @@ -476,6 +493,109 @@ export namespace CreateAliasRequest { }); } +export enum CodeSigningPolicy { + Enforce = "Enforce", + Warn = "Warn", +} + +/** + *

      Code signing configuration policies specifies the validation failure action for signature mismatch or + * expiry.

      + */ +export interface CodeSigningPolicies { + /** + *

      Code signing configuration policy for deployment validation failure. If you set the policy to + * Enforce, Lambda blocks the deployment request if code-signing validation checks fail. If you set the + * policy to Warn, Lambda allows the deployment and creates a CloudWatch log.

      + *

      Default value: Warn + *

      + */ + UntrustedArtifactOnDeployment?: CodeSigningPolicy | string; +} + +export namespace CodeSigningPolicies { + export const filterSensitiveLog = (obj: CodeSigningPolicies): any => ({ + ...obj, + }); +} + +export interface CreateCodeSigningConfigRequest { + /** + *

      Descriptive name for this code signing configuration.

      + */ + Description?: string; + + /** + *

      Signing profiles for this code signing configuration.

      + */ + AllowedPublishers: AllowedPublishers | undefined; + + /** + *

      The code signing policies define the actions to take if the validation checks fail.

      + */ + CodeSigningPolicies?: CodeSigningPolicies; +} + +export namespace CreateCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: CreateCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +/** + *

      Details about a Code signing configuration.

      + */ +export interface CodeSigningConfig { + /** + *

      Unique identifer for the Code signing configuration.

      + */ + CodeSigningConfigId: string | undefined; + + /** + *

      The Amazon Resource Name (ARN) of the Code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; + + /** + *

      Code signing configuration description.

      + */ + Description?: string; + + /** + *

      List of allowed publishers.

      + */ + AllowedPublishers: AllowedPublishers | undefined; + + /** + *

      The code signing policy controls the validation failure action for signature mismatch or expiry.

      + */ + CodeSigningPolicies: CodeSigningPolicies | undefined; + + /** + *

      The date and time that the Code signing configuration was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

      + */ + LastModified: string | undefined; +} + +export namespace CodeSigningConfig { + export const filterSensitiveLog = (obj: CodeSigningConfig): any => ({ + ...obj, + }); +} + +export interface CreateCodeSigningConfigResponse { + /** + *

      The code signing configuration.

      + */ + CodeSigningConfig: CodeSigningConfig | undefined; +} + +export namespace CreateCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: CreateCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + /** *

      A destination for events that failed processing.

      */ @@ -878,6 +998,22 @@ export namespace EventSourceMappingConfiguration { }); } +/** + *

      The specified code signing configuration does not exist.

      + */ +export interface CodeSigningConfigNotFoundException extends __SmithyException, $MetadataBearer { + name: "CodeSigningConfigNotFoundException"; + $fault: "client"; + Type?: string; + Message?: string; +} + +export namespace CodeSigningConfigNotFoundException { + export const filterSensitiveLog = (obj: CodeSigningConfigNotFoundException): any => ({ + ...obj, + }); +} + /** *

      You have exceeded your maximum total code size per account. Learn more *

      @@ -899,6 +1035,23 @@ export namespace CodeStorageExceededException { }); } +/** + *

      The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy + * is set to ENFORCE. Lambda blocks the deployment.

      + */ +export interface CodeVerificationFailedException extends __SmithyException, $MetadataBearer { + name: "CodeVerificationFailedException"; + $fault: "client"; + Type?: string; + Message?: string; +} + +export namespace CodeVerificationFailedException { + export const filterSensitiveLog = (obj: CodeVerificationFailedException): any => ({ + ...obj, + }); +} + /** *

      The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment * package directly.

      @@ -1172,6 +1325,12 @@ export interface CreateFunctionRequest { *

      Connection settings for an Amazon EFS file system.

      */ FileSystemConfigs?: FileSystemConfig[]; + + /** + *

      To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration + * includes set set of signing profiles, which define the trusted publishers for this function.

      + */ + CodeSigningConfigArn?: string; } export namespace CreateFunctionRequest { @@ -1258,6 +1417,16 @@ export interface Layer { *

      The size of the layer archive in bytes.

      */ CodeSize?: number; + + /** + *

      The Amazon Resource Name (ARN) for a signing profile version.

      + */ + SigningProfileVersionArn?: string; + + /** + *

      The Amazon Resource Name (ARN) of a signing job.

      + */ + SigningJobArn?: string; } export namespace Layer { @@ -1471,6 +1640,16 @@ export interface FunctionConfiguration { *

      Connection settings for an Amazon EFS file system.

      */ FileSystemConfigs?: FileSystemConfig[]; + + /** + *

      The ARN of the signing profile version.

      + */ + SigningProfileVersionArn?: string; + + /** + *

      The ARN of the signing job.

      + */ + SigningJobArn?: string; } export namespace FunctionConfiguration { @@ -1480,6 +1659,23 @@ export namespace FunctionConfiguration { }); } +/** + *

      The code signature failed the integrity check. Lambda always blocks deployment if the integrity check + * fails, even if code signing policy is set to WARN.

      + */ +export interface InvalidCodeSignatureException extends __SmithyException, $MetadataBearer { + name: "InvalidCodeSignatureException"; + $fault: "client"; + Type?: string; + Message?: string; +} + +export namespace InvalidCodeSignatureException { + export const filterSensitiveLog = (obj: InvalidCodeSignatureException): any => ({ + ...obj, + }); +} + export interface DeleteAliasRequest { /** *

      The name of the Lambda function.

      @@ -1517,6 +1713,27 @@ export namespace DeleteAliasRequest { }); } +export interface DeleteCodeSigningConfigRequest { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; +} + +export namespace DeleteCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: DeleteCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +export interface DeleteCodeSigningConfigResponse {} + +export namespace DeleteCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: DeleteCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + export interface DeleteEventSourceMappingRequest { /** *

      The identifier of the event source mapping.

      @@ -1584,6 +1801,38 @@ export namespace DeleteFunctionRequest { }); } +export interface DeleteFunctionCodeSigningConfigRequest { + /** + *

      The name of the Lambda function.

      + *

      + * Name formats + *

      + *
        + *
      • + *

        + * Function name - MyFunction.

        + *
      • + *
      • + *

        + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

        + *
      • + *
      • + *

        + * Partial ARN - 123456789012:function:MyFunction.

        + *
      • + *
      + *

      The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

      + */ + FunctionName: string | undefined; +} + +export namespace DeleteFunctionCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: DeleteFunctionCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + export interface DeleteFunctionConcurrencyRequest { /** *

      The name of the Lambda function.

      @@ -1771,6 +2020,32 @@ export namespace GetAliasRequest { }); } +export interface GetCodeSigningConfigRequest { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; +} + +export namespace GetCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: GetCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +export interface GetCodeSigningConfigResponse { + /** + *

      The code signing configuration

      + */ + CodeSigningConfig: CodeSigningConfig | undefined; +} + +export namespace GetCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: GetCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + export interface GetEventSourceMappingRequest { /** *

      The identifier of the event source mapping.

      @@ -1885,6 +2160,75 @@ export namespace GetFunctionResponse { }); } +export interface GetFunctionCodeSigningConfigRequest { + /** + *

      The name of the Lambda function.

      + *

      + * Name formats + *

      + *
        + *
      • + *

        + * Function name - MyFunction.

        + *
      • + *
      • + *

        + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

        + *
      • + *
      • + *

        + * Partial ARN - 123456789012:function:MyFunction.

        + *
      • + *
      + *

      The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

      + */ + FunctionName: string | undefined; +} + +export namespace GetFunctionCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: GetFunctionCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +export interface GetFunctionCodeSigningConfigResponse { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; + + /** + *

      The name of the Lambda function.

      + *

      + * Name formats + *

      + *
        + *
      • + *

        + * Function name - MyFunction.

        + *
      • + *
      • + *

        + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

        + *
      • + *
      • + *

        + * Partial ARN - 123456789012:function:MyFunction.

        + *
      • + *
      + *

      The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

      + */ + FunctionName: string | undefined; +} + +export namespace GetFunctionCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: GetFunctionCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + export interface GetFunctionConcurrencyRequest { /** *

      The name of the Lambda function.

      @@ -2095,6 +2439,16 @@ export interface LayerVersionContentOutput { *

      The size of the layer archive in bytes.

      */ CodeSize?: number; + + /** + *

      The Amazon Resource Name (ARN) for a signing profile version.

      + */ + SigningProfileVersionArn?: string; + + /** + *

      The Amazon Resource Name (ARN) of a signing job.

      + */ + SigningJobArn?: string; } export namespace LayerVersionContentOutput { @@ -2957,6 +3311,42 @@ export namespace ListAliasesResponse { }); } +export interface ListCodeSigningConfigsRequest { + /** + *

      Specify the pagination token that's returned by a previous request to retrieve the next page of results.

      + */ + Marker?: string; + + /** + *

      Maximum number of items to return.

      + */ + MaxItems?: number; +} + +export namespace ListCodeSigningConfigsRequest { + export const filterSensitiveLog = (obj: ListCodeSigningConfigsRequest): any => ({ + ...obj, + }); +} + +export interface ListCodeSigningConfigsResponse { + /** + *

      The pagination token that's included if more results are available.

      + */ + NextMarker?: string; + + /** + *

      The code signing configurations

      + */ + CodeSigningConfigs?: CodeSigningConfig[]; +} + +export namespace ListCodeSigningConfigsResponse { + export const filterSensitiveLog = (obj: ListCodeSigningConfigsResponse): any => ({ + ...obj, + }); +} + export interface ListEventSourceMappingsRequest { /** *

      The Amazon Resource Name (ARN) of the event source.

      @@ -3160,6 +3550,47 @@ export namespace ListFunctionsResponse { }); } +export interface ListFunctionsByCodeSigningConfigRequest { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; + + /** + *

      Specify the pagination token that's returned by a previous request to retrieve the next page of results.

      + */ + Marker?: string; + + /** + *

      Maximum number of items to return.

      + */ + MaxItems?: number; +} + +export namespace ListFunctionsByCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: ListFunctionsByCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +export interface ListFunctionsByCodeSigningConfigResponse { + /** + *

      The pagination token that's included if more results are available.

      + */ + NextMarker?: string; + + /** + *

      The function ARNs.

      + */ + FunctionArns?: string[]; +} + +export namespace ListFunctionsByCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: ListFunctionsByCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + export interface ListLayersRequest { /** *

      A runtime identifier. For example, go1.x.

      @@ -3690,6 +4121,80 @@ export namespace PublishVersionRequest { }); } +export interface PutFunctionCodeSigningConfigRequest { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; + + /** + *

      The name of the Lambda function.

      + *

      + * Name formats + *

      + *
        + *
      • + *

        + * Function name - MyFunction.

        + *
      • + *
      • + *

        + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

        + *
      • + *
      • + *

        + * Partial ARN - 123456789012:function:MyFunction.

        + *
      • + *
      + *

      The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

      + */ + FunctionName: string | undefined; +} + +export namespace PutFunctionCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: PutFunctionCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +export interface PutFunctionCodeSigningConfigResponse { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; + + /** + *

      The name of the Lambda function.

      + *

      + * Name formats + *

      + *
        + *
      • + *

        + * Function name - MyFunction.

        + *
      • + *
      • + *

        + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

        + *
      • + *
      • + *

        + * Partial ARN - 123456789012:function:MyFunction.

        + *
      • + *
      + *

      The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

      + */ + FunctionName: string | undefined; +} + +export namespace PutFunctionCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: PutFunctionCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + export interface PutFunctionConcurrencyRequest { /** *

      The name of the Lambda function.

      @@ -4052,6 +4557,47 @@ export namespace UpdateAliasRequest { }); } +export interface UpdateCodeSigningConfigRequest { + /** + *

      The The Amazon Resource Name (ARN) of the code signing configuration.

      + */ + CodeSigningConfigArn: string | undefined; + + /** + *

      Descriptive name for this code signing configuration.

      + */ + Description?: string; + + /** + *

      Signing profiles for this code signing configuration.

      + */ + AllowedPublishers?: AllowedPublishers; + + /** + *

      The code signing policy.

      + */ + CodeSigningPolicies?: CodeSigningPolicies; +} + +export namespace UpdateCodeSigningConfigRequest { + export const filterSensitiveLog = (obj: UpdateCodeSigningConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateCodeSigningConfigResponse { + /** + *

      The code signing configuration

      + */ + CodeSigningConfig: CodeSigningConfig | undefined; +} + +export namespace UpdateCodeSigningConfigResponse { + export const filterSensitiveLog = (obj: UpdateCodeSigningConfigResponse): any => ({ + ...obj, + }); +} + export interface UpdateEventSourceMappingRequest { /** *

      The identifier of the event source mapping.

      diff --git a/clients/client-lambda/pagination/ListCodeSigningConfigsPaginator.ts b/clients/client-lambda/pagination/ListCodeSigningConfigsPaginator.ts new file mode 100644 index 0000000000000..92575782691f7 --- /dev/null +++ b/clients/client-lambda/pagination/ListCodeSigningConfigsPaginator.ts @@ -0,0 +1,57 @@ +import { Lambda } from "../Lambda"; +import { LambdaClient } from "../LambdaClient"; +import { + ListCodeSigningConfigsCommand, + ListCodeSigningConfigsCommandInput, + ListCodeSigningConfigsCommandOutput, +} from "../commands/ListCodeSigningConfigsCommand"; +import { LambdaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: LambdaClient, + input: ListCodeSigningConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListCodeSigningConfigsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Lambda, + input: ListCodeSigningConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listCodeSigningConfigs(input, ...args); +}; +export async function* paginateListCodeSigningConfigs( + config: LambdaPaginationConfiguration, + input: ListCodeSigningConfigsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListCodeSigningConfigsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxItems"] = config.pageSize; + if (config.client instanceof Lambda) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof LambdaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Lambda | LambdaClient"); + } + yield page; + token = page.NextMarker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-lambda/pagination/ListFunctionsByCodeSigningConfigPaginator.ts b/clients/client-lambda/pagination/ListFunctionsByCodeSigningConfigPaginator.ts new file mode 100644 index 0000000000000..afb2788932e25 --- /dev/null +++ b/clients/client-lambda/pagination/ListFunctionsByCodeSigningConfigPaginator.ts @@ -0,0 +1,57 @@ +import { Lambda } from "../Lambda"; +import { LambdaClient } from "../LambdaClient"; +import { + ListFunctionsByCodeSigningConfigCommand, + ListFunctionsByCodeSigningConfigCommandInput, + ListFunctionsByCodeSigningConfigCommandOutput, +} from "../commands/ListFunctionsByCodeSigningConfigCommand"; +import { LambdaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: LambdaClient, + input: ListFunctionsByCodeSigningConfigCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListFunctionsByCodeSigningConfigCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Lambda, + input: ListFunctionsByCodeSigningConfigCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listFunctionsByCodeSigningConfig(input, ...args); +}; +export async function* paginateListFunctionsByCodeSigningConfig( + config: LambdaPaginationConfiguration, + input: ListFunctionsByCodeSigningConfigCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListFunctionsByCodeSigningConfigCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxItems"] = config.pageSize; + if (config.client instanceof Lambda) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof LambdaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Lambda | LambdaClient"); + } + yield page; + token = page.NextMarker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-lambda/protocols/Aws_restJson1.ts b/clients/client-lambda/protocols/Aws_restJson1.ts index 39af0821f5076..1104e4588d7ae 100644 --- a/clients/client-lambda/protocols/Aws_restJson1.ts +++ b/clients/client-lambda/protocols/Aws_restJson1.ts @@ -4,16 +4,28 @@ import { } from "../commands/AddLayerVersionPermissionCommand"; import { AddPermissionCommandInput, AddPermissionCommandOutput } from "../commands/AddPermissionCommand"; import { CreateAliasCommandInput, CreateAliasCommandOutput } from "../commands/CreateAliasCommand"; +import { + CreateCodeSigningConfigCommandInput, + CreateCodeSigningConfigCommandOutput, +} from "../commands/CreateCodeSigningConfigCommand"; import { CreateEventSourceMappingCommandInput, CreateEventSourceMappingCommandOutput, } from "../commands/CreateEventSourceMappingCommand"; import { CreateFunctionCommandInput, CreateFunctionCommandOutput } from "../commands/CreateFunctionCommand"; import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "../commands/DeleteAliasCommand"; +import { + DeleteCodeSigningConfigCommandInput, + DeleteCodeSigningConfigCommandOutput, +} from "../commands/DeleteCodeSigningConfigCommand"; import { DeleteEventSourceMappingCommandInput, DeleteEventSourceMappingCommandOutput, } from "../commands/DeleteEventSourceMappingCommand"; +import { + DeleteFunctionCodeSigningConfigCommandInput, + DeleteFunctionCodeSigningConfigCommandOutput, +} from "../commands/DeleteFunctionCodeSigningConfigCommand"; import { DeleteFunctionCommandInput, DeleteFunctionCommandOutput } from "../commands/DeleteFunctionCommand"; import { DeleteFunctionConcurrencyCommandInput, @@ -30,10 +42,18 @@ import { } from "../commands/DeleteProvisionedConcurrencyConfigCommand"; import { GetAccountSettingsCommandInput, GetAccountSettingsCommandOutput } from "../commands/GetAccountSettingsCommand"; import { GetAliasCommandInput, GetAliasCommandOutput } from "../commands/GetAliasCommand"; +import { + GetCodeSigningConfigCommandInput, + GetCodeSigningConfigCommandOutput, +} from "../commands/GetCodeSigningConfigCommand"; import { GetEventSourceMappingCommandInput, GetEventSourceMappingCommandOutput, } from "../commands/GetEventSourceMappingCommand"; +import { + GetFunctionCodeSigningConfigCommandInput, + GetFunctionCodeSigningConfigCommandOutput, +} from "../commands/GetFunctionCodeSigningConfigCommand"; import { GetFunctionCommandInput, GetFunctionCommandOutput } from "../commands/GetFunctionCommand"; import { GetFunctionConcurrencyCommandInput, @@ -64,6 +84,10 @@ import { import { InvokeAsyncCommandInput, InvokeAsyncCommandOutput } from "../commands/InvokeAsyncCommand"; import { InvokeCommandInput, InvokeCommandOutput } from "../commands/InvokeCommand"; import { ListAliasesCommandInput, ListAliasesCommandOutput } from "../commands/ListAliasesCommand"; +import { + ListCodeSigningConfigsCommandInput, + ListCodeSigningConfigsCommandOutput, +} from "../commands/ListCodeSigningConfigsCommand"; import { ListEventSourceMappingsCommandInput, ListEventSourceMappingsCommandOutput, @@ -72,6 +96,10 @@ import { ListFunctionEventInvokeConfigsCommandInput, ListFunctionEventInvokeConfigsCommandOutput, } from "../commands/ListFunctionEventInvokeConfigsCommand"; +import { + ListFunctionsByCodeSigningConfigCommandInput, + ListFunctionsByCodeSigningConfigCommandOutput, +} from "../commands/ListFunctionsByCodeSigningConfigCommand"; import { ListFunctionsCommandInput, ListFunctionsCommandOutput } from "../commands/ListFunctionsCommand"; import { ListLayerVersionsCommandInput, ListLayerVersionsCommandOutput } from "../commands/ListLayerVersionsCommand"; import { ListLayersCommandInput, ListLayersCommandOutput } from "../commands/ListLayersCommand"; @@ -89,6 +117,10 @@ import { PublishLayerVersionCommandOutput, } from "../commands/PublishLayerVersionCommand"; import { PublishVersionCommandInput, PublishVersionCommandOutput } from "../commands/PublishVersionCommand"; +import { + PutFunctionCodeSigningConfigCommandInput, + PutFunctionCodeSigningConfigCommandOutput, +} from "../commands/PutFunctionCodeSigningConfigCommand"; import { PutFunctionConcurrencyCommandInput, PutFunctionConcurrencyCommandOutput, @@ -109,6 +141,10 @@ import { RemovePermissionCommandInput, RemovePermissionCommandOutput } from "../ import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateAliasCommandInput, UpdateAliasCommandOutput } from "../commands/UpdateAliasCommand"; +import { + UpdateCodeSigningConfigCommandInput, + UpdateCodeSigningConfigCommandOutput, +} from "../commands/UpdateCodeSigningConfigCommand"; import { UpdateEventSourceMappingCommandInput, UpdateEventSourceMappingCommandOutput, @@ -127,7 +163,12 @@ import { AccountUsage, AliasConfiguration, AliasRoutingConfiguration, + AllowedPublishers, + CodeSigningConfig, + CodeSigningConfigNotFoundException, + CodeSigningPolicies, CodeStorageExceededException, + CodeVerificationFailedException, Concurrency, DeadLetterConfig, DestinationConfig, @@ -148,6 +189,7 @@ import { FunctionCodeLocation, FunctionConfiguration, FunctionEventInvokeConfig, + InvalidCodeSignatureException, InvalidParameterValueException, InvalidRequestContentException, InvalidRuntimeException, @@ -327,6 +369,36 @@ export const serializeAws_restJson1CreateAliasCommand = async ( }); }; +export const serializeAws_restJson1CreateCodeSigningConfigCommand = async ( + input: CreateCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/2020-04-22/code-signing-configs"; + let body: any; + body = JSON.stringify({ + ...(input.AllowedPublishers !== undefined && { + AllowedPublishers: serializeAws_restJson1AllowedPublishers(input.AllowedPublishers, context), + }), + ...(input.CodeSigningPolicies !== undefined && { + CodeSigningPolicies: serializeAws_restJson1CodeSigningPolicies(input.CodeSigningPolicies, context), + }), + ...(input.Description !== undefined && { Description: input.Description }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateEventSourceMappingCommand = async ( input: CreateEventSourceMappingCommandInput, context: __SerdeContext @@ -391,6 +463,7 @@ export const serializeAws_restJson1CreateFunctionCommand = async ( let body: any; body = JSON.stringify({ ...(input.Code !== undefined && { Code: serializeAws_restJson1FunctionCode(input.Code, context) }), + ...(input.CodeSigningConfigArn !== undefined && { CodeSigningConfigArn: input.CodeSigningConfigArn }), ...(input.DeadLetterConfig !== undefined && { DeadLetterConfig: serializeAws_restJson1DeadLetterConfig(input.DeadLetterConfig, context), }), @@ -467,6 +540,36 @@ export const serializeAws_restJson1DeleteAliasCommand = async ( }); }; +export const serializeAws_restJson1DeleteCodeSigningConfigCommand = async ( + input: DeleteCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}"; + if (input.CodeSigningConfigArn !== undefined) { + const labelValue: string = input.CodeSigningConfigArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CodeSigningConfigArn."); + } + resolvedPath = resolvedPath.replace("{CodeSigningConfigArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CodeSigningConfigArn."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteEventSourceMappingCommand = async ( input: DeleteEventSourceMappingCommandInput, context: __SerdeContext @@ -531,6 +634,36 @@ export const serializeAws_restJson1DeleteFunctionCommand = async ( }); }; +export const serializeAws_restJson1DeleteFunctionCodeSigningConfigCommand = async ( + input: DeleteFunctionCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-06-30/functions/{FunctionName}/code-signing-config"; + if (input.FunctionName !== undefined) { + const labelValue: string = input.FunctionName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: FunctionName."); + } + resolvedPath = resolvedPath.replace("{FunctionName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: FunctionName."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteFunctionConcurrencyCommand = async ( input: DeleteFunctionConcurrencyCommandInput, context: __SerdeContext @@ -729,6 +862,36 @@ export const serializeAws_restJson1GetAliasCommand = async ( }); }; +export const serializeAws_restJson1GetCodeSigningConfigCommand = async ( + input: GetCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}"; + if (input.CodeSigningConfigArn !== undefined) { + const labelValue: string = input.CodeSigningConfigArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CodeSigningConfigArn."); + } + resolvedPath = resolvedPath.replace("{CodeSigningConfigArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CodeSigningConfigArn."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1GetEventSourceMappingCommand = async ( input: GetEventSourceMappingCommandInput, context: __SerdeContext @@ -793,6 +956,36 @@ export const serializeAws_restJson1GetFunctionCommand = async ( }); }; +export const serializeAws_restJson1GetFunctionCodeSigningConfigCommand = async ( + input: GetFunctionCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-06-30/functions/{FunctionName}/code-signing-config"; + if (input.FunctionName !== undefined) { + const labelValue: string = input.FunctionName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: FunctionName."); + } + resolvedPath = resolvedPath.replace("{FunctionName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: FunctionName."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1GetFunctionConcurrencyCommand = async ( input: GetFunctionConcurrencyCommandInput, context: __SerdeContext @@ -1172,6 +1365,32 @@ export const serializeAws_restJson1ListAliasesCommand = async ( }); }; +export const serializeAws_restJson1ListCodeSigningConfigsCommand = async ( + input: ListCodeSigningConfigsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-04-22/code-signing-configs"; + const query: any = { + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1ListEventSourceMappingsCommand = async ( input: ListEventSourceMappingsCommandInput, context: __SerdeContext @@ -1263,6 +1482,41 @@ export const serializeAws_restJson1ListFunctionsCommand = async ( }); }; +export const serializeAws_restJson1ListFunctionsByCodeSigningConfigCommand = async ( + input: ListFunctionsByCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}/functions"; + if (input.CodeSigningConfigArn !== undefined) { + const labelValue: string = input.CodeSigningConfigArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CodeSigningConfigArn."); + } + resolvedPath = resolvedPath.replace("{CodeSigningConfigArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CodeSigningConfigArn."); + } + const query: any = { + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1ListLayersCommand = async ( input: ListLayersCommandInput, context: __SerdeContext @@ -1502,6 +1756,39 @@ export const serializeAws_restJson1PublishVersionCommand = async ( }); }; +export const serializeAws_restJson1PutFunctionCodeSigningConfigCommand = async ( + input: PutFunctionCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/2020-06-30/functions/{FunctionName}/code-signing-config"; + if (input.FunctionName !== undefined) { + const labelValue: string = input.FunctionName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: FunctionName."); + } + resolvedPath = resolvedPath.replace("{FunctionName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: FunctionName."); + } + let body: any; + body = JSON.stringify({ + ...(input.CodeSigningConfigArn !== undefined && { CodeSigningConfigArn: input.CodeSigningConfigArn }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1PutFunctionConcurrencyCommand = async ( input: PutFunctionConcurrencyCommandInput, context: __SerdeContext @@ -1827,6 +2114,45 @@ export const serializeAws_restJson1UpdateAliasCommand = async ( }); }; +export const serializeAws_restJson1UpdateCodeSigningConfigCommand = async ( + input: UpdateCodeSigningConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}"; + if (input.CodeSigningConfigArn !== undefined) { + const labelValue: string = input.CodeSigningConfigArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CodeSigningConfigArn."); + } + resolvedPath = resolvedPath.replace("{CodeSigningConfigArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CodeSigningConfigArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.AllowedPublishers !== undefined && { + AllowedPublishers: serializeAws_restJson1AllowedPublishers(input.AllowedPublishers, context), + }), + ...(input.CodeSigningPolicies !== undefined && { + CodeSigningPolicies: serializeAws_restJson1CodeSigningPolicies(input.CodeSigningPolicies, context), + }), + ...(input.Description !== undefined && { Description: input.Description }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1UpdateEventSourceMappingCommand = async ( input: UpdateEventSourceMappingCommandInput, context: __SerdeContext @@ -2333,29 +2659,92 @@ const deserializeAws_restJson1CreateAliasCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( +export const deserializeAws_restJson1CreateCodeSigningConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 202 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateEventSourceMappingCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateCodeSigningConfigCommandError(output, context); } - const contents: CreateEventSourceMappingCommandOutput = { + const contents: CreateCodeSigningConfigCommandOutput = { $metadata: deserializeMetadata(output), - BatchSize: undefined, - BisectBatchOnFunctionError: undefined, - DestinationConfig: undefined, - EventSourceArn: undefined, - FunctionArn: undefined, - LastModified: undefined, - LastProcessingResult: undefined, - MaximumBatchingWindowInSeconds: undefined, - MaximumRecordAgeInSeconds: undefined, - MaximumRetryAttempts: undefined, - ParallelizationFactor: undefined, - Queues: undefined, - SourceAccessConfigurations: undefined, - StartingPosition: undefined, + CodeSigningConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CodeSigningConfig !== undefined && data.CodeSigningConfig !== null) { + contents.CodeSigningConfig = deserializeAws_restJson1CodeSigningConfig(data.CodeSigningConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateCodeSigningConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateEventSourceMappingCommandError(output, context); + } + const contents: CreateEventSourceMappingCommandOutput = { + $metadata: deserializeMetadata(output), + BatchSize: undefined, + BisectBatchOnFunctionError: undefined, + DestinationConfig: undefined, + EventSourceArn: undefined, + FunctionArn: undefined, + LastModified: undefined, + LastProcessingResult: undefined, + MaximumBatchingWindowInSeconds: undefined, + MaximumRecordAgeInSeconds: undefined, + MaximumRetryAttempts: undefined, + ParallelizationFactor: undefined, + Queues: undefined, + SourceAccessConfigurations: undefined, + StartingPosition: undefined, StartingPositionTimestamp: undefined, State: undefined, StateTransitionReason: undefined, @@ -2524,6 +2913,8 @@ export const deserializeAws_restJson1CreateFunctionCommand = async ( RevisionId: undefined, Role: undefined, Runtime: undefined, + SigningJobArn: undefined, + SigningProfileVersionArn: undefined, State: undefined, StateReason: undefined, StateReasonCode: undefined, @@ -2593,6 +2984,12 @@ export const deserializeAws_restJson1CreateFunctionCommand = async ( if (data.Runtime !== undefined && data.Runtime !== null) { contents.Runtime = data.Runtime; } + if (data.SigningJobArn !== undefined && data.SigningJobArn !== null) { + contents.SigningJobArn = data.SigningJobArn; + } + if (data.SigningProfileVersionArn !== undefined && data.SigningProfileVersionArn !== null) { + contents.SigningProfileVersionArn = data.SigningProfileVersionArn; + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -2629,6 +3026,14 @@ const deserializeAws_restJson1CreateFunctionCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "CodeSigningConfigNotFoundException": + case "com.amazonaws.lambda#CodeSigningConfigNotFoundException": + response = { + ...(await deserializeAws_restJson1CodeSigningConfigNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "CodeStorageExceededException": case "com.amazonaws.lambda#CodeStorageExceededException": response = { @@ -2637,6 +3042,22 @@ const deserializeAws_restJson1CreateFunctionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "CodeVerificationFailedException": + case "com.amazonaws.lambda#CodeVerificationFailedException": + response = { + ...(await deserializeAws_restJson1CodeVerificationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidCodeSignatureException": + case "com.amazonaws.lambda#InvalidCodeSignatureException": + response = { + ...(await deserializeAws_restJson1InvalidCodeSignatureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterValueException": case "com.amazonaws.lambda#InvalidParameterValueException": response = { @@ -2769,6 +3190,81 @@ const deserializeAws_restJson1DeleteAliasCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeleteCodeSigningConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteCodeSigningConfigCommandError(output, context); + } + const contents: DeleteCodeSigningConfigCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteCodeSigningConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.lambda#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DeleteEventSourceMappingCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3014,6 +3510,97 @@ const deserializeAws_restJson1DeleteFunctionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeleteFunctionCodeSigningConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteFunctionCodeSigningConfigCommandError(output, context); + } + const contents: DeleteFunctionCodeSigningConfigCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteFunctionCodeSigningConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "CodeSigningConfigNotFoundException": + case "com.amazonaws.lambda#CodeSigningConfigNotFoundException": + response = { + ...(await deserializeAws_restJson1CodeSigningConfigNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.lambda#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.lambda#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DeleteFunctionConcurrencyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3480,6 +4067,77 @@ const deserializeAws_restJson1GetAliasCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1GetCodeSigningConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetCodeSigningConfigCommandError(output, context); + } + const contents: GetCodeSigningConfigCommandOutput = { + $metadata: deserializeMetadata(output), + CodeSigningConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CodeSigningConfig !== undefined && data.CodeSigningConfig !== null) { + contents.CodeSigningConfig = deserializeAws_restJson1CodeSigningConfig(data.CodeSigningConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetCodeSigningConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3555,28 +4213,119 @@ export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( if (data.StartingPosition !== undefined && data.StartingPosition !== null) { contents.StartingPosition = data.StartingPosition; } - if (data.StartingPositionTimestamp !== undefined && data.StartingPositionTimestamp !== null) { - contents.StartingPositionTimestamp = new Date(Math.round(data.StartingPositionTimestamp * 1000)); + if (data.StartingPositionTimestamp !== undefined && data.StartingPositionTimestamp !== null) { + contents.StartingPositionTimestamp = new Date(Math.round(data.StartingPositionTimestamp * 1000)); + } + if (data.State !== undefined && data.State !== null) { + contents.State = data.State; + } + if (data.StateTransitionReason !== undefined && data.StateTransitionReason !== null) { + contents.StateTransitionReason = data.StateTransitionReason; + } + if (data.Topics !== undefined && data.Topics !== null) { + contents.Topics = deserializeAws_restJson1Topics(data.Topics, context); + } + if (data.UUID !== undefined && data.UUID !== null) { + contents.UUID = data.UUID; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetEventSourceMappingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.lambda#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1GetFunctionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetFunctionCommandError(output, context); } - if (data.State !== undefined && data.State !== null) { - contents.State = data.State; + const contents: GetFunctionCommandOutput = { + $metadata: deserializeMetadata(output), + Code: undefined, + Concurrency: undefined, + Configuration: undefined, + Tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Code !== undefined && data.Code !== null) { + contents.Code = deserializeAws_restJson1FunctionCodeLocation(data.Code, context); } - if (data.StateTransitionReason !== undefined && data.StateTransitionReason !== null) { - contents.StateTransitionReason = data.StateTransitionReason; + if (data.Concurrency !== undefined && data.Concurrency !== null) { + contents.Concurrency = deserializeAws_restJson1Concurrency(data.Concurrency, context); } - if (data.Topics !== undefined && data.Topics !== null) { - contents.Topics = deserializeAws_restJson1Topics(data.Topics, context); + if (data.Configuration !== undefined && data.Configuration !== null) { + contents.Configuration = deserializeAws_restJson1FunctionConfiguration(data.Configuration, context); } - if (data.UUID !== undefined && data.UUID !== null) { - contents.UUID = data.UUID; + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1Tags(data.Tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetEventSourceMappingCommandError = async ( +const deserializeAws_restJson1GetFunctionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3634,40 +4383,32 @@ const deserializeAws_restJson1GetEventSourceMappingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetFunctionCommand = async ( +export const deserializeAws_restJson1GetFunctionCodeSigningConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetFunctionCommandError(output, context); + return deserializeAws_restJson1GetFunctionCodeSigningConfigCommandError(output, context); } - const contents: GetFunctionCommandOutput = { + const contents: GetFunctionCodeSigningConfigCommandOutput = { $metadata: deserializeMetadata(output), - Code: undefined, - Concurrency: undefined, - Configuration: undefined, - Tags: undefined, + CodeSigningConfigArn: undefined, + FunctionName: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Code !== undefined && data.Code !== null) { - contents.Code = deserializeAws_restJson1FunctionCodeLocation(data.Code, context); - } - if (data.Concurrency !== undefined && data.Concurrency !== null) { - contents.Concurrency = deserializeAws_restJson1Concurrency(data.Concurrency, context); - } - if (data.Configuration !== undefined && data.Configuration !== null) { - contents.Configuration = deserializeAws_restJson1FunctionConfiguration(data.Configuration, context); + if (data.CodeSigningConfigArn !== undefined && data.CodeSigningConfigArn !== null) { + contents.CodeSigningConfigArn = data.CodeSigningConfigArn; } - if (data.Tags !== undefined && data.Tags !== null) { - contents.Tags = deserializeAws_restJson1Tags(data.Tags, context); + if (data.FunctionName !== undefined && data.FunctionName !== null) { + contents.FunctionName = data.FunctionName; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetFunctionCommandError = async ( +const deserializeAws_restJson1GetFunctionCodeSigningConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3833,6 +4574,8 @@ export const deserializeAws_restJson1GetFunctionConfigurationCommand = async ( RevisionId: undefined, Role: undefined, Runtime: undefined, + SigningJobArn: undefined, + SigningProfileVersionArn: undefined, State: undefined, StateReason: undefined, StateReasonCode: undefined, @@ -3902,6 +4645,12 @@ export const deserializeAws_restJson1GetFunctionConfigurationCommand = async ( if (data.Runtime !== undefined && data.Runtime !== null) { contents.Runtime = data.Runtime; } + if (data.SigningJobArn !== undefined && data.SigningJobArn !== null) { + contents.SigningJobArn = data.SigningJobArn; + } + if (data.SigningProfileVersionArn !== undefined && data.SigningProfileVersionArn !== null) { + contents.SigningProfileVersionArn = data.SigningProfileVersionArn; + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -5011,6 +5760,73 @@ const deserializeAws_restJson1ListAliasesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListCodeSigningConfigsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListCodeSigningConfigsCommandError(output, context); + } + const contents: ListCodeSigningConfigsCommandOutput = { + $metadata: deserializeMetadata(output), + CodeSigningConfigs: undefined, + NextMarker: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CodeSigningConfigs !== undefined && data.CodeSigningConfigs !== null) { + contents.CodeSigningConfigs = deserializeAws_restJson1CodeSigningConfigList(data.CodeSigningConfigs, context); + } + if (data.NextMarker !== undefined && data.NextMarker !== null) { + contents.NextMarker = data.NextMarker; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListCodeSigningConfigsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1ListEventSourceMappingsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5255,6 +6071,81 @@ const deserializeAws_restJson1ListFunctionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListFunctionsByCodeSigningConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListFunctionsByCodeSigningConfigCommandError(output, context); + } + const contents: ListFunctionsByCodeSigningConfigCommandOutput = { + $metadata: deserializeMetadata(output), + FunctionArns: undefined, + NextMarker: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.FunctionArns !== undefined && data.FunctionArns !== null) { + contents.FunctionArns = deserializeAws_restJson1FunctionArnList(data.FunctionArns, context); + } + if (data.NextMarker !== undefined && data.NextMarker !== null) { + contents.NextMarker = data.NextMarker; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListFunctionsByCodeSigningConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1ListLayersCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5805,6 +6696,8 @@ export const deserializeAws_restJson1PublishVersionCommand = async ( RevisionId: undefined, Role: undefined, Runtime: undefined, + SigningJobArn: undefined, + SigningProfileVersionArn: undefined, State: undefined, StateReason: undefined, StateReasonCode: undefined, @@ -5874,6 +6767,12 @@ export const deserializeAws_restJson1PublishVersionCommand = async ( if (data.Runtime !== undefined && data.Runtime !== null) { contents.Runtime = data.Runtime; } + if (data.SigningJobArn !== undefined && data.SigningJobArn !== null) { + contents.SigningJobArn = data.SigningJobArn; + } + if (data.SigningProfileVersionArn !== undefined && data.SigningProfileVersionArn !== null) { + contents.SigningProfileVersionArn = data.SigningProfileVersionArn; + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -5886,22 +6785,129 @@ export const deserializeAws_restJson1PublishVersionCommand = async ( if (data.Timeout !== undefined && data.Timeout !== null) { contents.Timeout = data.Timeout; } - if (data.TracingConfig !== undefined && data.TracingConfig !== null) { - contents.TracingConfig = deserializeAws_restJson1TracingConfigResponse(data.TracingConfig, context); + if (data.TracingConfig !== undefined && data.TracingConfig !== null) { + contents.TracingConfig = deserializeAws_restJson1TracingConfigResponse(data.TracingConfig, context); + } + if (data.Version !== undefined && data.Version !== null) { + contents.Version = data.Version; + } + if (data.VpcConfig !== undefined && data.VpcConfig !== null) { + contents.VpcConfig = deserializeAws_restJson1VpcConfigResponse(data.VpcConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PublishVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "CodeStorageExceededException": + case "com.amazonaws.lambda#CodeStorageExceededException": + response = { + ...(await deserializeAws_restJson1CodeStorageExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "PreconditionFailedException": + case "com.amazonaws.lambda#PreconditionFailedException": + response = { + ...(await deserializeAws_restJson1PreconditionFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.lambda#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.lambda#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1PutFunctionCodeSigningConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutFunctionCodeSigningConfigCommandError(output, context); } - if (data.Version !== undefined && data.Version !== null) { - contents.Version = data.Version; + const contents: PutFunctionCodeSigningConfigCommandOutput = { + $metadata: deserializeMetadata(output), + CodeSigningConfigArn: undefined, + FunctionName: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CodeSigningConfigArn !== undefined && data.CodeSigningConfigArn !== null) { + contents.CodeSigningConfigArn = data.CodeSigningConfigArn; } - if (data.VpcConfig !== undefined && data.VpcConfig !== null) { - contents.VpcConfig = deserializeAws_restJson1VpcConfigResponse(data.VpcConfig, context); + if (data.FunctionName !== undefined && data.FunctionName !== null) { + contents.FunctionName = data.FunctionName; } return Promise.resolve(contents); }; -const deserializeAws_restJson1PublishVersionCommandError = async ( +const deserializeAws_restJson1PutFunctionCodeSigningConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5910,10 +6916,10 @@ const deserializeAws_restJson1PublishVersionCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "CodeStorageExceededException": - case "com.amazonaws.lambda#CodeStorageExceededException": + case "CodeSigningConfigNotFoundException": + case "com.amazonaws.lambda#CodeSigningConfigNotFoundException": response = { - ...(await deserializeAws_restJson1CodeStorageExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1CodeSigningConfigNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -5926,14 +6932,6 @@ const deserializeAws_restJson1PublishVersionCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "PreconditionFailedException": - case "com.amazonaws.lambda#PreconditionFailedException": - response = { - ...(await deserializeAws_restJson1PreconditionFailedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceConflictException": case "com.amazonaws.lambda#ResourceConflictException": response = { @@ -6728,6 +7726,77 @@ const deserializeAws_restJson1UpdateAliasCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateCodeSigningConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateCodeSigningConfigCommandError(output, context); + } + const contents: UpdateCodeSigningConfigCommandOutput = { + $metadata: deserializeMetadata(output), + CodeSigningConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CodeSigningConfig !== undefined && data.CodeSigningConfig !== null) { + contents.CodeSigningConfig = deserializeAws_restJson1CodeSigningConfig(data.CodeSigningConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateCodeSigningConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.lambda#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lambda#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.lambda#ServiceException": + response = { + ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1UpdateEventSourceMappingCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6927,6 +7996,8 @@ export const deserializeAws_restJson1UpdateFunctionCodeCommand = async ( RevisionId: undefined, Role: undefined, Runtime: undefined, + SigningJobArn: undefined, + SigningProfileVersionArn: undefined, State: undefined, StateReason: undefined, StateReasonCode: undefined, @@ -6996,6 +8067,12 @@ export const deserializeAws_restJson1UpdateFunctionCodeCommand = async ( if (data.Runtime !== undefined && data.Runtime !== null) { contents.Runtime = data.Runtime; } + if (data.SigningJobArn !== undefined && data.SigningJobArn !== null) { + contents.SigningJobArn = data.SigningJobArn; + } + if (data.SigningProfileVersionArn !== undefined && data.SigningProfileVersionArn !== null) { + contents.SigningProfileVersionArn = data.SigningProfileVersionArn; + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -7032,6 +8109,14 @@ const deserializeAws_restJson1UpdateFunctionCodeCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "CodeSigningConfigNotFoundException": + case "com.amazonaws.lambda#CodeSigningConfigNotFoundException": + response = { + ...(await deserializeAws_restJson1CodeSigningConfigNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "CodeStorageExceededException": case "com.amazonaws.lambda#CodeStorageExceededException": response = { @@ -7040,6 +8125,22 @@ const deserializeAws_restJson1UpdateFunctionCodeCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "CodeVerificationFailedException": + case "com.amazonaws.lambda#CodeVerificationFailedException": + response = { + ...(await deserializeAws_restJson1CodeVerificationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidCodeSignatureException": + case "com.amazonaws.lambda#InvalidCodeSignatureException": + response = { + ...(await deserializeAws_restJson1InvalidCodeSignatureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterValueException": case "com.amazonaws.lambda#InvalidParameterValueException": response = { @@ -7134,6 +8235,8 @@ export const deserializeAws_restJson1UpdateFunctionConfigurationCommand = async RevisionId: undefined, Role: undefined, Runtime: undefined, + SigningJobArn: undefined, + SigningProfileVersionArn: undefined, State: undefined, StateReason: undefined, StateReasonCode: undefined, @@ -7203,6 +8306,12 @@ export const deserializeAws_restJson1UpdateFunctionConfigurationCommand = async if (data.Runtime !== undefined && data.Runtime !== null) { contents.Runtime = data.Runtime; } + if (data.SigningJobArn !== undefined && data.SigningJobArn !== null) { + contents.SigningJobArn = data.SigningJobArn; + } + if (data.SigningProfileVersionArn !== undefined && data.SigningProfileVersionArn !== null) { + contents.SigningProfileVersionArn = data.SigningProfileVersionArn; + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -7239,6 +8348,30 @@ const deserializeAws_restJson1UpdateFunctionConfigurationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "CodeSigningConfigNotFoundException": + case "com.amazonaws.lambda#CodeSigningConfigNotFoundException": + response = { + ...(await deserializeAws_restJson1CodeSigningConfigNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CodeVerificationFailedException": + case "com.amazonaws.lambda#CodeVerificationFailedException": + response = { + ...(await deserializeAws_restJson1CodeVerificationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidCodeSignatureException": + case "com.amazonaws.lambda#InvalidCodeSignatureException": + response = { + ...(await deserializeAws_restJson1InvalidCodeSignatureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterValueException": case "com.amazonaws.lambda#InvalidParameterValueException": response = { @@ -7399,6 +8532,27 @@ const deserializeAws_restJson1UpdateFunctionEventInvokeConfigCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_restJson1CodeSigningConfigNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: CodeSigningConfigNotFoundException = { + name: "CodeSigningConfigNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + Type: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.Type !== undefined && data.Type !== null) { + contents.Type = data.Type; + } + return contents; +}; + const deserializeAws_restJson1CodeStorageExceededExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -7420,6 +8574,27 @@ const deserializeAws_restJson1CodeStorageExceededExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1CodeVerificationFailedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: CodeVerificationFailedException = { + name: "CodeVerificationFailedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + Type: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.Type !== undefined && data.Type !== null) { + contents.Type = data.Type; + } + return contents; +}; + const deserializeAws_restJson1EC2AccessDeniedExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -7592,6 +8767,27 @@ const deserializeAws_restJson1ENILimitReachedExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1InvalidCodeSignatureExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InvalidCodeSignatureException = { + name: "InvalidCodeSignatureException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + Type: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.Type !== undefined && data.Type !== null) { + contents.Type = data.Type; + } + return contents; +}; + const deserializeAws_restJson1InvalidParameterValueExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -8086,6 +9282,25 @@ const serializeAws_restJson1AliasRoutingConfiguration = ( }; }; +const serializeAws_restJson1AllowedPublishers = (input: AllowedPublishers, context: __SerdeContext): any => { + return { + ...(input.SigningProfileVersionArns !== undefined && { + SigningProfileVersionArns: serializeAws_restJson1SigningProfileVersionArns( + input.SigningProfileVersionArns, + context + ), + }), + }; +}; + +const serializeAws_restJson1CodeSigningPolicies = (input: CodeSigningPolicies, context: __SerdeContext): any => { + return { + ...(input.UntrustedArtifactOnDeployment !== undefined && { + UntrustedArtifactOnDeployment: input.UntrustedArtifactOnDeployment, + }), + }; +}; + const serializeAws_restJson1CompatibleRuntimes = (input: (Runtime | string)[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -8177,6 +9392,10 @@ const serializeAws_restJson1SecurityGroupIds = (input: string[], context: __Serd return input.map((entry) => entry); }; +const serializeAws_restJson1SigningProfileVersionArns = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_restJson1SourceAccessConfiguration = ( input: SourceAccessConfiguration, context: __SerdeContext @@ -8299,6 +9518,51 @@ const deserializeAws_restJson1AliasRoutingConfiguration = ( } as any; }; +const deserializeAws_restJson1AllowedPublishers = (output: any, context: __SerdeContext): AllowedPublishers => { + return { + SigningProfileVersionArns: + output.SigningProfileVersionArns !== undefined && output.SigningProfileVersionArns !== null + ? deserializeAws_restJson1SigningProfileVersionArns(output.SigningProfileVersionArns, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1CodeSigningConfig = (output: any, context: __SerdeContext): CodeSigningConfig => { + return { + AllowedPublishers: + output.AllowedPublishers !== undefined && output.AllowedPublishers !== null + ? deserializeAws_restJson1AllowedPublishers(output.AllowedPublishers, context) + : undefined, + CodeSigningConfigArn: + output.CodeSigningConfigArn !== undefined && output.CodeSigningConfigArn !== null + ? output.CodeSigningConfigArn + : undefined, + CodeSigningConfigId: + output.CodeSigningConfigId !== undefined && output.CodeSigningConfigId !== null + ? output.CodeSigningConfigId + : undefined, + CodeSigningPolicies: + output.CodeSigningPolicies !== undefined && output.CodeSigningPolicies !== null + ? deserializeAws_restJson1CodeSigningPolicies(output.CodeSigningPolicies, context) + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + LastModified: output.LastModified !== undefined && output.LastModified !== null ? output.LastModified : undefined, + } as any; +}; + +const deserializeAws_restJson1CodeSigningConfigList = (output: any, context: __SerdeContext): CodeSigningConfig[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1CodeSigningConfig(entry, context)); +}; + +const deserializeAws_restJson1CodeSigningPolicies = (output: any, context: __SerdeContext): CodeSigningPolicies => { + return { + UntrustedArtifactOnDeployment: + output.UntrustedArtifactOnDeployment !== undefined && output.UntrustedArtifactOnDeployment !== null + ? output.UntrustedArtifactOnDeployment + : undefined, + } as any; +}; + const deserializeAws_restJson1CompatibleRuntimes = (output: any, context: __SerdeContext): (Runtime | string)[] => { return (output || []).map((entry: any) => entry); }; @@ -8451,6 +9715,10 @@ const deserializeAws_restJson1FileSystemConfigList = (output: any, context: __Se return (output || []).map((entry: any) => deserializeAws_restJson1FileSystemConfig(entry, context)); }; +const deserializeAws_restJson1FunctionArnList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restJson1FunctionCodeLocation = (output: any, context: __SerdeContext): FunctionCodeLocation => { return { Location: output.Location !== undefined && output.Location !== null ? output.Location : undefined, @@ -8500,6 +9768,12 @@ const deserializeAws_restJson1FunctionConfiguration = (output: any, context: __S RevisionId: output.RevisionId !== undefined && output.RevisionId !== null ? output.RevisionId : undefined, Role: output.Role !== undefined && output.Role !== null ? output.Role : undefined, Runtime: output.Runtime !== undefined && output.Runtime !== null ? output.Runtime : undefined, + SigningJobArn: + output.SigningJobArn !== undefined && output.SigningJobArn !== null ? output.SigningJobArn : undefined, + SigningProfileVersionArn: + output.SigningProfileVersionArn !== undefined && output.SigningProfileVersionArn !== null + ? output.SigningProfileVersionArn + : undefined, State: output.State !== undefined && output.State !== null ? output.State : undefined, StateReason: output.StateReason !== undefined && output.StateReason !== null ? output.StateReason : undefined, StateReasonCode: @@ -8557,6 +9831,12 @@ const deserializeAws_restJson1Layer = (output: any, context: __SerdeContext): La return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, CodeSize: output.CodeSize !== undefined && output.CodeSize !== null ? output.CodeSize : undefined, + SigningJobArn: + output.SigningJobArn !== undefined && output.SigningJobArn !== null ? output.SigningJobArn : undefined, + SigningProfileVersionArn: + output.SigningProfileVersionArn !== undefined && output.SigningProfileVersionArn !== null + ? output.SigningProfileVersionArn + : undefined, } as any; }; @@ -8587,6 +9867,12 @@ const deserializeAws_restJson1LayerVersionContentOutput = ( CodeSha256: output.CodeSha256 !== undefined && output.CodeSha256 !== null ? output.CodeSha256 : undefined, CodeSize: output.CodeSize !== undefined && output.CodeSize !== null ? output.CodeSize : undefined, Location: output.Location !== undefined && output.Location !== null ? output.Location : undefined, + SigningJobArn: + output.SigningJobArn !== undefined && output.SigningJobArn !== null ? output.SigningJobArn : undefined, + SigningProfileVersionArn: + output.SigningProfileVersionArn !== undefined && output.SigningProfileVersionArn !== null + ? output.SigningProfileVersionArn + : undefined, } as any; }; @@ -8665,6 +9951,10 @@ const deserializeAws_restJson1SecurityGroupIds = (output: any, context: __SerdeC return (output || []).map((entry: any) => entry); }; +const deserializeAws_restJson1SigningProfileVersionArns = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restJson1SourceAccessConfiguration = ( output: any, context: __SerdeContext diff --git a/clients/client-lex-model-building-service/models/models_0.ts b/clients/client-lex-model-building-service/models/models_0.ts index aa53cd7d58a76..2a2e91939e2fc 100644 --- a/clients/client-lex-model-building-service/models/models_0.ts +++ b/clients/client-lex-model-building-service/models/models_0.ts @@ -177,6 +177,7 @@ export enum Locale { EN_AU = "en-AU", EN_GB = "en-GB", EN_US = "en-US", + ES_419 = "es-419", ES_ES = "es-ES", ES_US = "es-US", FR_CA = "fr-CA", diff --git a/clients/client-license-manager/LicenseManager.ts b/clients/client-license-manager/LicenseManager.ts index 0d10a521a7cf4..1ff5dd26ec67f 100644 --- a/clients/client-license-manager/LicenseManager.ts +++ b/clients/client-license-manager/LicenseManager.ts @@ -88,8 +88,9 @@ export class LicenseManager extends LicenseManagerClient { *

      A license configuration is an abstraction of a customer license agreement that can be * consumed and enforced by License Manager. Components include specifications for the license * type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, - * Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a - * license must be associated with a host), and the number of licenses purchased and used.

      + * Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a + * license must be associated with a host), and the number of licenses purchased and + * used.

      */ public createLicenseConfiguration( args: CreateLicenseConfigurationCommandInput, @@ -219,9 +220,9 @@ export class LicenseManager extends LicenseManagerClient { /** *

      Lists the resource associations for the specified license configuration.

      - *

      Resource associations need not consume licenses from a license configuration. - * For example, an AMI or a stopped instance might not consume a license (depending on - * the license rules).

      + *

      Resource associations need not consume licenses from a license configuration. For + * example, an AMI or a stopped instance might not consume a license (depending on the license + * rules).

      */ public listAssociationsForLicenseConfiguration( args: ListAssociationsForLicenseConfigurationCommandInput, @@ -541,10 +542,11 @@ export class LicenseManager extends LicenseManagerClient { } /** - *

      Adds or removes the specified license configurations for the specified AWS resource.

      - *

      You can update the license specifications of AMIs, instances, and hosts. - * You cannot update the license specifications for launch templates and AWS CloudFormation templates, - * as they send license configurations to the operation that creates the resource.

      + *

      Adds or removes the specified license configurations for the specified AWS + * resource.

      + *

      You can update the license specifications of AMIs, instances, and hosts. You cannot + * update the license specifications for launch templates and AWS CloudFormation templates, as + * they send license configurations to the operation that creates the resource.

      */ public updateLicenseSpecificationsForResource( args: UpdateLicenseSpecificationsForResourceCommandInput, diff --git a/clients/client-license-manager/commands/CreateLicenseConfigurationCommand.ts b/clients/client-license-manager/commands/CreateLicenseConfigurationCommand.ts index d2276b1d7193f..bdeaf37816323 100644 --- a/clients/client-license-manager/commands/CreateLicenseConfigurationCommand.ts +++ b/clients/client-license-manager/commands/CreateLicenseConfigurationCommand.ts @@ -25,8 +25,9 @@ export type CreateLicenseConfigurationCommandOutput = CreateLicenseConfiguration *

      A license configuration is an abstraction of a customer license agreement that can be * consumed and enforced by License Manager. Components include specifications for the license * type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, - * Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a - * license must be associated with a host), and the number of licenses purchased and used.

      + * Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a + * license must be associated with a host), and the number of licenses purchased and + * used.

      */ export class CreateLicenseConfigurationCommand extends $Command< CreateLicenseConfigurationCommandInput, diff --git a/clients/client-license-manager/commands/ListAssociationsForLicenseConfigurationCommand.ts b/clients/client-license-manager/commands/ListAssociationsForLicenseConfigurationCommand.ts index 3b36074f698ec..780a750a696ac 100644 --- a/clients/client-license-manager/commands/ListAssociationsForLicenseConfigurationCommand.ts +++ b/clients/client-license-manager/commands/ListAssociationsForLicenseConfigurationCommand.ts @@ -26,9 +26,9 @@ export type ListAssociationsForLicenseConfigurationCommandOutput = ListAssociati /** *

      Lists the resource associations for the specified license configuration.

      - *

      Resource associations need not consume licenses from a license configuration. - * For example, an AMI or a stopped instance might not consume a license (depending on - * the license rules).

      + *

      Resource associations need not consume licenses from a license configuration. For + * example, an AMI or a stopped instance might not consume a license (depending on the license + * rules).

      */ export class ListAssociationsForLicenseConfigurationCommand extends $Command< ListAssociationsForLicenseConfigurationCommandInput, diff --git a/clients/client-license-manager/commands/UpdateLicenseSpecificationsForResourceCommand.ts b/clients/client-license-manager/commands/UpdateLicenseSpecificationsForResourceCommand.ts index 86c45074ce523..74f11d1ee11cb 100644 --- a/clients/client-license-manager/commands/UpdateLicenseSpecificationsForResourceCommand.ts +++ b/clients/client-license-manager/commands/UpdateLicenseSpecificationsForResourceCommand.ts @@ -25,10 +25,11 @@ export type UpdateLicenseSpecificationsForResourceCommandOutput = UpdateLicenseS __MetadataBearer; /** - *

      Adds or removes the specified license configurations for the specified AWS resource.

      - *

      You can update the license specifications of AMIs, instances, and hosts. - * You cannot update the license specifications for launch templates and AWS CloudFormation templates, - * as they send license configurations to the operation that creates the resource.

      + *

      Adds or removes the specified license configurations for the specified AWS + * resource.

      + *

      You can update the license specifications of AMIs, instances, and hosts. You cannot + * update the license specifications for launch templates and AWS CloudFormation templates, as + * they send license configurations to the operation that creates the resource.

      */ export class UpdateLicenseSpecificationsForResourceCommand extends $Command< UpdateLicenseSpecificationsForResourceCommandInput, diff --git a/clients/client-license-manager/models/models_0.ts b/clients/client-license-manager/models/models_0.ts index 96ccaaebb220f..1c39be9f53ca0 100644 --- a/clients/client-license-manager/models/models_0.ts +++ b/clients/client-license-manager/models/models_0.ts @@ -59,6 +59,11 @@ export enum LicenseCountingType { *

      Describes product information filters.

      */ export interface ProductInformationFilter { + /** + *

      Filter name.

      + */ + ProductInformationFilterName: string | undefined; + /** *

      Filter value.

      */ @@ -68,11 +73,6 @@ export interface ProductInformationFilter { *

      Logical operator.

      */ ProductInformationFilterComparator: string | undefined; - - /** - *

      Filter name.

      - */ - ProductInformationFilterName: string | undefined; } export namespace ProductInformationFilter { @@ -86,68 +86,64 @@ export namespace ProductInformationFilter { */ export interface ProductInformation { /** - *

      Resource type. The possible values are SSM_MANAGED | RDS.

      + *

      Resource type. The possible values are SSM_MANAGED | + * RDS.

      */ ResourceType: string | undefined; /** *

      Product information filters.

      - *

      The following filters and logical operators are supported when the resource type - * is SSM_MANAGED:

      + *

      The following filters and logical operators are supported when the resource type is + * SSM_MANAGED:

      *
        *
      • *

        - * Application Name - The name of the application. - * Logical operator is EQUALS.

        + * Application Name - The name of the application. Logical operator is + * EQUALS.

        *
      • *
      • *

        - * Application Publisher - The publisher of the application. - * Logical operator is EQUALS.

        + * Application Publisher - The publisher of the application. Logical + * operator is EQUALS.

        *
      • *
      • *

        - * Application Version - The version of the application. - * Logical operator is EQUALS.

        + * Application Version - The version of the application. Logical + * operator is EQUALS.

        *
      • *
      • *

        - * Platform Name - The name of the platform. - * Logical operator is EQUALS.

        + * Platform Name - The name of the platform. Logical operator is + * EQUALS.

        *
      • *
      • *

        - * Platform Type - The platform type. - * Logical operator is EQUALS.

        + * Platform Type - The platform type. Logical operator is + * EQUALS.

        *
      • *
      • *

        - * License Included - The type of license included. - * Logical operators are EQUALS and NOT_EQUALS. - * Possible values are: sql-server-enterprise | - * sql-server-standard | - * sql-server-web | - * windows-server-datacenter.

        + * License Included - The type of license included. Logical operators + * are EQUALS and NOT_EQUALS. Possible values are: + * sql-server-enterprise | sql-server-standard | + * sql-server-web | windows-server-datacenter.

        *
      • *
      - *

      The following filters and logical operators are supported when the resource type - * is RDS:

      + *

      The following filters and logical operators are supported when the resource type is + * RDS:

      *
        *
      • *

        - * Engine Edition - The edition of the database engine. - * Logical operator is EQUALS. - * Possible values are: oracle-ee | oracle-se | oracle-se1 | oracle-se2.

        + * Engine Edition - The edition of the database engine. Logical operator + * is EQUALS. Possible values are: oracle-ee | + * oracle-se | oracle-se1 | oracle-se2.

        *
      • *
      • *

        - * License Pack - The license pack. - * Logical operator is EQUALS. - * Possible values are: data guard | - * diagnostic pack sqlt | - * tuning pack sqlt | - * ols | - * olap.

        + * License Pack - The license pack. Logical operator is + * EQUALS. Possible values are: data guard | + * diagnostic pack sqlt | tuning pack sqlt | + * ols | olap.

        *
      • *
      */ @@ -183,20 +179,14 @@ export namespace Tag { export interface CreateLicenseConfigurationRequest { /** - *

      Description of the license configuration.

      - */ - Description?: string; - - /** - *

      Indicates whether hard or soft license enforcement is used. Exceeding a hard limit - * blocks the launch of new instances.

      + *

      Name of the license configuration.

      */ - LicenseCountHardLimit?: boolean; + Name: string | undefined; /** - *

      Product information.

      + *

      Description of the license configuration.

      */ - ProductInformationList?: ProductInformation[]; + Description?: string; /** *

      Dimension used to track the license inventory.

      @@ -209,55 +199,63 @@ export interface CreateLicenseConfigurationRequest { LicenseCount?: number; /** - *

      Name of the license configuration.

      - */ - Name: string | undefined; - - /** - *

      Tags to add to the license configuration.

      + *

      Indicates whether hard or soft license enforcement is used. Exceeding a hard limit + * blocks the launch of new instances.

      */ - Tags?: Tag[]; + LicenseCountHardLimit?: boolean; /** - *

      License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules - * vary by dimension, as follows.

      + *

      License rules. The syntax is #name=value (for example, + * #allowedTenancy=EC2-DedicatedHost). The available rules vary by dimension, as + * follows.

      *
        *
      • *

        * Cores dimension: allowedTenancy | - * licenseAffinityToHost | - * maximumCores | minimumCores + * licenseAffinityToHost | maximumCores | + * minimumCores *

        *
      • *
      • *

        * Instances dimension: allowedTenancy | - * maximumCores | minimumCores | - * maximumSockets | minimumSockets | - * maximumVcpus | minimumVcpus + * maximumCores | minimumCores | + * maximumSockets | minimumSockets | + * maximumVcpus | minimumVcpus *

        *
      • *
      • *

        * Sockets dimension: allowedTenancy | - * licenseAffinityToHost | - * maximumSockets | minimumSockets + * licenseAffinityToHost | maximumSockets | + * minimumSockets *

        *
      • *
      • *

        * vCPUs dimension: allowedTenancy | - * honorVcpuOptimization | - * maximumVcpus | minimumVcpus + * honorVcpuOptimization | maximumVcpus | + * minimumVcpus *

        *
      • *
      - *

      The unit for licenseAffinityToHost is days and the range is 1 to 180. The possible - * values for allowedTenancy are EC2-Default, EC2-DedicatedHost, and - * EC2-DedicatedInstance. The possible values for honorVcpuOptimization are - * True and False.

      + *

      The unit for licenseAffinityToHost is days and the range is 1 to 180. The + * possible values for allowedTenancy are EC2-Default, + * EC2-DedicatedHost, and EC2-DedicatedInstance. The possible + * values for honorVcpuOptimization are True and + * False.

      */ LicenseRules?: string[]; + + /** + *

      Tags to add to the license configuration.

      + */ + Tags?: Tag[]; + + /** + *

      Product information.

      + */ + ProductInformationList?: ProductInformation[]; } export namespace CreateLicenseConfigurationRequest { @@ -425,19 +423,14 @@ export namespace ManagedResourceSummary { export interface GetLicenseConfigurationResponse { /** - *

      Product information.

      - */ - ProductInformationList?: ProductInformation[]; - - /** - *

      Account ID of the owner of the license configuration.

      + *

      Unique ID for the license configuration.

      */ - OwnerAccountId?: string; + LicenseConfigurationId?: string; /** - *

      Unique ID for the license configuration.

      + *

      Amazon Resource Name (ARN) of the license configuration.

      */ - LicenseConfigurationId?: string; + LicenseConfigurationArn?: string; /** *

      Name of the license configuration.

      @@ -445,9 +438,9 @@ export interface GetLicenseConfigurationResponse { Name?: string; /** - *

      Summaries of the managed resources.

      + *

      Description of the license configuration.

      */ - ManagedResourceSummaryList?: ManagedResourceSummary[]; + Description?: string; /** *

      Dimension on which the licenses are counted.

      @@ -455,34 +448,24 @@ export interface GetLicenseConfigurationResponse { LicenseCountingType?: LicenseCountingType | string; /** - *

      Tags for the license configuration.

      - */ - Tags?: Tag[]; - - /** - *

      Automated discovery information.

      + *

      License rules.

      */ - AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; + LicenseRules?: string[]; /** *

      Number of available licenses.

      */ LicenseCount?: number; - /** - *

      License rules.

      - */ - LicenseRules?: string[]; - /** *

      Sets the number of available licenses as a hard limit.

      */ LicenseCountHardLimit?: boolean; /** - *

      Description of the license configuration.

      + *

      Number of licenses assigned to resources.

      */ - Description?: string; + ConsumedLicenses?: number; /** *

      License configuration status.

      @@ -490,19 +473,34 @@ export interface GetLicenseConfigurationResponse { Status?: string; /** - *

      Number of licenses assigned to resources.

      + *

      Account ID of the owner of the license configuration.

      */ - ConsumedLicenses?: number; + OwnerAccountId?: string; /** - *

      Amazon Resource Name (ARN) of the license configuration.

      + *

      Summaries of the licenses consumed by resources.

      */ - LicenseConfigurationArn?: string; + ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; /** - *

      Summaries of the licenses consumed by resources.

      + *

      Summaries of the managed resources.

      */ - ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; + ManagedResourceSummaryList?: ManagedResourceSummary[]; + + /** + *

      Tags for the license configuration.

      + */ + Tags?: Tag[]; + + /** + *

      Product information.

      + */ + ProductInformationList?: ProductInformation[]; + + /** + *

      Automated discovery information.

      + */ + AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; } export namespace GetLicenseConfigurationResponse { @@ -536,12 +534,6 @@ export namespace OrganizationConfiguration { } export interface GetServiceSettingsResponse { - /** - *

      Indicates whether AWS Organizations has been integrated with License Manager for - * cross-account discovery.

      - */ - OrganizationConfiguration?: OrganizationConfiguration; - /** *

      Regional S3 bucket path for storing reports, license trail event data, discovery data, * and so on.

      @@ -549,10 +541,15 @@ export interface GetServiceSettingsResponse { S3BucketArn?: string; /** - *

      Amazon Resource Name (ARN) of the AWS resource share. The License Manager master account will provide member - * accounts with access to this share.

      + *

      SNS topic configured to receive notifications from License Manager.

      */ - LicenseManagerResourceShareArn?: string; + SnsTopicArn?: string; + + /** + *

      Indicates whether AWS Organizations has been integrated with License Manager for + * cross-account discovery.

      + */ + OrganizationConfiguration?: OrganizationConfiguration; /** *

      Indicates whether cross-account discovery has been enabled.

      @@ -560,9 +557,10 @@ export interface GetServiceSettingsResponse { EnableCrossAccountsDiscovery?: boolean; /** - *

      SNS topic configured to receive notifications from License Manager.

      + *

      Amazon Resource Name (ARN) of the AWS resource share. The License Manager master account + * will provide member accounts with access to this share.

      */ - SnsTopicArn?: string; + LicenseManagerResourceShareArn?: string; } export namespace GetServiceSettingsResponse { @@ -618,6 +616,11 @@ export interface LicenseConfigurationAssociation { */ ResourceArn?: string; + /** + *

      Type of server resource.

      + */ + ResourceType?: ResourceType | string; + /** *

      ID of the AWS account that owns the resource consuming licenses.

      */ @@ -629,9 +632,9 @@ export interface LicenseConfigurationAssociation { AssociationTime?: Date; /** - *

      Type of server resource.

      + *

      Scope of AMI associations.

      */ - ResourceType?: ResourceType | string; + AmiAssociationScope?: string; } export namespace LicenseConfigurationAssociation { @@ -665,14 +668,14 @@ export interface ListFailuresForLicenseConfigurationOperationsRequest { LicenseConfigurationArn: string | undefined; /** - *

      Token for the next set of results.

      + *

      Maximum number of results to return in a single call.

      */ - NextToken?: string; + MaxResults?: number; /** - *

      Maximum number of results to return in a single call.

      + *

      Token for the next set of results.

      */ - MaxResults?: number; + NextToken?: string; } export namespace ListFailuresForLicenseConfigurationOperationsRequest { @@ -688,12 +691,12 @@ export interface Metadata { /** *

      Reserved.

      */ - Value?: string; + Name?: string; /** *

      Reserved.

      */ - Name?: string; + Value?: string; } export namespace Metadata { @@ -707,44 +710,44 @@ export namespace Metadata { */ export interface LicenseOperationFailure { /** - *

      Resource type.

      - */ - ResourceType?: ResourceType | string; - - /** - *

      Name of the operation.

      + *

      Amazon Resource Name (ARN) of the resource.

      */ - OperationName?: string; + ResourceArn?: string; /** - *

      The requester is "License Manager Automated Discovery".

      + *

      Resource type.

      */ - OperationRequestedBy?: string; + ResourceType?: ResourceType | string; /** *

      Error message.

      */ ErrorMessage?: string; - /** - *

      Reserved.

      - */ - MetadataList?: Metadata[]; - /** *

      Failure time.

      */ FailureTime?: Date; /** - *

      Amazon Resource Name (ARN) of the resource.

      + *

      Name of the operation.

      */ - ResourceArn?: string; + OperationName?: string; /** *

      ID of the AWS account that owns the resource.

      */ ResourceOwnerId?: string; + + /** + *

      The requester is "License Manager Automated Discovery".

      + */ + OperationRequestedBy?: string; + + /** + *

      Reserved.

      + */ + MetadataList?: Metadata[]; } export namespace LicenseOperationFailure { @@ -796,43 +799,46 @@ export namespace Filter { export interface ListLicenseConfigurationsRequest { /** - *

      Filters to scope the results. The following filters and logical operators - * are supported:

      + *

      Amazon Resource Names (ARN) of the license configurations.

      + */ + LicenseConfigurationArns?: string[]; + + /** + *

      Maximum number of results to return in a single call.

      + */ + MaxResults?: number; + + /** + *

      Token for the next set of results.

      + */ + NextToken?: string; + + /** + *

      Filters to scope the results. The following filters and logical operators are + * supported:

      *
        *
      • *

        * licenseCountingType - The dimension on which licenses are counted. - * Possible values are vCPU | Instance | Core | Socket. - * Logical operators are EQUALS | NOT_EQUALS.

        + * Possible values are vCPU | Instance | Core | + * Socket. Logical operators are EQUALS | + * NOT_EQUALS.

        *
      • *
      • *

        - * enforceLicenseCount - A Boolean value that indicates whether hard license enforcement is used. - * Logical operators are EQUALS | NOT_EQUALS.

        + * enforceLicenseCount - A Boolean value that indicates whether hard + * license enforcement is used. Logical operators are EQUALS | + * NOT_EQUALS.

        *
      • *
      • *

        - * usagelimitExceeded - A Boolean value that indicates whether the available licenses have been exceeded. - * Logical operators are EQUALS | NOT_EQUALS.

        + * usagelimitExceeded - A Boolean value that indicates whether the + * available licenses have been exceeded. Logical operators are EQUALS | + * NOT_EQUALS.

        *
      • *
      */ Filters?: Filter[]; - - /** - *

      Amazon Resource Names (ARN) of the license configurations.

      - */ - LicenseConfigurationArns?: string[]; - - /** - *

      Maximum number of results to return in a single call.

      - */ - MaxResults?: number; - - /** - *

      Token for the next set of results.

      - */ - NextToken?: string; } export namespace ListLicenseConfigurationsRequest { @@ -845,34 +851,34 @@ export namespace ListLicenseConfigurationsRequest { *

      A license configuration is an abstraction of a customer license agreement that can be * consumed and enforced by License Manager. Components include specifications for the license * type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, - * Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM - * must be associated with a host), and the number of licenses purchased and used.

      + * Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be + * associated with a host), and the number of licenses purchased and used.

      */ export interface LicenseConfiguration { /** - *

      Number of licenses managed by the license configuration.

      + *

      Unique ID of the license configuration.

      */ - LicenseCount?: number; + LicenseConfigurationId?: string; /** - *

      Automated discovery information.

      + *

      Amazon Resource Name (ARN) of the license configuration.

      */ - AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; + LicenseConfigurationArn?: string; /** - *

      Status of the license configuration.

      + *

      Name of the license configuration.

      */ - Status?: string; + Name?: string; /** - *

      Number of available licenses as a hard limit.

      + *

      Description of the license configuration.

      */ - LicenseCountHardLimit?: boolean; + Description?: string; /** - *

      Product information.

      + *

      Dimension to use to track the license inventory.

      */ - ProductInformationList?: ProductInformation[]; + LicenseCountingType?: LicenseCountingType | string; /** *

      License rules.

      @@ -880,49 +886,49 @@ export interface LicenseConfiguration { LicenseRules?: string[]; /** - *

      Unique ID of the license configuration.

      + *

      Number of licenses managed by the license configuration.

      */ - LicenseConfigurationId?: string; + LicenseCount?: number; /** - *

      Account ID of the license configuration's owner.

      + *

      Number of available licenses as a hard limit.

      */ - OwnerAccountId?: string; + LicenseCountHardLimit?: boolean; /** - *

      Summaries for managed resources.

      + *

      Number of licenses consumed.

      */ - ManagedResourceSummaryList?: ManagedResourceSummary[]; + ConsumedLicenses?: number; /** - *

      Name of the license configuration.

      + *

      Status of the license configuration.

      */ - Name?: string; + Status?: string; /** - *

      Dimension to use to track the license inventory.

      + *

      Account ID of the license configuration's owner.

      */ - LicenseCountingType?: LicenseCountingType | string; + OwnerAccountId?: string; /** - *

      Number of licenses consumed.

      + *

      Summaries for licenses consumed by various resources.

      */ - ConsumedLicenses?: number; + ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; /** - *

      Amazon Resource Name (ARN) of the license configuration.

      + *

      Summaries for managed resources.

      */ - LicenseConfigurationArn?: string; + ManagedResourceSummaryList?: ManagedResourceSummary[]; /** - *

      Summaries for licenses consumed by various resources.

      + *

      Product information.

      */ - ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; + ProductInformationList?: ProductInformation[]; /** - *

      Description of the license configuration.

      + *

      Automated discovery information.

      */ - Description?: string; + AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; } export namespace LicenseConfiguration { @@ -933,14 +939,14 @@ export namespace LicenseConfiguration { export interface ListLicenseConfigurationsResponse { /** - *

      Token for the next set of results.

      + *

      Information about the license configurations.

      */ - NextToken?: string; + LicenseConfigurations?: LicenseConfiguration[]; /** - *

      Information about the license configurations.

      + *

      Token for the next set of results.

      */ - LicenseConfigurations?: LicenseConfiguration[]; + NextToken?: string; } export namespace ListLicenseConfigurationsResponse { @@ -951,7 +957,8 @@ export namespace ListLicenseConfigurationsResponse { export interface ListLicenseSpecificationsForResourceRequest { /** - *

      Amazon Resource Name (ARN) of a resource that has an associated license configuration.

      + *

      Amazon Resource Name (ARN) of a resource that has an associated license + * configuration.

      */ ResourceArn: string | undefined; @@ -980,6 +987,11 @@ export interface LicenseSpecification { *

      Amazon Resource Name (ARN) of the license configuration.

      */ LicenseConfigurationArn: string | undefined; + + /** + *

      Scope of AMI associations.

      + */ + AmiAssociationScope?: string; } export namespace LicenseSpecification { @@ -990,14 +1002,14 @@ export namespace LicenseSpecification { export interface ListLicenseSpecificationsForResourceResponse { /** - *

      Token for the next set of results.

      + *

      License configurations associated with a resource.

      */ - NextToken?: string; + LicenseSpecifications?: LicenseSpecification[]; /** - *

      License configurations associated with a resource.

      + *

      Token for the next set of results.

      */ - LicenseSpecifications?: LicenseSpecification[]; + NextToken?: string; } export namespace ListLicenseSpecificationsForResourceResponse { @@ -1033,9 +1045,9 @@ export enum InventoryFilterCondition { */ export interface InventoryFilter { /** - *

      Value of the filter.

      + *

      Name of the filter.

      */ - Value?: string; + Name: string | undefined; /** *

      Condition of the filter.

      @@ -1043,9 +1055,9 @@ export interface InventoryFilter { Condition: InventoryFilterCondition | string | undefined; /** - *

      Name of the filter.

      + *

      Value of the filter.

      */ - Name: string | undefined; + Value?: string; } export namespace InventoryFilter { @@ -1061,8 +1073,13 @@ export interface ListResourceInventoryRequest { MaxResults?: number; /** - *

      Filters to scope the results. The following filters and logical operators - * are supported:

      + *

      Token for the next set of results.

      + */ + NextToken?: string; + + /** + *

      Filters to scope the results. The following filters and logical operators are + * supported:

      *
        *
      • *

        @@ -1071,36 +1088,29 @@ export interface ListResourceInventoryRequest { *

      • *
      • *

        - * application_name - The name of the application. - * Logical operators are EQUALS | BEGINS_WITH.

        + * application_name - The name of the application. Logical operators are + * EQUALS | BEGINS_WITH.

        *
      • *
      • *

        - * license_included - The type of license included. - * Logical operators are EQUALS | NOT_EQUALS. - * Possible values are sql-server-enterprise | - * sql-server-standard | - * sql-server-web | - * windows-server-datacenter.

        + * license_included - The type of license included. Logical operators + * are EQUALS | NOT_EQUALS. Possible values are + * sql-server-enterprise | sql-server-standard | + * sql-server-web | windows-server-datacenter.

        *
      • *
      • *

        - * platform - The platform of the resource. - * Logical operators are EQUALS | BEGINS_WITH.

        + * platform - The platform of the resource. Logical operators are + * EQUALS | BEGINS_WITH.

        *
      • *
      • *

        - * resource_id - The ID of the resource. - * Logical operators are EQUALS | NOT_EQUALS.

        + * resource_id - The ID of the resource. Logical operators are + * EQUALS | NOT_EQUALS.

        *
      • *
      */ Filters?: InventoryFilter[]; - - /** - *

      Token for the next set of results.

      - */ - NextToken?: string; } export namespace ListResourceInventoryRequest { @@ -1113,35 +1123,35 @@ export namespace ListResourceInventoryRequest { *

      Details about a resource.

      */ export interface ResourceInventory { - /** - *

      Type of resource.

      - */ - ResourceType?: ResourceType | string; - /** *

      ID of the resource.

      */ ResourceId?: string; /** - *

      Platform of the resource.

      + *

      Type of resource.

      */ - Platform?: string; + ResourceType?: ResourceType | string; /** - *

      ID of the account that owns the resource.

      + *

      Amazon Resource Name (ARN) of the resource.

      */ - ResourceOwningAccountId?: string; + ResourceArn?: string; /** - *

      Amazon Resource Name (ARN) of the resource.

      + *

      Platform of the resource.

      */ - ResourceArn?: string; + Platform?: string; /** *

      Platform version of the resource in the inventory.

      */ PlatformVersion?: string; + + /** + *

      ID of the account that owns the resource.

      + */ + ResourceOwningAccountId?: string; } export namespace ResourceInventory { @@ -1200,24 +1210,30 @@ export interface ListUsageForLicenseConfigurationRequest { */ LicenseConfigurationArn: string | undefined; + /** + *

      Maximum number of results to return in a single call.

      + */ + MaxResults?: number; + /** *

      Token for the next set of results.

      */ NextToken?: string; /** - *

      Filters to scope the results. The following filters and logical operators - * are supported:

      + *

      Filters to scope the results. The following filters and logical operators are + * supported:

      *
        *
      • *

        - * resourceArn - The ARN of the license configuration resource. - * Logical operators are EQUALS | NOT_EQUALS.

        + * resourceArn - The ARN of the license configuration resource. Logical + * operators are EQUALS | NOT_EQUALS.

        *
      • *
      • *

        - * resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI | SYSTEMS_MANAGER_MANAGED_INSTANCE). - * Logical operators are EQUALS | NOT_EQUALS.

        + * resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI | + * SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | + * NOT_EQUALS.

        *
      • *
      • *

        @@ -1227,11 +1243,6 @@ export interface ListUsageForLicenseConfigurationRequest { *

      */ Filters?: Filter[]; - - /** - *

      Maximum number of results to return in a single call.

      - */ - MaxResults?: number; } export namespace ListUsageForLicenseConfigurationRequest { @@ -1245,34 +1256,34 @@ export namespace ListUsageForLicenseConfigurationRequest { */ export interface LicenseConfigurationUsage { /** - *

      Time when the license configuration was initially associated with the resource.

      + *

      Amazon Resource Name (ARN) of the resource.

      */ - AssociationTime?: Date; + ResourceArn?: string; /** - *

      Number of licenses consumed by the resource.

      + *

      Type of resource.

      */ - ConsumedLicenses?: number; + ResourceType?: ResourceType | string; /** - *

      ID of the account that owns the resource.

      + *

      Status of the resource.

      */ - ResourceOwnerId?: string; + ResourceStatus?: string; /** - *

      Amazon Resource Name (ARN) of the resource.

      + *

      ID of the account that owns the resource.

      */ - ResourceArn?: string; + ResourceOwnerId?: string; /** - *

      Type of resource.

      + *

      Time when the license configuration was initially associated with the resource.

      */ - ResourceType?: ResourceType | string; + AssociationTime?: Date; /** - *

      Status of the resource.

      + *

      Number of licenses consumed by the resource.

      */ - ResourceStatus?: string; + ConsumedLicenses?: number; } export namespace LicenseConfigurationUsage { @@ -1283,14 +1294,14 @@ export namespace LicenseConfigurationUsage { export interface ListUsageForLicenseConfigurationResponse { /** - *

      Token for the next set of results.

      + *

      Information about the license configurations.

      */ - NextToken?: string; + LicenseConfigurationUsageList?: LicenseConfigurationUsage[]; /** - *

      Information about the license configurations.

      + *

      Token for the next set of results.

      */ - LicenseConfigurationUsageList?: LicenseConfigurationUsage[]; + NextToken?: string; } export namespace ListUsageForLicenseConfigurationResponse { @@ -1327,14 +1338,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

      Keys identifying the tags to remove.

      + *

      Amazon Resource Name (ARN) of the license configuration.

      */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

      Amazon Resource Name (ARN) of the license configuration.

      + *

      Keys identifying the tags to remove.

      */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1358,23 +1369,18 @@ export enum LicenseConfigurationStatus { export interface UpdateLicenseConfigurationRequest { /** - *

      New description of the license configuration.

      - */ - Description?: string; - - /** - *

      New hard limit of the number of available licenses.

      + *

      Amazon Resource Name (ARN) of the license configuration.

      */ - LicenseCountHardLimit?: boolean; + LicenseConfigurationArn: string | undefined; /** - *

      New product information.

      + *

      New status of the license configuration.

      */ - ProductInformationList?: ProductInformation[]; + LicenseConfigurationStatus?: LicenseConfigurationStatus | string; /** *

      New license rule. The only rule that you can add after you create a license - * configuration is licenseAffinityToHost.

      + * configuration is licenseAffinityToHost.

      */ LicenseRules?: string[]; @@ -1384,19 +1390,24 @@ export interface UpdateLicenseConfigurationRequest { LicenseCount?: number; /** - *

      Amazon Resource Name (ARN) of the license configuration.

      + *

      New hard limit of the number of available licenses.

      */ - LicenseConfigurationArn: string | undefined; + LicenseCountHardLimit?: boolean; /** - *

      New status of the license configuration.

      + *

      New name of the license configuration.

      */ - LicenseConfigurationStatus?: LicenseConfigurationStatus | string; + Name?: string; /** - *

      New name of the license configuration.

      + *

      New description of the license configuration.

      */ - Name?: string; + Description?: string; + + /** + *

      New product information.

      + */ + ProductInformationList?: ProductInformation[]; } export namespace UpdateLicenseConfigurationRequest { @@ -1447,14 +1458,14 @@ export namespace LicenseUsageException { export interface UpdateLicenseSpecificationsForResourceRequest { /** - *

      ARNs of the license configurations to add.

      + *

      Amazon Resource Name (ARN) of the AWS resource.

      */ - AddLicenseSpecifications?: LicenseSpecification[]; + ResourceArn: string | undefined; /** - *

      Amazon Resource Name (ARN) of the AWS resource.

      + *

      ARNs of the license configurations to add.

      */ - ResourceArn: string | undefined; + AddLicenseSpecifications?: LicenseSpecification[]; /** *

      ARNs of the license configurations to remove.

      @@ -1478,7 +1489,8 @@ export namespace UpdateLicenseSpecificationsForResourceResponse { export interface UpdateServiceSettingsRequest { /** - *

      Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is stored.

      + *

      Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is + * stored.

      */ S3BucketArn?: string; diff --git a/clients/client-license-manager/protocols/Aws_json1_1.ts b/clients/client-license-manager/protocols/Aws_json1_1.ts index 4335cb733238b..6a24b29358c91 100644 --- a/clients/client-license-manager/protocols/Aws_json1_1.ts +++ b/clients/client-license-manager/protocols/Aws_json1_1.ts @@ -2003,6 +2003,7 @@ const serializeAws_json1_1InventoryFilterList = (input: InventoryFilter[], conte const serializeAws_json1_1LicenseSpecification = (input: LicenseSpecification, context: __SerdeContext): any => { return { + ...(input.AmiAssociationScope !== undefined && { AmiAssociationScope: input.AmiAssociationScope }), ...(input.LicenseConfigurationArn !== undefined && { LicenseConfigurationArn: input.LicenseConfigurationArn }), }; }; @@ -2457,6 +2458,10 @@ const deserializeAws_json1_1LicenseConfigurationAssociation = ( context: __SerdeContext ): LicenseConfigurationAssociation => { return { + AmiAssociationScope: + output.AmiAssociationScope !== undefined && output.AmiAssociationScope !== null + ? output.AmiAssociationScope + : undefined, AssociationTime: output.AssociationTime !== undefined && output.AssociationTime !== null ? new Date(Math.round(output.AssociationTime * 1000)) @@ -2542,6 +2547,10 @@ const deserializeAws_json1_1LicenseOperationFailureList = ( const deserializeAws_json1_1LicenseSpecification = (output: any, context: __SerdeContext): LicenseSpecification => { return { + AmiAssociationScope: + output.AmiAssociationScope !== undefined && output.AmiAssociationScope !== null + ? output.AmiAssociationScope + : undefined, LicenseConfigurationArn: output.LicenseConfigurationArn !== undefined && output.LicenseConfigurationArn !== null ? output.LicenseConfigurationArn diff --git a/clients/client-mediaconvert/models/models_0.ts b/clients/client-mediaconvert/models/models_0.ts index 2bdefb7088fc2..363c5bdb4f0c9 100644 --- a/clients/client-mediaconvert/models/models_0.ts +++ b/clients/client-mediaconvert/models/models_0.ts @@ -3561,7 +3561,7 @@ export interface CmafGroupSettings { BaseUrl?: string; /** - * When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay. + * Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled (ENABLED) and control caching in your video distribution set up. For example, use the Cache-Control http header. */ ClientCache?: CmafClientCache | string; @@ -3774,6 +3774,11 @@ export interface DashIsoGroupSettings { */ MinBufferTime?: number; + /** + * Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds. + */ + MinFinalSegmentLength?: number; + /** * Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE). */ @@ -3985,7 +3990,7 @@ export interface HlsGroupSettings { CaptionLanguageSetting?: HlsCaptionLanguageSetting | string; /** - * When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay. + * Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled (ENABLED) and control caching in your video distribution set up. For example, use the Cache-Control http header. */ ClientCache?: HlsClientCache | string; @@ -4233,6 +4238,11 @@ export namespace OutputGroupSettings { }); } +export enum CmfcAudioDuration { + DEFAULT_CODEC_DURATION = "DEFAULT_CODEC_DURATION", + MATCH_VIDEO_DURATION = "MATCH_VIDEO_DURATION", +} + export enum CmfcScte35Esam { INSERT = "INSERT", NONE = "NONE", @@ -4247,6 +4257,11 @@ export enum CmfcScte35Source { * Settings for MP4 segments in CMAF */ export interface CmfcSettings { + /** + * Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec. + */ + AudioDuration?: CmfcAudioDuration | string; + /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). */ @@ -4304,6 +4319,11 @@ export enum M2tsAudioBufferModel { DVB = "DVB", } +export enum M2tsAudioDuration { + DEFAULT_CODEC_DURATION = "DEFAULT_CODEC_DURATION", + MATCH_VIDEO_DURATION = "MATCH_VIDEO_DURATION", +} + export enum M2tsBufferModel { MULTIPLEX = "MULTIPLEX", NONE = "NONE", @@ -4468,6 +4488,11 @@ export interface M2tsSettings { */ AudioBufferModel?: M2tsAudioBufferModel | string; + /** + * Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec. + */ + AudioDuration?: M2tsAudioDuration | string; + /** * The number of audio frames to insert for each PES packet. */ @@ -4650,6 +4675,11 @@ export namespace M2tsSettings { }); } +export enum M3u8AudioDuration { + DEFAULT_CODEC_DURATION = "DEFAULT_CODEC_DURATION", + MATCH_VIDEO_DURATION = "MATCH_VIDEO_DURATION", +} + export enum M3u8NielsenId3 { INSERT = "INSERT", NONE = "NONE", @@ -4674,6 +4704,11 @@ export enum TimedMetadata { * Settings for TS segments in HLS */ export interface M3u8Settings { + /** + * Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec. + */ + AudioDuration?: M3u8AudioDuration | string; + /** * The number of audio frames to insert for each PES packet. */ @@ -4841,6 +4876,11 @@ export enum Mp4MoovPlacement { * Settings for MP4 container. You can create audio-only AAC outputs with this container. */ export interface Mp4Settings { + /** + * Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec. + */ + AudioDuration?: CmfcAudioDuration | string; + /** * When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools. */ @@ -4873,6 +4913,16 @@ export namespace Mp4Settings { }); } +export enum MpdAccessibilityCaptionHints { + EXCLUDE = "EXCLUDE", + INCLUDE = "INCLUDE", +} + +export enum MpdAudioDuration { + DEFAULT_CODEC_DURATION = "DEFAULT_CODEC_DURATION", + MATCH_VIDEO_DURATION = "MATCH_VIDEO_DURATION", +} + export enum MpdCaptionContainerType { FRAGMENTED_MP4 = "FRAGMENTED_MP4", RAW = "RAW", @@ -4892,6 +4942,16 @@ export enum MpdScte35Source { * Settings for MP4 segments in DASH */ export interface MpdSettings { + /** + * Optional. Choose Include (INCLUDE) to have MediaConvert mark up your DASH manifest with elements for embedded 608 captions. This markup isn't generally required, but some video players require it to discover and play embedded 608 captions. Keep the default value, Exclude (EXCLUDE), to leave these elements out. When you enable this setting, this is the markup that MediaConvert includes in your manifest: + */ + AccessibilityCaptionHints?: MpdAccessibilityCaptionHints | string; + + /** + * Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec. + */ + AudioDuration?: MpdAudioDuration | string; + /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw (RAW) for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 (FRAGMENTED_MP4) for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files. */ @@ -5381,29 +5441,3 @@ export enum H264DynamicSubGop { ADAPTIVE = "ADAPTIVE", STATIC = "STATIC", } - -export enum H264EntropyEncoding { - CABAC = "CABAC", - CAVLC = "CAVLC", -} - -export enum H264FieldEncoding { - FORCE_FIELD = "FORCE_FIELD", - PAFF = "PAFF", -} - -export enum H264FlickerAdaptiveQuantization { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} - -export enum H264FramerateControl { - INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", - SPECIFIED = "SPECIFIED", -} - -export enum H264FramerateConversionAlgorithm { - DUPLICATE_DROP = "DUPLICATE_DROP", - FRAMEFORMER = "FRAMEFORMER", - INTERPOLATE = "INTERPOLATE", -} diff --git a/clients/client-mediaconvert/models/models_1.ts b/clients/client-mediaconvert/models/models_1.ts index 2b71188c8d149..4415c2d5fe5f3 100644 --- a/clients/client-mediaconvert/models/models_1.ts +++ b/clients/client-mediaconvert/models/models_1.ts @@ -19,11 +19,6 @@ import { H264CodecLevel, H264CodecProfile, H264DynamicSubGop, - H264EntropyEncoding, - H264FieldEncoding, - H264FlickerAdaptiveQuantization, - H264FramerateControl, - H264FramerateConversionAlgorithm, Hdr10Metadata, HopDestination, Id3Insertion, @@ -45,6 +40,32 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export enum H264EntropyEncoding { + CABAC = "CABAC", + CAVLC = "CAVLC", +} + +export enum H264FieldEncoding { + FORCE_FIELD = "FORCE_FIELD", + PAFF = "PAFF", +} + +export enum H264FlickerAdaptiveQuantization { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum H264FramerateControl { + INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", + SPECIFIED = "SPECIFIED", +} + +export enum H264FramerateConversionAlgorithm { + DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", + INTERPOLATE = "INTERPOLATE", +} + export enum H264GopBReference { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -2924,12 +2945,12 @@ export interface CreateJobRequest { StatusUpdateInterval?: StatusUpdateInterval | string; /** - * Optional. The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. + * Optional. The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. Use standard AWS tags on your job for automatic integration with AWS services and for custom integrations and workflows. */ Tags?: { [key: string]: string }; /** - * Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. + * Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. Use only for existing integrations or workflows that rely on job metadata tags. Otherwise, we recommend that you use standard AWS tags. */ UserMetadata?: { [key: string]: string }; } diff --git a/clients/client-mediaconvert/protocols/Aws_restJson1.ts b/clients/client-mediaconvert/protocols/Aws_restJson1.ts index 75839ab2fa600..5c4292650e75d 100644 --- a/clients/client-mediaconvert/protocols/Aws_restJson1.ts +++ b/clients/client-mediaconvert/protocols/Aws_restJson1.ts @@ -4091,6 +4091,7 @@ const serializeAws_restJson1CmafGroupSettings = (input: CmafGroupSettings, conte const serializeAws_restJson1CmfcSettings = (input: CmfcSettings, context: __SerdeContext): any => { return { + ...(input.AudioDuration !== undefined && { audioDuration: input.AudioDuration }), ...(input.Scte35Esam !== undefined && { scte35Esam: input.Scte35Esam }), ...(input.Scte35Source !== undefined && { scte35Source: input.Scte35Source }), }; @@ -4178,6 +4179,7 @@ const serializeAws_restJson1DashIsoGroupSettings = (input: DashIsoGroupSettings, ...(input.FragmentLength !== undefined && { fragmentLength: input.FragmentLength }), ...(input.HbbtvCompliance !== undefined && { hbbtvCompliance: input.HbbtvCompliance }), ...(input.MinBufferTime !== undefined && { minBufferTime: input.MinBufferTime }), + ...(input.MinFinalSegmentLength !== undefined && { minFinalSegmentLength: input.MinFinalSegmentLength }), ...(input.MpdProfile !== undefined && { mpdProfile: input.MpdProfile }), ...(input.SegmentControl !== undefined && { segmentControl: input.SegmentControl }), ...(input.SegmentLength !== undefined && { segmentLength: input.SegmentLength }), @@ -4894,6 +4896,7 @@ const serializeAws_restJson1M2tsScte35Esam = (input: M2tsScte35Esam, context: __ const serializeAws_restJson1M2tsSettings = (input: M2tsSettings, context: __SerdeContext): any => { return { ...(input.AudioBufferModel !== undefined && { audioBufferModel: input.AudioBufferModel }), + ...(input.AudioDuration !== undefined && { audioDuration: input.AudioDuration }), ...(input.AudioFramesPerPes !== undefined && { audioFramesPerPes: input.AudioFramesPerPes }), ...(input.AudioPids !== undefined && { audioPids: serializeAws_restJson1__listOf__integerMin32Max8182(input.AudioPids, context), @@ -4946,6 +4949,7 @@ const serializeAws_restJson1M2tsSettings = (input: M2tsSettings, context: __Serd const serializeAws_restJson1M3u8Settings = (input: M3u8Settings, context: __SerdeContext): any => { return { + ...(input.AudioDuration !== undefined && { audioDuration: input.AudioDuration }), ...(input.AudioFramesPerPes !== undefined && { audioFramesPerPes: input.AudioFramesPerPes }), ...(input.AudioPids !== undefined && { audioPids: serializeAws_restJson1__listOf__integerMin32Max8182(input.AudioPids, context), @@ -5032,6 +5036,7 @@ const serializeAws_restJson1Mp3Settings = (input: Mp3Settings, context: __SerdeC const serializeAws_restJson1Mp4Settings = (input: Mp4Settings, context: __SerdeContext): any => { return { + ...(input.AudioDuration !== undefined && { audioDuration: input.AudioDuration }), ...(input.CslgAtom !== undefined && { cslgAtom: input.CslgAtom }), ...(input.CttsVersion !== undefined && { cttsVersion: input.CttsVersion }), ...(input.FreeSpaceBox !== undefined && { freeSpaceBox: input.FreeSpaceBox }), @@ -5042,6 +5047,10 @@ const serializeAws_restJson1Mp4Settings = (input: Mp4Settings, context: __SerdeC const serializeAws_restJson1MpdSettings = (input: MpdSettings, context: __SerdeContext): any => { return { + ...(input.AccessibilityCaptionHints !== undefined && { + accessibilityCaptionHints: input.AccessibilityCaptionHints, + }), + ...(input.AudioDuration !== undefined && { audioDuration: input.AudioDuration }), ...(input.CaptionContainerType !== undefined && { captionContainerType: input.CaptionContainerType }), ...(input.Scte35Esam !== undefined && { scte35Esam: input.Scte35Esam }), ...(input.Scte35Source !== undefined && { scte35Source: input.Scte35Source }), @@ -6550,6 +6559,8 @@ const deserializeAws_restJson1CmafGroupSettings = (output: any, context: __Serde const deserializeAws_restJson1CmfcSettings = (output: any, context: __SerdeContext): CmfcSettings => { return { + AudioDuration: + output.audioDuration !== undefined && output.audioDuration !== null ? output.audioDuration : undefined, Scte35Esam: output.scte35Esam !== undefined && output.scte35Esam !== null ? output.scte35Esam : undefined, Scte35Source: output.scte35Source !== undefined && output.scte35Source !== null ? output.scte35Source : undefined, } as any; @@ -6664,6 +6675,10 @@ const deserializeAws_restJson1DashIsoGroupSettings = (output: any, context: __Se output.hbbtvCompliance !== undefined && output.hbbtvCompliance !== null ? output.hbbtvCompliance : undefined, MinBufferTime: output.minBufferTime !== undefined && output.minBufferTime !== null ? output.minBufferTime : undefined, + MinFinalSegmentLength: + output.minFinalSegmentLength !== undefined && output.minFinalSegmentLength !== null + ? output.minFinalSegmentLength + : undefined, MpdProfile: output.mpdProfile !== undefined && output.mpdProfile !== null ? output.mpdProfile : undefined, SegmentControl: output.segmentControl !== undefined && output.segmentControl !== null ? output.segmentControl : undefined, @@ -7843,6 +7858,8 @@ const deserializeAws_restJson1M2tsSettings = (output: any, context: __SerdeConte return { AudioBufferModel: output.audioBufferModel !== undefined && output.audioBufferModel !== null ? output.audioBufferModel : undefined, + AudioDuration: + output.audioDuration !== undefined && output.audioDuration !== null ? output.audioDuration : undefined, AudioFramesPerPes: output.audioFramesPerPes !== undefined && output.audioFramesPerPes !== null ? output.audioFramesPerPes @@ -7929,6 +7946,8 @@ const deserializeAws_restJson1M2tsSettings = (output: any, context: __SerdeConte const deserializeAws_restJson1M3u8Settings = (output: any, context: __SerdeContext): M3u8Settings => { return { + AudioDuration: + output.audioDuration !== undefined && output.audioDuration !== null ? output.audioDuration : undefined, AudioFramesPerPes: output.audioFramesPerPes !== undefined && output.audioFramesPerPes !== null ? output.audioFramesPerPes @@ -8042,6 +8061,8 @@ const deserializeAws_restJson1Mp3Settings = (output: any, context: __SerdeContex const deserializeAws_restJson1Mp4Settings = (output: any, context: __SerdeContext): Mp4Settings => { return { + AudioDuration: + output.audioDuration !== undefined && output.audioDuration !== null ? output.audioDuration : undefined, CslgAtom: output.cslgAtom !== undefined && output.cslgAtom !== null ? output.cslgAtom : undefined, CttsVersion: output.cttsVersion !== undefined && output.cttsVersion !== null ? output.cttsVersion : undefined, FreeSpaceBox: output.freeSpaceBox !== undefined && output.freeSpaceBox !== null ? output.freeSpaceBox : undefined, @@ -8054,6 +8075,12 @@ const deserializeAws_restJson1Mp4Settings = (output: any, context: __SerdeContex const deserializeAws_restJson1MpdSettings = (output: any, context: __SerdeContext): MpdSettings => { return { + AccessibilityCaptionHints: + output.accessibilityCaptionHints !== undefined && output.accessibilityCaptionHints !== null + ? output.accessibilityCaptionHints + : undefined, + AudioDuration: + output.audioDuration !== undefined && output.audioDuration !== null ? output.audioDuration : undefined, CaptionContainerType: output.captionContainerType !== undefined && output.captionContainerType !== null ? output.captionContainerType diff --git a/clients/client-outposts/models/models_0.ts b/clients/client-outposts/models/models_0.ts index 217f9a2fc5708..91acac1af0c95 100644 --- a/clients/client-outposts/models/models_0.ts +++ b/clients/client-outposts/models/models_0.ts @@ -43,6 +43,11 @@ export interface CreateOutpostInput { *

      You must specify AvailabilityZone or AvailabilityZoneId.

      */ AvailabilityZoneId?: string; + + /** + *

      The tags to apply to the Outpost.

      + */ + Tags?: { [key: string]: string }; } export namespace CreateOutpostInput { @@ -101,6 +106,11 @@ export interface Outpost { *

      You must specify AvailabilityZone or AvailabilityZoneId.

      */ AvailabilityZoneId?: string; + + /** + *

      The Outpost tags.

      + */ + Tags?: { [key: string]: string }; } export namespace Outpost { @@ -394,6 +404,11 @@ export interface Site { *

      The description of the site.

      */ Description?: string; + + /** + *

      The site tags.

      + */ + Tags?: { [key: string]: string }; } export namespace Site { diff --git a/clients/client-outposts/protocols/Aws_restJson1.ts b/clients/client-outposts/protocols/Aws_restJson1.ts index 86b656e07878d..80cf96031adcd 100644 --- a/clients/client-outposts/protocols/Aws_restJson1.ts +++ b/clients/client-outposts/protocols/Aws_restJson1.ts @@ -45,6 +45,7 @@ export const serializeAws_restJson1CreateOutpostCommand = async ( ...(input.Description !== undefined && { Description: input.Description }), ...(input.Name !== undefined && { Name: input.Name }), ...(input.SiteId !== undefined && { SiteId: input.SiteId }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -877,6 +878,16 @@ const deserializeAws_restJson1ValidationExceptionResponse = async ( return contents; }; +const serializeAws_restJson1TagMap = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + const deserializeAws_restJson1InstanceTypeItem = (output: any, context: __SerdeContext): InstanceTypeItem => { return { InstanceType: output.InstanceType !== undefined && output.InstanceType !== null ? output.InstanceType : undefined, @@ -906,6 +917,10 @@ const deserializeAws_restJson1Outpost = (output: any, context: __SerdeContext): OutpostId: output.OutpostId !== undefined && output.OutpostId !== null ? output.OutpostId : undefined, OwnerId: output.OwnerId !== undefined && output.OwnerId !== null ? output.OwnerId : undefined, SiteId: output.SiteId !== undefined && output.SiteId !== null ? output.SiteId : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagMap(output.Tags, context) + : undefined, } as any; }; @@ -919,6 +934,10 @@ const deserializeAws_restJson1Site = (output: any, context: __SerdeContext): Sit Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, SiteId: output.SiteId !== undefined && output.SiteId !== null ? output.SiteId : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagMap(output.Tags, context) + : undefined, } as any; }; @@ -926,6 +945,16 @@ const deserializeAws_restJson1siteListDefinition = (output: any, context: __Serd return (output || []).map((entry: any) => deserializeAws_restJson1Site(entry, context)); }; +const deserializeAws_restJson1TagMap = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-quicksight/commands/ListNamespacesCommand.ts b/clients/client-quicksight/commands/ListNamespacesCommand.ts index ba4333da33f40..9e409f5380551 100644 --- a/clients/client-quicksight/commands/ListNamespacesCommand.ts +++ b/clients/client-quicksight/commands/ListNamespacesCommand.ts @@ -1,5 +1,6 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListNamespacesRequest, ListNamespacesResponse } from "../models/models_0"; +import { ListNamespacesRequest } from "../models/models_0"; +import { ListNamespacesResponse } from "../models/models_1"; import { deserializeAws_restJson1ListNamespacesCommand, serializeAws_restJson1ListNamespacesCommand, diff --git a/clients/client-quicksight/commands/ListTagsForResourceCommand.ts b/clients/client-quicksight/commands/ListTagsForResourceCommand.ts index df886314c7fd4..2cc1fdba33641 100644 --- a/clients/client-quicksight/commands/ListTagsForResourceCommand.ts +++ b/clients/client-quicksight/commands/ListTagsForResourceCommand.ts @@ -1,6 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListTagsForResourceRequest } from "../models/models_0"; -import { ListTagsForResourceResponse } from "../models/models_1"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_1"; import { deserializeAws_restJson1ListTagsForResourceCommand, serializeAws_restJson1ListTagsForResourceCommand, diff --git a/clients/client-quicksight/models/models_0.ts b/clients/client-quicksight/models/models_0.ts index a33d243df8b84..2d420246f00ab 100644 --- a/clients/client-quicksight/models/models_0.ts +++ b/clients/client-quicksight/models/models_0.ts @@ -1691,44 +1691,142 @@ export namespace TagColumnOperation { *

      A data transformation on a logical table. This is a variant type structure. For this * structure to be valid, only one of the attributes can be non-null.

      */ -export interface TransformOperation { +export type TransformOperation = + | TransformOperation.CastColumnTypeOperationMember + | TransformOperation.CreateColumnsOperationMember + | TransformOperation.FilterOperationMember + | TransformOperation.ProjectOperationMember + | TransformOperation.RenameColumnOperationMember + | TransformOperation.TagColumnOperationMember + | TransformOperation.$UnknownMember; + +export namespace TransformOperation { /** *

      An operation that projects columns. Operations that come after a projection can only * refer to projected columns.

      */ - ProjectOperation?: ProjectOperation; + export interface ProjectOperationMember { + ProjectOperation: ProjectOperation; + FilterOperation?: never; + CreateColumnsOperation?: never; + RenameColumnOperation?: never; + CastColumnTypeOperation?: never; + TagColumnOperation?: never; + $unknown?: never; + } /** *

      An operation that filters rows based on some condition.

      */ - FilterOperation?: FilterOperation; + export interface FilterOperationMember { + ProjectOperation?: never; + FilterOperation: FilterOperation; + CreateColumnsOperation?: never; + RenameColumnOperation?: never; + CastColumnTypeOperation?: never; + TagColumnOperation?: never; + $unknown?: never; + } /** *

      An operation that creates calculated columns. Columns created in one such operation * form a lexical closure.

      */ - CreateColumnsOperation?: CreateColumnsOperation; + export interface CreateColumnsOperationMember { + ProjectOperation?: never; + FilterOperation?: never; + CreateColumnsOperation: CreateColumnsOperation; + RenameColumnOperation?: never; + CastColumnTypeOperation?: never; + TagColumnOperation?: never; + $unknown?: never; + } /** *

      An operation that renames a column.

      */ - RenameColumnOperation?: RenameColumnOperation; + export interface RenameColumnOperationMember { + ProjectOperation?: never; + FilterOperation?: never; + CreateColumnsOperation?: never; + RenameColumnOperation: RenameColumnOperation; + CastColumnTypeOperation?: never; + TagColumnOperation?: never; + $unknown?: never; + } /** *

      A transform operation that casts a column to a different type.

      */ - CastColumnTypeOperation?: CastColumnTypeOperation; + export interface CastColumnTypeOperationMember { + ProjectOperation?: never; + FilterOperation?: never; + CreateColumnsOperation?: never; + RenameColumnOperation?: never; + CastColumnTypeOperation: CastColumnTypeOperation; + TagColumnOperation?: never; + $unknown?: never; + } /** *

      An operation that tags a column with additional information.

      */ - TagColumnOperation?: TagColumnOperation; -} - -export namespace TransformOperation { - export const filterSensitiveLog = (obj: TransformOperation): any => ({ - ...obj, - }); + export interface TagColumnOperationMember { + ProjectOperation?: never; + FilterOperation?: never; + CreateColumnsOperation?: never; + RenameColumnOperation?: never; + CastColumnTypeOperation?: never; + TagColumnOperation: TagColumnOperation; + $unknown?: never; + } + + export interface $UnknownMember { + ProjectOperation?: never; + FilterOperation?: never; + CreateColumnsOperation?: never; + RenameColumnOperation?: never; + CastColumnTypeOperation?: never; + TagColumnOperation?: never; + $unknown: [string, any]; + } + + export interface Visitor { + ProjectOperation: (value: ProjectOperation) => T; + FilterOperation: (value: FilterOperation) => T; + CreateColumnsOperation: (value: CreateColumnsOperation) => T; + RenameColumnOperation: (value: RenameColumnOperation) => T; + CastColumnTypeOperation: (value: CastColumnTypeOperation) => T; + TagColumnOperation: (value: TagColumnOperation) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: TransformOperation, visitor: Visitor): T => { + if (value.ProjectOperation !== undefined) return visitor.ProjectOperation(value.ProjectOperation); + if (value.FilterOperation !== undefined) return visitor.FilterOperation(value.FilterOperation); + if (value.CreateColumnsOperation !== undefined) return visitor.CreateColumnsOperation(value.CreateColumnsOperation); + if (value.RenameColumnOperation !== undefined) return visitor.RenameColumnOperation(value.RenameColumnOperation); + if (value.CastColumnTypeOperation !== undefined) + return visitor.CastColumnTypeOperation(value.CastColumnTypeOperation); + if (value.TagColumnOperation !== undefined) return visitor.TagColumnOperation(value.TagColumnOperation); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: TransformOperation): any => { + if (obj.ProjectOperation !== undefined) + return { ProjectOperation: ProjectOperation.filterSensitiveLog(obj.ProjectOperation) }; + if (obj.FilterOperation !== undefined) + return { FilterOperation: FilterOperation.filterSensitiveLog(obj.FilterOperation) }; + if (obj.CreateColumnsOperation !== undefined) + return { CreateColumnsOperation: CreateColumnsOperation.filterSensitiveLog(obj.CreateColumnsOperation) }; + if (obj.RenameColumnOperation !== undefined) + return { RenameColumnOperation: RenameColumnOperation.filterSensitiveLog(obj.RenameColumnOperation) }; + if (obj.CastColumnTypeOperation !== undefined) + return { CastColumnTypeOperation: CastColumnTypeOperation.filterSensitiveLog(obj.CastColumnTypeOperation) }; + if (obj.TagColumnOperation !== undefined) + return { TagColumnOperation: TagColumnOperation.filterSensitiveLog(obj.TagColumnOperation) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } export enum JoinType { @@ -1817,6 +1915,9 @@ export interface LogicalTable { export namespace LogicalTable { export const filterSensitiveLog = (obj: LogicalTable): any => ({ ...obj, + ...(obj.DataTransforms && { + DataTransforms: obj.DataTransforms.map((item) => TransformOperation.filterSensitiveLog(item)), + }), }); } @@ -1994,27 +2095,71 @@ export namespace S3Source { * underlying source. This is a variant type structure. For this structure to be valid, * only one of the attributes can be non-null.

      */ -export interface PhysicalTable { +export type PhysicalTable = + | PhysicalTable.CustomSqlMember + | PhysicalTable.RelationalTableMember + | PhysicalTable.S3SourceMember + | PhysicalTable.$UnknownMember; + +export namespace PhysicalTable { /** *

      A physical table type for relational data sources.

      */ - RelationalTable?: RelationalTable; + export interface RelationalTableMember { + RelationalTable: RelationalTable; + CustomSql?: never; + S3Source?: never; + $unknown?: never; + } /** *

      A physical table type built from the results of the custom SQL query.

      */ - CustomSql?: CustomSql; + export interface CustomSqlMember { + RelationalTable?: never; + CustomSql: CustomSql; + S3Source?: never; + $unknown?: never; + } /** *

      A physical table type for as S3 data source.

      */ - S3Source?: S3Source; -} - -export namespace PhysicalTable { - export const filterSensitiveLog = (obj: PhysicalTable): any => ({ - ...obj, - }); + export interface S3SourceMember { + RelationalTable?: never; + CustomSql?: never; + S3Source: S3Source; + $unknown?: never; + } + + export interface $UnknownMember { + RelationalTable?: never; + CustomSql?: never; + S3Source?: never; + $unknown: [string, any]; + } + + export interface Visitor { + RelationalTable: (value: RelationalTable) => T; + CustomSql: (value: CustomSql) => T; + S3Source: (value: S3Source) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: PhysicalTable, visitor: Visitor): T => { + if (value.RelationalTable !== undefined) return visitor.RelationalTable(value.RelationalTable); + if (value.CustomSql !== undefined) return visitor.CustomSql(value.CustomSql); + if (value.S3Source !== undefined) return visitor.S3Source(value.S3Source); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: PhysicalTable): any => { + if (obj.RelationalTable !== undefined) + return { RelationalTable: RelationalTable.filterSensitiveLog(obj.RelationalTable) }; + if (obj.CustomSql !== undefined) return { CustomSql: CustomSql.filterSensitiveLog(obj.CustomSql) }; + if (obj.S3Source !== undefined) return { S3Source: S3Source.filterSensitiveLog(obj.S3Source) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } export enum RowLevelPermissionPolicy { @@ -2110,6 +2255,24 @@ export interface CreateDataSetRequest { export namespace CreateDataSetRequest { export const filterSensitiveLog = (obj: CreateDataSetRequest): any => ({ ...obj, + ...(obj.PhysicalTableMap && { + PhysicalTableMap: Object.entries(obj.PhysicalTableMap).reduce( + (acc: any, [key, value]: [string, PhysicalTable]) => ({ + ...acc, + [key]: PhysicalTable.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.LogicalTableMap && { + LogicalTableMap: Object.entries(obj.LogicalTableMap).reduce( + (acc: any, [key, value]: [string, LogicalTable]) => ({ + ...acc, + [key]: LogicalTable.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -2557,112 +2720,692 @@ export namespace TwitterParameters { * This is a variant type structure. For this structure to be valid, only one of the * attributes can be non-null.

      */ -export interface DataSourceParameters { +export type DataSourceParameters = + | DataSourceParameters.AmazonElasticsearchParametersMember + | DataSourceParameters.AthenaParametersMember + | DataSourceParameters.AuroraParametersMember + | DataSourceParameters.AuroraPostgreSqlParametersMember + | DataSourceParameters.AwsIotAnalyticsParametersMember + | DataSourceParameters.JiraParametersMember + | DataSourceParameters.MariaDbParametersMember + | DataSourceParameters.MySqlParametersMember + | DataSourceParameters.OracleParametersMember + | DataSourceParameters.PostgreSqlParametersMember + | DataSourceParameters.PrestoParametersMember + | DataSourceParameters.RdsParametersMember + | DataSourceParameters.RedshiftParametersMember + | DataSourceParameters.S3ParametersMember + | DataSourceParameters.ServiceNowParametersMember + | DataSourceParameters.SnowflakeParametersMember + | DataSourceParameters.SparkParametersMember + | DataSourceParameters.SqlServerParametersMember + | DataSourceParameters.TeradataParametersMember + | DataSourceParameters.TwitterParametersMember + | DataSourceParameters.$UnknownMember; + +export namespace DataSourceParameters { /** *

      Amazon Elasticsearch Service parameters.

      */ - AmazonElasticsearchParameters?: AmazonElasticsearchParameters; + export interface AmazonElasticsearchParametersMember { + AmazonElasticsearchParameters: AmazonElasticsearchParameters; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Amazon Athena parameters.

      */ - AthenaParameters?: AthenaParameters; + export interface AthenaParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters: AthenaParameters; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Amazon Aurora MySQL parameters.

      */ - AuroraParameters?: AuroraParameters; + export interface AuroraParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters: AuroraParameters; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Aurora PostgreSQL parameters.

      */ - AuroraPostgreSqlParameters?: AuroraPostgreSqlParameters; + export interface AuroraPostgreSqlParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters: AuroraPostgreSqlParameters; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      AWS IoT Analytics parameters.

      */ - AwsIotAnalyticsParameters?: AwsIotAnalyticsParameters; + export interface AwsIotAnalyticsParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters: AwsIotAnalyticsParameters; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Jira parameters.

      */ - JiraParameters?: JiraParameters; + export interface JiraParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters: JiraParameters; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      MariaDB parameters.

      */ - MariaDbParameters?: MariaDbParameters; + export interface MariaDbParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters: MariaDbParameters; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      MySQL parameters.

      */ - MySqlParameters?: MySqlParameters; + export interface MySqlParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters: MySqlParameters; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Oracle parameters.

      */ - OracleParameters?: OracleParameters; + export interface OracleParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters: OracleParameters; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      PostgreSQL parameters.

      */ - PostgreSqlParameters?: PostgreSqlParameters; + export interface PostgreSqlParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters: PostgreSqlParameters; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Presto parameters.

      */ - PrestoParameters?: PrestoParameters; + export interface PrestoParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters: PrestoParameters; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Amazon RDS parameters.

      */ - RdsParameters?: RdsParameters; + export interface RdsParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters: RdsParameters; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Amazon Redshift parameters.

      */ - RedshiftParameters?: RedshiftParameters; + export interface RedshiftParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters: RedshiftParameters; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      S3 parameters.

      */ - S3Parameters?: S3Parameters; + export interface S3ParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters: S3Parameters; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      ServiceNow parameters.

      */ - ServiceNowParameters?: ServiceNowParameters; + export interface ServiceNowParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters: ServiceNowParameters; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Snowflake parameters.

      */ - SnowflakeParameters?: SnowflakeParameters; + export interface SnowflakeParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters: SnowflakeParameters; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Spark parameters.

      */ - SparkParameters?: SparkParameters; + export interface SparkParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters: SparkParameters; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      SQL Server parameters.

      */ - SqlServerParameters?: SqlServerParameters; + export interface SqlServerParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters: SqlServerParameters; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Teradata parameters.

      */ - TeradataParameters?: TeradataParameters; + export interface TeradataParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters: TeradataParameters; + TwitterParameters?: never; + $unknown?: never; + } /** *

      Twitter parameters.

      */ - TwitterParameters?: TwitterParameters; -} - -export namespace DataSourceParameters { - export const filterSensitiveLog = (obj: DataSourceParameters): any => ({ - ...obj, - }); + export interface TwitterParametersMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters: TwitterParameters; + $unknown?: never; + } + + export interface $UnknownMember { + AmazonElasticsearchParameters?: never; + AthenaParameters?: never; + AuroraParameters?: never; + AuroraPostgreSqlParameters?: never; + AwsIotAnalyticsParameters?: never; + JiraParameters?: never; + MariaDbParameters?: never; + MySqlParameters?: never; + OracleParameters?: never; + PostgreSqlParameters?: never; + PrestoParameters?: never; + RdsParameters?: never; + RedshiftParameters?: never; + S3Parameters?: never; + ServiceNowParameters?: never; + SnowflakeParameters?: never; + SparkParameters?: never; + SqlServerParameters?: never; + TeradataParameters?: never; + TwitterParameters?: never; + $unknown: [string, any]; + } + + export interface Visitor { + AmazonElasticsearchParameters: (value: AmazonElasticsearchParameters) => T; + AthenaParameters: (value: AthenaParameters) => T; + AuroraParameters: (value: AuroraParameters) => T; + AuroraPostgreSqlParameters: (value: AuroraPostgreSqlParameters) => T; + AwsIotAnalyticsParameters: (value: AwsIotAnalyticsParameters) => T; + JiraParameters: (value: JiraParameters) => T; + MariaDbParameters: (value: MariaDbParameters) => T; + MySqlParameters: (value: MySqlParameters) => T; + OracleParameters: (value: OracleParameters) => T; + PostgreSqlParameters: (value: PostgreSqlParameters) => T; + PrestoParameters: (value: PrestoParameters) => T; + RdsParameters: (value: RdsParameters) => T; + RedshiftParameters: (value: RedshiftParameters) => T; + S3Parameters: (value: S3Parameters) => T; + ServiceNowParameters: (value: ServiceNowParameters) => T; + SnowflakeParameters: (value: SnowflakeParameters) => T; + SparkParameters: (value: SparkParameters) => T; + SqlServerParameters: (value: SqlServerParameters) => T; + TeradataParameters: (value: TeradataParameters) => T; + TwitterParameters: (value: TwitterParameters) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: DataSourceParameters, visitor: Visitor): T => { + if (value.AmazonElasticsearchParameters !== undefined) + return visitor.AmazonElasticsearchParameters(value.AmazonElasticsearchParameters); + if (value.AthenaParameters !== undefined) return visitor.AthenaParameters(value.AthenaParameters); + if (value.AuroraParameters !== undefined) return visitor.AuroraParameters(value.AuroraParameters); + if (value.AuroraPostgreSqlParameters !== undefined) + return visitor.AuroraPostgreSqlParameters(value.AuroraPostgreSqlParameters); + if (value.AwsIotAnalyticsParameters !== undefined) + return visitor.AwsIotAnalyticsParameters(value.AwsIotAnalyticsParameters); + if (value.JiraParameters !== undefined) return visitor.JiraParameters(value.JiraParameters); + if (value.MariaDbParameters !== undefined) return visitor.MariaDbParameters(value.MariaDbParameters); + if (value.MySqlParameters !== undefined) return visitor.MySqlParameters(value.MySqlParameters); + if (value.OracleParameters !== undefined) return visitor.OracleParameters(value.OracleParameters); + if (value.PostgreSqlParameters !== undefined) return visitor.PostgreSqlParameters(value.PostgreSqlParameters); + if (value.PrestoParameters !== undefined) return visitor.PrestoParameters(value.PrestoParameters); + if (value.RdsParameters !== undefined) return visitor.RdsParameters(value.RdsParameters); + if (value.RedshiftParameters !== undefined) return visitor.RedshiftParameters(value.RedshiftParameters); + if (value.S3Parameters !== undefined) return visitor.S3Parameters(value.S3Parameters); + if (value.ServiceNowParameters !== undefined) return visitor.ServiceNowParameters(value.ServiceNowParameters); + if (value.SnowflakeParameters !== undefined) return visitor.SnowflakeParameters(value.SnowflakeParameters); + if (value.SparkParameters !== undefined) return visitor.SparkParameters(value.SparkParameters); + if (value.SqlServerParameters !== undefined) return visitor.SqlServerParameters(value.SqlServerParameters); + if (value.TeradataParameters !== undefined) return visitor.TeradataParameters(value.TeradataParameters); + if (value.TwitterParameters !== undefined) return visitor.TwitterParameters(value.TwitterParameters); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: DataSourceParameters): any => { + if (obj.AmazonElasticsearchParameters !== undefined) + return { + AmazonElasticsearchParameters: AmazonElasticsearchParameters.filterSensitiveLog( + obj.AmazonElasticsearchParameters + ), + }; + if (obj.AthenaParameters !== undefined) + return { AthenaParameters: AthenaParameters.filterSensitiveLog(obj.AthenaParameters) }; + if (obj.AuroraParameters !== undefined) + return { AuroraParameters: AuroraParameters.filterSensitiveLog(obj.AuroraParameters) }; + if (obj.AuroraPostgreSqlParameters !== undefined) + return { + AuroraPostgreSqlParameters: AuroraPostgreSqlParameters.filterSensitiveLog(obj.AuroraPostgreSqlParameters), + }; + if (obj.AwsIotAnalyticsParameters !== undefined) + return { AwsIotAnalyticsParameters: AwsIotAnalyticsParameters.filterSensitiveLog(obj.AwsIotAnalyticsParameters) }; + if (obj.JiraParameters !== undefined) + return { JiraParameters: JiraParameters.filterSensitiveLog(obj.JiraParameters) }; + if (obj.MariaDbParameters !== undefined) + return { MariaDbParameters: MariaDbParameters.filterSensitiveLog(obj.MariaDbParameters) }; + if (obj.MySqlParameters !== undefined) + return { MySqlParameters: MySqlParameters.filterSensitiveLog(obj.MySqlParameters) }; + if (obj.OracleParameters !== undefined) + return { OracleParameters: OracleParameters.filterSensitiveLog(obj.OracleParameters) }; + if (obj.PostgreSqlParameters !== undefined) + return { PostgreSqlParameters: PostgreSqlParameters.filterSensitiveLog(obj.PostgreSqlParameters) }; + if (obj.PrestoParameters !== undefined) + return { PrestoParameters: PrestoParameters.filterSensitiveLog(obj.PrestoParameters) }; + if (obj.RdsParameters !== undefined) return { RdsParameters: RdsParameters.filterSensitiveLog(obj.RdsParameters) }; + if (obj.RedshiftParameters !== undefined) + return { RedshiftParameters: RedshiftParameters.filterSensitiveLog(obj.RedshiftParameters) }; + if (obj.S3Parameters !== undefined) return { S3Parameters: S3Parameters.filterSensitiveLog(obj.S3Parameters) }; + if (obj.ServiceNowParameters !== undefined) + return { ServiceNowParameters: ServiceNowParameters.filterSensitiveLog(obj.ServiceNowParameters) }; + if (obj.SnowflakeParameters !== undefined) + return { SnowflakeParameters: SnowflakeParameters.filterSensitiveLog(obj.SnowflakeParameters) }; + if (obj.SparkParameters !== undefined) + return { SparkParameters: SparkParameters.filterSensitiveLog(obj.SparkParameters) }; + if (obj.SqlServerParameters !== undefined) + return { SqlServerParameters: SqlServerParameters.filterSensitiveLog(obj.SqlServerParameters) }; + if (obj.TeradataParameters !== undefined) + return { TeradataParameters: TeradataParameters.filterSensitiveLog(obj.TeradataParameters) }; + if (obj.TwitterParameters !== undefined) + return { TwitterParameters: TwitterParameters.filterSensitiveLog(obj.TwitterParameters) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } /** @@ -2696,6 +3439,11 @@ export interface CredentialPair { export namespace CredentialPair { export const filterSensitiveLog = (obj: CredentialPair): any => ({ ...obj, + ...(obj.AlternateDataSourceParameters && { + AlternateDataSourceParameters: obj.AlternateDataSourceParameters.map((item) => + DataSourceParameters.filterSensitiveLog(item) + ), + }), }); } @@ -2721,6 +3469,7 @@ export interface DataSourceCredentials { export namespace DataSourceCredentials { export const filterSensitiveLog = (obj: DataSourceCredentials): any => ({ ...obj, + ...(obj.CredentialPair && { CredentialPair: CredentialPair.filterSensitiveLog(obj.CredentialPair) }), }); } @@ -2844,6 +3593,9 @@ export interface CreateDataSourceRequest { export namespace CreateDataSourceRequest { export const filterSensitiveLog = (obj: CreateDataSourceRequest): any => ({ ...obj, + ...(obj.DataSourceParameters && { + DataSourceParameters: DataSourceParameters.filterSensitiveLog(obj.DataSourceParameters), + }), ...(obj.Credentials && { Credentials: SENSITIVE_STRING }), }); } @@ -4363,6 +5115,24 @@ export interface DataSet { export namespace DataSet { export const filterSensitiveLog = (obj: DataSet): any => ({ ...obj, + ...(obj.PhysicalTableMap && { + PhysicalTableMap: Object.entries(obj.PhysicalTableMap).reduce( + (acc: any, [key, value]: [string, PhysicalTable]) => ({ + ...acc, + [key]: PhysicalTable.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.LogicalTableMap && { + LogicalTableMap: Object.entries(obj.LogicalTableMap).reduce( + (acc: any, [key, value]: [string, LogicalTable]) => ({ + ...acc, + [key]: LogicalTable.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -4449,7 +5219,7 @@ export interface DataSetSummary { /** *

      Indicates if the dataset has column level permission - * configured.

      + * configured.

      */ ColumnLevelPermissionRulesApplied?: boolean; } @@ -4574,6 +5344,14 @@ export interface DataSource { export namespace DataSource { export const filterSensitiveLog = (obj: DataSource): any => ({ ...obj, + ...(obj.DataSourceParameters && { + DataSourceParameters: DataSourceParameters.filterSensitiveLog(obj.DataSourceParameters), + }), + ...(obj.AlternateDataSourceParameters && { + AlternateDataSourceParameters: obj.AlternateDataSourceParameters.map((item) => + DataSourceParameters.filterSensitiveLog(item) + ), + }), }); } @@ -5654,6 +6432,7 @@ export interface DescribeDataSetResponse { export namespace DescribeDataSetResponse { export const filterSensitiveLog = (obj: DescribeDataSetResponse): any => ({ ...obj, + ...(obj.DataSet && { DataSet: DataSet.filterSensitiveLog(obj.DataSet) }), }); } @@ -5746,6 +6525,7 @@ export interface DescribeDataSourceResponse { export namespace DescribeDataSourceResponse { export const filterSensitiveLog = (obj: DescribeDataSourceResponse): any => ({ ...obj, + ...(obj.DataSource && { DataSource: DataSource.filterSensitiveLog(obj.DataSource) }), }); } @@ -7029,6 +7809,15 @@ export namespace DomainNotWhitelistedException { }); } +export enum EmbeddingIdentityType { + ANONYMOUS = "ANONYMOUS", + IAM = "IAM", + QUICKSIGHT = "QUICKSIGHT", +} + +/** + *

      Parameter input for the GetDashboardEmbedUrl operation.

      + */ export interface GetDashboardEmbedUrlRequest { /** *

      The ID for the AWS account that contains the dashboard that you're embedding.

      @@ -7043,7 +7832,7 @@ export interface GetDashboardEmbedUrlRequest { /** *

      The authentication method that the user uses to sign in.

      */ - IdentityType: IdentityType | string | undefined; + IdentityType: EmbeddingIdentityType | string | undefined; /** *

      How many minutes the session is valid. The session lifetime must be 15-600 minutes.

      @@ -7092,6 +7881,24 @@ export interface GetDashboardEmbedUrlRequest { * role-based sessions.

      */ UserArn?: string; + + /** + *

      The QuickSight namespace that contains the dashboard IDs in this request. + * If you're not using a custom namespace, set this to + * "default".

      + */ + Namespace?: string; + + /** + *

      A list of one or more dashboard ids that you want to add to a session that + * includes anonymous authorizations. IdentityType must be set to ANONYMOUS + * for this to work, because other other identity types authenticate as QuickSight users. + * For example, if you set "--dashboard-id dash_id1 --dashboard-id dash_id2 + * dash_id3 identity-type ANONYMOUS", the session can access all + * three dashboards. + *

      + */ + AdditionalDashboardIds?: string[]; } export namespace GetDashboardEmbedUrlRequest { @@ -7100,6 +7907,9 @@ export namespace GetDashboardEmbedUrlRequest { }); } +/** + *

      Output returned from the GetDashboardEmbedUrl operation.

      + */ export interface GetDashboardEmbedUrlResponse { /** *

      A single-use URL that you can put into your server-side webpage to embed your @@ -7188,6 +7998,33 @@ export namespace SessionLifetimeInMinutesInvalidException { }); } +/** + *

      This error indicates that you are calling an embedding operation in Amazon QuickSight + * without the required pricing plan on your AWS account. Before you can use anonymous + * embedding, a QuickSight administrator needs to add capacity pricing to QuickSight. You + * can do this on the Manage QuickSight page.

      + *

      After capacity pricing is added, you can enable anonymous embedding by using the + * + * GetDashboardEmbedUrl + * API operation with the + * --identity-type ANONYMOUS option.

      + */ +export interface UnsupportedPricingPlanException extends __SmithyException, $MetadataBearer { + name: "UnsupportedPricingPlanException"; + $fault: "client"; + Message?: string; + /** + *

      The AWS request ID for this request.

      + */ + RequestId?: string; +} + +export namespace UnsupportedPricingPlanException { + export const filterSensitiveLog = (obj: UnsupportedPricingPlanException): any => ({ + ...obj, + }); +} + export interface GetSessionEmbedUrlRequest { /** *

      The ID for the AWS account associated with your QuickSight subscription.

      @@ -7573,6 +8410,7 @@ export interface ListDataSourcesResponse { export namespace ListDataSourcesResponse { export const filterSensitiveLog = (obj: ListDataSourcesResponse): any => ({ ...obj, + ...(obj.DataSources && { DataSources: obj.DataSources.map((item) => DataSource.filterSensitiveLog(item)) }), }); } @@ -7895,46 +8733,3 @@ export namespace ListNamespacesRequest { ...obj, }); } - -export interface ListNamespacesResponse { - /** - *

      The information about the namespaces in this AWS account. The response includes - * the namespace ARN, name, AWS Region, notification email address, creation status, and - * identity store.

      - */ - Namespaces?: NamespaceInfoV2[]; - - /** - *

      A pagination token that can be used in a subsequent request.

      - */ - NextToken?: string; - - /** - *

      The AWS request ID for this operation.

      - */ - RequestId?: string; - - /** - *

      The HTTP status of the request.

      - */ - Status?: number; -} - -export namespace ListNamespacesResponse { - export const filterSensitiveLog = (obj: ListNamespacesResponse): any => ({ - ...obj, - }); -} - -export interface ListTagsForResourceRequest { - /** - *

      The Amazon Resource Name (ARN) of the resource that you want a list of tags for.

      - */ - ResourceArn: string | undefined; -} - -export namespace ListTagsForResourceRequest { - export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-quicksight/models/models_1.ts b/clients/client-quicksight/models/models_1.ts index 15806dd2ba516..7cc6e953781da 100644 --- a/clients/client-quicksight/models/models_1.ts +++ b/clients/client-quicksight/models/models_1.ts @@ -16,6 +16,7 @@ import { Group, IdentityType, LogicalTable, + NamespaceInfoV2, PhysicalTable, ResourcePermission, ResourceStatus, @@ -34,6 +35,49 @@ import { } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface ListNamespacesResponse { + /** + *

      The information about the namespaces in this AWS account. The response includes + * the namespace ARN, name, AWS Region, notification email address, creation status, and + * identity store.

      + */ + Namespaces?: NamespaceInfoV2[]; + + /** + *

      A pagination token that can be used in a subsequent request.

      + */ + NextToken?: string; + + /** + *

      The AWS request ID for this operation.

      + */ + RequestId?: string; + + /** + *

      The HTTP status of the request.

      + */ + Status?: number; +} + +export namespace ListNamespacesResponse { + export const filterSensitiveLog = (obj: ListNamespacesResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

      The Amazon Resource Name (ARN) of the resource that you want a list of tags for.

      + */ + ResourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + export interface ListTagsForResourceResponse { /** *

      Contains a map of the key-value pairs for the resource tag or tags assigned to the @@ -1617,6 +1661,24 @@ export interface UpdateDataSetRequest { export namespace UpdateDataSetRequest { export const filterSensitiveLog = (obj: UpdateDataSetRequest): any => ({ ...obj, + ...(obj.PhysicalTableMap && { + PhysicalTableMap: Object.entries(obj.PhysicalTableMap).reduce( + (acc: any, [key, value]: [string, PhysicalTable]) => ({ + ...acc, + [key]: PhysicalTable.filterSensitiveLog(value), + }), + {} + ), + }), + ...(obj.LogicalTableMap && { + LogicalTableMap: Object.entries(obj.LogicalTableMap).reduce( + (acc: any, [key, value]: [string, LogicalTable]) => ({ + ...acc, + [key]: LogicalTable.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -1761,6 +1823,9 @@ export interface UpdateDataSourceRequest { export namespace UpdateDataSourceRequest { export const filterSensitiveLog = (obj: UpdateDataSourceRequest): any => ({ ...obj, + ...(obj.DataSourceParameters && { + DataSourceParameters: DataSourceParameters.filterSensitiveLog(obj.DataSourceParameters), + }), ...(obj.Credentials && { Credentials: SENSITIVE_STRING }), }); } diff --git a/clients/client-quicksight/protocols/Aws_restJson1.ts b/clients/client-quicksight/protocols/Aws_restJson1.ts index 3bee1273dd340..9308997679e03 100644 --- a/clients/client-quicksight/protocols/Aws_restJson1.ts +++ b/clients/client-quicksight/protocols/Aws_restJson1.ts @@ -344,6 +344,7 @@ import { TransformOperation, TwitterParameters, UIColorPalette, + UnsupportedPricingPlanException, UnsupportedUserEditionException, UploadSettings, User, @@ -2684,6 +2685,10 @@ export const serializeAws_restJson1GetDashboardEmbedUrlCommand = async ( "state-persistence-enabled": input.StatePersistenceEnabled.toString(), }), ...(input.UserArn !== undefined && { "user-arn": input.UserArn }), + ...(input.Namespace !== undefined && { namespace: input.Namespace }), + ...(input.AdditionalDashboardIds !== undefined && { + "additional-dashboard-ids": (input.AdditionalDashboardIds || []).map((_entry) => _entry), + }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -10410,6 +10415,14 @@ const deserializeAws_restJson1GetDashboardEmbedUrlCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedPricingPlanException": + case "com.amazonaws.quicksight#UnsupportedPricingPlanException": + response = { + ...(await deserializeAws_restJson1UnsupportedPricingPlanExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnsupportedUserEditionException": case "com.amazonaws.quicksight#UnsupportedUserEditionException": response = { @@ -15894,6 +15907,27 @@ const deserializeAws_restJson1ThrottlingExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1UnsupportedPricingPlanExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: UnsupportedPricingPlanException = { + name: "UnsupportedPricingPlanException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + RequestId: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return contents; +}; + const deserializeAws_restJson1UnsupportedUserEditionExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -16210,77 +16244,43 @@ const serializeAws_restJson1DataSourceCredentials = (input: DataSourceCredential }; const serializeAws_restJson1DataSourceParameters = (input: DataSourceParameters, context: __SerdeContext): any => { - return { - ...(input.AmazonElasticsearchParameters !== undefined && { - AmazonElasticsearchParameters: serializeAws_restJson1AmazonElasticsearchParameters( - input.AmazonElasticsearchParameters, - context - ), - }), - ...(input.AthenaParameters !== undefined && { - AthenaParameters: serializeAws_restJson1AthenaParameters(input.AthenaParameters, context), - }), - ...(input.AuroraParameters !== undefined && { - AuroraParameters: serializeAws_restJson1AuroraParameters(input.AuroraParameters, context), - }), - ...(input.AuroraPostgreSqlParameters !== undefined && { - AuroraPostgreSqlParameters: serializeAws_restJson1AuroraPostgreSqlParameters( - input.AuroraPostgreSqlParameters, - context - ), - }), - ...(input.AwsIotAnalyticsParameters !== undefined && { - AwsIotAnalyticsParameters: serializeAws_restJson1AwsIotAnalyticsParameters( - input.AwsIotAnalyticsParameters, - context - ), - }), - ...(input.JiraParameters !== undefined && { - JiraParameters: serializeAws_restJson1JiraParameters(input.JiraParameters, context), - }), - ...(input.MariaDbParameters !== undefined && { - MariaDbParameters: serializeAws_restJson1MariaDbParameters(input.MariaDbParameters, context), - }), - ...(input.MySqlParameters !== undefined && { - MySqlParameters: serializeAws_restJson1MySqlParameters(input.MySqlParameters, context), - }), - ...(input.OracleParameters !== undefined && { - OracleParameters: serializeAws_restJson1OracleParameters(input.OracleParameters, context), + return DataSourceParameters.visit(input, { + AmazonElasticsearchParameters: (value) => ({ + AmazonElasticsearchParameters: serializeAws_restJson1AmazonElasticsearchParameters(value, context), }), - ...(input.PostgreSqlParameters !== undefined && { - PostgreSqlParameters: serializeAws_restJson1PostgreSqlParameters(input.PostgreSqlParameters, context), + AthenaParameters: (value) => ({ AthenaParameters: serializeAws_restJson1AthenaParameters(value, context) }), + AuroraParameters: (value) => ({ AuroraParameters: serializeAws_restJson1AuroraParameters(value, context) }), + AuroraPostgreSqlParameters: (value) => ({ + AuroraPostgreSqlParameters: serializeAws_restJson1AuroraPostgreSqlParameters(value, context), }), - ...(input.PrestoParameters !== undefined && { - PrestoParameters: serializeAws_restJson1PrestoParameters(input.PrestoParameters, context), + AwsIotAnalyticsParameters: (value) => ({ + AwsIotAnalyticsParameters: serializeAws_restJson1AwsIotAnalyticsParameters(value, context), }), - ...(input.RdsParameters !== undefined && { - RdsParameters: serializeAws_restJson1RdsParameters(input.RdsParameters, context), + JiraParameters: (value) => ({ JiraParameters: serializeAws_restJson1JiraParameters(value, context) }), + MariaDbParameters: (value) => ({ MariaDbParameters: serializeAws_restJson1MariaDbParameters(value, context) }), + MySqlParameters: (value) => ({ MySqlParameters: serializeAws_restJson1MySqlParameters(value, context) }), + OracleParameters: (value) => ({ OracleParameters: serializeAws_restJson1OracleParameters(value, context) }), + PostgreSqlParameters: (value) => ({ + PostgreSqlParameters: serializeAws_restJson1PostgreSqlParameters(value, context), }), - ...(input.RedshiftParameters !== undefined && { - RedshiftParameters: serializeAws_restJson1RedshiftParameters(input.RedshiftParameters, context), + PrestoParameters: (value) => ({ PrestoParameters: serializeAws_restJson1PrestoParameters(value, context) }), + RdsParameters: (value) => ({ RdsParameters: serializeAws_restJson1RdsParameters(value, context) }), + RedshiftParameters: (value) => ({ RedshiftParameters: serializeAws_restJson1RedshiftParameters(value, context) }), + S3Parameters: (value) => ({ S3Parameters: serializeAws_restJson1S3Parameters(value, context) }), + ServiceNowParameters: (value) => ({ + ServiceNowParameters: serializeAws_restJson1ServiceNowParameters(value, context), }), - ...(input.S3Parameters !== undefined && { - S3Parameters: serializeAws_restJson1S3Parameters(input.S3Parameters, context), + SnowflakeParameters: (value) => ({ + SnowflakeParameters: serializeAws_restJson1SnowflakeParameters(value, context), }), - ...(input.ServiceNowParameters !== undefined && { - ServiceNowParameters: serializeAws_restJson1ServiceNowParameters(input.ServiceNowParameters, context), + SparkParameters: (value) => ({ SparkParameters: serializeAws_restJson1SparkParameters(value, context) }), + SqlServerParameters: (value) => ({ + SqlServerParameters: serializeAws_restJson1SqlServerParameters(value, context), }), - ...(input.SnowflakeParameters !== undefined && { - SnowflakeParameters: serializeAws_restJson1SnowflakeParameters(input.SnowflakeParameters, context), - }), - ...(input.SparkParameters !== undefined && { - SparkParameters: serializeAws_restJson1SparkParameters(input.SparkParameters, context), - }), - ...(input.SqlServerParameters !== undefined && { - SqlServerParameters: serializeAws_restJson1SqlServerParameters(input.SqlServerParameters, context), - }), - ...(input.TeradataParameters !== undefined && { - TeradataParameters: serializeAws_restJson1TeradataParameters(input.TeradataParameters, context), - }), - ...(input.TwitterParameters !== undefined && { - TwitterParameters: serializeAws_restJson1TwitterParameters(input.TwitterParameters, context), - }), - }; + TeradataParameters: (value) => ({ TeradataParameters: serializeAws_restJson1TeradataParameters(value, context) }), + TwitterParameters: (value) => ({ TwitterParameters: serializeAws_restJson1TwitterParameters(value, context) }), + _: (name, value) => ({ name: value } as any), + }); }; const serializeAws_restJson1DataSourceParametersList = ( @@ -16484,13 +16484,12 @@ const serializeAws_restJson1_Parameters = (input: _Parameters, context: __SerdeC }; const serializeAws_restJson1PhysicalTable = (input: PhysicalTable, context: __SerdeContext): any => { - return { - ...(input.CustomSql !== undefined && { CustomSql: serializeAws_restJson1CustomSql(input.CustomSql, context) }), - ...(input.RelationalTable !== undefined && { - RelationalTable: serializeAws_restJson1RelationalTable(input.RelationalTable, context), - }), - ...(input.S3Source !== undefined && { S3Source: serializeAws_restJson1S3Source(input.S3Source, context) }), - }; + return PhysicalTable.visit(input, { + CustomSql: (value) => ({ CustomSql: serializeAws_restJson1CustomSql(value, context) }), + RelationalTable: (value) => ({ RelationalTable: serializeAws_restJson1RelationalTable(value, context) }), + S3Source: (value) => ({ S3Source: serializeAws_restJson1S3Source(value, context) }), + _: (name, value) => ({ name: value } as any), + }); }; const serializeAws_restJson1PhysicalTableMap = ( @@ -16761,26 +16760,21 @@ const serializeAws_restJson1TimestampList = (input: Date[], context: __SerdeCont }; const serializeAws_restJson1TransformOperation = (input: TransformOperation, context: __SerdeContext): any => { - return { - ...(input.CastColumnTypeOperation !== undefined && { - CastColumnTypeOperation: serializeAws_restJson1CastColumnTypeOperation(input.CastColumnTypeOperation, context), + return TransformOperation.visit(input, { + CastColumnTypeOperation: (value) => ({ + CastColumnTypeOperation: serializeAws_restJson1CastColumnTypeOperation(value, context), }), - ...(input.CreateColumnsOperation !== undefined && { - CreateColumnsOperation: serializeAws_restJson1CreateColumnsOperation(input.CreateColumnsOperation, context), + CreateColumnsOperation: (value) => ({ + CreateColumnsOperation: serializeAws_restJson1CreateColumnsOperation(value, context), }), - ...(input.FilterOperation !== undefined && { - FilterOperation: serializeAws_restJson1FilterOperation(input.FilterOperation, context), + FilterOperation: (value) => ({ FilterOperation: serializeAws_restJson1FilterOperation(value, context) }), + ProjectOperation: (value) => ({ ProjectOperation: serializeAws_restJson1ProjectOperation(value, context) }), + RenameColumnOperation: (value) => ({ + RenameColumnOperation: serializeAws_restJson1RenameColumnOperation(value, context), }), - ...(input.ProjectOperation !== undefined && { - ProjectOperation: serializeAws_restJson1ProjectOperation(input.ProjectOperation, context), - }), - ...(input.RenameColumnOperation !== undefined && { - RenameColumnOperation: serializeAws_restJson1RenameColumnOperation(input.RenameColumnOperation, context), - }), - ...(input.TagColumnOperation !== undefined && { - TagColumnOperation: serializeAws_restJson1TagColumnOperation(input.TagColumnOperation, context), - }), - }; + TagColumnOperation: (value) => ({ TagColumnOperation: serializeAws_restJson1TagColumnOperation(value, context) }), + _: (name, value) => ({ name: value } as any), + }); }; const serializeAws_restJson1TransformOperationList = (input: TransformOperation[], context: __SerdeContext): any => { @@ -17447,88 +17441,116 @@ const deserializeAws_restJson1DataSourceList = (output: any, context: __SerdeCon }; const deserializeAws_restJson1DataSourceParameters = (output: any, context: __SerdeContext): DataSourceParameters => { - return { - AmazonElasticsearchParameters: - output.AmazonElasticsearchParameters !== undefined && output.AmazonElasticsearchParameters !== null - ? deserializeAws_restJson1AmazonElasticsearchParameters(output.AmazonElasticsearchParameters, context) - : undefined, - AthenaParameters: - output.AthenaParameters !== undefined && output.AthenaParameters !== null - ? deserializeAws_restJson1AthenaParameters(output.AthenaParameters, context) - : undefined, - AuroraParameters: - output.AuroraParameters !== undefined && output.AuroraParameters !== null - ? deserializeAws_restJson1AuroraParameters(output.AuroraParameters, context) - : undefined, - AuroraPostgreSqlParameters: - output.AuroraPostgreSqlParameters !== undefined && output.AuroraPostgreSqlParameters !== null - ? deserializeAws_restJson1AuroraPostgreSqlParameters(output.AuroraPostgreSqlParameters, context) - : undefined, - AwsIotAnalyticsParameters: - output.AwsIotAnalyticsParameters !== undefined && output.AwsIotAnalyticsParameters !== null - ? deserializeAws_restJson1AwsIotAnalyticsParameters(output.AwsIotAnalyticsParameters, context) - : undefined, - JiraParameters: - output.JiraParameters !== undefined && output.JiraParameters !== null - ? deserializeAws_restJson1JiraParameters(output.JiraParameters, context) - : undefined, - MariaDbParameters: - output.MariaDbParameters !== undefined && output.MariaDbParameters !== null - ? deserializeAws_restJson1MariaDbParameters(output.MariaDbParameters, context) - : undefined, - MySqlParameters: - output.MySqlParameters !== undefined && output.MySqlParameters !== null - ? deserializeAws_restJson1MySqlParameters(output.MySqlParameters, context) - : undefined, - OracleParameters: - output.OracleParameters !== undefined && output.OracleParameters !== null - ? deserializeAws_restJson1OracleParameters(output.OracleParameters, context) - : undefined, - PostgreSqlParameters: - output.PostgreSqlParameters !== undefined && output.PostgreSqlParameters !== null - ? deserializeAws_restJson1PostgreSqlParameters(output.PostgreSqlParameters, context) - : undefined, - PrestoParameters: - output.PrestoParameters !== undefined && output.PrestoParameters !== null - ? deserializeAws_restJson1PrestoParameters(output.PrestoParameters, context) - : undefined, - RdsParameters: - output.RdsParameters !== undefined && output.RdsParameters !== null - ? deserializeAws_restJson1RdsParameters(output.RdsParameters, context) - : undefined, - RedshiftParameters: - output.RedshiftParameters !== undefined && output.RedshiftParameters !== null - ? deserializeAws_restJson1RedshiftParameters(output.RedshiftParameters, context) - : undefined, - S3Parameters: - output.S3Parameters !== undefined && output.S3Parameters !== null - ? deserializeAws_restJson1S3Parameters(output.S3Parameters, context) - : undefined, - ServiceNowParameters: - output.ServiceNowParameters !== undefined && output.ServiceNowParameters !== null - ? deserializeAws_restJson1ServiceNowParameters(output.ServiceNowParameters, context) - : undefined, - SnowflakeParameters: - output.SnowflakeParameters !== undefined && output.SnowflakeParameters !== null - ? deserializeAws_restJson1SnowflakeParameters(output.SnowflakeParameters, context) - : undefined, - SparkParameters: - output.SparkParameters !== undefined && output.SparkParameters !== null - ? deserializeAws_restJson1SparkParameters(output.SparkParameters, context) - : undefined, - SqlServerParameters: - output.SqlServerParameters !== undefined && output.SqlServerParameters !== null - ? deserializeAws_restJson1SqlServerParameters(output.SqlServerParameters, context) - : undefined, - TeradataParameters: - output.TeradataParameters !== undefined && output.TeradataParameters !== null - ? deserializeAws_restJson1TeradataParameters(output.TeradataParameters, context) - : undefined, - TwitterParameters: - output.TwitterParameters !== undefined && output.TwitterParameters !== null - ? deserializeAws_restJson1TwitterParameters(output.TwitterParameters, context) - : undefined, - } as any; + if (output.AmazonElasticsearchParameters !== undefined && output.AmazonElasticsearchParameters !== null) { + return { + AmazonElasticsearchParameters: deserializeAws_restJson1AmazonElasticsearchParameters( + output.AmazonElasticsearchParameters, + context + ), + }; + } + if (output.AthenaParameters !== undefined && output.AthenaParameters !== null) { + return { + AthenaParameters: deserializeAws_restJson1AthenaParameters(output.AthenaParameters, context), + }; + } + if (output.AuroraParameters !== undefined && output.AuroraParameters !== null) { + return { + AuroraParameters: deserializeAws_restJson1AuroraParameters(output.AuroraParameters, context), + }; + } + if (output.AuroraPostgreSqlParameters !== undefined && output.AuroraPostgreSqlParameters !== null) { + return { + AuroraPostgreSqlParameters: deserializeAws_restJson1AuroraPostgreSqlParameters( + output.AuroraPostgreSqlParameters, + context + ), + }; + } + if (output.AwsIotAnalyticsParameters !== undefined && output.AwsIotAnalyticsParameters !== null) { + return { + AwsIotAnalyticsParameters: deserializeAws_restJson1AwsIotAnalyticsParameters( + output.AwsIotAnalyticsParameters, + context + ), + }; + } + if (output.JiraParameters !== undefined && output.JiraParameters !== null) { + return { + JiraParameters: deserializeAws_restJson1JiraParameters(output.JiraParameters, context), + }; + } + if (output.MariaDbParameters !== undefined && output.MariaDbParameters !== null) { + return { + MariaDbParameters: deserializeAws_restJson1MariaDbParameters(output.MariaDbParameters, context), + }; + } + if (output.MySqlParameters !== undefined && output.MySqlParameters !== null) { + return { + MySqlParameters: deserializeAws_restJson1MySqlParameters(output.MySqlParameters, context), + }; + } + if (output.OracleParameters !== undefined && output.OracleParameters !== null) { + return { + OracleParameters: deserializeAws_restJson1OracleParameters(output.OracleParameters, context), + }; + } + if (output.PostgreSqlParameters !== undefined && output.PostgreSqlParameters !== null) { + return { + PostgreSqlParameters: deserializeAws_restJson1PostgreSqlParameters(output.PostgreSqlParameters, context), + }; + } + if (output.PrestoParameters !== undefined && output.PrestoParameters !== null) { + return { + PrestoParameters: deserializeAws_restJson1PrestoParameters(output.PrestoParameters, context), + }; + } + if (output.RdsParameters !== undefined && output.RdsParameters !== null) { + return { + RdsParameters: deserializeAws_restJson1RdsParameters(output.RdsParameters, context), + }; + } + if (output.RedshiftParameters !== undefined && output.RedshiftParameters !== null) { + return { + RedshiftParameters: deserializeAws_restJson1RedshiftParameters(output.RedshiftParameters, context), + }; + } + if (output.S3Parameters !== undefined && output.S3Parameters !== null) { + return { + S3Parameters: deserializeAws_restJson1S3Parameters(output.S3Parameters, context), + }; + } + if (output.ServiceNowParameters !== undefined && output.ServiceNowParameters !== null) { + return { + ServiceNowParameters: deserializeAws_restJson1ServiceNowParameters(output.ServiceNowParameters, context), + }; + } + if (output.SnowflakeParameters !== undefined && output.SnowflakeParameters !== null) { + return { + SnowflakeParameters: deserializeAws_restJson1SnowflakeParameters(output.SnowflakeParameters, context), + }; + } + if (output.SparkParameters !== undefined && output.SparkParameters !== null) { + return { + SparkParameters: deserializeAws_restJson1SparkParameters(output.SparkParameters, context), + }; + } + if (output.SqlServerParameters !== undefined && output.SqlServerParameters !== null) { + return { + SqlServerParameters: deserializeAws_restJson1SqlServerParameters(output.SqlServerParameters, context), + }; + } + if (output.TeradataParameters !== undefined && output.TeradataParameters !== null) { + return { + TeradataParameters: deserializeAws_restJson1TeradataParameters(output.TeradataParameters, context), + }; + } + if (output.TwitterParameters !== undefined && output.TwitterParameters !== null) { + return { + TwitterParameters: deserializeAws_restJson1TwitterParameters(output.TwitterParameters, context), + }; + } + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restJson1DataSourceParametersList = ( @@ -17826,20 +17848,22 @@ const deserializeAws_restJson1OutputColumnList = (output: any, context: __SerdeC }; const deserializeAws_restJson1PhysicalTable = (output: any, context: __SerdeContext): PhysicalTable => { - return { - CustomSql: - output.CustomSql !== undefined && output.CustomSql !== null - ? deserializeAws_restJson1CustomSql(output.CustomSql, context) - : undefined, - RelationalTable: - output.RelationalTable !== undefined && output.RelationalTable !== null - ? deserializeAws_restJson1RelationalTable(output.RelationalTable, context) - : undefined, - S3Source: - output.S3Source !== undefined && output.S3Source !== null - ? deserializeAws_restJson1S3Source(output.S3Source, context) - : undefined, - } as any; + if (output.CustomSql !== undefined && output.CustomSql !== null) { + return { + CustomSql: deserializeAws_restJson1CustomSql(output.CustomSql, context), + }; + } + if (output.RelationalTable !== undefined && output.RelationalTable !== null) { + return { + RelationalTable: deserializeAws_restJson1RelationalTable(output.RelationalTable, context), + }; + } + if (output.S3Source !== undefined && output.S3Source !== null) { + return { + S3Source: deserializeAws_restJson1S3Source(output.S3Source, context), + }; + } + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restJson1PhysicalTableMap = ( @@ -18358,32 +18382,37 @@ const deserializeAws_restJson1TileStyle = (output: any, context: __SerdeContext) }; const deserializeAws_restJson1TransformOperation = (output: any, context: __SerdeContext): TransformOperation => { - return { - CastColumnTypeOperation: - output.CastColumnTypeOperation !== undefined && output.CastColumnTypeOperation !== null - ? deserializeAws_restJson1CastColumnTypeOperation(output.CastColumnTypeOperation, context) - : undefined, - CreateColumnsOperation: - output.CreateColumnsOperation !== undefined && output.CreateColumnsOperation !== null - ? deserializeAws_restJson1CreateColumnsOperation(output.CreateColumnsOperation, context) - : undefined, - FilterOperation: - output.FilterOperation !== undefined && output.FilterOperation !== null - ? deserializeAws_restJson1FilterOperation(output.FilterOperation, context) - : undefined, - ProjectOperation: - output.ProjectOperation !== undefined && output.ProjectOperation !== null - ? deserializeAws_restJson1ProjectOperation(output.ProjectOperation, context) - : undefined, - RenameColumnOperation: - output.RenameColumnOperation !== undefined && output.RenameColumnOperation !== null - ? deserializeAws_restJson1RenameColumnOperation(output.RenameColumnOperation, context) - : undefined, - TagColumnOperation: - output.TagColumnOperation !== undefined && output.TagColumnOperation !== null - ? deserializeAws_restJson1TagColumnOperation(output.TagColumnOperation, context) - : undefined, - } as any; + if (output.CastColumnTypeOperation !== undefined && output.CastColumnTypeOperation !== null) { + return { + CastColumnTypeOperation: deserializeAws_restJson1CastColumnTypeOperation(output.CastColumnTypeOperation, context), + }; + } + if (output.CreateColumnsOperation !== undefined && output.CreateColumnsOperation !== null) { + return { + CreateColumnsOperation: deserializeAws_restJson1CreateColumnsOperation(output.CreateColumnsOperation, context), + }; + } + if (output.FilterOperation !== undefined && output.FilterOperation !== null) { + return { + FilterOperation: deserializeAws_restJson1FilterOperation(output.FilterOperation, context), + }; + } + if (output.ProjectOperation !== undefined && output.ProjectOperation !== null) { + return { + ProjectOperation: deserializeAws_restJson1ProjectOperation(output.ProjectOperation, context), + }; + } + if (output.RenameColumnOperation !== undefined && output.RenameColumnOperation !== null) { + return { + RenameColumnOperation: deserializeAws_restJson1RenameColumnOperation(output.RenameColumnOperation, context), + }; + } + if (output.TagColumnOperation !== undefined && output.TagColumnOperation !== null) { + return { + TagColumnOperation: deserializeAws_restJson1TagColumnOperation(output.TagColumnOperation, context), + }; + } + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restJson1TransformOperationList = (output: any, context: __SerdeContext): TransformOperation[] => { diff --git a/clients/client-securityhub/SecurityHub.ts b/clients/client-securityhub/SecurityHub.ts index 06b693bb5c75f..0a85783bd7433 100644 --- a/clients/client-securityhub/SecurityHub.ts +++ b/clients/client-securityhub/SecurityHub.ts @@ -70,6 +70,11 @@ import { DescribeActionTargetsCommandOutput, } from "./commands/DescribeActionTargetsCommand"; import { DescribeHubCommand, DescribeHubCommandInput, DescribeHubCommandOutput } from "./commands/DescribeHubCommand"; +import { + DescribeOrganizationConfigurationCommand, + DescribeOrganizationConfigurationCommandInput, + DescribeOrganizationConfigurationCommandOutput, +} from "./commands/DescribeOrganizationConfigurationCommand"; import { DescribeProductsCommand, DescribeProductsCommandInput, @@ -90,6 +95,11 @@ import { DisableImportFindingsForProductCommandInput, DisableImportFindingsForProductCommandOutput, } from "./commands/DisableImportFindingsForProductCommand"; +import { + DisableOrganizationAdminAccountCommand, + DisableOrganizationAdminAccountCommandInput, + DisableOrganizationAdminAccountCommandOutput, +} from "./commands/DisableOrganizationAdminAccountCommand"; import { DisableSecurityHubCommand, DisableSecurityHubCommandInput, @@ -110,6 +120,11 @@ import { EnableImportFindingsForProductCommandInput, EnableImportFindingsForProductCommandOutput, } from "./commands/EnableImportFindingsForProductCommand"; +import { + EnableOrganizationAdminAccountCommand, + EnableOrganizationAdminAccountCommandInput, + EnableOrganizationAdminAccountCommandOutput, +} from "./commands/EnableOrganizationAdminAccountCommand"; import { EnableSecurityHubCommand, EnableSecurityHubCommandInput, @@ -154,6 +169,11 @@ import { ListInvitationsCommandOutput, } from "./commands/ListInvitationsCommand"; import { ListMembersCommand, ListMembersCommandInput, ListMembersCommandOutput } from "./commands/ListMembersCommand"; +import { + ListOrganizationAdminAccountsCommand, + ListOrganizationAdminAccountsCommandInput, + ListOrganizationAdminAccountsCommandOutput, +} from "./commands/ListOrganizationAdminAccountsCommand"; import { ListTagsForResourceCommand, ListTagsForResourceCommandInput, @@ -180,6 +200,11 @@ import { UpdateInsightCommandInput, UpdateInsightCommandOutput, } from "./commands/UpdateInsightCommand"; +import { + UpdateOrganizationConfigurationCommand, + UpdateOrganizationConfigurationCommandInput, + UpdateOrganizationConfigurationCommandOutput, +} from "./commands/UpdateOrganizationConfigurationCommand"; import { UpdateSecurityHubConfigurationCommand, UpdateSecurityHubConfigurationCommandInput, @@ -253,6 +278,8 @@ export class SecurityHub extends SecurityHubClient { /** *

      Accepts the invitation to be a member account and be monitored by the Security Hub master * account that the invitation was sent from.

      + *

      This operation is only used by member accounts that are not added through + * Organizations.

      *

      When the member account accepts the invitation, permission is granted to the master * account to view findings generated in the member account.

      */ @@ -605,20 +632,38 @@ export class SecurityHub extends SecurityHubClient { /** *

      Creates a member association in Security Hub between the specified accounts and the account - * used to make the request, which is the master account. To successfully create a member, you - * must use this action from an account that already has Security Hub enabled. To enable Security Hub, you + * used to make the request, which is the master account. If you are integrated with + * Organizations, then the master account is the Security Hub administrator account that is + * designated by the organization management account.

      + *

      + * CreateMembers is always used to add accounts that are not organization + * members.

      + *

      For accounts that are part of an organization, CreateMembers is only used + * in the following cases:

      + *
        + *
      • + *

        Security Hub is not configured to automatically add new accounts in an + * organization.

        + *
      • + *
      • + *

        The account was disassociated or deleted in Security Hub.

        + *
      • + *
      + *

      This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you * can use the * EnableSecurityHub * operation.

      - *

      After you use CreateMembers to create member account associations in Security Hub, - * you must use the + *

      For accounts that are not organization members, you create the account association and + * then send an invitation to the member account. To send the invitation, you use the + * * InviteMembers - * operation to invite the - * accounts to enable Security Hub and become member accounts in Security Hub.

      - *

      If the account owner accepts the invitation, the account becomes a member account in - * Security Hub. A permissions policy is added that permits the master account to view the findings - * generated in the member account. When Security Hub is enabled in the invited account, findings - * start to be sent to both the member and master accounts.

      + *
      operation. If the account owner accepts + * the invitation, the account becomes a member account in Security Hub.

      + *

      Accounts that are part of an organization do not receive an invitation. They + * automatically become a member account in Security Hub.

      + *

      A permissions policy is added that permits the master account to view the findings + * generated in the member account. When Security Hub is enabled in a member account, findings are + * sent to both the member and master accounts.

      *

      To remove the association between the master and member accounts, use the * DisassociateFromMasterAccount * or @@ -656,6 +701,8 @@ export class SecurityHub extends SecurityHubClient { /** *

      Declines invitations to become a member account.

      + *

      This operation is only used by accounts that are not part of an organization. + * Organization accounts do not receive invitations.

      */ public declineInvitations( args: DeclineInvitationsCommandInput, @@ -754,6 +801,8 @@ export class SecurityHub extends SecurityHubClient { /** *

      Deletes invitations received by the AWS account to become a member account.

      + *

      This operation is only used by accounts that are not part of an organization. + * Organization accounts do not receive invitations.

      */ public deleteInvitations( args: DeleteInvitationsCommandInput, @@ -786,6 +835,8 @@ export class SecurityHub extends SecurityHubClient { /** *

      Deletes the specified member accounts from Security Hub.

      + *

      Can be used to delete member accounts that belong to an organization as well as member + * accounts that were invited manually.

      */ public deleteMembers( args: DeleteMembersCommandInput, @@ -875,6 +926,39 @@ export class SecurityHub extends SecurityHubClient { } } + /** + *

      Returns information about the Organizations configuration for Security Hub. Can only be + * called from a Security Hub administrator account.

      + */ + public describeOrganizationConfiguration( + args: DescribeOrganizationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeOrganizationConfiguration( + args: DescribeOrganizationConfigurationCommandInput, + cb: (err: any, data?: DescribeOrganizationConfigurationCommandOutput) => void + ): void; + public describeOrganizationConfiguration( + args: DescribeOrganizationConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeOrganizationConfigurationCommandOutput) => void + ): void; + public describeOrganizationConfiguration( + args: DescribeOrganizationConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeOrganizationConfigurationCommandOutput) => void), + cb?: (err: any, data?: DescribeOrganizationConfigurationCommandOutput) => void + ): Promise | void { + const command = new DescribeOrganizationConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Returns information about the available products that you can subscribe to and integrate * with Security Hub in order to consolidate findings.

      @@ -1008,6 +1092,39 @@ export class SecurityHub extends SecurityHubClient { } } + /** + *

      Disables a Security Hub administrator account. Can only be called by the organization + * management account.

      + */ + public disableOrganizationAdminAccount( + args: DisableOrganizationAdminAccountCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disableOrganizationAdminAccount( + args: DisableOrganizationAdminAccountCommandInput, + cb: (err: any, data?: DisableOrganizationAdminAccountCommandOutput) => void + ): void; + public disableOrganizationAdminAccount( + args: DisableOrganizationAdminAccountCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisableOrganizationAdminAccountCommandOutput) => void + ): void; + public disableOrganizationAdminAccount( + args: DisableOrganizationAdminAccountCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisableOrganizationAdminAccountCommandOutput) => void), + cb?: (err: any, data?: DisableOrganizationAdminAccountCommandOutput) => void + ): Promise | void { + const command = new DisableOrganizationAdminAccountCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Disables Security Hub in your account only in the current Region. To disable Security Hub in all * Regions, you must submit one request per Region where you have enabled Security Hub.

      @@ -1051,6 +1168,9 @@ export class SecurityHub extends SecurityHubClient { /** *

      Disassociates the current Security Hub member account from the associated master * account.

      + *

      This operation is only used by accounts that are not part of an organization. For + * organization accounts, only the master account (the designated Security Hub administrator) can + * disassociate a member account.

      */ public disassociateFromMasterAccount( args: DisassociateFromMasterAccountCommandInput, @@ -1083,6 +1203,8 @@ export class SecurityHub extends SecurityHubClient { /** *

      Disassociates the specified member accounts from the associated master account.

      + *

      Can be used to disassociate both accounts that are in an organization and accounts that + * were invited manually.

      */ public disassociateMembers( args: DisassociateMembersCommandInput, @@ -1148,6 +1270,39 @@ export class SecurityHub extends SecurityHubClient { } } + /** + *

      Designates the Security Hub administrator account for an organization. Can only be called by + * the organization management account.

      + */ + public enableOrganizationAdminAccount( + args: EnableOrganizationAdminAccountCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public enableOrganizationAdminAccount( + args: EnableOrganizationAdminAccountCommandInput, + cb: (err: any, data?: EnableOrganizationAdminAccountCommandOutput) => void + ): void; + public enableOrganizationAdminAccount( + args: EnableOrganizationAdminAccountCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: EnableOrganizationAdminAccountCommandOutput) => void + ): void; + public enableOrganizationAdminAccount( + args: EnableOrganizationAdminAccountCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: EnableOrganizationAdminAccountCommandOutput) => void), + cb?: (err: any, data?: EnableOrganizationAdminAccountCommandOutput) => void + ): Promise | void { + const command = new EnableOrganizationAdminAccountCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Enables Security Hub for your account in the current Region or the Region you specify in the * request.

      @@ -1354,7 +1509,9 @@ export class SecurityHub extends SecurityHubClient { } /** - *

      Provides the details for the Security Hub master account for the current member account.

      + *

      Provides the details for the Security Hub master account for the current member account.

      + *

      Can be used by both member accounts that are in an organization and accounts that were + * invited manually.

      */ public getMasterAccount( args: GetMasterAccountCommandInput, @@ -1387,6 +1544,10 @@ export class SecurityHub extends SecurityHubClient { /** *

      Returns the details for the Security Hub member accounts for the specified account IDs.

      + *

      A master account can be either a delegated Security Hub administrator account for an + * organization or a master account that enabled Security Hub manually.

      + *

      The results include both member accounts that are in an organization and accounts that + * were invited manually.

      */ public getMembers(args: GetMembersCommandInput, options?: __HttpHandlerOptions): Promise; public getMembers(args: GetMembersCommandInput, cb: (err: any, data?: GetMembersCommandOutput) => void): void; @@ -1414,11 +1575,13 @@ export class SecurityHub extends SecurityHubClient { /** *

      Invites other AWS accounts to become member accounts for the Security Hub master account that * the invitation is sent from.

      + *

      This operation is only used to invite accounts that do not belong to an organization. + * Organization accounts do not receive invitations.

      *

      Before you can use this action to invite a member, you must first use the * CreateMembers * action to create the member account in Security Hub.

      - *

      When the account owner accepts the invitation to become a member account and enables - * Security Hub, the master account can view the findings generated from the member account.

      + *

      When the account owner enables Security Hub and accepts the invitation to become a member + * account, the master account can view the findings generated from the member account.

      */ public inviteMembers( args: InviteMembersCommandInput, @@ -1483,8 +1646,9 @@ export class SecurityHub extends SecurityHubClient { } /** - *

      Lists all Security Hub membership invitations that were sent to the current AWS account. - *

      + *

      Lists all Security Hub membership invitations that were sent to the current AWS account.

      + *

      This operation is only used by accounts that do not belong to an organization. + * Organization accounts do not receive invitations.

      */ public listInvitations( args: ListInvitationsCommandInput, @@ -1518,6 +1682,8 @@ export class SecurityHub extends SecurityHubClient { /** *

      Lists details about all member accounts for the current Security Hub master * account.

      + *

      The results include both member accounts that belong to an organization and member + * accounts that were invited manually.

      */ public listMembers(args: ListMembersCommandInput, options?: __HttpHandlerOptions): Promise; public listMembers(args: ListMembersCommandInput, cb: (err: any, data?: ListMembersCommandOutput) => void): void; @@ -1542,6 +1708,39 @@ export class SecurityHub extends SecurityHubClient { } } + /** + *

      Lists the Security Hub administrator accounts. Can only be called by the organization + * management account.

      + */ + public listOrganizationAdminAccounts( + args: ListOrganizationAdminAccountsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listOrganizationAdminAccounts( + args: ListOrganizationAdminAccountsCommandInput, + cb: (err: any, data?: ListOrganizationAdminAccountsCommandOutput) => void + ): void; + public listOrganizationAdminAccounts( + args: ListOrganizationAdminAccountsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListOrganizationAdminAccountsCommandOutput) => void + ): void; + public listOrganizationAdminAccounts( + args: ListOrganizationAdminAccountsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListOrganizationAdminAccountsCommandOutput) => void), + cb?: (err: any, data?: ListOrganizationAdminAccountsCommandOutput) => void + ): Promise | void { + const command = new ListOrganizationAdminAccountsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Returns a list of tags associated with a resource.

      */ @@ -1733,6 +1932,39 @@ export class SecurityHub extends SecurityHubClient { } } + /** + *

      Used to update the configuration related to Organizations. Can only be called from a + * Security Hub administrator account.

      + */ + public updateOrganizationConfiguration( + args: UpdateOrganizationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateOrganizationConfiguration( + args: UpdateOrganizationConfigurationCommandInput, + cb: (err: any, data?: UpdateOrganizationConfigurationCommandOutput) => void + ): void; + public updateOrganizationConfiguration( + args: UpdateOrganizationConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateOrganizationConfigurationCommandOutput) => void + ): void; + public updateOrganizationConfiguration( + args: UpdateOrganizationConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateOrganizationConfigurationCommandOutput) => void), + cb?: (err: any, data?: UpdateOrganizationConfigurationCommandOutput) => void + ): Promise | void { + const command = new UpdateOrganizationConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Updates configuration options for Security Hub.

      */ diff --git a/clients/client-securityhub/SecurityHubClient.ts b/clients/client-securityhub/SecurityHubClient.ts index c060b0b2c9bdb..e9345208afe72 100644 --- a/clients/client-securityhub/SecurityHubClient.ts +++ b/clients/client-securityhub/SecurityHubClient.ts @@ -28,6 +28,10 @@ import { DescribeActionTargetsCommandOutput, } from "./commands/DescribeActionTargetsCommand"; import { DescribeHubCommandInput, DescribeHubCommandOutput } from "./commands/DescribeHubCommand"; +import { + DescribeOrganizationConfigurationCommandInput, + DescribeOrganizationConfigurationCommandOutput, +} from "./commands/DescribeOrganizationConfigurationCommand"; import { DescribeProductsCommandInput, DescribeProductsCommandOutput } from "./commands/DescribeProductsCommand"; import { DescribeStandardsCommandInput, DescribeStandardsCommandOutput } from "./commands/DescribeStandardsCommand"; import { @@ -38,6 +42,10 @@ import { DisableImportFindingsForProductCommandInput, DisableImportFindingsForProductCommandOutput, } from "./commands/DisableImportFindingsForProductCommand"; +import { + DisableOrganizationAdminAccountCommandInput, + DisableOrganizationAdminAccountCommandOutput, +} from "./commands/DisableOrganizationAdminAccountCommand"; import { DisableSecurityHubCommandInput, DisableSecurityHubCommandOutput } from "./commands/DisableSecurityHubCommand"; import { DisassociateFromMasterAccountCommandInput, @@ -51,6 +59,10 @@ import { EnableImportFindingsForProductCommandInput, EnableImportFindingsForProductCommandOutput, } from "./commands/EnableImportFindingsForProductCommand"; +import { + EnableOrganizationAdminAccountCommandInput, + EnableOrganizationAdminAccountCommandOutput, +} from "./commands/EnableOrganizationAdminAccountCommand"; import { EnableSecurityHubCommandInput, EnableSecurityHubCommandOutput } from "./commands/EnableSecurityHubCommand"; import { GetEnabledStandardsCommandInput, @@ -72,6 +84,10 @@ import { } from "./commands/ListEnabledProductsForImportCommand"; import { ListInvitationsCommandInput, ListInvitationsCommandOutput } from "./commands/ListInvitationsCommand"; import { ListMembersCommandInput, ListMembersCommandOutput } from "./commands/ListMembersCommand"; +import { + ListOrganizationAdminAccountsCommandInput, + ListOrganizationAdminAccountsCommandOutput, +} from "./commands/ListOrganizationAdminAccountsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, @@ -81,6 +97,10 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./command import { UpdateActionTargetCommandInput, UpdateActionTargetCommandOutput } from "./commands/UpdateActionTargetCommand"; import { UpdateFindingsCommandInput, UpdateFindingsCommandOutput } from "./commands/UpdateFindingsCommand"; import { UpdateInsightCommandInput, UpdateInsightCommandOutput } from "./commands/UpdateInsightCommand"; +import { + UpdateOrganizationConfigurationCommandInput, + UpdateOrganizationConfigurationCommandOutput, +} from "./commands/UpdateOrganizationConfigurationCommand"; import { UpdateSecurityHubConfigurationCommandInput, UpdateSecurityHubConfigurationCommandOutput, @@ -154,14 +174,17 @@ export type ServiceInputTypes = | DeleteMembersCommandInput | DescribeActionTargetsCommandInput | DescribeHubCommandInput + | DescribeOrganizationConfigurationCommandInput | DescribeProductsCommandInput | DescribeStandardsCommandInput | DescribeStandardsControlsCommandInput | DisableImportFindingsForProductCommandInput + | DisableOrganizationAdminAccountCommandInput | DisableSecurityHubCommandInput | DisassociateFromMasterAccountCommandInput | DisassociateMembersCommandInput | EnableImportFindingsForProductCommandInput + | EnableOrganizationAdminAccountCommandInput | EnableSecurityHubCommandInput | GetEnabledStandardsCommandInput | GetFindingsCommandInput @@ -174,12 +197,14 @@ export type ServiceInputTypes = | ListEnabledProductsForImportCommandInput | ListInvitationsCommandInput | ListMembersCommandInput + | ListOrganizationAdminAccountsCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateActionTargetCommandInput | UpdateFindingsCommandInput | UpdateInsightCommandInput + | UpdateOrganizationConfigurationCommandInput | UpdateSecurityHubConfigurationCommandInput | UpdateStandardsControlCommandInput; @@ -199,14 +224,17 @@ export type ServiceOutputTypes = | DeleteMembersCommandOutput | DescribeActionTargetsCommandOutput | DescribeHubCommandOutput + | DescribeOrganizationConfigurationCommandOutput | DescribeProductsCommandOutput | DescribeStandardsCommandOutput | DescribeStandardsControlsCommandOutput | DisableImportFindingsForProductCommandOutput + | DisableOrganizationAdminAccountCommandOutput | DisableSecurityHubCommandOutput | DisassociateFromMasterAccountCommandOutput | DisassociateMembersCommandOutput | EnableImportFindingsForProductCommandOutput + | EnableOrganizationAdminAccountCommandOutput | EnableSecurityHubCommandOutput | GetEnabledStandardsCommandOutput | GetFindingsCommandOutput @@ -219,12 +247,14 @@ export type ServiceOutputTypes = | ListEnabledProductsForImportCommandOutput | ListInvitationsCommandOutput | ListMembersCommandOutput + | ListOrganizationAdminAccountsCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateActionTargetCommandOutput | UpdateFindingsCommandOutput | UpdateInsightCommandOutput + | UpdateOrganizationConfigurationCommandOutput | UpdateSecurityHubConfigurationCommandOutput | UpdateStandardsControlCommandOutput; diff --git a/clients/client-securityhub/commands/AcceptInvitationCommand.ts b/clients/client-securityhub/commands/AcceptInvitationCommand.ts index a31712a11a4a8..b66f6b3b517c5 100644 --- a/clients/client-securityhub/commands/AcceptInvitationCommand.ts +++ b/clients/client-securityhub/commands/AcceptInvitationCommand.ts @@ -23,6 +23,8 @@ export type AcceptInvitationCommandOutput = AcceptInvitationResponse & __Metadat /** *

      Accepts the invitation to be a member account and be monitored by the Security Hub master * account that the invitation was sent from.

      + *

      This operation is only used by member accounts that are not added through + * Organizations.

      *

      When the member account accepts the invitation, permission is granted to the master * account to view findings generated in the member account.

      */ diff --git a/clients/client-securityhub/commands/CreateMembersCommand.ts b/clients/client-securityhub/commands/CreateMembersCommand.ts index 8eaae5e825cf8..7ffaccf78049f 100644 --- a/clients/client-securityhub/commands/CreateMembersCommand.ts +++ b/clients/client-securityhub/commands/CreateMembersCommand.ts @@ -22,20 +22,38 @@ export type CreateMembersCommandOutput = CreateMembersResponse & __MetadataBeare /** *

      Creates a member association in Security Hub between the specified accounts and the account - * used to make the request, which is the master account. To successfully create a member, you - * must use this action from an account that already has Security Hub enabled. To enable Security Hub, you + * used to make the request, which is the master account. If you are integrated with + * Organizations, then the master account is the Security Hub administrator account that is + * designated by the organization management account.

      + *

      + * CreateMembers is always used to add accounts that are not organization + * members.

      + *

      For accounts that are part of an organization, CreateMembers is only used + * in the following cases:

      + *
        + *
      • + *

        Security Hub is not configured to automatically add new accounts in an + * organization.

        + *
      • + *
      • + *

        The account was disassociated or deleted in Security Hub.

        + *
      • + *
      + *

      This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you * can use the * EnableSecurityHub * operation.

      - *

      After you use CreateMembers to create member account associations in Security Hub, - * you must use the + *

      For accounts that are not organization members, you create the account association and + * then send an invitation to the member account. To send the invitation, you use the + * * InviteMembers - * operation to invite the - * accounts to enable Security Hub and become member accounts in Security Hub.

      - *

      If the account owner accepts the invitation, the account becomes a member account in - * Security Hub. A permissions policy is added that permits the master account to view the findings - * generated in the member account. When Security Hub is enabled in the invited account, findings - * start to be sent to both the member and master accounts.

      + *
      operation. If the account owner accepts + * the invitation, the account becomes a member account in Security Hub.

      + *

      Accounts that are part of an organization do not receive an invitation. They + * automatically become a member account in Security Hub.

      + *

      A permissions policy is added that permits the master account to view the findings + * generated in the member account. When Security Hub is enabled in a member account, findings are + * sent to both the member and master accounts.

      *

      To remove the association between the master and member accounts, use the * DisassociateFromMasterAccount * or diff --git a/clients/client-securityhub/commands/DeclineInvitationsCommand.ts b/clients/client-securityhub/commands/DeclineInvitationsCommand.ts index 63dadb5feb9b7..fe9abc0c028a2 100644 --- a/clients/client-securityhub/commands/DeclineInvitationsCommand.ts +++ b/clients/client-securityhub/commands/DeclineInvitationsCommand.ts @@ -22,6 +22,8 @@ export type DeclineInvitationsCommandOutput = DeclineInvitationsResponse & __Met /** *

      Declines invitations to become a member account.

      + *

      This operation is only used by accounts that are not part of an organization. + * Organization accounts do not receive invitations.

      */ export class DeclineInvitationsCommand extends $Command< DeclineInvitationsCommandInput, diff --git a/clients/client-securityhub/commands/DeleteInvitationsCommand.ts b/clients/client-securityhub/commands/DeleteInvitationsCommand.ts index b1b35f8bec6fb..9dcd709b3bc99 100644 --- a/clients/client-securityhub/commands/DeleteInvitationsCommand.ts +++ b/clients/client-securityhub/commands/DeleteInvitationsCommand.ts @@ -22,6 +22,8 @@ export type DeleteInvitationsCommandOutput = DeleteInvitationsResponse & __Metad /** *

      Deletes invitations received by the AWS account to become a member account.

      + *

      This operation is only used by accounts that are not part of an organization. + * Organization accounts do not receive invitations.

      */ export class DeleteInvitationsCommand extends $Command< DeleteInvitationsCommandInput, diff --git a/clients/client-securityhub/commands/DeleteMembersCommand.ts b/clients/client-securityhub/commands/DeleteMembersCommand.ts index 0025c33d0f0cb..9af635cb3cc60 100644 --- a/clients/client-securityhub/commands/DeleteMembersCommand.ts +++ b/clients/client-securityhub/commands/DeleteMembersCommand.ts @@ -22,6 +22,8 @@ export type DeleteMembersCommandOutput = DeleteMembersResponse & __MetadataBeare /** *

      Deletes the specified member accounts from Security Hub.

      + *

      Can be used to delete member accounts that belong to an organization as well as member + * accounts that were invited manually.

      */ export class DeleteMembersCommand extends $Command< DeleteMembersCommandInput, diff --git a/clients/client-securityhub/commands/DescribeOrganizationConfigurationCommand.ts b/clients/client-securityhub/commands/DescribeOrganizationConfigurationCommand.ts new file mode 100644 index 0000000000000..6263cb45c9b9b --- /dev/null +++ b/clients/client-securityhub/commands/DescribeOrganizationConfigurationCommand.ts @@ -0,0 +1,99 @@ +import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; +import { + DescribeOrganizationConfigurationRequest, + DescribeOrganizationConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1DescribeOrganizationConfigurationCommand, + serializeAws_restJson1DescribeOrganizationConfigurationCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeOrganizationConfigurationCommandInput = DescribeOrganizationConfigurationRequest; +export type DescribeOrganizationConfigurationCommandOutput = DescribeOrganizationConfigurationResponse & + __MetadataBearer; + +/** + *

      Returns information about the Organizations configuration for Security Hub. Can only be + * called from a Security Hub administrator account.

      + */ +export class DescribeOrganizationConfigurationCommand extends $Command< + DescribeOrganizationConfigurationCommandInput, + DescribeOrganizationConfigurationCommandOutput, + SecurityHubClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeOrganizationConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SecurityHubClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SecurityHubClient"; + const commandName = "DescribeOrganizationConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeOrganizationConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeOrganizationConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeOrganizationConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeOrganizationConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeOrganizationConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-securityhub/commands/DisableOrganizationAdminAccountCommand.ts b/clients/client-securityhub/commands/DisableOrganizationAdminAccountCommand.ts new file mode 100644 index 0000000000000..c7cede7d276fd --- /dev/null +++ b/clients/client-securityhub/commands/DisableOrganizationAdminAccountCommand.ts @@ -0,0 +1,95 @@ +import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; +import { DisableOrganizationAdminAccountRequest, DisableOrganizationAdminAccountResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DisableOrganizationAdminAccountCommand, + serializeAws_restJson1DisableOrganizationAdminAccountCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisableOrganizationAdminAccountCommandInput = DisableOrganizationAdminAccountRequest; +export type DisableOrganizationAdminAccountCommandOutput = DisableOrganizationAdminAccountResponse & __MetadataBearer; + +/** + *

      Disables a Security Hub administrator account. Can only be called by the organization + * management account.

      + */ +export class DisableOrganizationAdminAccountCommand extends $Command< + DisableOrganizationAdminAccountCommandInput, + DisableOrganizationAdminAccountCommandOutput, + SecurityHubClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisableOrganizationAdminAccountCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SecurityHubClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SecurityHubClient"; + const commandName = "DisableOrganizationAdminAccountCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisableOrganizationAdminAccountRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisableOrganizationAdminAccountResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisableOrganizationAdminAccountCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DisableOrganizationAdminAccountCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DisableOrganizationAdminAccountCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-securityhub/commands/DisassociateFromMasterAccountCommand.ts b/clients/client-securityhub/commands/DisassociateFromMasterAccountCommand.ts index 0123ae2453c2c..1b0a697308f46 100644 --- a/clients/client-securityhub/commands/DisassociateFromMasterAccountCommand.ts +++ b/clients/client-securityhub/commands/DisassociateFromMasterAccountCommand.ts @@ -23,6 +23,9 @@ export type DisassociateFromMasterAccountCommandOutput = DisassociateFromMasterA /** *

      Disassociates the current Security Hub member account from the associated master * account.

      + *

      This operation is only used by accounts that are not part of an organization. For + * organization accounts, only the master account (the designated Security Hub administrator) can + * disassociate a member account.

      */ export class DisassociateFromMasterAccountCommand extends $Command< DisassociateFromMasterAccountCommandInput, diff --git a/clients/client-securityhub/commands/DisassociateMembersCommand.ts b/clients/client-securityhub/commands/DisassociateMembersCommand.ts index 7f6b6a6d46b74..2cca6cecff54b 100644 --- a/clients/client-securityhub/commands/DisassociateMembersCommand.ts +++ b/clients/client-securityhub/commands/DisassociateMembersCommand.ts @@ -22,6 +22,8 @@ export type DisassociateMembersCommandOutput = DisassociateMembersResponse & __M /** *

      Disassociates the specified member accounts from the associated master account.

      + *

      Can be used to disassociate both accounts that are in an organization and accounts that + * were invited manually.

      */ export class DisassociateMembersCommand extends $Command< DisassociateMembersCommandInput, diff --git a/clients/client-securityhub/commands/EnableOrganizationAdminAccountCommand.ts b/clients/client-securityhub/commands/EnableOrganizationAdminAccountCommand.ts new file mode 100644 index 0000000000000..b506a842da2b3 --- /dev/null +++ b/clients/client-securityhub/commands/EnableOrganizationAdminAccountCommand.ts @@ -0,0 +1,95 @@ +import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; +import { EnableOrganizationAdminAccountRequest, EnableOrganizationAdminAccountResponse } from "../models/models_0"; +import { + deserializeAws_restJson1EnableOrganizationAdminAccountCommand, + serializeAws_restJson1EnableOrganizationAdminAccountCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type EnableOrganizationAdminAccountCommandInput = EnableOrganizationAdminAccountRequest; +export type EnableOrganizationAdminAccountCommandOutput = EnableOrganizationAdminAccountResponse & __MetadataBearer; + +/** + *

      Designates the Security Hub administrator account for an organization. Can only be called by + * the organization management account.

      + */ +export class EnableOrganizationAdminAccountCommand extends $Command< + EnableOrganizationAdminAccountCommandInput, + EnableOrganizationAdminAccountCommandOutput, + SecurityHubClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: EnableOrganizationAdminAccountCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SecurityHubClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SecurityHubClient"; + const commandName = "EnableOrganizationAdminAccountCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: EnableOrganizationAdminAccountRequest.filterSensitiveLog, + outputFilterSensitiveLog: EnableOrganizationAdminAccountResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: EnableOrganizationAdminAccountCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1EnableOrganizationAdminAccountCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1EnableOrganizationAdminAccountCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-securityhub/commands/GetFindingsCommand.ts b/clients/client-securityhub/commands/GetFindingsCommand.ts index 286bc1bd26b42..cfe4b79fc08b1 100644 --- a/clients/client-securityhub/commands/GetFindingsCommand.ts +++ b/clients/client-securityhub/commands/GetFindingsCommand.ts @@ -1,5 +1,6 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { GetFindingsRequest, GetFindingsResponse } from "../models/models_0"; +import { GetFindingsRequest } from "../models/models_0"; +import { GetFindingsResponse } from "../models/models_1"; import { deserializeAws_restJson1GetFindingsCommand, serializeAws_restJson1GetFindingsCommand, diff --git a/clients/client-securityhub/commands/GetInsightResultsCommand.ts b/clients/client-securityhub/commands/GetInsightResultsCommand.ts index 17415f08081ba..46383e607af9c 100644 --- a/clients/client-securityhub/commands/GetInsightResultsCommand.ts +++ b/clients/client-securityhub/commands/GetInsightResultsCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { GetInsightResultsRequest, GetInsightResultsResponse } from "../models/models_0"; +import { GetInsightResultsRequest, GetInsightResultsResponse } from "../models/models_1"; import { deserializeAws_restJson1GetInsightResultsCommand, serializeAws_restJson1GetInsightResultsCommand, diff --git a/clients/client-securityhub/commands/GetInsightsCommand.ts b/clients/client-securityhub/commands/GetInsightsCommand.ts index ddc9c67a85501..63dfc232fbd07 100644 --- a/clients/client-securityhub/commands/GetInsightsCommand.ts +++ b/clients/client-securityhub/commands/GetInsightsCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { GetInsightsRequest, GetInsightsResponse } from "../models/models_0"; +import { GetInsightsRequest, GetInsightsResponse } from "../models/models_1"; import { deserializeAws_restJson1GetInsightsCommand, serializeAws_restJson1GetInsightsCommand, diff --git a/clients/client-securityhub/commands/GetMasterAccountCommand.ts b/clients/client-securityhub/commands/GetMasterAccountCommand.ts index f5e2525b6a91c..1bb9fafc20b63 100644 --- a/clients/client-securityhub/commands/GetMasterAccountCommand.ts +++ b/clients/client-securityhub/commands/GetMasterAccountCommand.ts @@ -21,7 +21,9 @@ export type GetMasterAccountCommandInput = GetMasterAccountRequest; export type GetMasterAccountCommandOutput = GetMasterAccountResponse & __MetadataBearer; /** - *

      Provides the details for the Security Hub master account for the current member account.

      + *

      Provides the details for the Security Hub master account for the current member account.

      + *

      Can be used by both member accounts that are in an organization and accounts that were + * invited manually.

      */ export class GetMasterAccountCommand extends $Command< GetMasterAccountCommandInput, diff --git a/clients/client-securityhub/commands/GetMembersCommand.ts b/clients/client-securityhub/commands/GetMembersCommand.ts index b3fcedeb850be..92a3ac9dd41e1 100644 --- a/clients/client-securityhub/commands/GetMembersCommand.ts +++ b/clients/client-securityhub/commands/GetMembersCommand.ts @@ -22,6 +22,10 @@ export type GetMembersCommandOutput = GetMembersResponse & __MetadataBearer; /** *

      Returns the details for the Security Hub member accounts for the specified account IDs.

      + *

      A master account can be either a delegated Security Hub administrator account for an + * organization or a master account that enabled Security Hub manually.

      + *

      The results include both member accounts that are in an organization and accounts that + * were invited manually.

      */ export class GetMembersCommand extends $Command< GetMembersCommandInput, diff --git a/clients/client-securityhub/commands/InviteMembersCommand.ts b/clients/client-securityhub/commands/InviteMembersCommand.ts index 9e17fd4cd90cb..ee38e06b50b5f 100644 --- a/clients/client-securityhub/commands/InviteMembersCommand.ts +++ b/clients/client-securityhub/commands/InviteMembersCommand.ts @@ -23,11 +23,13 @@ export type InviteMembersCommandOutput = InviteMembersResponse & __MetadataBeare /** *

      Invites other AWS accounts to become member accounts for the Security Hub master account that * the invitation is sent from.

      + *

      This operation is only used to invite accounts that do not belong to an organization. + * Organization accounts do not receive invitations.

      *

      Before you can use this action to invite a member, you must first use the * CreateMembers * action to create the member account in Security Hub.

      - *

      When the account owner accepts the invitation to become a member account and enables - * Security Hub, the master account can view the findings generated from the member account.

      + *

      When the account owner enables Security Hub and accepts the invitation to become a member + * account, the master account can view the findings generated from the member account.

      */ export class InviteMembersCommand extends $Command< InviteMembersCommandInput, diff --git a/clients/client-securityhub/commands/ListInvitationsCommand.ts b/clients/client-securityhub/commands/ListInvitationsCommand.ts index e2f93f621f811..d6774399c08aa 100644 --- a/clients/client-securityhub/commands/ListInvitationsCommand.ts +++ b/clients/client-securityhub/commands/ListInvitationsCommand.ts @@ -21,8 +21,9 @@ export type ListInvitationsCommandInput = ListInvitationsRequest; export type ListInvitationsCommandOutput = ListInvitationsResponse & __MetadataBearer; /** - *

      Lists all Security Hub membership invitations that were sent to the current AWS account. - *

      + *

      Lists all Security Hub membership invitations that were sent to the current AWS account.

      + *

      This operation is only used by accounts that do not belong to an organization. + * Organization accounts do not receive invitations.

      */ export class ListInvitationsCommand extends $Command< ListInvitationsCommandInput, diff --git a/clients/client-securityhub/commands/ListMembersCommand.ts b/clients/client-securityhub/commands/ListMembersCommand.ts index 3da9cdf81a75e..69dc36b2f6b96 100644 --- a/clients/client-securityhub/commands/ListMembersCommand.ts +++ b/clients/client-securityhub/commands/ListMembersCommand.ts @@ -23,6 +23,8 @@ export type ListMembersCommandOutput = ListMembersResponse & __MetadataBearer; /** *

      Lists details about all member accounts for the current Security Hub master * account.

      + *

      The results include both member accounts that belong to an organization and member + * accounts that were invited manually.

      */ export class ListMembersCommand extends $Command< ListMembersCommandInput, diff --git a/clients/client-securityhub/commands/ListOrganizationAdminAccountsCommand.ts b/clients/client-securityhub/commands/ListOrganizationAdminAccountsCommand.ts new file mode 100644 index 0000000000000..b652d5272f66a --- /dev/null +++ b/clients/client-securityhub/commands/ListOrganizationAdminAccountsCommand.ts @@ -0,0 +1,92 @@ +import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; +import { ListOrganizationAdminAccountsRequest, ListOrganizationAdminAccountsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListOrganizationAdminAccountsCommand, + serializeAws_restJson1ListOrganizationAdminAccountsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListOrganizationAdminAccountsCommandInput = ListOrganizationAdminAccountsRequest; +export type ListOrganizationAdminAccountsCommandOutput = ListOrganizationAdminAccountsResponse & __MetadataBearer; + +/** + *

      Lists the Security Hub administrator accounts. Can only be called by the organization + * management account.

      + */ +export class ListOrganizationAdminAccountsCommand extends $Command< + ListOrganizationAdminAccountsCommandInput, + ListOrganizationAdminAccountsCommandOutput, + SecurityHubClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListOrganizationAdminAccountsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SecurityHubClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SecurityHubClient"; + const commandName = "ListOrganizationAdminAccountsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListOrganizationAdminAccountsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListOrganizationAdminAccountsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListOrganizationAdminAccountsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListOrganizationAdminAccountsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListOrganizationAdminAccountsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-securityhub/commands/UpdateOrganizationConfigurationCommand.ts b/clients/client-securityhub/commands/UpdateOrganizationConfigurationCommand.ts new file mode 100644 index 0000000000000..ed36d5870c639 --- /dev/null +++ b/clients/client-securityhub/commands/UpdateOrganizationConfigurationCommand.ts @@ -0,0 +1,95 @@ +import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; +import { UpdateOrganizationConfigurationRequest, UpdateOrganizationConfigurationResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateOrganizationConfigurationCommand, + serializeAws_restJson1UpdateOrganizationConfigurationCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateOrganizationConfigurationCommandInput = UpdateOrganizationConfigurationRequest; +export type UpdateOrganizationConfigurationCommandOutput = UpdateOrganizationConfigurationResponse & __MetadataBearer; + +/** + *

      Used to update the configuration related to Organizations. Can only be called from a + * Security Hub administrator account.

      + */ +export class UpdateOrganizationConfigurationCommand extends $Command< + UpdateOrganizationConfigurationCommandInput, + UpdateOrganizationConfigurationCommandOutput, + SecurityHubClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateOrganizationConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SecurityHubClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SecurityHubClient"; + const commandName = "UpdateOrganizationConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateOrganizationConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateOrganizationConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateOrganizationConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateOrganizationConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateOrganizationConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-securityhub/index.ts b/clients/client-securityhub/index.ts index 5ec41518b6a2a..3998d2b001e8f 100644 --- a/clients/client-securityhub/index.ts +++ b/clients/client-securityhub/index.ts @@ -16,6 +16,7 @@ export * from "./commands/DeleteMembersCommand"; export * from "./commands/DescribeActionTargetsCommand"; export * from "./pagination/DescribeActionTargetsPaginator"; export * from "./commands/DescribeHubCommand"; +export * from "./commands/DescribeOrganizationConfigurationCommand"; export * from "./commands/DescribeProductsCommand"; export * from "./pagination/DescribeProductsPaginator"; export * from "./commands/DescribeStandardsCommand"; @@ -23,10 +24,12 @@ export * from "./pagination/DescribeStandardsPaginator"; export * from "./commands/DescribeStandardsControlsCommand"; export * from "./pagination/DescribeStandardsControlsPaginator"; export * from "./commands/DisableImportFindingsForProductCommand"; +export * from "./commands/DisableOrganizationAdminAccountCommand"; export * from "./commands/DisableSecurityHubCommand"; export * from "./commands/DisassociateFromMasterAccountCommand"; export * from "./commands/DisassociateMembersCommand"; export * from "./commands/EnableImportFindingsForProductCommand"; +export * from "./commands/EnableOrganizationAdminAccountCommand"; export * from "./commands/EnableSecurityHubCommand"; export * from "./commands/GetEnabledStandardsCommand"; export * from "./pagination/GetEnabledStandardsPaginator"; @@ -45,12 +48,15 @@ export * from "./commands/ListInvitationsCommand"; export * from "./pagination/ListInvitationsPaginator"; export * from "./commands/ListMembersCommand"; export * from "./pagination/ListMembersPaginator"; +export * from "./commands/ListOrganizationAdminAccountsCommand"; +export * from "./pagination/ListOrganizationAdminAccountsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateActionTargetCommand"; export * from "./commands/UpdateFindingsCommand"; export * from "./commands/UpdateInsightCommand"; +export * from "./commands/UpdateOrganizationConfigurationCommand"; export * from "./commands/UpdateSecurityHubConfigurationCommand"; export * from "./commands/UpdateStandardsControlCommand"; export * from "./pagination/Interfaces"; diff --git a/clients/client-securityhub/models/models_0.ts b/clients/client-securityhub/models/models_0.ts index 7bc10985f3e54..e87c7cf8b974c 100644 --- a/clients/client-securityhub/models/models_0.ts +++ b/clients/client-securityhub/models/models_0.ts @@ -3,14 +3,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AcceptInvitationRequest { /** - *

      The account ID of the Security Hub master account that sent the invitation.

      + *

      The ID of the invitation sent from the Security Hub master account.

      */ - MasterId: string | undefined; + InvitationId: string | undefined; /** - *

      The ID of the invitation sent from the Security Hub master account.

      + *

      The account ID of the Security Hub master account that sent the invitation.

      */ - InvitationId: string | undefined; + MasterId: string | undefined; } export namespace AcceptInvitationRequest { @@ -44,7 +44,8 @@ export namespace InternalException { } /** - *

      AWS Security Hub isn't enabled for the account used to make this request.

      + *

      There is an issue with the account used to make the request. Either Security Hub is not enabled + * for the account, or the account does not have permission to perform this action.

      */ export interface InvalidAccessException extends __SmithyException, $MetadataBearer { name: "InvalidAccessException"; @@ -66,8 +67,8 @@ export namespace InvalidAccessException { export interface InvalidInputException extends __SmithyException, $MetadataBearer { name: "InvalidInputException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace InvalidInputException { @@ -78,13 +79,13 @@ export namespace InvalidInputException { /** *

      The request was rejected because it attempted to create resources beyond the current AWS - * account limits. The error code describes the limit exceeded.

      + * account or throttling limits. The error code describes the limit exceeded.

      */ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - Message?: string; Code?: string; + Message?: string; } export namespace LimitExceededException { @@ -99,8 +100,8 @@ export namespace LimitExceededException { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace ResourceNotFoundException { @@ -115,8 +116,8 @@ export namespace ResourceNotFoundException { export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; $fault: "client"; - Message?: string; Code?: string; + Message?: string; } export namespace AccessDeniedException { @@ -130,14 +131,14 @@ export namespace AccessDeniedException { */ export interface AccountDetails { /** - *

      The email of an AWS account.

      + *

      The ID of an AWS account.

      */ - Email?: string; + AccountId: string | undefined; /** - *

      The ID of an AWS account.

      + *

      The email of an AWS account.

      */ - AccountId?: string; + Email?: string; } export namespace AccountDetails { @@ -150,11 +151,6 @@ export namespace AccountDetails { *

      An ActionTarget object.

      */ export interface ActionTarget { - /** - *

      The name of the action target.

      - */ - Name: string | undefined; - /** *

      The description of the target action.

      */ @@ -164,6 +160,11 @@ export interface ActionTarget { *

      The ARN for the target action.

      */ ActionTargetArn: string | undefined; + + /** + *

      The name of the action target.

      + */ + Name: string | undefined; } export namespace ActionTarget { @@ -172,6 +173,34 @@ export namespace ActionTarget { }); } +export enum AdminStatus { + DISABLE_IN_PROGRESS = "DISABLE_IN_PROGRESS", + ENABLED = "ENABLED", +} + +/** + *

      Represents a Security Hub administrator account designated by an organization management + * account.

      + */ +export interface AdminAccount { + /** + *

      The current status of the Security Hub administrator account. Indicates whether the account is + * currently enabled as a Security Hub administrator.

      + */ + Status?: AdminStatus | string; + + /** + *

      The AWS account identifier of the Security Hub administrator account.

      + */ + AccountId?: string; +} + +export namespace AdminAccount { + export const filterSensitiveLog = (obj: AdminAccount): any => ({ + ...obj, + }); +} + /** *

      Information about an Availability Zone.

      */ @@ -197,17 +226,17 @@ export namespace AvailabilityZone { *

      Contains information about settings for logging access for the stage.

      */ export interface AwsApiGatewayAccessLogSettings { - /** - *

      The ARN of the CloudWatch Logs log group that receives the access logs.

      - */ - DestinationArn?: string; - /** *

      A single-line format of the access logs of data, as specified by selected * $context variables. The format must include at least * $context.requestId.

      */ Format?: string; + + /** + *

      The ARN of the CloudWatch Logs log group that receives the access logs.

      + */ + DestinationArn?: string; } export namespace AwsApiGatewayAccessLogSettings { @@ -225,11 +254,6 @@ export interface AwsApiGatewayCanarySettings { */ DeploymentId?: string; - /** - *

      The percentage of traffic that is diverted to a canary deployment.

      - */ - PercentTraffic?: number; - /** *

      Indicates whether the canary deployment uses the stage cache.

      */ @@ -242,6 +266,11 @@ export interface AwsApiGatewayCanarySettings { * and the variable value.

      */ StageVariableOverrides?: { [key: string]: string }; + + /** + *

      The percentage of traffic that is diverted to a canary deployment.

      + */ + PercentTraffic?: number; } export namespace AwsApiGatewayCanarySettings { @@ -273,27 +302,11 @@ export namespace AwsApiGatewayEndpointConfiguration { *

      Defines settings for a method for the stage.

      */ export interface AwsApiGatewayMethodSettings { - /** - *

      The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to - * multiple methods.

      - */ - HttpMethod?: string; - /** *

      Indicates whether authorization is required for a cache invalidation request.

      */ RequireAuthorizationForCacheControl?: boolean; - /** - *

      The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial - * slash must include a forward slash.

      - *

      For example, the path value /resource/subresource must be encoded as - * /~1resource~1subresource.

      - *

      To specify the root path, use only a slash (/). You can use an asterisk (*) as a - * wildcard to apply method settings to multiple methods.

      - */ - ResourcePath?: string; - /** *

      The logging level for this method. The logging level affects the log entries that are * pushed to CloudWatch Logs.

      @@ -307,34 +320,44 @@ export interface AwsApiGatewayMethodSettings { LoggingLevel?: string; /** - *

      Indicates whether responses are cached and returned for requests. For responses to be - * cached, a cache cluster must be enabled on the stage.

      + *

      Indicates how to handle unauthorized requests for cache invalidation.

      + *

      Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | + * SUCCEED_WITHOUT_RESPONSE_HEADER + *

      */ - CachingEnabled?: boolean; + UnauthorizedCacheControlHeaderStrategy?: string; /** - *

      Indicates whether data trace logging is enabled for the method. Data trace logging - * affects the log entries that are pushed to CloudWatch Logs.

      + *

      The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial + * slash must include a forward slash.

      + *

      For example, the path value /resource/subresource must be encoded as + * /~1resource~1subresource.

      + *

      To specify the root path, use only a slash (/). You can use an asterisk (*) as a + * wildcard to apply method settings to multiple methods.

      */ - DataTraceEnabled?: boolean; + ResourcePath?: string; /** - *

      The throttling burst limit for the method.

      + *

      Indicates whether CloudWatch metrics are enabled for the method.

      */ - ThrottlingBurstLimit?: number; + MetricsEnabled?: boolean; /** - *

      The throttling rate limit for the method.

      + *

      Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, + * the longer the response is cached.

      */ - ThrottlingRateLimit?: number; + CacheTtlInSeconds?: number; /** - *

      Indicates how to handle unauthorized requests for cache invalidation.

      - *

      Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | - * SUCCEED_WITHOUT_RESPONSE_HEADER - *

      + *

      The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to + * multiple methods.

      */ - UnauthorizedCacheControlHeaderStrategy?: string; + HttpMethod?: string; + + /** + *

      The throttling rate limit for the method.

      + */ + ThrottlingRateLimit?: number; /** *

      Indicates whether the cached responses are encrypted.

      @@ -342,15 +365,21 @@ export interface AwsApiGatewayMethodSettings { CacheDataEncrypted?: boolean; /** - *

      Indicates whether CloudWatch metrics are enabled for the method.

      + *

      Indicates whether responses are cached and returned for requests. For responses to be + * cached, a cache cluster must be enabled on the stage.

      */ - MetricsEnabled?: boolean; + CachingEnabled?: boolean; /** - *

      Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, - * the longer the response is cached.

      + *

      The throttling burst limit for the method.

      */ - CacheTtlInSeconds?: number; + ThrottlingBurstLimit?: number; + + /** + *

      Indicates whether data trace logging is enabled for the method. Data trace logging + * affects the log entries that are pushed to CloudWatch Logs.

      + */ + DataTraceEnabled?: boolean; } export namespace AwsApiGatewayMethodSettings { @@ -364,14 +393,14 @@ export namespace AwsApiGatewayMethodSettings { */ export interface AwsApiGatewayRestApiDetails { /** - *

      A description of the REST API.

      + *

      The list of binary media types supported by the REST API.

      */ - Description?: string; + BinaryMediaTypes?: string[]; /** - *

      The list of binary media types supported by the REST API.

      + *

      A description of the REST API.

      */ - BinaryMediaTypes?: string[]; + Description?: string; /** *

      The source of the API key for metering requests according to a usage plan.

      @@ -384,6 +413,16 @@ export interface AwsApiGatewayRestApiDetails { */ ApiKeySource?: string; + /** + *

      The identifier of the REST API.

      + */ + Id?: string; + + /** + *

      The version identifier for the REST API.

      + */ + Version?: string; + /** *

      The minimum size in bytes of a payload before compression is enabled.

      *

      If null, then compression is disabled.

      @@ -392,9 +431,12 @@ export interface AwsApiGatewayRestApiDetails { MinimumCompressionSize?: number; /** - *

      The identifier of the REST API.

      + *

      Indicates when the API was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Id?: string; + CreatedDate?: string; /** *

      The name of the REST API.

      @@ -405,19 +447,6 @@ export interface AwsApiGatewayRestApiDetails { *

      The endpoint configuration of the REST API.

      */ EndpointConfiguration?: AwsApiGatewayEndpointConfiguration; - - /** - *

      The version identifier for the REST API.

      - */ - Version?: string; - - /** - *

      Indicates when the API was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      - */ - CreatedDate?: string; } export namespace AwsApiGatewayRestApiDetails { @@ -431,70 +460,83 @@ export namespace AwsApiGatewayRestApiDetails { */ export interface AwsApiGatewayStageDetails { /** - *

      Defines the method settings for the stage.

      + *

      Indicates whether a cache cluster is enabled for the stage.

      */ - MethodSettings?: AwsApiGatewayMethodSettings[]; + CacheClusterEnabled?: boolean; /** - *

      Information about settings for canary deployment in the stage.

      + *

      Settings for logging access for the stage.

      */ - CanarySettings?: AwsApiGatewayCanarySettings; + AccessLogSettings?: AwsApiGatewayAccessLogSettings; /** - *

      If a cache cluster is enabled, the status of the cache cluster.

      + *

      The version of the API documentation that is associated with the stage.

      */ - CacheClusterStatus?: string; + DocumentationVersion?: string; /** - *

      Indicates when the stage was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      If a cache cluster is enabled, the size of the cache cluster.

      */ - CreatedDate?: string; + CacheClusterSize?: string; /** - *

      Indicates when the stage was most recently updated.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The identifier of the client certificate for the stage.

      */ - LastUpdatedDate?: string; + ClientCertificateId?: string; /** - *

      The ARN of the web ACL associated with the stage.

      + *

      A map that defines the stage variables for the stage.

      + *

      Variable names can have alphanumeric and underscore characters.

      + *

      Variable values can contain the following characters:

      + *
        + *
      • + *

        Uppercase and lowercase letters

        + *
      • + *
      • + *

        Numbers

        + *
      • + *
      • + *

        Special characters -._~:/?#&=,

        + *
      • + *
      */ - WebAclArn?: string; + Variables?: { [key: string]: string }; /** - *

      The name of the stage.

      + *

      The identifier of the deployment that the stage points to.

      */ - StageName?: string; + DeploymentId?: string; /** - *

      If a cache cluster is enabled, the size of the cache cluster.

      + *

      Indicates when the stage was most recently updated.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - CacheClusterSize?: string; + LastUpdatedDate?: string; /** - *

      Settings for logging access for the stage.

      + *

      Indicates whether active tracing with AWS X-Ray is enabled for the stage.

      */ - AccessLogSettings?: AwsApiGatewayAccessLogSettings; + TracingEnabled?: boolean; /** - *

      The version of the API documentation that is associated with the stage.

      + *

      Indicates when the stage was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - DocumentationVersion?: string; + CreatedDate?: string; /** - *

      Indicates whether active tracing with AWS X-Ray is enabled for the stage.

      + *

      Information about settings for canary deployment in the stage.

      */ - TracingEnabled?: boolean; + CanarySettings?: AwsApiGatewayCanarySettings; /** - *

      The identifier of the deployment that the stage points to.

      + *

      Defines the method settings for the stage.

      */ - DeploymentId?: string; + MethodSettings?: AwsApiGatewayMethodSettings[]; /** *

      A description of the stage.

      @@ -502,32 +544,19 @@ export interface AwsApiGatewayStageDetails { Description?: string; /** - *

      The identifier of the client certificate for the stage.

      + *

      The ARN of the web ACL associated with the stage.

      */ - ClientCertificateId?: string; + WebAclArn?: string; /** - *

      Indicates whether a cache cluster is enabled for the stage.

      + *

      If a cache cluster is enabled, the status of the cache cluster.

      */ - CacheClusterEnabled?: boolean; + CacheClusterStatus?: string; /** - *

      A map that defines the stage variables for the stage.

      - *

      Variable names can have alphanumeric and underscore characters.

      - *

      Variable values can contain the following characters:

      - *
        - *
      • - *

        Uppercase and lowercase letters

        - *
      • - *
      • - *

        Numbers

        - *
      • - *
      • - *

        Special characters -._~:/?#&=,

        - *
      • - *
      + *

      The name of the stage.

      */ - Variables?: { [key: string]: string }; + StageName?: string; } export namespace AwsApiGatewayStageDetails { @@ -547,14 +576,14 @@ export interface AwsCorsConfiguration { MaxAge?: number; /** - *

      The allowed methods for CORS requests.

      + *

      The allowed headers for CORS requests.

      */ - AllowMethods?: string[]; + AllowHeaders?: string[]; /** - *

      The exposed headers for CORS requests.

      + *

      The allowed origins for CORS requests.

      */ - ExposeHeaders?: string[]; + AllowOrigins?: string[]; /** *

      Indicates whether the CORS request includes credentials.

      @@ -562,14 +591,14 @@ export interface AwsCorsConfiguration { AllowCredentials?: boolean; /** - *

      The allowed headers for CORS requests.

      + *

      The allowed methods for CORS requests.

      */ - AllowHeaders?: string[]; + AllowMethods?: string[]; /** - *

      The allowed origins for CORS requests.

      + *

      The exposed headers for CORS requests.

      */ - AllowOrigins?: string[]; + ExposeHeaders?: string[]; } export namespace AwsCorsConfiguration { @@ -588,31 +617,32 @@ export interface AwsApiGatewayV2ApiDetails { Name?: string; /** - *

      The version identifier for the API.

      + *

      The identifier of the API.

      */ - Version?: string; + ApiId?: string; /** - *

      A cross-origin resource sharing (CORS) configuration. Supported only for HTTP - * APIs.

      + *

      The API protocol for the API.

      + *

      Valid values: WEBSOCKET | HTTP + *

      */ - CorsConfiguration?: AwsCorsConfiguration; + ProtocolType?: string; /** - *

      The route selection expression for the API.

      - *

      For HTTP APIs, must be ${request.method} ${request.path}. This is the - * default value for HTTP APIs.

      - *

      For WebSocket APIs, there is no default value.

      + *

      A description of the API.

      */ - RouteSelectionExpression?: string; + Description?: string; /** - *

      Indicates when the API was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      A cross-origin resource sharing (CORS) configuration. Supported only for HTTP + * APIs.

      */ - CreatedDate?: string; + CorsConfiguration?: AwsCorsConfiguration; + + /** + *

      An API key selection expression. Supported only for WebSocket APIs.

      + */ + ApiKeySelectionExpression?: string; /** *

      The URI of the API.

      @@ -626,26 +656,25 @@ export interface AwsApiGatewayV2ApiDetails { ApiEndpoint?: string; /** - *

      An API key selection expression. Supported only for WebSocket APIs.

      - */ - ApiKeySelectionExpression?: string; - - /** - *

      A description of the API.

      + *

      The version identifier for the API.

      */ - Description?: string; + Version?: string; /** - *

      The API protocol for the API.

      - *

      Valid values: WEBSOCKET | HTTP - *

      + *

      The route selection expression for the API.

      + *

      For HTTP APIs, must be ${request.method} ${request.path}. This is the + * default value for HTTP APIs.

      + *

      For WebSocket APIs, there is no default value.

      */ - ProtocolType?: string; + RouteSelectionExpression?: string; /** - *

      The identifier of the API.

      + *

      Indicates when the API was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - ApiId?: string; + CreatedDate?: string; } export namespace AwsApiGatewayV2ApiDetails { @@ -659,25 +688,14 @@ export namespace AwsApiGatewayV2ApiDetails { */ export interface AwsApiGatewayV2RouteSettings { /** - *

      The throttling rate limit.

      - */ - ThrottlingRateLimit?: number; - - /** - *

      Indicates whether data trace logging is enabled. Data trace logging affects the log - * entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs.

      - */ - DataTraceEnabled?: boolean; - - /** - *

      Indicates whether detailed metrics are enabled.

      + *

      The throttling burst limit.

      */ - DetailedMetricsEnabled?: boolean; + ThrottlingBurstLimit?: number; /** - *

      The throttling burst limit.

      + *

      The throttling rate limit.

      */ - ThrottlingBurstLimit?: number; + ThrottlingRateLimit?: number; /** *

      The logging level. The logging level affects the log entries that are pushed to @@ -690,6 +708,17 @@ export interface AwsApiGatewayV2RouteSettings { *

      */ LoggingLevel?: string; + + /** + *

      Indicates whether data trace logging is enabled. Data trace logging affects the log + * entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs.

      + */ + DataTraceEnabled?: boolean; + + /** + *

      Indicates whether detailed metrics are enabled.

      + */ + DetailedMetricsEnabled?: boolean; } export namespace AwsApiGatewayV2RouteSettings { @@ -702,34 +731,15 @@ export namespace AwsApiGatewayV2RouteSettings { *

      Contains information about a version 2 stage for Amazon API Gateway.

      */ export interface AwsApiGatewayV2StageDetails { - /** - *

      Indicates when the stage was most recently updated.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      - */ - LastUpdatedDate?: string; - /** *

      The identifier of the deployment that the stage is associated with.

      */ DeploymentId?: string; /** - *

      Indicates whether the stage is managed by API Gateway.

      - */ - ApiGatewayManaged?: boolean; - - /** - *

      The route settings for the stage.

      - */ - RouteSettings?: AwsApiGatewayV2RouteSettings; - - /** - *

      The status of the last deployment of a stage. Supported only if the stage has automatic - * deployment enabled.

      + *

      The name of the stage.

      */ - LastDeploymentStatusMessage?: string; + StageName?: string; /** *

      A map that defines the stage variables for the stage.

      @@ -750,14 +760,27 @@ export interface AwsApiGatewayV2StageDetails { StageVariables?: { [key: string]: string }; /** - *

      The name of the stage.

      + *

      Indicates when the stage was most recently updated.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - StageName?: string; + LastUpdatedDate?: string; /** - *

      Information about settings for logging access for the stage.

      + *

      Indicates whether the stage is managed by API Gateway.

      */ - AccessLogSettings?: AwsApiGatewayAccessLogSettings; + ApiGatewayManaged?: boolean; + + /** + *

      Indicates whether updates to an API automatically trigger a new deployment.

      + */ + AutoDeploy?: boolean; + + /** + *

      The description of the stage.

      + */ + Description?: string; /** *

      Indicates when the stage was created.

      @@ -773,14 +796,20 @@ export interface AwsApiGatewayV2StageDetails { DefaultRouteSettings?: AwsApiGatewayV2RouteSettings; /** - *

      The description of the stage.

      + *

      The status of the last deployment of a stage. Supported only if the stage has automatic + * deployment enabled.

      */ - Description?: string; + LastDeploymentStatusMessage?: string; /** - *

      Indicates whether updates to an API automatically trigger a new deployment.

      + *

      Information about settings for logging access for the stage.

      */ - AutoDeploy?: boolean; + AccessLogSettings?: AwsApiGatewayAccessLogSettings; + + /** + *

      The route settings for the stage.

      + */ + RouteSettings?: AwsApiGatewayV2RouteSettings; } export namespace AwsApiGatewayV2StageDetails { @@ -800,14 +829,14 @@ export interface AwsAutoScalingAutoScalingGroupDetails { HealthCheckGracePeriod?: number; /** - *

      The list of load balancers associated with the group.

      + *

      The service to use for the health checks.

      */ - LoadBalancerNames?: string[]; + HealthCheckType?: string; /** - *

      The name of the launch configuration.

      + *

      The list of load balancers associated with the group.

      */ - LaunchConfigurationName?: string; + LoadBalancerNames?: string[]; /** *

      Indicates when the auto scaling group was created.

      @@ -818,9 +847,9 @@ export interface AwsAutoScalingAutoScalingGroupDetails { CreatedTime?: string; /** - *

      The service to use for the health checks.

      + *

      The name of the launch configuration.

      */ - HealthCheckType?: string; + LaunchConfigurationName?: string; } export namespace AwsAutoScalingAutoScalingGroupDetails { @@ -876,15 +905,14 @@ export interface AwsCertificateManagerCertificateDomainValidationOption { ValidationStatus?: string; /** - *

      The CNAME record that is added to the DNS database for domain validation.

      + *

      A fully qualified domain name (FQDN) in the certificate.

      */ - ResourceRecord?: AwsCertificateManagerCertificateResourceRecord; + DomainName?: string; /** - *

      A list of email addresses that AWS Certificate Manager uses to send domain validation - * emails.

      + *

      The method used to validate the domain name.

      */ - ValidationEmails?: string[]; + ValidationMethod?: string; /** *

      The domain name that AWS Certificate Manager uses to send domain validation @@ -893,14 +921,15 @@ export interface AwsCertificateManagerCertificateDomainValidationOption { ValidationDomain?: string; /** - *

      The method used to validate the domain name.

      + *

      A list of email addresses that AWS Certificate Manager uses to send domain validation + * emails.

      */ - ValidationMethod?: string; + ValidationEmails?: string[]; /** - *

      A fully qualified domain name (FQDN) in the certificate.

      + *

      The CNAME record that is added to the DNS database for domain validation.

      */ - DomainName?: string; + ResourceRecord?: AwsCertificateManagerCertificateResourceRecord; } export namespace AwsCertificateManagerCertificateDomainValidationOption { @@ -971,21 +1000,6 @@ export namespace AwsCertificateManagerCertificateOptions { * AMAZON_ISSUED certificate.

      */ export interface AwsCertificateManagerCertificateRenewalSummary { - /** - *

      The status of the AWS Certificate Manager managed renewal of the certificate.

      - *

      Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | - * SUCCESS | FAILED - *

      - */ - RenewalStatus?: string; - - /** - *

      Information about the validation of each domain name in the certificate, as it pertains - * to AWS Certificate Manager managed renewal. Provided only when the certificate type is - * AMAZON_ISSUED.

      - */ - DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOption[]; - /** *

      The reason that a renewal request was unsuccessful.

      *

      Valid values: NO_AVAILABLE_CONTACTS | @@ -1000,6 +1014,14 @@ export interface AwsCertificateManagerCertificateRenewalSummary { */ RenewalStatusReason?: string; + /** + *

      The status of the AWS Certificate Manager managed renewal of the certificate.

      + *

      Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | + * SUCCESS | FAILED + *

      + */ + RenewalStatus?: string; + /** *

      Indicates when the renewal summary was last updated.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet @@ -1007,6 +1029,13 @@ export interface AwsCertificateManagerCertificateRenewalSummary { * 2020-03-22T13:22:13.933Z.

      */ UpdatedAt?: string; + + /** + *

      Information about the validation of each domain name in the certificate, as it pertains + * to AWS Certificate Manager managed renewal. Provided only when the certificate type is + * AMAZON_ISSUED.

      + */ + DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOption[]; } export namespace AwsCertificateManagerCertificateRenewalSummary { @@ -1020,173 +1049,173 @@ export namespace AwsCertificateManagerCertificateRenewalSummary { */ export interface AwsCertificateManagerCertificateDetails { /** - *

      The algorithm that was used to generate the public-private key pair.

      - *

      Valid values: RSA_2048 | RSA_1024 | RSA_4096 | - * EC_prime256v1 | EC_secp384r1 | - * EC_secp521r1 - *

      + *

      Provides a value that specifies whether to add the certificate to a transparency + * log.

      */ - KeyAlgorithm?: string; + Options?: AwsCertificateManagerCertificateOptions; /** - *

      The ARN of the private certificate authority (CA) that will be used to issue the - * certificate.

      - */ - CertificateAuthorityArn?: string; + *

      The status of the certificate.

      + *

      Valid values: PENDING_VALIDATION | ISSUED | + * INACTIVE | EXPIRED | VALIDATION_TIMED_OUT | + * REVOKED | FAILED + *

      + */ + Status?: string; /** - *

      Indicates when the certificate was imported. Provided if the certificate type is - * IMPORTED.

      + *

      Indicates when the certificate was issued. Provided if the certificate type is + * AMAZON_ISSUED.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

      */ - ImportedAt?: string; + IssuedAt?: string; /** - *

      The source of the certificate. For certificates that AWS Certificate Manager provides, - * Type is AMAZON_ISSUED. For certificates that are imported with - * ImportCertificate, Type is IMPORTED.

      - *

      Valid values: IMPORTED | AMAZON_ISSUED | - * PRIVATE - *

      + *

      Indicates when the certificate was requested.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Type?: string; + CreatedAt?: string; /** - *

      Information about the status of the AWS Certificate Manager managed renewal for the - * certificate. Provided only when the certificate type is AMAZON_ISSUED.

      + *

      Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies + * a purpose for which the certificate public key can be used and consists of a name and an + * object identifier (OID).

      */ - RenewalSummary?: AwsCertificateManagerCertificateRenewalSummary; + ExtendedKeyUsages?: AwsCertificateManagerCertificateExtendedKeyUsage[]; /** - *

      For a failed certificate request, the reason for the failure.

      - *

      Valid values: NO_AVAILABLE_CONTACTS | - * ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | - * INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | - * CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN - * | PCA_INVALID_STATE | PCA_REQUEST_FAILED | - * PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | - * PCA_INVALID_ARGS | PCA_INVALID_DURATION | - * PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER - *

      + *

      The time after which the certificate becomes invalid.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - FailureReason?: string; + NotAfter?: string; /** - *

      A list of key usage X.509 v3 extension objects.

      + *

      The fully qualified domain name (FQDN), such as www.example.com, that is secured by the + * certificate.

      */ - KeyUsages?: AwsCertificateManagerCertificateKeyUsage[]; + DomainName?: string; /** - *

      One or more domain names (subject alternative names) included in the certificate. This - * list contains the domain names that are bound to the public key that is contained in the + *

      The name of the entity that is associated with the public key contained in the * certificate.

      - *

      The subject alternative names include the canonical domain name (CN) of the certificate - * and additional domain names that can be used to connect to the website.

      */ - SubjectAlternativeNames?: string[]; + Subject?: string; /** - *

      Contains information about the initial validation of each domain name that occurs as a - * result of the RequestCertificate request.

      - *

      Only provided if the certificate type is AMAZON_ISSUED.

      + *

      The list of ARNs for the AWS resources that use the certificate.

      */ - DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOption[]; + InUseBy?: string[]; /** - *

      The list of ARNs for the AWS resources that use the certificate.

      + *

      Whether the certificate is eligible for renewal.

      + *

      Valid values: ELIGIBLE | INELIGIBLE + *

      */ - InUseBy?: string[]; + RenewalEligibility?: string; /** - *

      The serial number of the certificate.

      + *

      Contains information about the initial validation of each domain name that occurs as a + * result of the RequestCertificate request.

      + *

      Only provided if the certificate type is AMAZON_ISSUED.

      */ - Serial?: string; + DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOption[]; /** - *

      The fully qualified domain name (FQDN), such as www.example.com, that is secured by the - * certificate.

      + *

      The name of the certificate authority that issued and signed the certificate.

      */ - DomainName?: string; + Issuer?: string; /** - *

      Indicates when the certificate was issued. Provided if the certificate type is - * AMAZON_ISSUED.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      One or more domain names (subject alternative names) included in the certificate. This + * list contains the domain names that are bound to the public key that is contained in the + * certificate.

      + *

      The subject alternative names include the canonical domain name (CN) of the certificate + * and additional domain names that can be used to connect to the website.

      */ - IssuedAt?: string; + SubjectAlternativeNames?: string[]; /** - *

      Provides a value that specifies whether to add the certificate to a transparency - * log.

      + *

      The algorithm that was used to sign the certificate.

      */ - Options?: AwsCertificateManagerCertificateOptions; + SignatureAlgorithm?: string; /** - *

      Indicates when the certificate was requested.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      A list of key usage X.509 v3 extension objects.

      */ - CreatedAt?: string; + KeyUsages?: AwsCertificateManagerCertificateKeyUsage[]; /** - *

      The time before which the certificate is not valid.

      + *

      Indicates when the certificate was imported. Provided if the certificate type is + * IMPORTED.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

      */ - NotBefore?: string; + ImportedAt?: string; /** - *

      The name of the certificate authority that issued and signed the certificate.

      + *

      The ARN of the private certificate authority (CA) that will be used to issue the + * certificate.

      */ - Issuer?: string; + CertificateAuthorityArn?: string; /** - *

      The status of the certificate.

      - *

      Valid values: PENDING_VALIDATION | ISSUED | - * INACTIVE | EXPIRED | VALIDATION_TIMED_OUT | - * REVOKED | FAILED + *

      The algorithm that was used to generate the public-private key pair.

      + *

      Valid values: RSA_2048 | RSA_1024 | RSA_4096 | + * EC_prime256v1 | EC_secp384r1 | + * EC_secp521r1 *

      */ - Status?: string; + KeyAlgorithm?: string; /** - *

      The algorithm that was used to sign the certificate.

      + *

      Information about the status of the AWS Certificate Manager managed renewal for the + * certificate. Provided only when the certificate type is AMAZON_ISSUED.

      */ - SignatureAlgorithm?: string; + RenewalSummary?: AwsCertificateManagerCertificateRenewalSummary; /** - *

      The name of the entity that is associated with the public key contained in the - * certificate.

      + *

      The serial number of the certificate.

      */ - Subject?: string; + Serial?: string; /** - *

      Whether the certificate is eligible for renewal.

      - *

      Valid values: ELIGIBLE | INELIGIBLE + *

      For a failed certificate request, the reason for the failure.

      + *

      Valid values: NO_AVAILABLE_CONTACTS | + * ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | + * INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | + * CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN + * | PCA_INVALID_STATE | PCA_REQUEST_FAILED | + * PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | + * PCA_INVALID_ARGS | PCA_INVALID_DURATION | + * PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER *

      */ - RenewalEligibility?: string; + FailureReason?: string; /** - *

      The time after which the certificate becomes invalid.

      + *

      The time before which the certificate is not valid.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

      */ - NotAfter?: string; + NotBefore?: string; /** - *

      Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies - * a purpose for which the certificate public key can be used and consists of a name and an - * object identifier (OID).

      + *

      The source of the certificate. For certificates that AWS Certificate Manager provides, + * Type is AMAZON_ISSUED. For certificates that are imported with + * ImportCertificate, Type is IMPORTED.

      + *

      Valid values: IMPORTED | AMAZON_ISSUED | + * PRIVATE + *

      */ - ExtendedKeyUsages?: AwsCertificateManagerCertificateExtendedKeyUsage[]; + Type?: string; } export namespace AwsCertificateManagerCertificateDetails { @@ -1284,25 +1313,25 @@ export namespace AwsCloudFrontDistributionDefaultCacheBehavior { */ export interface AwsCloudFrontDistributionLogging { /** - *

      An optional string that you want CloudFront to use as a prefix to the access log - * filenames for this distribution.

      + *

      Specifies whether you want CloudFront to include cookies in access logs.

      */ - Prefix?: string; + IncludeCookies?: boolean; /** - *

      With this field, you can enable or disable the selected distribution.

      + *

      The Amazon S3 bucket to store the access logs in.

      */ - Enabled?: boolean; + Bucket?: string; /** - *

      The Amazon S3 bucket to store the access logs in.

      + *

      An optional string that you want CloudFront to use as a prefix to the access log + * filenames for this distribution.

      */ - Bucket?: string; + Prefix?: string; /** - *

      Specifies whether you want CloudFront to include cookies in access logs.

      + *

      With this field, you can enable or disable the selected distribution.

      */ - IncludeCookies?: boolean; + Enabled?: boolean; } export namespace AwsCloudFrontDistributionLogging { @@ -1316,14 +1345,14 @@ export namespace AwsCloudFrontDistributionLogging { */ export interface AwsCloudFrontDistributionOriginGroupFailoverStatusCodes { /** - *

      The list of status code values that can cause a failover to the next origin.

      + *

      The number of status codes that can cause a failover.

      */ - Items?: number[]; + Quantity?: number; /** - *

      The number of status codes that can cause a failover.

      + *

      The list of status code values that can cause a failover to the next origin.

      */ - Quantity?: number; + Items?: number[]; } export namespace AwsCloudFrontDistributionOriginGroupFailoverStatusCodes { @@ -1405,25 +1434,25 @@ export namespace AwsCloudFrontDistributionOriginS3OriginConfig { */ export interface AwsCloudFrontDistributionOriginItem { /** - *

      An origin that is an S3 bucket that is not configured with static website - * hosting.

      + *

      A unique identifier for the origin or origin group.

      */ - S3OriginConfig?: AwsCloudFrontDistributionOriginS3OriginConfig; + Id?: string; /** - *

      Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

      + *

      An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

      */ - DomainName?: string; + OriginPath?: string; /** - *

      A unique identifier for the origin or origin group.

      + *

      An origin that is an S3 bucket that is not configured with static website + * hosting.

      */ - Id?: string; + S3OriginConfig?: AwsCloudFrontDistributionOriginS3OriginConfig; /** - *

      An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

      + *

      Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

      */ - OriginPath?: string; + DomainName?: string; } export namespace AwsCloudFrontDistributionOriginItem { @@ -1452,23 +1481,30 @@ export namespace AwsCloudFrontDistributionOrigins { *

      A distribution configuration.

      */ export interface AwsCloudFrontDistributionDetails { + /** + *

      The entity tag is a hash of the object.

      + */ + ETag?: string; + + /** + *

      The domain name corresponding to the distribution.

      + */ + DomainName?: string; + /** *

      A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

      */ WebAclId?: string; /** - *

      The entity tag is a hash of the object.

      + *

      A complex type that contains information about origins for this distribution.

      */ - ETag?: string; + Origins?: AwsCloudFrontDistributionOrigins; /** - *

      Indicates when that the distribution was last modified.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      Provides information about the origin groups in the distribution.

      */ - LastModifiedTime?: string; + OriginGroups?: AwsCloudFrontDistributionOriginGroups; /** *

      The object that CloudFront sends in response to requests from the origin (for example, @@ -1479,14 +1515,9 @@ export interface AwsCloudFrontDistributionDetails { DefaultRootObject?: string; /** - *

      Provides information about the cache configuration for the distribution.

      - */ - CacheBehaviors?: AwsCloudFrontDistributionCacheBehaviors; - - /** - *

      A complex type that controls whether access logs are written for the distribution.

      + *

      The default cache behavior for the configuration.

      */ - Logging?: AwsCloudFrontDistributionLogging; + DefaultCacheBehavior?: AwsCloudFrontDistributionDefaultCacheBehavior; /** *

      Indicates the current status of the distribution.

      @@ -1494,25 +1525,23 @@ export interface AwsCloudFrontDistributionDetails { Status?: string; /** - *

      The default cache behavior for the configuration.

      + *

      Provides information about the cache configuration for the distribution.

      */ - DefaultCacheBehavior?: AwsCloudFrontDistributionDefaultCacheBehavior; + CacheBehaviors?: AwsCloudFrontDistributionCacheBehaviors; /** - *

      A complex type that contains information about origins for this distribution.

      + *

      Indicates when that the distribution was last modified.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Origins?: AwsCloudFrontDistributionOrigins; + LastModifiedTime?: string; /** - *

      Provides information about the origin groups in the distribution.

      + *

      A complex type that controls whether access logs are written for the distribution.

      */ - OriginGroups?: AwsCloudFrontDistributionOriginGroups; - - /** - *

      The domain name corresponding to the distribution.

      - */ - DomainName?: string; -} + Logging?: AwsCloudFrontDistributionLogging; +} export namespace AwsCloudFrontDistributionDetails { export const filterSensitiveLog = (obj: AwsCloudFrontDistributionDetails): any => ({ @@ -1525,26 +1554,19 @@ export namespace AwsCloudFrontDistributionDetails { */ export interface AwsCloudTrailTrailDetails { /** - *

      The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log - * group.

      - */ - CloudWatchLogsRoleArn?: string; - - /** - *

      The ARN of the SNS topic that is used for notifications of log file delivery.

      + *

      The name of the SNS topic that is used for notifications of log file delivery.

      */ - SnsTopicArn?: string; + SnsTopicName?: string; /** - *

      The name of the S3 bucket where the log files are published.

      + *

      The ARN of the trail.

      */ - S3BucketName?: string; + TrailArn?: string; /** - *

      Indicates whether the trail publishes events from global services such as IAM to the log - * files.

      + *

      Indicates whether CloudTrail log file validation is enabled.

      */ - IncludeGlobalServiceEvents?: boolean; + LogFileValidationEnabled?: boolean; /** *

      The Region where the trail was created.

      @@ -1552,46 +1574,47 @@ export interface AwsCloudTrailTrailDetails { HomeRegion?: string; /** - *

      The name of the SNS topic that is used for notifications of log file delivery.

      + *

      The ARN of the SNS topic that is used for notifications of log file delivery.

      */ - SnsTopicName?: string; + SnsTopicArn?: string; /** - *

      Whether the trail is created for all accounts in an organization in AWS Organizations, - * or only for the current AWS account.

      + *

      The ARN of the log group that CloudTrail logs are delivered to.

      */ - IsOrganizationTrail?: boolean; + CloudWatchLogsLogGroupArn?: string; /** - *

      The name of the trail.

      + *

      Indicates whether the trail publishes events from global services such as IAM to the log + * files.

      */ - Name?: string; + IncludeGlobalServiceEvents?: boolean; /** - *

      Indicates whether the trail has custom event selectors.

      + *

      The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log + * files are published.

      */ - HasCustomEventSelectors?: boolean; + S3KeyPrefix?: string; /** - *

      The AWS KMS key ID to use to encrypt the logs.

      + *

      The name of the S3 bucket where the log files are published.

      */ - KmsKeyId?: string; + S3BucketName?: string; /** - *

      The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log - * files are published.

      + *

      The name of the trail.

      */ - S3KeyPrefix?: string; + Name?: string; /** - *

      The ARN of the log group that CloudTrail logs are delivered to.

      + *

      Whether the trail is created for all accounts in an organization in AWS Organizations, + * or only for the current AWS account.

      */ - CloudWatchLogsLogGroupArn?: string; + IsOrganizationTrail?: boolean; /** - *

      Indicates whether CloudTrail log file validation is enabled.

      + *

      The AWS KMS key ID to use to encrypt the logs.

      */ - LogFileValidationEnabled?: boolean; + KmsKeyId?: string; /** *

      Indicates whether the trail applies only to the current Region or to all Regions.

      @@ -1599,9 +1622,15 @@ export interface AwsCloudTrailTrailDetails { IsMultiRegionTrail?: boolean; /** - *

      The ARN of the trail.

      + *

      Indicates whether the trail has custom event selectors.

      */ - TrailArn?: string; + HasCustomEventSelectors?: boolean; + + /** + *

      The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log + * group.

      + */ + CloudWatchLogsRoleArn?: string; } export namespace AwsCloudTrailTrailDetails { @@ -1614,12 +1643,6 @@ export namespace AwsCloudTrailTrailDetails { *

      The credentials for access to a private registry.

      */ export interface AwsCodeBuildProjectEnvironmentRegistryCredential { - /** - *

      The service that created the credentials to access a private Docker registry.

      - *

      The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

      - */ - CredentialProvider?: string; - /** *

      The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets * Manager.

      @@ -1629,6 +1652,12 @@ export interface AwsCodeBuildProjectEnvironmentRegistryCredential { * */ Credential?: string; + + /** + *

      The service that created the credentials to access a private Docker registry.

      + *

      The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

      + */ + CredentialProvider?: string; } export namespace AwsCodeBuildProjectEnvironmentRegistryCredential { @@ -1647,26 +1676,9 @@ export interface AwsCodeBuildProjectEnvironment { RegistryCredential?: AwsCodeBuildProjectEnvironmentRegistryCredential; /** - *

      The type of credentials AWS CodeBuild uses to pull images in your build.

      - *

      Valid values:

      - *
        - *
      • - *

        - * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This - * requires that you modify your ECR repository policy to trust the AWS CodeBuild - * service principal.

        - *
      • - *
      • - *

        - * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's - * service role.

        - *
      • - *
      - *

      When you use a cross-account or private registry image, you must use - * SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you - * must use CODEBUILD credentials.

      + *

      The certificate to use with this build project.

      */ - ImagePullCredentialsType?: string; + Certificate?: string; /** *

      The type of build environment to use for related builds.

      @@ -1690,9 +1702,26 @@ export interface AwsCodeBuildProjectEnvironment { Type?: string; /** - *

      The certificate to use with this build project.

      + *

      The type of credentials AWS CodeBuild uses to pull images in your build.

      + *

      Valid values:

      + *
        + *
      • + *

        + * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This + * requires that you modify your ECR repository policy to trust the AWS CodeBuild + * service principal.

        + *
      • + *
      • + *

        + * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's + * service role.

        + *
      • + *
      + *

      When you use a cross-account or private registry image, you must use + * SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you + * must use CODEBUILD credentials.

      */ - Certificate?: string; + ImagePullCredentialsType?: string; } export namespace AwsCodeBuildProjectEnvironment { @@ -1711,43 +1740,9 @@ export interface AwsCodeBuildProjectSource { GitCloneDepth?: number; /** - *

      The type of repository that contains the source code to be built. Valid values - * are:

      - *
        - *
      • - *

        - * BITBUCKET - The source code is in a Bitbucket repository.

        - *
      • - *
      • - *

        - * CODECOMMIT - The source code is in an AWS CodeCommit - * repository.

        - *
      • - *
      • - *

        - * CODEPIPELINE - The source code settings are specified in the source - * action of a pipeline in AWS CodePipeline.

        - *
      • - *
      • - *

        - * GITHUB - The source code is in a GitHub repository.

        - *
      • - *
      • - *

        - * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise - * repository.

        - *
      • - *
      • - *

        - * NO_SOURCE - The project does not have input source code.

        - *
      • - *
      • - *

        - * S3 - The source code is in an S3 input bucket.

        - *
      • - *
      + *

      Whether to ignore SSL warnings while connecting to the project source code.

      */ - Type?: string; + InsecureSsl?: boolean; /** *

      Information about the location of the source code to be built.

      @@ -1791,9 +1786,43 @@ export interface AwsCodeBuildProjectSource { Location?: string; /** - *

      Whether to ignore SSL warnings while connecting to the project source code.

      + *

      The type of repository that contains the source code to be built. Valid values + * are:

      + *
        + *
      • + *

        + * BITBUCKET - The source code is in a Bitbucket repository.

        + *
      • + *
      • + *

        + * CODECOMMIT - The source code is in an AWS CodeCommit + * repository.

        + *
      • + *
      • + *

        + * CODEPIPELINE - The source code settings are specified in the source + * action of a pipeline in AWS CodePipeline.

        + *
      • + *
      • + *

        + * GITHUB - The source code is in a GitHub repository.

        + *
      • + *
      • + *

        + * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise + * repository.

        + *
      • + *
      • + *

        + * NO_SOURCE - The project does not have input source code.

        + *
      • + *
      • + *

        + * S3 - The source code is in an S3 input bucket.

        + *
      • + *
      */ - InsecureSsl?: boolean; + Type?: string; } export namespace AwsCodeBuildProjectSource { @@ -1806,6 +1835,11 @@ export namespace AwsCodeBuildProjectSource { *

      Information about the VPC configuration that AWS CodeBuild accesses.

      */ export interface AwsCodeBuildProjectVpcConfig { + /** + *

      The ID of the VPC.

      + */ + VpcId?: string; + /** *

      A list of one or more security group IDs in your Amazon VPC.

      */ @@ -1815,11 +1849,6 @@ export interface AwsCodeBuildProjectVpcConfig { *

      A list of one or more subnet IDs in your Amazon VPC.

      */ Subnets?: string[]; - - /** - *

      The ID of the VPC.

      - */ - VpcId?: string; } export namespace AwsCodeBuildProjectVpcConfig { @@ -1832,22 +1861,11 @@ export namespace AwsCodeBuildProjectVpcConfig { *

      Information about an AWS CodeBuild project.

      */ export interface AwsCodeBuildProjectDetails { - /** - *

      Information about the VPC configuration that AWS CodeBuild accesses.

      - */ - VpcConfig?: AwsCodeBuildProjectVpcConfig; - /** *

      Information about the build environment for this build project.

      */ Environment?: AwsCodeBuildProjectEnvironment; - /** - *

      The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS - * services on behalf of the AWS account.

      - */ - ServiceRole?: string; - /** *

      The name of the build project.

      */ @@ -1865,6 +1883,17 @@ export interface AwsCodeBuildProjectDetails { * CMK alias (using the format alias/alias-name).

      */ EncryptionKey?: string; + + /** + *

      The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS + * services on behalf of the AWS account.

      + */ + ServiceRole?: string; + + /** + *

      Information about the VPC configuration that AWS CodeBuild accesses.

      + */ + VpcConfig?: AwsCodeBuildProjectVpcConfig; } export namespace AwsCodeBuildProjectDetails { @@ -1946,16 +1975,16 @@ export namespace AwsDynamoDbTableKeySchema { * the table into the index.

      */ export interface AwsDynamoDbTableProjection { - /** - *

      The types of attributes that are projected into the index.

      - */ - ProjectionType?: string; - /** *

      The nonkey attributes that are projected into the index. For each attribute, provide the * attribute name.

      */ NonKeyAttributes?: string[]; + + /** + *

      The types of attributes that are projected into the index.

      + */ + ProjectionType?: string; } export namespace AwsDynamoDbTableProjection { @@ -1975,6 +2004,14 @@ export interface AwsDynamoDbTableProvisionedThroughput { */ WriteCapacityUnits?: number; + /** + *

      Indicates when the provisioned throughput was last increased.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      + */ + LastIncreaseDateTime?: string; + /** *

      Indicates when the provisioned throughput was last decreased.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet @@ -1994,15 +2031,7 @@ export interface AwsDynamoDbTableProvisionedThroughput { * returns a ThrottlingException.

      */ ReadCapacityUnits?: number; - - /** - *

      Indicates when the provisioned throughput was last increased.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      - */ - LastIncreaseDateTime?: string; -} +} export namespace AwsDynamoDbTableProvisionedThroughput { export const filterSensitiveLog = (obj: AwsDynamoDbTableProvisionedThroughput): any => ({ @@ -2025,39 +2054,39 @@ export interface AwsDynamoDbTableGlobalSecondaryIndex { ItemCount?: number; /** - *

      Information about the provisioned throughput settings for the indexes.

      + *

      The current status of the index.

      */ - ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput; + IndexStatus?: string; /** - *

      The total size in bytes of the index.

      + *

      Whether the index is currently backfilling.

      */ - IndexSizeBytes?: number; + Backfilling?: boolean; /** - *

      Attributes that are copied from the table into an index.

      + *

      The name of the index.

      */ - Projection?: AwsDynamoDbTableProjection; + IndexName?: string; /** - *

      Whether the index is currently backfilling.

      + *

      The ARN of the index.

      */ - Backfilling?: boolean; + IndexArn?: string; /** - *

      The ARN of the index.

      + *

      Information about the provisioned throughput settings for the indexes.

      */ - IndexArn?: string; + ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput; /** - *

      The name of the index.

      + *

      The total size in bytes of the index.

      */ - IndexName?: string; + IndexSizeBytes?: number; /** - *

      The current status of the index.

      + *

      Attributes that are copied from the table into an index.

      */ - IndexStatus?: string; + Projection?: AwsDynamoDbTableProjection; } export namespace AwsDynamoDbTableGlobalSecondaryIndex { @@ -2071,25 +2100,25 @@ export namespace AwsDynamoDbTableGlobalSecondaryIndex { */ export interface AwsDynamoDbTableLocalSecondaryIndex { /** - *

      Attributes that are copied from the table into the index. These are in addition to the - * primary key attributes and index key attributes, which are automatically projected.

      + *

      The complete key schema for the index.

      */ - Projection?: AwsDynamoDbTableProjection; + KeySchema?: AwsDynamoDbTableKeySchema[]; /** - *

      The ARN of the index.

      + *

      Attributes that are copied from the table into the index. These are in addition to the + * primary key attributes and index key attributes, which are automatically projected.

      */ - IndexArn?: string; + Projection?: AwsDynamoDbTableProjection; /** - *

      The complete key schema for the index.

      + *

      The name of the index.

      */ - KeySchema?: AwsDynamoDbTableKeySchema[]; + IndexName?: string; /** - *

      The name of the index.

      + *

      The ARN of the index.

      */ - IndexName?: string; + IndexArn?: string; } export namespace AwsDynamoDbTableLocalSecondaryIndex { @@ -2119,14 +2148,14 @@ export namespace AwsDynamoDbTableProvisionedThroughputOverride { */ export interface AwsDynamoDbTableReplicaGlobalSecondaryIndex { /** - *

      The name of the index.

      + *

      Replica-specific configuration for the provisioned throughput for the index.

      */ - IndexName?: string; + ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride; /** - *

      Replica-specific configuration for the provisioned throughput for the index.

      + *

      The name of the index.

      */ - ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride; + IndexName?: string; } export namespace AwsDynamoDbTableReplicaGlobalSecondaryIndex { @@ -2140,9 +2169,9 @@ export namespace AwsDynamoDbTableReplicaGlobalSecondaryIndex { */ export interface AwsDynamoDbTableReplica { /** - *

      List of global secondary indexes for the replica.

      + *

      The name of the Region where the replica is located.

      */ - GlobalSecondaryIndexes?: AwsDynamoDbTableReplicaGlobalSecondaryIndex[]; + RegionName?: string; /** *

      The identifier of the AWS KMS customer master key (CMK) that will be used for AWS KMS @@ -2151,14 +2180,14 @@ export interface AwsDynamoDbTableReplica { KmsMasterKeyId?: string; /** - *

      The name of the Region where the replica is located.

      + *

      List of global secondary indexes for the replica.

      */ - RegionName?: string; + GlobalSecondaryIndexes?: AwsDynamoDbTableReplicaGlobalSecondaryIndex[]; /** - *

      Replica-specific configuration for the provisioned throughput.

      + *

      Detailed information about the replica status.

      */ - ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride; + ReplicaStatusDescription?: string; /** *

      The current status of the replica.

      @@ -2166,9 +2195,9 @@ export interface AwsDynamoDbTableReplica { ReplicaStatus?: string; /** - *

      Detailed information about the replica status.

      + *

      Replica-specific configuration for the provisioned throughput.

      */ - ReplicaStatusDescription?: string; + ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride; } export namespace AwsDynamoDbTableReplica { @@ -2195,14 +2224,14 @@ export interface AwsDynamoDbTableRestoreSummary { SourceBackupArn?: string; /** - *

      The ARN of the source table for the backup.

      + *

      Whether a restore is currently in progress.

      */ - SourceTableArn?: string; + RestoreInProgress?: boolean; /** - *

      Whether a restore is currently in progress.

      + *

      The ARN of the source table for the backup.

      */ - RestoreInProgress?: boolean; + SourceTableArn?: string; } export namespace AwsDynamoDbTableRestoreSummary { @@ -2222,9 +2251,9 @@ export interface AwsDynamoDbTableSseDescription { KmsMasterKeyArn?: string; /** - *

      The type of server-side encryption.

      + *

      The status of the server-side encryption.

      */ - SseType?: string; + Status?: string; /** *

      If the key is inaccessible, the date and time when DynamoDB detected that the key was @@ -2236,9 +2265,9 @@ export interface AwsDynamoDbTableSseDescription { InaccessibleEncryptionDateTime?: string; /** - *

      The status of the server-side encryption.

      + *

      The type of server-side encryption.

      */ - Status?: string; + SseType?: string; } export namespace AwsDynamoDbTableSseDescription { @@ -2273,102 +2302,102 @@ export namespace AwsDynamoDbTableStreamSpecification { */ export interface AwsDynamoDbTableDetails { /** - *

      Information about the server-side encryption for the table.

      + *

      Information about the provisioned throughput for the table.

      */ - SseDescription?: AwsDynamoDbTableSseDescription; + ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput; /** - *

      The number of items in the table.

      + *

      Information about the restore for the table.

      */ - ItemCount?: number; + RestoreSummary?: AwsDynamoDbTableRestoreSummary; /** - *

      The current DynamoDB Streams configuration for the table.

      + *

      The current status of the table.

      */ - StreamSpecification?: AwsDynamoDbTableStreamSpecification; + TableStatus?: string; /** - *

      List of global secondary indexes for the table.

      + *

      The primary key structure for the table.

      */ - GlobalSecondaryIndexes?: AwsDynamoDbTableGlobalSecondaryIndex[]; + KeySchema?: AwsDynamoDbTableKeySchema[]; /** - *

      The total size of the table in bytes.

      + *

      A list of attribute definitions for the table.

      */ - TableSizeBytes?: number; + AttributeDefinitions?: AwsDynamoDbTableAttributeDefinition[]; /** - *

      The name of the table.

      + *

      The ARN of the latest stream for the table.

      */ - TableName?: string; + LatestStreamArn?: string; /** - *

      A list of attribute definitions for the table.

      + *

      The version of global tables being used.

      */ - AttributeDefinitions?: AwsDynamoDbTableAttributeDefinition[]; + GlobalTableVersion?: string; /** - *

      The primary key structure for the table.

      + *

      The identifier of the table.

      */ - KeySchema?: AwsDynamoDbTableKeySchema[]; + TableId?: string; /** - *

      The label of the latest stream. The label is not a unique identifier.

      + *

      Information about the server-side encryption for the table.

      */ - LatestStreamLabel?: string; + SseDescription?: AwsDynamoDbTableSseDescription; /** - *

      Information about the billing for read/write capacity on the table.

      + *

      The list of replicas of this table.

      */ - BillingModeSummary?: AwsDynamoDbTableBillingModeSummary; + Replicas?: AwsDynamoDbTableReplica[]; /** - *

      The ARN of the latest stream for the table.

      + *

      The total size of the table in bytes.

      */ - LatestStreamArn?: string; + TableSizeBytes?: number; /** - *

      The list of local secondary indexes for the table.

      + *

      List of global secondary indexes for the table.

      */ - LocalSecondaryIndexes?: AwsDynamoDbTableLocalSecondaryIndex[]; + GlobalSecondaryIndexes?: AwsDynamoDbTableGlobalSecondaryIndex[]; /** - *

      Information about the provisioned throughput for the table.

      + *

      The number of items in the table.

      */ - ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput; + ItemCount?: number; /** - *

      The current status of the table.

      + *

      Information about the billing for read/write capacity on the table.

      */ - TableStatus?: string; + BillingModeSummary?: AwsDynamoDbTableBillingModeSummary; /** - *

      Indicates when the table was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The label of the latest stream. The label is not a unique identifier.

      */ - CreationDateTime?: string; + LatestStreamLabel?: string; /** - *

      The identifier of the table.

      + *

      The name of the table.

      */ - TableId?: string; + TableName?: string; /** - *

      The list of replicas of this table.

      + *

      Indicates when the table was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Replicas?: AwsDynamoDbTableReplica[]; + CreationDateTime?: string; /** - *

      Information about the restore for the table.

      + *

      The current DynamoDB Streams configuration for the table.

      */ - RestoreSummary?: AwsDynamoDbTableRestoreSummary; + StreamSpecification?: AwsDynamoDbTableStreamSpecification; /** - *

      The version of global tables being used.

      + *

      The list of local secondary indexes for the table.

      */ - GlobalTableVersion?: string; + LocalSecondaryIndexes?: AwsDynamoDbTableLocalSecondaryIndex[]; } export namespace AwsDynamoDbTableDetails { @@ -2382,37 +2411,36 @@ export namespace AwsDynamoDbTableDetails { */ export interface AwsEc2EipDetails { /** - *

      A public IP address that is associated with the EC2 instance.

      + *

      The identifier of the EC2 instance.

      */ - PublicIp?: string; + InstanceId?: string; /** - *

      The identifier of the network interface.

      + *

      A public IP address that is associated with the EC2 instance.

      */ - NetworkInterfaceId?: string; + PublicIp?: string; /** - *

      The domain in which to allocate the address.

      - *

      If the address is for use with EC2 instances in a VPC, then Domain is - * vpc. Otherwise, Domain is standard.

      + *

      The AWS account ID of the owner of the network interface.

      */ - Domain?: string; + NetworkInterfaceOwnerId?: string; /** - *

      The identifier that AWS assigns to represent the allocation of the Elastic IP address - * for use with Amazon VPC.

      + *

      The name of the location from which the Elastic IP address is advertised.

      */ - AllocationId?: string; + NetworkBorderGroup?: string; /** - *

      The identifier of the EC2 instance.

      + *

      The domain in which to allocate the address.

      + *

      If the address is for use with EC2 instances in a VPC, then Domain is + * vpc. Otherwise, Domain is standard.

      */ - InstanceId?: string; + Domain?: string; /** - *

      The name of the location from which the Elastic IP address is advertised.

      + *

      The identifier of the network interface.

      */ - NetworkBorderGroup?: string; + NetworkInterfaceId?: string; /** *

      The identifier that represents the association of the Elastic IP address with an EC2 @@ -2421,20 +2449,21 @@ export interface AwsEc2EipDetails { AssociationId?: string; /** - *

      The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP - * address from the address pool.

      + *

      The private IP address that is associated with the Elastic IP address.

      */ - PublicIpv4Pool?: string; + PrivateIpAddress?: string; /** - *

      The AWS account ID of the owner of the network interface.

      + *

      The identifier that AWS assigns to represent the allocation of the Elastic IP address + * for use with Amazon VPC.

      */ - NetworkInterfaceOwnerId?: string; + AllocationId?: string; /** - *

      The private IP address that is associated with the Elastic IP address.

      + *

      The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP + * address from the address pool.

      */ - PrivateIpAddress?: string; + PublicIpv4Pool?: string; } export namespace AwsEc2EipDetails { @@ -2448,9 +2477,9 @@ export namespace AwsEc2EipDetails { */ export interface AwsEc2InstanceDetails { /** - *

      The IPv4 addresses associated with the instance.

      + *

      The identifier of the subnet that the instance was launched in.

      */ - IpV4Addresses?: string[]; + SubnetId?: string; /** *

      The identifier of the VPC that the instance was launched in.

      @@ -2458,42 +2487,42 @@ export interface AwsEc2InstanceDetails { VpcId?: string; /** - *

      The Amazon Machine Image (AMI) ID of the instance.

      + *

      The instance type of the instance.

      */ - ImageId?: string; + Type?: string; /** - *

      The identifier of the subnet that the instance was launched in.

      + *

      The IPv4 addresses associated with the instance.

      */ - SubnetId?: string; + IpV4Addresses?: string[]; /** - *

      Indicates when the instance was launched.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The Amazon Machine Image (AMI) ID of the instance.

      */ - LaunchedAt?: string; + ImageId?: string; /** - *

      The instance type of the instance.

      + *

      The key name associated with the instance.

      */ - Type?: string; + KeyName?: string; /** - *

      The IAM profile ARN of the instance.

      + *

      The IPv6 addresses associated with the instance.

      */ - IamInstanceProfileArn?: string; + IpV6Addresses?: string[]; /** - *

      The key name associated with the instance.

      + *

      The IAM profile ARN of the instance.

      */ - KeyName?: string; + IamInstanceProfileArn?: string; /** - *

      The IPv6 addresses associated with the instance.

      + *

      Indicates when the instance was launched.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - IpV6Addresses?: string[]; + LaunchedAt?: string; } export namespace AwsEc2InstanceDetails { @@ -2507,20 +2536,27 @@ export namespace AwsEc2InstanceDetails { */ export interface AwsEc2NetworkInterfaceAttachment { /** - *

      The ID of the instance.

      + *

      The identifier of the network interface attachment

      + */ + AttachmentId?: string; + + /** + *

      The ID of the instance.

      */ InstanceId?: string; /** - *

      The identifier of the network interface attachment

      + *

      The attachment state.

      + *

      Valid values: attaching | attached | detaching | + * detached + *

      */ - AttachmentId?: string; + Status?: string; /** - *

      Indicates whether the network interface is deleted when the instance is - * terminated.

      + *

      The AWS account ID of the owner of the instance.

      */ - DeleteOnTermination?: boolean; + InstanceOwnerId?: string; /** *

      Indicates when the attachment initiated.

      @@ -2531,22 +2567,15 @@ export interface AwsEc2NetworkInterfaceAttachment { AttachTime?: string; /** - *

      The device index of the network interface attachment on the instance.

      - */ - DeviceIndex?: number; - - /** - *

      The attachment state.

      - *

      Valid values: attaching | attached | detaching | - * detached - *

      + *

      Indicates whether the network interface is deleted when the instance is + * terminated.

      */ - Status?: string; + DeleteOnTermination?: boolean; /** - *

      The AWS account ID of the owner of the instance.

      + *

      The device index of the network interface attachment on the instance.

      */ - InstanceOwnerId?: string; + DeviceIndex?: number; } export namespace AwsEc2NetworkInterfaceAttachment { @@ -2581,9 +2610,9 @@ export namespace AwsEc2NetworkInterfaceSecurityGroup { */ export interface AwsEc2NetworkInterfaceDetails { /** - *

      The network interface attachment.

      + *

      The ID of the network interface.

      */ - Attachment?: AwsEc2NetworkInterfaceAttachment; + NetworkInterfaceId?: string; /** *

      Security groups for the network interface.

      @@ -2596,9 +2625,9 @@ export interface AwsEc2NetworkInterfaceDetails { SourceDestCheck?: boolean; /** - *

      The ID of the network interface.

      + *

      The network interface attachment.

      */ - NetworkInterfaceId?: string; + Attachment?: AwsEc2NetworkInterfaceAttachment; } export namespace AwsEc2NetworkInterfaceDetails { @@ -2667,34 +2696,34 @@ export interface AwsEc2SecurityGroupUserIdGroupPair { GroupName?: string; /** - *

      The ID of an AWS account.

      - *

      For a referenced security group in another VPC, the account ID of the referenced - * security group is returned in the response. If the referenced security group is deleted, - * this value is not returned.

      - *

      [EC2-Classic] Required when adding or removing rules that reference a security group in - * another AWS.

      + *

      The ID of the security group.

      */ - UserId?: string; + GroupId?: string; /** - *

      The ID of the VPC peering connection, if applicable.

      + *

      The status of a VPC peering connection, if applicable.

      */ - VpcPeeringConnectionId?: string; + PeeringStatus?: string; /** - *

      The ID of the security group.

      + *

      The ID of the VPC for the referenced security group, if applicable.

      */ - GroupId?: string; + VpcId?: string; /** - *

      The ID of the VPC for the referenced security group, if applicable.

      + *

      The ID of the VPC peering connection, if applicable.

      */ - VpcId?: string; + VpcPeeringConnectionId?: string; /** - *

      The status of a VPC peering connection, if applicable.

      + *

      The ID of an AWS account.

      + *

      For a referenced security group in another VPC, the account ID of the referenced + * security group is returned in the response. If the referenced security group is deleted, + * this value is not returned.

      + *

      [EC2-Classic] Required when adding or removing rules that reference a security group in + * another AWS.

      */ - PeeringStatus?: string; + UserId?: string; } export namespace AwsEc2SecurityGroupUserIdGroupPair { @@ -2722,17 +2751,16 @@ export interface AwsEc2SecurityGroupIpPermission { IpProtocol?: string; /** - *

      The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type - * number.

      - *

      A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you - * must specify all codes.

      + *

      [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS + * service to access through a VPC endpoint from instances associated with the security + * group.

      */ - FromPort?: number; + PrefixListIds?: AwsEc2SecurityGroupPrefixListId[]; /** - *

      The IPv4 ranges.

      + *

      The IPv6 ranges.

      */ - IpRanges?: AwsEc2SecurityGroupIpRange[]; + Ipv6Ranges?: AwsEc2SecurityGroupIpv6Range[]; /** *

      The security group and AWS account ID pairs.

      @@ -2740,23 +2768,24 @@ export interface AwsEc2SecurityGroupIpPermission { UserIdGroupPairs?: AwsEc2SecurityGroupUserIdGroupPair[]; /** - *

      The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

      - *

      A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you - * must specify all codes.

      + *

      The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type + * number.

      + *

      A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you + * must specify all codes.

      */ - ToPort?: number; + FromPort?: number; /** - *

      [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS - * service to access through a VPC endpoint from instances associated with the security - * group.

      + *

      The IPv4 ranges.

      */ - PrefixListIds?: AwsEc2SecurityGroupPrefixListId[]; + IpRanges?: AwsEc2SecurityGroupIpRange[]; /** - *

      The IPv6 ranges.

      + *

      The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

      + *

      A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you + * must specify all codes.

      */ - Ipv6Ranges?: AwsEc2SecurityGroupIpv6Range[]; + ToPort?: number; } export namespace AwsEc2SecurityGroupIpPermission { @@ -2770,34 +2799,34 @@ export namespace AwsEc2SecurityGroupIpPermission { */ export interface AwsEc2SecurityGroupDetails { /** - *

      [VPC only] The ID of the VPC for the security group.

      + *

      The ID of the security group.

      */ - VpcId?: string; + GroupId?: string; /** - *

      The name of the security group.

      + *

      The AWS account ID of the owner of the security group.

      */ - GroupName?: string; + OwnerId?: string; /** - *

      [VPC only] The outbound rules associated with the security group.

      + *

      The inbound rules associated with the security group.

      */ - IpPermissionsEgress?: AwsEc2SecurityGroupIpPermission[]; + IpPermissions?: AwsEc2SecurityGroupIpPermission[]; /** - *

      The AWS account ID of the owner of the security group.

      + *

      The name of the security group.

      */ - OwnerId?: string; + GroupName?: string; /** - *

      The ID of the security group.

      + *

      [VPC only] The outbound rules associated with the security group.

      */ - GroupId?: string; + IpPermissionsEgress?: AwsEc2SecurityGroupIpPermission[]; /** - *

      The inbound rules associated with the security group.

      + *

      [VPC only] The ID of the VPC for the security group.

      */ - IpPermissions?: AwsEc2SecurityGroupIpPermission[]; + VpcId?: string; } export namespace AwsEc2SecurityGroupDetails { @@ -2815,6 +2844,11 @@ export interface AwsEc2VolumeAttachment { */ InstanceId?: string; + /** + *

      The attachment state of the volume.

      + */ + Status?: string; + /** *

      Whether the EBS volume is deleted when the EC2 instance is terminated.

      */ @@ -2824,11 +2858,6 @@ export interface AwsEc2VolumeAttachment { *

      The datetime when the attachment initiated.

      */ AttachTime?: string; - - /** - *

      The attachment state of the volume.

      - */ - Status?: string; } export namespace AwsEc2VolumeAttachment { @@ -2846,26 +2875,20 @@ export interface AwsEc2VolumeDetails { */ Attachments?: AwsEc2VolumeAttachment[]; - /** - *

      Whether the volume is encrypted.

      - */ - Encrypted?: boolean; - /** *

      The snapshot from which the volume was created.

      */ SnapshotId?: string; /** - *

      The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was - * used to protect the volume encryption key for the volume.

      + *

      Whether the volume is encrypted.

      */ - KmsKeyId?: string; + Encrypted?: boolean; /** - *

      The size of the volume, in GiBs.

      + *

      The volume state.

      */ - Size?: number; + Status?: string; /** *

      Indicates when the volume was created.

      @@ -2876,9 +2899,15 @@ export interface AwsEc2VolumeDetails { CreateTime?: string; /** - *

      The volume state.

      + *

      The size of the volume, in GiBs.

      */ - Status?: string; + Size?: number; + + /** + *

      The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was + * used to protect the volume encryption key for the volume.

      + */ + KmsKeyId?: string; } export namespace AwsEc2VolumeDetails { @@ -2918,14 +2947,14 @@ export namespace CidrBlockAssociation { */ export interface Ipv6CidrBlockAssociation { /** - *

      The association ID for the IPv6 CIDR block.

      + *

      The IPv6 CIDR block.

      */ - AssociationId?: string; + Ipv6CidrBlock?: string; /** - *

      The IPv6 CIDR block.

      + *

      The association ID for the IPv6 CIDR block.

      */ - Ipv6CidrBlock?: string; + AssociationId?: string; /** *

      Information about the state of the CIDR block.

      @@ -2950,6 +2979,11 @@ export interface AwsEc2VpcDetails { */ DhcpOptionsId?: string; + /** + *

      Information about the IPv6 CIDR blocks associated with the VPC.

      + */ + Ipv6CidrBlockAssociationSet?: Ipv6CidrBlockAssociation[]; + /** *

      The current state of the VPC.

      */ @@ -2959,11 +2993,6 @@ export interface AwsEc2VpcDetails { *

      Information about the IPv4 CIDR blocks associated with the VPC.

      */ CidrBlockAssociationSet?: CidrBlockAssociation[]; - - /** - *

      Information about the IPv6 CIDR blocks associated with the VPC.

      - */ - Ipv6CidrBlockAssociationSet?: Ipv6CidrBlockAssociation[]; } export namespace AwsEc2VpcDetails { @@ -3049,24 +3078,24 @@ export namespace AwsElasticsearchDomainNodeToNodeEncryptionOptions { */ export interface AwsElasticsearchDomainVPCOptions { /** - *

      A list of subnet IDs associated with the VPC endpoints for the domain.

      + *

      ID for the VPC.

      */ - SubnetIds?: string[]; + VPCId?: string; /** - *

      The list of security group IDs associated with the VPC endpoints for the domain.

      + *

      The list of Availability Zones associated with the VPC subnets.

      */ - SecurityGroupIds?: string[]; + AvailabilityZones?: string[]; /** - *

      ID for the VPC.

      + *

      The list of security group IDs associated with the VPC endpoints for the domain.

      */ - VPCId?: string; + SecurityGroupIds?: string[]; /** - *

      The list of Availability Zones associated with the VPC subnets.

      + *

      A list of subnet IDs associated with the VPC endpoints for the domain.

      */ - AvailabilityZones?: string[]; + SubnetIds?: string[]; } export namespace AwsElasticsearchDomainVPCOptions { @@ -3084,6 +3113,11 @@ export interface AwsElasticsearchDomainDetails { */ DomainId?: string; + /** + *

      The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

      + */ + Endpoints?: { [key: string]: string }; + /** *

      Domain-specific endpoint used to submit index, search, and data upload requests to an * Amazon ES domain.

      @@ -3092,20 +3126,19 @@ export interface AwsElasticsearchDomainDetails { Endpoint?: string; /** - *

      Information that Amazon ES derives based on VPCOptions for the - * domain.

      - */ - VPCOptions?: AwsElasticsearchDomainVPCOptions; - - /** - *

      Details about the configuration for node-to-node encryption.

      + *

      Name of an Amazon ES domain.

      + *

      Domain names are unique across all domains owned by the same account within an AWS + * Region.

      + *

      Domain names must start with a lowercase letter and must be between 3 and 28 + * characters.

      + *

      Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

      */ - NodeToNodeEncryptionOptions?: AwsElasticsearchDomainNodeToNodeEncryptionOptions; + DomainName?: string; /** - *

      IAM policy document specifying the access policies for the new Amazon ES domain.

      + *

      Elasticsearch version.

      */ - AccessPolicies?: string; + ElasticsearchVersion?: string; /** *

      Details about the configuration for encryption at rest.

      @@ -3113,29 +3146,25 @@ export interface AwsElasticsearchDomainDetails { EncryptionAtRestOptions?: AwsElasticsearchDomainEncryptionAtRestOptions; /** - *

      Additional options for the domain endpoint.

      + *

      IAM policy document specifying the access policies for the new Amazon ES domain.

      */ - DomainEndpointOptions?: AwsElasticsearchDomainDomainEndpointOptions; + AccessPolicies?: string; /** - *

      The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

      + *

      Additional options for the domain endpoint.

      */ - Endpoints?: { [key: string]: string }; + DomainEndpointOptions?: AwsElasticsearchDomainDomainEndpointOptions; /** - *

      Name of an Amazon ES domain.

      - *

      Domain names are unique across all domains owned by the same account within an AWS - * Region.

      - *

      Domain names must start with a lowercase letter and must be between 3 and 28 - * characters.

      - *

      Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

      + *

      Details about the configuration for node-to-node encryption.

      */ - DomainName?: string; + NodeToNodeEncryptionOptions?: AwsElasticsearchDomainNodeToNodeEncryptionOptions; /** - *

      Elasticsearch version.

      + *

      Information that Amazon ES derives based on VPCOptions for the + * domain.

      */ - ElasticsearchVersion?: string; + VPCOptions?: AwsElasticsearchDomainVPCOptions; } export namespace AwsElasticsearchDomainDetails { @@ -3150,15 +3179,15 @@ export namespace AwsElasticsearchDomainDetails { */ export interface AwsElbAppCookieStickinessPolicy { /** - *

      The mnemonic name for the policy being created. The name must be unique within the set - * of policies for the load balancer.

      + *

      The name of the application cookie used for stickiness.

      */ - PolicyName?: string; + CookieName?: string; /** - *

      The name of the application cookie used for stickiness.

      + *

      The mnemonic name for the policy being created. The name must be unique within the set + * of policies for the load balancer.

      */ - CookieName?: string; + PolicyName?: string; } export namespace AwsElbAppCookieStickinessPolicy { @@ -3172,18 +3201,18 @@ export namespace AwsElbAppCookieStickinessPolicy { * CreateLBCookieStickinessPolicy.

      */ export interface AwsElbLbCookieStickinessPolicy { - /** - *

      The name of the policy. The name must be unique within the set of policies for the load - * balancer.

      - */ - PolicyName?: string; - /** *

      The amount of time, in seconds, after which the cookie is considered stale. If an * expiration period is not specified, the stickiness session lasts for the duration of the * browser session.

      */ CookieExpirationPeriod?: number; + + /** + *

      The name of the policy. The name must be unique within the set of policies for the load + * balancer.

      + */ + PolicyName?: string; } export namespace AwsElbLbCookieStickinessPolicy { @@ -3197,26 +3226,26 @@ export namespace AwsElbLbCookieStickinessPolicy { */ export interface AwsElbLoadBalancerAccessLog { /** - *

      The logical hierarchy that was created for the S3 bucket.

      - *

      If a prefix is not provided, the log is placed at the root level of the bucket.

      + *

      The name of the S3 bucket where the access logs are stored.

      */ - S3BucketPrefix?: string; + S3BucketName?: string; /** - *

      The interval in minutes for publishing the access logs.

      - *

      You can publish access logs either every 5 minutes or every 60 minutes.

      + *

      Indicates whether access logs are enabled for the load balancer.

      */ - EmitInterval?: number; + Enabled?: boolean; /** - *

      The name of the S3 bucket where the access logs are stored.

      + *

      The logical hierarchy that was created for the S3 bucket.

      + *

      If a prefix is not provided, the log is placed at the root level of the bucket.

      */ - S3BucketName?: string; + S3BucketPrefix?: string; /** - *

      Indicates whether access logs are enabled for the load balancer.

      + *

      The interval in minutes for publishing the access logs.

      + *

      You can publish access logs either every 5 minutes or every 60 minutes.

      */ - Enabled?: boolean; + EmitInterval?: number; } export namespace AwsElbLoadBalancerAccessLog { @@ -3231,15 +3260,15 @@ export namespace AwsElbLoadBalancerAccessLog { */ export interface AwsElbLoadBalancerConnectionDraining { /** - *

      The maximum time, in seconds, to keep the existing connections open before deregistering - * the instances.

      + *

      Indicates whether connection draining is enabled for the load balancer.

      */ - Timeout?: number; + Enabled?: boolean; /** - *

      Indicates whether connection draining is enabled for the load balancer.

      + *

      The maximum time, in seconds, to keep the existing connections open before deregistering + * the instances.

      */ - Enabled?: boolean; + Timeout?: number; } export namespace AwsElbLoadBalancerConnectionDraining { @@ -3286,11 +3315,11 @@ export namespace AwsElbLoadBalancerCrossZoneLoadBalancing { */ export interface AwsElbLoadBalancerAttributes { /** - *

      Information about the connection draining configuration for the load balancer.

      - *

      If connection draining is enabled, the load balancer allows existing requests to - * complete before it shifts traffic away from a deregistered or unhealthy instance.

      + *

      Information about the access log configuration for the load balancer.

      + *

      If the access log is enabled, the load balancer captures detailed information about all + * requests. It delivers the information to a specified S3 bucket.

      */ - ConnectionDraining?: AwsElbLoadBalancerConnectionDraining; + AccessLog?: AwsElbLoadBalancerAccessLog; /** *

      Connection settings for the load balancer.

      @@ -3308,11 +3337,11 @@ export interface AwsElbLoadBalancerAttributes { CrossZoneLoadBalancing?: AwsElbLoadBalancerCrossZoneLoadBalancing; /** - *

      Information about the access log configuration for the load balancer.

      - *

      If the access log is enabled, the load balancer captures detailed information about all - * requests. It delivers the information to a specified S3 bucket.

      + *

      Information about the connection draining configuration for the load balancer.

      + *

      If connection draining is enabled, the load balancer allows existing requests to + * complete before it shifts traffic away from a deregistered or unhealthy instance.

      */ - AccessLog?: AwsElbLoadBalancerAccessLog; + ConnectionDraining?: AwsElbLoadBalancerConnectionDraining; } export namespace AwsElbLoadBalancerAttributes { @@ -3327,14 +3356,14 @@ export namespace AwsElbLoadBalancerAttributes { */ export interface AwsElbLoadBalancerBackendServerDescription { /** - *

      The port on which the EC2 instance is listening.

      + *

      The names of the policies that are enabled for the EC2 instance.

      */ - InstancePort?: number; + PolicyNames?: string[]; /** - *

      The names of the policies that are enabled for the EC2 instance.

      + *

      The port on which the EC2 instance is listening.

      */ - PolicyNames?: string[]; + InstancePort?: number; } export namespace AwsElbLoadBalancerBackendServerDescription { @@ -3349,10 +3378,10 @@ export namespace AwsElbLoadBalancerBackendServerDescription { */ export interface AwsElbLoadBalancerHealthCheck { /** - *

      The amount of time, in seconds, during which no response means a failed health - * check.

      + *

      The number of consecutive health check successes required before the instance is moved + * to the Healthy state.

      */ - Timeout?: number; + HealthyThreshold?: number; /** *

      The number of consecutive health check failures that must occur before the instance is @@ -3361,10 +3390,16 @@ export interface AwsElbLoadBalancerHealthCheck { UnhealthyThreshold?: number; /** - *

      The number of consecutive health check successes required before the instance is moved - * to the Healthy state.

      + *

      The amount of time, in seconds, during which no response means a failed health + * check.

      */ - HealthyThreshold?: number; + Timeout?: number; + + /** + *

      The approximate interval, in seconds, between health checks of an individual + * instance.

      + */ + Interval?: number; /** *

      The instance that is being checked. The target specifies the protocol and port. The @@ -3384,12 +3419,6 @@ export interface AwsElbLoadBalancerHealthCheck { * .

      */ Target?: string; - - /** - *

      The approximate interval, in seconds, between health checks of an individual - * instance.

      - */ - Interval?: number; } export namespace AwsElbLoadBalancerHealthCheck { @@ -3426,16 +3455,6 @@ export interface AwsElbLoadBalancerListener { */ InstanceProtocol?: string; - /** - *

      The port on which the instance is listening.

      - */ - InstancePort?: number; - - /** - *

      The ARN of the server certificate.

      - */ - SslCertificateId?: string; - /** *

      The load balancer transport protocol to use for routing.

      *

      Valid values: HTTP | HTTPS | TCP | @@ -3451,6 +3470,16 @@ export interface AwsElbLoadBalancerListener { * 1024-65535.

      */ LoadBalancerPort?: number; + + /** + *

      The port on which the instance is listening.

      + */ + InstancePort?: number; + + /** + *

      The ARN of the server certificate.

      + */ + SslCertificateId?: string; } export namespace AwsElbLoadBalancerListener { @@ -3464,14 +3493,14 @@ export namespace AwsElbLoadBalancerListener { */ export interface AwsElbLoadBalancerListenerDescription { /** - *

      The policies enabled for the listener.

      + *

      Information about the listener.

      */ - PolicyNames?: string[]; + Listener?: AwsElbLoadBalancerListener; /** - *

      Information about the listener.

      + *

      The policies enabled for the listener.

      */ - Listener?: AwsElbLoadBalancerListener; + PolicyNames?: string[]; } export namespace AwsElbLoadBalancerListenerDescription { @@ -3484,6 +3513,12 @@ export namespace AwsElbLoadBalancerListenerDescription { *

      Contains information about the policies for a load balancer.

      */ export interface AwsElbLoadBalancerPolicies { + /** + *

      The stickiness policies that are created using + * CreateAppCookieStickinessPolicy.

      + */ + AppCookieStickinessPolicies?: AwsElbAppCookieStickinessPolicy[]; + /** *

      The policies other than the stickiness policies.

      */ @@ -3494,12 +3529,6 @@ export interface AwsElbLoadBalancerPolicies { * CreateLBCookieStickinessPolicy.

      */ LbCookieStickinessPolicies?: AwsElbLbCookieStickinessPolicy[]; - - /** - *

      The stickiness policies that are created using - * CreateAppCookieStickinessPolicy.

      - */ - AppCookieStickinessPolicies?: AwsElbAppCookieStickinessPolicy[]; } export namespace AwsElbLoadBalancerPolicies { @@ -3513,14 +3542,14 @@ export namespace AwsElbLoadBalancerPolicies { */ export interface AwsElbLoadBalancerSourceSecurityGroup { /** - *

      The name of the security group.

      + *

      The owner of the security group.

      */ - GroupName?: string; + OwnerAlias?: string; /** - *

      The owner of the security group.

      + *

      The name of the security group.

      */ - OwnerAlias?: string; + GroupName?: string; } export namespace AwsElbLoadBalancerSourceSecurityGroup { @@ -3534,34 +3563,21 @@ export namespace AwsElbLoadBalancerSourceSecurityGroup { */ export interface AwsElbLoadBalancerDetails { /** - *

      The ID of the Amazon Route 53 hosted zone for the load balancer.

      - */ - CanonicalHostedZoneNameID?: string; - - /** - *

      The identifier of the VPC for the load balancer.

      - */ - VpcId?: string; - - /** - *

      Information about the configuration of the EC2 instances.

      - */ - BackendServerDescriptions?: AwsElbLoadBalancerBackendServerDescription[]; - - /** - *

      Information about the health checks that are conducted on the load balancer.

      + *

      Information about the security group for the load balancer. This is the security group + * that is used for inbound rules.

      */ - HealthCheck?: AwsElbLoadBalancerHealthCheck; + SourceSecurityGroup?: AwsElbLoadBalancerSourceSecurityGroup; /** - *

      The policies that are enabled for the load balancer listeners.

      + *

      The security groups for the load balancer. Only provided if the load balancer is in a + * VPC.

      */ - ListenerDescriptions?: AwsElbLoadBalancerListenerDescription[]; + SecurityGroups?: string[]; /** - *

      List of EC2 instances for the load balancer.

      + *

      The DNS name of the load balancer.

      */ - Instances?: AwsElbLoadBalancerInstance[]; + DnsName?: string; /** *

      The type of load balancer. Only provided if the load balancer is in a VPC.

      @@ -3572,11 +3588,6 @@ export interface AwsElbLoadBalancerDetails { */ Scheme?: string; - /** - *

      The name of the Amazon Route 53 hosted zone for the load balancer.

      - */ - CanonicalHostedZoneName?: string; - /** *

      Indicates when the load balancer was created.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet @@ -3586,36 +3597,39 @@ export interface AwsElbLoadBalancerDetails { CreatedTime?: string; /** - *

      The DNS name of the load balancer.

      + *

      The name of the Amazon Route 53 hosted zone for the load balancer.

      */ - DnsName?: string; + CanonicalHostedZoneName?: string; /** - *

      The security groups for the load balancer. Only provided if the load balancer is in a - * VPC.

      + *

      Information about the configuration of the EC2 instances.

      */ - SecurityGroups?: string[]; + BackendServerDescriptions?: AwsElbLoadBalancerBackendServerDescription[]; /** - *

      Information about the security group for the load balancer. This is the security group - * that is used for inbound rules.

      + *

      The attributes for a load balancer.

      */ - SourceSecurityGroup?: AwsElbLoadBalancerSourceSecurityGroup; + LoadBalancerAttributes?: AwsElbLoadBalancerAttributes; /** - *

      The list of Availability Zones for the load balancer.

      + *

      The policies for a load balancer.

      */ - AvailabilityZones?: string[]; + Policies?: AwsElbLoadBalancerPolicies; /** - *

      The attributes for a load balancer.

      + *

      The policies that are enabled for the load balancer listeners.

      */ - LoadBalancerAttributes?: AwsElbLoadBalancerAttributes; + ListenerDescriptions?: AwsElbLoadBalancerListenerDescription[]; /** - *

      The policies for a load balancer.

      + *

      List of EC2 instances for the load balancer.

      */ - Policies?: AwsElbLoadBalancerPolicies; + Instances?: AwsElbLoadBalancerInstance[]; + + /** + *

      The name of the load balancer.

      + */ + LoadBalancerName?: string; /** *

      The list of subnet identifiers for the load balancer.

      @@ -3623,9 +3637,24 @@ export interface AwsElbLoadBalancerDetails { Subnets?: string[]; /** - *

      The name of the load balancer.

      + *

      The identifier of the VPC for the load balancer.

      */ - LoadBalancerName?: string; + VpcId?: string; + + /** + *

      The list of Availability Zones for the load balancer.

      + */ + AvailabilityZones?: string[]; + + /** + *

      The ID of the Amazon Route 53 hosted zone for the load balancer.

      + */ + CanonicalHostedZoneNameID?: string; + + /** + *

      Information about the health checks that are conducted on the load balancer.

      + */ + HealthCheck?: AwsElbLoadBalancerHealthCheck; } export namespace AwsElbLoadBalancerDetails { @@ -3668,22 +3697,30 @@ export interface AwsElbv2LoadBalancerDetails { VpcId?: string; /** - *

      The type of load balancer.

      + *

      The Availability Zones for the load balancer.

      */ - Type?: string; + AvailabilityZones?: AvailabilityZone[]; /** - *

      The type of IP addresses used by the subnets for your load balancer. The possible values - * are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 - * addresses).

      + *

      The ID of the Amazon Route 53 hosted zone associated with the load balancer.

      */ - IpAddressType?: string; + CanonicalHostedZoneId?: string; + + /** + *

      The state of the load balancer.

      + */ + State?: LoadBalancerState; /** *

      The nodes of an Internet-facing load balancer have public IP addresses.

      */ Scheme?: string; + /** + *

      The IDs of the security groups for the load balancer.

      + */ + SecurityGroups?: string[]; + /** *

      Indicates when the load balancer was created.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet @@ -3693,9 +3730,11 @@ export interface AwsElbv2LoadBalancerDetails { CreatedTime?: string; /** - *

      The Availability Zones for the load balancer.

      + *

      The type of IP addresses used by the subnets for your load balancer. The possible values + * are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 + * addresses).

      */ - AvailabilityZones?: AvailabilityZone[]; + IpAddressType?: string; /** *

      The public DNS name of the load balancer.

      @@ -3703,20 +3742,10 @@ export interface AwsElbv2LoadBalancerDetails { DNSName?: string; /** - *

      The state of the load balancer.

      + *

      The type of load balancer.

      */ - State?: LoadBalancerState; - - /** - *

      The ID of the Amazon Route 53 hosted zone associated with the load balancer.

      - */ - CanonicalHostedZoneId?: string; - - /** - *

      The IDs of the security groups for the load balancer.

      - */ - SecurityGroups?: string[]; -} + Type?: string; +} export namespace AwsElbv2LoadBalancerDetails { export const filterSensitiveLog = (obj: AwsElbv2LoadBalancerDetails): any => ({ @@ -3728,6 +3757,11 @@ export namespace AwsElbv2LoadBalancerDetails { *

      Attributes of the session that the key was used for.

      */ export interface AwsIamAccessKeySessionContextAttributes { + /** + *

      Indicates whether the session used multi-factor authentication (MFA).

      + */ + MfaAuthenticated?: boolean; + /** *

      Indicates when the session was created.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet @@ -3735,11 +3769,6 @@ export interface AwsIamAccessKeySessionContextAttributes { * 2020-03-22T13:22:13.933Z.

      */ CreationDate?: string; - - /** - *

      Indicates whether the session used multi-factor authentication (MFA).

      - */ - MfaAuthenticated?: boolean; } export namespace AwsIamAccessKeySessionContextAttributes { @@ -3753,14 +3782,14 @@ export namespace AwsIamAccessKeySessionContextAttributes { */ export interface AwsIamAccessKeySessionContextSessionIssuer { /** - *

      The type of principal (user, role, or group) that created the session.

      + *

      The name of the principal that created the session.

      */ - Type?: string; + UserName?: string; /** - *

      The identifier of the AWS account that created the session.

      + *

      The ARN of the session.

      */ - AccountId?: string; + Arn?: string; /** *

      The principal ID of the principal (user, role, or group) that created the @@ -3769,14 +3798,14 @@ export interface AwsIamAccessKeySessionContextSessionIssuer { PrincipalId?: string; /** - *

      The ARN of the session.

      + *

      The type of principal (user, role, or group) that created the session.

      */ - Arn?: string; + Type?: string; /** - *

      The name of the principal that created the session.

      + *

      The identifier of the AWS account that created the session.

      */ - UserName?: string; + AccountId?: string; } export namespace AwsIamAccessKeySessionContextSessionIssuer { @@ -3816,9 +3845,9 @@ export enum AwsIamAccessKeyStatus { */ export interface AwsIamAccessKeyDetails { /** - *

      Information about the session that the key was used for.

      + *

      The name of the principal.

      */ - SessionContext?: AwsIamAccessKeySessionContext; + PrincipalName?: string; /** *

      The identifier of the access key.

      @@ -3826,14 +3855,9 @@ export interface AwsIamAccessKeyDetails { AccessKeyId?: string; /** - *

      The ID of the principal associated with an access key.

      - */ - PrincipalId?: string; - - /** - *

      The name of the principal.

      + *

      The AWS account ID of the account for the key.

      */ - PrincipalName?: string; + AccountId?: string; /** *

      Indicates when the IAM access key was created.

      @@ -3851,20 +3875,25 @@ export interface AwsIamAccessKeyDetails { */ UserName?: string; + /** + *

      The type of principal associated with an access key.

      + */ + PrincipalType?: string; + /** *

      The status of the IAM access key related to a finding.

      */ Status?: AwsIamAccessKeyStatus | string; /** - *

      The type of principal associated with an access key.

      + *

      The ID of the principal associated with an access key.

      */ - PrincipalType?: string; + PrincipalId?: string; /** - *

      The AWS account ID of the account for the key.

      + *

      Information about the session that the key was used for.

      */ - AccountId?: string; + SessionContext?: AwsIamAccessKeySessionContext; } export namespace AwsIamAccessKeyDetails { @@ -3915,9 +3944,9 @@ export namespace AwsIamGroupPolicy { */ export interface AwsIamGroupDetails { /** - *

      A list of the managed policies that are attached to the IAM group.

      + *

      The path to the group.

      */ - AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; + Path?: string; /** *

      The name of the IAM group.

      @@ -3925,14 +3954,9 @@ export interface AwsIamGroupDetails { GroupName?: string; /** - *

      The path to the group.

      - */ - Path?: string; - - /** - *

      The list of inline policies that are embedded in the group.

      + *

      A list of the managed policies that are attached to the IAM group.

      */ - GroupPolicyList?: AwsIamGroupPolicy[]; + AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; /** *

      The identifier of the IAM group.

      @@ -3946,6 +3970,11 @@ export interface AwsIamGroupDetails { * 2020-03-22T13:22:13.933Z.

      */ CreateDate?: string; + + /** + *

      The list of inline policies that are embedded in the group.

      + */ + GroupPolicyList?: AwsIamGroupPolicy[]; } export namespace AwsIamGroupDetails { @@ -3959,14 +3988,17 @@ export namespace AwsIamGroupDetails { */ export interface AwsIamInstanceProfileRole { /** - *

      The identifier of the role.

      + *

      Indicates when the role was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - RoleId?: string; + CreateDate?: string; /** - *

      The policy that grants an entity permission to assume the role.

      + *

      The identifier of the role.

      */ - AssumeRolePolicyDocument?: string; + RoleId?: string; /** *

      The ARN of the role.

      @@ -3974,22 +4006,19 @@ export interface AwsIamInstanceProfileRole { Arn?: string; /** - *

      The path to the role.

      + *

      The name of the role.

      */ - Path?: string; + RoleName?: string; /** - *

      The name of the role.

      + *

      The path to the role.

      */ - RoleName?: string; + Path?: string; /** - *

      Indicates when the role was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The policy that grants an entity permission to assume the role.

      */ - CreateDate?: string; + AssumeRolePolicyDocument?: string; } export namespace AwsIamInstanceProfileRole { @@ -4008,9 +4037,17 @@ export interface AwsIamInstanceProfile { Path?: string; /** - *

      The name of the instance profile.

      + *

      The ARN of the instance profile.

      */ - InstanceProfileName?: string; + Arn?: string; + + /** + *

      Indicates when the instance profile was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      + */ + CreateDate?: string; /** *

      The identifier of the instance profile.

      @@ -4023,17 +4060,9 @@ export interface AwsIamInstanceProfile { Roles?: AwsIamInstanceProfileRole[]; /** - *

      The ARN of the instance profile.

      - */ - Arn?: string; - - /** - *

      Indicates when the instance profile was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The name of the instance profile.

      */ - CreateDate?: string; + InstanceProfileName?: string; } export namespace AwsIamInstanceProfile { @@ -4073,11 +4102,6 @@ export interface AwsIamPolicyVersion { */ IsDefaultVersion?: boolean; - /** - *

      The identifier of the policy version.

      - */ - VersionId?: string; - /** *

      Indicates when the version was created.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet @@ -4085,6 +4109,11 @@ export interface AwsIamPolicyVersion { * 2020-03-22T13:22:13.933Z.

      */ CreateDate?: string; + + /** + *

      The identifier of the policy version.

      + */ + VersionId?: string; } export namespace AwsIamPolicyVersion { @@ -4098,14 +4127,14 @@ export namespace AwsIamPolicyVersion { */ export interface AwsIamPolicyDetails { /** - *

      The path to the policy.

      + *

      A description of the policy.

      */ - Path?: string; + Description?: string; /** - *

      The number of users, groups, and roles that the policy is attached to.

      + *

      The path to the policy.

      */ - AttachmentCount?: number; + Path?: string; /** *

      When the policy was most recently updated.

      @@ -4116,48 +4145,48 @@ export interface AwsIamPolicyDetails { UpdateDate?: string; /** - *

      The unique identifier of the policy.

      + *

      The number of users and roles that use the policy to set the permissions + * boundary.

      */ - PolicyId?: string; + PermissionsBoundaryUsageCount?: number; /** - *

      Whether the policy can be attached to a user, group, or role.

      + *

      List of versions of the policy.

      */ - IsAttachable?: boolean; + PolicyVersionList?: AwsIamPolicyVersion[]; /** - *

      When the policy was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The name of the policy.

      */ - CreateDate?: string; + PolicyName?: string; /** - *

      The identifier of the default version of the policy.

      + *

      The number of users, groups, and roles that the policy is attached to.

      */ - DefaultVersionId?: string; + AttachmentCount?: number; /** - *

      List of versions of the policy.

      + *

      The identifier of the default version of the policy.

      */ - PolicyVersionList?: AwsIamPolicyVersion[]; + DefaultVersionId?: string; /** - *

      A description of the policy.

      + *

      The unique identifier of the policy.

      */ - Description?: string; + PolicyId?: string; /** - *

      The name of the policy.

      + *

      Whether the policy can be attached to a user, group, or role.

      */ - PolicyName?: string; + IsAttachable?: boolean; /** - *

      The number of users and roles that use the policy to set the permissions - * boundary.

      + *

      When the policy was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - PermissionsBoundaryUsageCount?: number; + CreateDate?: string; } export namespace AwsIamPolicyDetails { @@ -4186,11 +4215,6 @@ export namespace AwsIamRolePolicy { *

      Contains information about an IAM role, including all of the role's policies.

      */ export interface AwsIamRoleDetails { - /** - *

      The list of the managed policies that are attached to the role.

      - */ - AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; - /** *

      The path to the role.

      */ @@ -4202,24 +4226,22 @@ export interface AwsIamRoleDetails { MaxSessionDuration?: number; /** - *

      The friendly name that identifies the role.

      - */ - RoleName?: string; - - /** - *

      The list of inline policies that are embedded in the role.

      + *

      The list of the managed policies that are attached to the role.

      */ - RolePolicyList?: AwsIamRolePolicy[]; + AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; /** - *

      The trust policy that grants permission to assume the role.

      + *

      The friendly name that identifies the role.

      */ - AssumeRolePolicyDocument?: string; + RoleName?: string; /** - *

      The list of instance profiles that contain this role.

      + *

      Indicates when the role was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - InstanceProfileList?: AwsIamInstanceProfile[]; + CreateDate?: string; /** *

      The stable and unique string identifying the role.

      @@ -4233,12 +4255,19 @@ export interface AwsIamRoleDetails { PermissionsBoundary?: AwsIamPermissionsBoundary; /** - *

      Indicates when the role was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The list of instance profiles that contain this role.

      */ - CreateDate?: string; + InstanceProfileList?: AwsIamInstanceProfile[]; + + /** + *

      The list of inline policies that are embedded in the role.

      + */ + RolePolicyList?: AwsIamRolePolicy[]; + + /** + *

      The trust policy that grants permission to assume the role.

      + */ + AssumeRolePolicyDocument?: string; } export namespace AwsIamRoleDetails { @@ -4268,9 +4297,17 @@ export namespace AwsIamUserPolicy { */ export interface AwsIamUserDetails { /** - *

      The path to the user.

      + *

      The permissions boundary for the user.

      */ - Path?: string; + PermissionsBoundary?: AwsIamPermissionsBoundary; + + /** + *

      Indicates when the user was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      + */ + CreateDate?: string; /** *

      A list of the managed policies that are attached to the user.

      @@ -4278,14 +4315,14 @@ export interface AwsIamUserDetails { AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; /** - *

      The unique identifier for the user.

      + *

      The name of the user.

      */ - UserId?: string; + UserName?: string; /** - *

      A list of IAM groups that the user belongs to.

      + *

      The path to the user.

      */ - GroupList?: string[]; + Path?: string; /** *

      The list of inline policies that are embedded in the user.

      @@ -4293,22 +4330,14 @@ export interface AwsIamUserDetails { UserPolicyList?: AwsIamUserPolicy[]; /** - *

      Indicates when the user was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The unique identifier for the user.

      */ - CreateDate?: string; + UserId?: string; /** - *

      The name of the user.

      + *

      A list of IAM groups that the user belongs to.

      */ - UserName?: string; - - /** - *

      The permissions boundary for the user.

      - */ - PermissionsBoundary?: AwsIamPermissionsBoundary; + GroupList?: string[]; } export namespace AwsIamUserDetails { @@ -4339,16 +4368,6 @@ export interface AwsKmsKeyDetails { */ CreationDate?: number; - /** - *

      The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

      - */ - KeyManager?: string; - - /** - *

      The state of the CMK.

      - */ - KeyState?: string; - /** *

      The twelve-digit account ID of the AWS account that owns the CMK.

      */ @@ -4363,6 +4382,16 @@ export interface AwsKmsKeyDetails { *

      A description of the key.

      */ Description?: string; + + /** + *

      The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

      + */ + KeyManager?: string; + + /** + *

      The state of the CMK.

      + */ + KeyState?: string; } export namespace AwsKmsKeyDetails { @@ -4376,24 +4405,24 @@ export namespace AwsKmsKeyDetails { */ export interface AwsLambdaFunctionCode { /** - *

      An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

      + *

      The Amazon S3 key of the deployment package.

      */ - S3Bucket?: string; + S3Key?: string; /** - *

      The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

      + *

      For versioned objects, the version of the deployment package object to use.

      */ - ZipFile?: string; + S3ObjectVersion?: string; /** - *

      The Amazon S3 key of the deployment package.

      + *

      The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

      */ - S3Key?: string; + ZipFile?: string; /** - *

      For versioned objects, the version of the deployment package object to use.

      + *

      An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

      */ - S3ObjectVersion?: string; + S3Bucket?: string; } export namespace AwsLambdaFunctionCode { @@ -4423,14 +4452,14 @@ export namespace AwsLambdaFunctionDeadLetterConfig { */ export interface AwsLambdaFunctionEnvironmentError { /** - *

      The error code.

      + *

      The error message.

      */ - ErrorCode?: string; + Message?: string; /** - *

      The error message.

      + *

      The error code.

      */ - Message?: string; + ErrorCode?: string; } export namespace AwsLambdaFunctionEnvironmentError { @@ -4465,14 +4494,14 @@ export namespace AwsLambdaFunctionEnvironment { */ export interface AwsLambdaFunctionLayer { /** - *

      The Amazon Resource Name (ARN) of the function layer.

      + *

      The size of the layer archive in bytes.

      */ - Arn?: string; + CodeSize?: number; /** - *

      The size of the layer archive in bytes.

      + *

      The Amazon Resource Name (ARN) of the function layer.

      */ - CodeSize?: number; + Arn?: string; } export namespace AwsLambdaFunctionLayer { @@ -4528,97 +4557,97 @@ export namespace AwsLambdaFunctionVpcConfig { */ export interface AwsLambdaFunctionDetails { /** - *

      The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

      + *

      The function's AWS X-Ray tracing configuration.

      */ - KmsKeyArn?: string; + TracingConfig?: AwsLambdaFunctionTracingConfig; /** - *

      For Lambda@Edge functions, the ARN of the master function.

      + *

      The function's layers.

      */ - MasterArn?: string; + Layers?: AwsLambdaFunctionLayer[]; /** - *

      The name of the function.

      + *

      The function's dead letter queue.

      */ - FunctionName?: string; + DeadLetterConfig?: AwsLambdaFunctionDeadLetterConfig; /** - *

      Indicates when the function was last updated.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The memory that's allocated to the function.

      */ - LastModified?: string; + MemorySize?: number; /** - *

      The runtime environment for the Lambda function.

      + *

      The function's networking configuration.

      */ - Runtime?: string; + VpcConfig?: AwsLambdaFunctionVpcConfig; /** - *

      The SHA256 hash of the function's deployment package.

      + *

      The version of the Lambda function.

      */ - CodeSha256?: string; + Version?: string; /** - *

      The latest updated revision of the function or alias.

      + *

      The function's environment variables.

      */ - RevisionId?: string; + Environment?: AwsLambdaFunctionEnvironment; /** - *

      The version of the Lambda function.

      + *

      The runtime environment for the Lambda function.

      */ - Version?: string; + Runtime?: string; /** - *

      An AwsLambdaFunctionCode object.

      + *

      The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

      */ - Code?: AwsLambdaFunctionCode; + KmsKeyArn?: string; /** - *

      The memory that's allocated to the function.

      + *

      For Lambda@Edge functions, the ARN of the master function.

      */ - MemorySize?: number; + MasterArn?: string; /** - *

      The amount of time that Lambda allows a function to run before stopping it.

      + *

      The name of the function.

      */ - Timeout?: number; + FunctionName?: string; /** - *

      The function's dead letter queue.

      + *

      The function's execution role.

      */ - DeadLetterConfig?: AwsLambdaFunctionDeadLetterConfig; + Role?: string; /** - *

      The function that Lambda calls to begin executing your function.

      + *

      The amount of time that Lambda allows a function to run before stopping it.

      */ - Handler?: string; + Timeout?: number; /** - *

      The function's AWS X-Ray tracing configuration.

      + *

      An AwsLambdaFunctionCode object.

      */ - TracingConfig?: AwsLambdaFunctionTracingConfig; + Code?: AwsLambdaFunctionCode; /** - *

      The function's layers.

      + *

      The SHA256 hash of the function's deployment package.

      */ - Layers?: AwsLambdaFunctionLayer[]; + CodeSha256?: string; /** - *

      The function's environment variables.

      + *

      The latest updated revision of the function or alias.

      */ - Environment?: AwsLambdaFunctionEnvironment; + RevisionId?: string; /** - *

      The function's execution role.

      + *

      The function that Lambda calls to begin executing your function.

      */ - Role?: string; + Handler?: string; /** - *

      The function's networking configuration.

      + *

      Indicates when the function was last updated.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - VpcConfig?: AwsLambdaFunctionVpcConfig; + LastModified?: string; } export namespace AwsLambdaFunctionDetails { @@ -4639,6 +4668,11 @@ export interface AwsLambdaLayerVersionDetails { */ CreatedDate?: string; + /** + *

      The version number.

      + */ + Version?: number; + /** *

      The layer's compatible runtimes. Maximum number of five items.

      *

      Valid values: nodejs10.x | nodejs12.x | java8 | @@ -4649,11 +4683,6 @@ export interface AwsLambdaLayerVersionDetails { *

      */ CompatibleRuntimes?: string[]; - - /** - *

      The version number.

      - */ - Version?: number; } export namespace AwsLambdaLayerVersionDetails { @@ -4667,14 +4696,14 @@ export namespace AwsLambdaLayerVersionDetails { */ export interface AwsRdsDbClusterAssociatedRole { /** - *

      The status of the association between the IAM role and the DB cluster.

      + *

      The ARN of the IAM role.

      */ - Status?: string; + RoleArn?: string; /** - *

      The ARN of the IAM role.

      + *

      The status of the association between the IAM role and the DB cluster.

      */ - RoleArn?: string; + Status?: string; } export namespace AwsRdsDbClusterAssociatedRole { @@ -4693,11 +4722,6 @@ export interface AwsRdsDbClusterMember { */ PromotionTier?: number; - /** - *

      Whether the cluster member is the primary instance for the DB cluster.

      - */ - IsClusterWriter?: boolean; - /** *

      The instance identifier for this member of the DB cluster.

      */ @@ -4707,6 +4731,11 @@ export interface AwsRdsDbClusterMember { *

      The status of the DB cluster parameter group for this member of the DB cluster.

      */ DbClusterParameterGroupStatus?: string; + + /** + *

      Whether the cluster member is the primary instance for the DB cluster.

      + */ + IsClusterWriter?: boolean; } export namespace AwsRdsDbClusterMember { @@ -4752,14 +4781,14 @@ export interface AwsRdsDbDomainMembership { Fqdn?: string; /** - *

      The status of the Active Directory Domain membership for the DB instance.

      + *

      The identifier of the Active Directory domain.

      */ - Status?: string; + Domain?: string; /** - *

      The identifier of the Active Directory domain.

      + *

      The status of the Active Directory Domain membership for the DB instance.

      */ - Domain?: string; + Status?: string; } export namespace AwsRdsDbDomainMembership { @@ -4773,14 +4802,14 @@ export namespace AwsRdsDbDomainMembership { */ export interface AwsRdsDbInstanceVpcSecurityGroup { /** - *

      The status of the VPC security group.

      + *

      The name of the VPC security group.

      */ - Status?: string; + VpcSecurityGroupId?: string; /** - *

      The name of the VPC security group.

      + *

      The status of the VPC security group.

      */ - VpcSecurityGroupId?: string; + Status?: string; } export namespace AwsRdsDbInstanceVpcSecurityGroup { @@ -4794,143 +4823,138 @@ export namespace AwsRdsDbInstanceVpcSecurityGroup { */ export interface AwsRdsDbClusterDetails { /** - *

      The port number on which the DB instances in the DB cluster accept connections.

      + *

      A list of custom endpoints for the DB cluster.

      */ - Port?: number; + CustomEndpoints?: string[]; /** - *

      Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

      + *

      A list of VPC security groups that the DB cluster belongs to.

      */ - HttpEndpointEnabled?: boolean; + VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; /** - *

      The status of the database activity stream.

      + *

      A list of the IAM roles that are associated with the DB cluster.

      */ - ActivityStreamStatus?: string; + AssociatedRoles?: AwsRdsDbClusterAssociatedRole[]; /** - *

      Whether the DB cluster is encrypted.

      + *

      The connection endpoint for the primary instance of the DB cluster.

      */ - StorageEncrypted?: boolean; + Endpoint?: string; /** - *

      The number of days for which automated backups are retained.

      + *

      Whether the DB cluster is encrypted.

      */ - BackupRetentionPeriod?: number; + StorageEncrypted?: boolean; /** - *

      The range of time each day when automated backups are created, if automated backups are - * enabled.

      - *

      Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

      + *

      The port number on which the DB instances in the DB cluster accept connections.

      */ - PreferredBackupWindow?: string; + Port?: number; /** - *

      The identifier of the DB cluster. The identifier must be unique within each AWS Region - * and is immutable.

      + *

      For all database engines except Aurora, specifies the allocated storage size in + * gibibytes (GiB).

      */ - DbClusterResourceId?: string; + AllocatedStorage?: number; /** - *

      The Active Directory domain membership records that are associated with the DB - * cluster.

      + *

      Whether the DB cluster has deletion protection enabled.

      */ - DomainMemberships?: AwsRdsDbDomainMembership[]; + DeletionProtection?: boolean; /** - *

      The name of the master user for the DB cluster.

      + *

      The name of the database.

      */ - MasterUsername?: string; + DatabaseName?: string; /** - *

      A list of VPC security groups that the DB cluster belongs to.

      + *

      A list of log types that this DB cluster is configured to export to CloudWatch + * Logs.

      */ - VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; + EnabledCloudWatchLogsExports?: string[]; /** - *

      The list of option group memberships for this DB cluster.

      + *

      The ARN of the AWS KMS master key that is used to encrypt the database instances in the + * DB cluster.

      */ - DbClusterOptionGroupMemberships?: AwsRdsDbClusterOptionGroupMembership[]; + KmsKeyId?: string; /** - *

      Whether tags are copied from the DB cluster to snapshots of the DB cluster.

      + *

      Whether the DB cluster is a clone of a DB cluster owned by a different AWS + * account.

      */ - CopyTagsToSnapshot?: boolean; + CrossAccountClone?: boolean; /** - *

      The weekly time range during which system maintenance can occur, in Universal - * Coordinated Time (UTC).

      - *

      Uses the format :HH:MM-:HH:MM.

      - *

      For the day values, use - * mon|tue|wed|thu|fri|sat|sun.

      - *

      For example, sun:09:32-sun:10:02.

      + *

      The Active Directory domain membership records that are associated with the DB + * cluster.

      */ - PreferredMaintenanceWindow?: string; + DomainMemberships?: AwsRdsDbDomainMembership[]; /** - *

      A list of the IAM roles that are associated with the DB cluster.

      + *

      Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

      */ - AssociatedRoles?: AwsRdsDbClusterAssociatedRole[]; + HttpEndpointEnabled?: boolean; /** - *

      Whether the DB cluster is a clone of a DB cluster owned by a different AWS - * account.

      + *

      The name of the master user for the DB cluster.

      */ - CrossAccountClone?: boolean; + MasterUsername?: string; /** - *

      The DB cluster identifier that the user assigned to the cluster. This identifier is the - * unique key that identifies a DB cluster.

      + *

      The database engine mode of the DB cluster.

      */ - DbClusterIdentifier?: string; + EngineMode?: string; /** - *

      A list of log types that this DB cluster is configured to export to CloudWatch - * Logs.

      + *

      Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - EnabledCloudWatchLogsExports?: string[]; + ClusterCreateTime?: string; /** - *

      Whether the DB cluster has deletion protection enabled.

      + *

      The current status of this DB cluster.

      */ - DeletionProtection?: boolean; + Status?: string; /** - *

      For all database engines except Aurora, specifies the allocated storage size in - * gibibytes (GiB).

      + *

      The status of the database activity stream.

      */ - AllocatedStorage?: number; + ActivityStreamStatus?: string; /** - *

      The ARN of the AWS KMS master key that is used to encrypt the database instances in the - * DB cluster.

      + *

      The number of days for which automated backups are retained.

      */ - KmsKeyId?: string; + BackupRetentionPeriod?: number; /** - *

      The current status of this DB cluster.

      + *

      The subnet group that is associated with the DB cluster, including the name, + * description, and subnets in the subnet group.

      */ - Status?: string; + DbSubnetGroup?: string; /** - *

      The name of the database.

      + *

      The name of the DB cluster parameter group for the DB cluster.

      */ - DatabaseName?: string; + DbClusterParameterGroup?: string; /** - *

      Whether the DB cluster has instances in multiple Availability Zones.

      + *

      The identifiers of the read replicas that are associated with this DB cluster.

      */ - MultiAz?: boolean; + ReadReplicaIdentifiers?: string[]; /** - *

      The name of the DB cluster parameter group for the DB cluster.

      + *

      Whether the DB cluster has instances in multiple Availability Zones.

      */ - DbClusterParameterGroup?: string; + MultiAz?: boolean; /** - *

      Whether the mapping of IAM accounts to database accounts is enabled.

      + *

      The list of instances that make up the DB cluster.

      */ - IamDatabaseAuthenticationEnabled?: boolean; + DbClusterMembers?: AwsRdsDbClusterMember[]; /** *

      Specifies the identifier that Amazon Route 53 assigns when you create a hosted @@ -4945,58 +4969,63 @@ export interface AwsRdsDbClusterDetails { AvailabilityZones?: string[]; /** - *

      The name of the database engine to use for this DB cluster.

      + *

      The reader endpoint for the DB cluster.

      */ - Engine?: string; + ReaderEndpoint?: string; /** - *

      The connection endpoint for the primary instance of the DB cluster.

      + *

      The version number of the database engine to use.

      */ - Endpoint?: string; + EngineVersion?: string; /** - *

      A list of custom endpoints for the DB cluster.

      + *

      The identifier of the DB cluster. The identifier must be unique within each AWS Region + * and is immutable.

      */ - CustomEndpoints?: string[]; + DbClusterResourceId?: string; /** - *

      The list of instances that make up the DB cluster.

      + *

      The range of time each day when automated backups are created, if automated backups are + * enabled.

      + *

      Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

      */ - DbClusterMembers?: AwsRdsDbClusterMember[]; + PreferredBackupWindow?: string; /** - *

      The identifiers of the read replicas that are associated with this DB cluster.

      + *

      The DB cluster identifier that the user assigned to the cluster. This identifier is the + * unique key that identifies a DB cluster.

      */ - ReadReplicaIdentifiers?: string[]; + DbClusterIdentifier?: string; /** - *

      The subnet group that is associated with the DB cluster, including the name, - * description, and subnets in the subnet group.

      + *

      The weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

      + *

      Uses the format :HH:MM-:HH:MM.

      + *

      For the day values, use + * mon|tue|wed|thu|fri|sat|sun.

      + *

      For example, sun:09:32-sun:10:02.

      */ - DbSubnetGroup?: string; + PreferredMaintenanceWindow?: string; /** - *

      The reader endpoint for the DB cluster.

      + *

      The list of option group memberships for this DB cluster.

      */ - ReaderEndpoint?: string; + DbClusterOptionGroupMemberships?: AwsRdsDbClusterOptionGroupMembership[]; /** - *

      Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      Whether the mapping of IAM accounts to database accounts is enabled.

      */ - ClusterCreateTime?: string; + IamDatabaseAuthenticationEnabled?: boolean; /** - *

      The database engine mode of the DB cluster.

      + *

      Whether tags are copied from the DB cluster to snapshots of the DB cluster.

      */ - EngineMode?: string; + CopyTagsToSnapshot?: boolean; /** - *

      The version number of the database engine to use.

      + *

      The name of the database engine to use for this DB cluster.

      */ - EngineVersion?: string; + Engine?: string; } export namespace AwsRdsDbClusterDetails { @@ -5010,38 +5039,25 @@ export namespace AwsRdsDbClusterDetails { */ export interface AwsRdsDbClusterSnapshotDetails { /** - *

      Indicates when the snapshot was taken.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      - */ - SnapshotCreateTime?: string; - - /** - *

      + *

      The name of the master user for the DB cluster.

      */ - Engine?: string; + MasterUsername?: string; /** - *

      Whether the DB cluster is encrypted.

      + *

      The port number on which the DB instances in the DB cluster accept connections.

      */ - StorageEncrypted?: boolean; + Port?: number; /** - *

      The license model information for this DB cluster snapshot.

      + *

      The type of DB cluster snapshot.

      */ - LicenseModel?: string; + SnapshotType?: string; /** *

      The VPC ID that is associated with the DB cluster snapshot.

      */ VpcId?: string; - /** - *

      A list of Availability Zones where instances in the DB cluster can be created.

      - */ - AvailabilityZones?: string[]; - /** *

      The ARN of the AWS KMS master key that is used to encrypt the database instances in the * DB cluster.

      @@ -5049,29 +5065,27 @@ export interface AwsRdsDbClusterSnapshotDetails { KmsKeyId?: string; /** - *

      The type of DB cluster snapshot.

      - */ - SnapshotType?: string; - - /** - *

      The name of the master user for the DB cluster.

      + *

      Indicates when the snapshot was taken.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - MasterUsername?: string; + SnapshotCreateTime?: string; /** - *

      Specifies the percentage of the estimated data that has been transferred.

      + *

      Whether the DB cluster is encrypted.

      */ - PercentProgress?: number; + StorageEncrypted?: boolean; /** - *

      The DB cluster identifier.

      + *

      The license model information for this DB cluster snapshot.

      */ - DbClusterIdentifier?: string; + LicenseModel?: string; /** - *

      Whether mapping of IAM accounts to database accounts is enabled.

      + *

      Specifies the percentage of the estimated data that has been transferred.

      */ - IamDatabaseAuthenticationEnabled?: boolean; + PercentProgress?: number; /** *

      Specifies the allocated storage size in gibibytes (GiB).

      @@ -5079,24 +5093,24 @@ export interface AwsRdsDbClusterSnapshotDetails { AllocatedStorage?: number; /** - *

      The status of this DB cluster snapshot.

      + *

      The version of the database engine to use.

      */ - Status?: string; + EngineVersion?: string; /** - *

      The version of the database engine to use.

      + *

      The DB cluster identifier.

      */ - EngineVersion?: string; + DbClusterIdentifier?: string; /** - *

      The identifier of the DB cluster snapshot.

      + *

      */ - DbClusterSnapshotIdentifier?: string; + Engine?: string; /** - *

      The port number on which the DB instances in the DB cluster accept connections.

      + *

      A list of Availability Zones where instances in the DB cluster can be created.

      */ - Port?: number; + AvailabilityZones?: string[]; /** *

      Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

      @@ -5105,6 +5119,21 @@ export interface AwsRdsDbClusterSnapshotDetails { * 2020-03-22T13:22:13.933Z.

      */ ClusterCreateTime?: string; + + /** + *

      The status of this DB cluster snapshot.

      + */ + Status?: string; + + /** + *

      The identifier of the DB cluster snapshot.

      + */ + DbClusterSnapshotIdentifier?: string; + + /** + *

      Whether mapping of IAM accounts to database accounts is enabled.

      + */ + IamDatabaseAuthenticationEnabled?: boolean; } export namespace AwsRdsDbClusterSnapshotDetails { @@ -5117,11 +5146,6 @@ export namespace AwsRdsDbClusterSnapshotDetails { *

      An AWS Identity and Access Management (IAM) role associated with the DB instance.

      */ export interface AwsRdsDbInstanceAssociatedRole { - /** - *

      The name of the feature associated with the IAM)role.

      - */ - FeatureName?: string; - /** *

      Describes the state of the association between the IAM role and the DB instance. The * Status property returns one of the following values:

      @@ -5146,6 +5170,11 @@ export interface AwsRdsDbInstanceAssociatedRole { */ Status?: string; + /** + *

      The name of the feature associated with the IAM)role.

      + */ + FeatureName?: string; + /** *

      The Amazon Resource Name (ARN) of the IAM role that is associated with the DB * instance.

      @@ -5200,6 +5229,11 @@ export namespace AwsRdsDbSubnetGroupSubnetAvailabilityZone { *

      Information about a subnet in a subnet group.

      */ export interface AwsRdsDbSubnetGroupSubnet { + /** + *

      Information about the Availability Zone for a subnet in the subnet group.

      + */ + SubnetAvailabilityZone?: AwsRdsDbSubnetGroupSubnetAvailabilityZone; + /** *

      The identifier of a subnet in the subnet group.

      */ @@ -5209,11 +5243,6 @@ export interface AwsRdsDbSubnetGroupSubnet { *

      The status of a subnet in the subnet group.

      */ SubnetStatus?: string; - - /** - *

      Information about the Availability Zone for a subnet in the subnet group.

      - */ - SubnetAvailabilityZone?: AwsRdsDbSubnetGroupSubnetAvailabilityZone; } export namespace AwsRdsDbSubnetGroupSubnet { @@ -5227,34 +5256,34 @@ export namespace AwsRdsDbSubnetGroupSubnet { */ export interface AwsRdsDbSubnetGroup { /** - *

      The VPC ID of the subnet group.

      + *

      The status of the subnet group.

      */ - VpcId?: string; + SubnetGroupStatus?: string; /** - *

      A list of subnets in the subnet group.

      + *

      The name of the subnet group.

      */ - Subnets?: AwsRdsDbSubnetGroupSubnet[]; + DbSubnetGroupName?: string; /** - *

      The status of the subnet group.

      + *

      The ARN of the subnet group.

      */ - SubnetGroupStatus?: string; + DbSubnetGroupArn?: string; /** - *

      The description of the subnet group.

      + *

      A list of subnets in the subnet group.

      */ - DbSubnetGroupDescription?: string; + Subnets?: AwsRdsDbSubnetGroupSubnet[]; /** - *

      The name of the subnet group.

      + *

      The description of the subnet group.

      */ - DbSubnetGroupName?: string; + DbSubnetGroupDescription?: string; /** - *

      The ARN of the subnet group.

      + *

      The VPC ID of the subnet group.

      */ - DbSubnetGroupArn?: string; + VpcId?: string; } export namespace AwsRdsDbSubnetGroup { @@ -5296,12 +5325,12 @@ export interface AwsRdsDbOptionGroupMembership { /** *

      */ - Status?: string; + OptionGroupName?: string; /** *

      */ - OptionGroupName?: string; + Status?: string; } export namespace AwsRdsDbOptionGroupMembership { @@ -5315,14 +5344,14 @@ export namespace AwsRdsDbOptionGroupMembership { */ export interface AwsRdsPendingCloudWatchLogsExports { /** - *

      A list of log types that are being enabled.

      + *

      A list of log types that are being disabled.

      */ - LogTypesToEnable?: string[]; + LogTypesToDisable?: string[]; /** - *

      A list of log types that are being disabled.

      + *

      A list of log types that are being enabled.

      */ - LogTypesToDisable?: string[]; + LogTypesToEnable?: string[]; } export namespace AwsRdsPendingCloudWatchLogsExports { @@ -5359,77 +5388,77 @@ export interface AwsRdsDbPendingModifiedValues { /** *

      */ - PendingCloudWatchLogsExports?: AwsRdsPendingCloudWatchLogsExports; + StorageType?: string; /** *

      */ - DbSubnetGroupName?: string; + LicenseModel?: string; /** *

      */ - DbInstanceClass?: string; + DbInstanceIdentifier?: string; /** *

      */ - MasterUserPassword?: string; + EngineVersion?: string; /** *

      */ - ProcessorFeatures?: AwsRdsDbProcessorFeature[]; + Port?: number; /** *

      */ - DbInstanceIdentifier?: string; + Iops?: number; /** *

      */ - EngineVersion?: string; + CaCertificateIdentifier?: string; /** *

      */ - StorageType?: string; + ProcessorFeatures?: AwsRdsDbProcessorFeature[]; /** *

      */ - LicenseModel?: string; + AllocatedStorage?: number; /** *

      */ - MultiAZ?: boolean; + MasterUserPassword?: string; /** *

      */ - CaCertificateIdentifier?: string; + DbSubnetGroupName?: string; /** *

      */ - BackupRetentionPeriod?: number; + PendingCloudWatchLogsExports?: AwsRdsPendingCloudWatchLogsExports; /** *

      */ - AllocatedStorage?: number; + BackupRetentionPeriod?: number; /** *

      */ - Iops?: number; + DbInstanceClass?: string; /** *

      */ - Port?: number; + MultiAZ?: boolean; } export namespace AwsRdsDbPendingModifiedValues { @@ -5474,96 +5503,135 @@ export namespace AwsRdsDbStatusInfo { */ export interface AwsRdsDbInstanceDetails { /** - *

      The range of time each day when automated backups are created, if automated backups are - * enabled.

      - *

      Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

      + *

      The ARN from the key store with which the instance is associated for TDE + * encryption.

      */ - PreferredBackupWindow?: string; + TdeCredentialArn?: string; /** - *

      Whether to copy resource tags to snapshots of the DB instance.

      + *

      True if mapping of AWS Identity and Access Management (IAM) accounts to database + * accounts is enabled, and otherwise false.

      + *

      IAM database authentication can be enabled for the following database engines.

      + *
        + *
      • + *

        For MySQL 5.6, minor version 5.6.34 or higher

        + *
      • + *
      • + *

        For MySQL 5.7, minor version 5.7.16 or higher

        + *
      • + *
      • + *

        Aurora 5.6 or higher

        + *
      • + *
      */ - CopyTagsToSnapshot?: boolean; + IAMDatabaseAuthenticationEnabled?: boolean; /** - *

      The master user name of the DB instance.

      + *

      Changes to the DB instance that are currently pending.

      */ - MasterUsername?: string; + PendingModifiedValues?: AwsRdsDbPendingModifiedValues; /** - *

      The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to - * CloudWatch Logs.

      + *

      A list of VPC security groups that the DB instance belongs to.

      */ - MonitoringRoleArn?: string; + VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; /** - *

      Information about the subnet group that is associated with the DB instance.

      + *

      For a DB instance with multi-Availability Zone support, the name of the secondary + * Availability Zone.

      */ - DbSubnetGroup?: AwsRdsDbSubnetGroup; + SecondaryAvailabilityZone?: string; /** - *

      The order in which to promote an Aurora replica to the primary instance after a failure - * of the existing primary instance.

      + *

      If the DB instance is a member of a DB cluster, contains the name of the DB cluster that + * the DB instance is a member of.

      */ - PromotionTier?: number; + DBClusterIdentifier?: string; /** - *

      Whether the DB instance is a multiple Availability Zone deployment.

      + *

      The time zone of the DB instance.

      */ - MultiAz?: boolean; + Timezone?: string; /** - *

      The identifier of the AWS KMS key used to encrypt the Performance Insights data.

      + *

      Specifies whether the DB instance is encrypted.

      */ - PerformanceInsightsKmsKeyId?: string; + StorageEncrypted?: boolean; /** - *

      The number of CPU cores and the number of threads per core for the DB instance class of - * the DB instance.

      + *

      Specifies the port that the DB instance listens on. If the DB instance is part of a DB + * cluster, this can be a different port than the DB cluster port.

      */ - ProcessorFeatures?: AwsRdsDbProcessorFeature[]; + DbInstancePort?: number; /** - *

      The number of days to retain Performance Insights data.

      + *

      Specifies the connection endpoint.

      */ - PerformanceInsightsRetentionPeriod?: number; + Endpoint?: AwsRdsDbInstanceEndpoint; /** - *

      A list of the DB security groups to assign to the DB instance.

      + *

      The interval, in seconds, between points when enhanced monitoring metrics are collected + * for the DB instance.

      */ - DbSecurityGroups?: string[]; + MonitoringInterval?: number; /** - *

      Specifies the connection endpoint.

      + *

      List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as + * a read replica.

      */ - ListenerEndpoint?: AwsRdsDbInstanceEndpoint; + ReadReplicaDBClusterIdentifiers?: string[]; /** - *

      The name of the character set that this DB instance is associated with.

      + *

      The weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

      + *

      Uses the format :HH:MM-:HH:MM.

      + *

      For the day values, use + * mon|tue|wed|thu|fri|sat|sun.

      + *

      For example, sun:09:32-sun:10:02.

      */ - CharacterSetName?: string; + PreferredMaintenanceWindow?: string; /** - *

      The storage type for the DB instance.

      + *

      The AWS Region-unique, immutable identifier for the DB instance. This identifier is + * found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is + * accessed.

      */ - StorageType?: string; + DbiResourceId?: string; /** - *

      A list of log types that this DB instance is configured to export to CloudWatch - * Logs.

      + *

      The list of option group memberships for this DB instance.

      */ - EnabledCloudWatchLogsExports?: string[]; + OptionGroupMemberships?: AwsRdsDbOptionGroupMembership[]; /** - *

      Contains a user-supplied database identifier. This identifier is the unique key that - * identifies a DB instance.

      + *

      Specifies the latest time to which a database can be restored with point-in-time + * restore.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - DBInstanceIdentifier?: string; + LatestRestorableTime?: string; /** - *

      List of identifiers of the read replicas associated with this DB instance.

      + *

      Contains the name of the compute and memory capacity class of the DB instance.

      */ - ReadReplicaDBInstanceIdentifiers?: string[]; + DBInstanceClass?: string; + + /** + *

      The status of a read replica. If the instance isn't a read replica, this is + * empty.

      + */ + StatusInfos?: AwsRdsDbStatusInfo[]; + + /** + *

      Specifies the provisioned IOPS (I/O operations per second) for this DB instance.

      + */ + Iops?: number; + + /** + *

      License model information for this DB instance.

      + */ + LicenseModel?: string; /** *

      The meaning of this parameter differs according to the database engine you use.

      @@ -5582,119 +5650,99 @@ export interface AwsRdsDbInstanceDetails { DBName?: string; /** - *

      Specifies the port that the DB instance listens on. If the DB instance is part of a DB - * cluster, this can be a different port than the DB cluster port.

      - */ - DbInstancePort?: number; - - /** - *

      Specifies the connection endpoint.

      + *

      Indicates whether Performance Insights is enabled for the DB instance.

      */ - Endpoint?: AwsRdsDbInstanceEndpoint; + PerformanceInsightsEnabled?: boolean; /** - *

      The identifier of the CA certificate for this DB instance.

      + *

      The number of days for which to retain automated backups.

      */ - CACertificateIdentifier?: string; + BackupRetentionPeriod?: number; /** - *

      Provides the name of the database engine to use for this DB instance.

      + *

      Information about the subnet group that is associated with the DB instance.

      */ - Engine?: string; + DbSubnetGroup?: AwsRdsDbSubnetGroup; /** - *

      Specifies the provisioned IOPS (I/O operations per second) for this DB instance.

      + *

      The AWS Identity and Access Management (IAM) roles associated with the DB + * instance.

      */ - Iops?: number; + AssociatedRoles?: AwsRdsDbInstanceAssociatedRole[]; /** - *

      A list of the DB parameter groups to assign to the DB instance.

      + *

      Indicates when the DB instance was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - DbParameterGroups?: AwsRdsDbParameterGroup[]; + InstanceCreateTime?: string; /** - *

      License model information for this DB instance.

      + *

      The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to + * CloudWatch Logs.

      */ - LicenseModel?: string; + MonitoringRoleArn?: string; /** - *

      True if mapping of AWS Identity and Access Management (IAM) accounts to database - * accounts is enabled, and otherwise false.

      - *

      IAM database authentication can be enabled for the following database engines.

      - *
        - *
      • - *

        For MySQL 5.6, minor version 5.6.34 or higher

        - *
      • - *
      • - *

        For MySQL 5.7, minor version 5.7.16 or higher

        - *
      • - *
      • - *

        Aurora 5.6 or higher

        - *
      • - *
      + *

      The master user name of the DB instance.

      */ - IAMDatabaseAuthenticationEnabled?: boolean; + MasterUsername?: string; /** - *

      The weekly time range during which system maintenance can occur, in Universal - * Coordinated Time (UTC).

      - *

      Uses the format :HH:MM-:HH:MM.

      - *

      For the day values, use - * mon|tue|wed|thu|fri|sat|sun.

      - *

      For example, sun:09:32-sun:10:02.

      + *

      The identifier of the CA certificate for this DB instance.

      */ - PreferredMaintenanceWindow?: string; + CACertificateIdentifier?: string; /** - *

      The AWS Region-unique, immutable identifier for the DB instance. This identifier is - * found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is - * accessed.

      + *

      A list of the DB parameter groups to assign to the DB instance.

      */ - DbiResourceId?: string; + DbParameterGroups?: AwsRdsDbParameterGroup[]; /** - *

      The Active Directory domain membership records associated with the DB instance.

      + *

      The number of CPU cores and the number of threads per core for the DB instance class of + * the DB instance.

      */ - DomainMemberships?: AwsRdsDbDomainMembership[]; + ProcessorFeatures?: AwsRdsDbProcessorFeature[]; /** - *

      The upper limit to which Amazon RDS can automatically scale the storage of the DB - * instance.

      + *

      The range of time each day when automated backups are created, if automated backups are + * enabled.

      + *

      Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

      */ - MaxAllocatedStorage?: number; + PreferredBackupWindow?: string; /** - *

      The number of days for which to retain automated backups.

      + *

      Whether to copy resource tags to snapshots of the DB instance.

      */ - BackupRetentionPeriod?: number; + CopyTagsToSnapshot?: boolean; /** - *

      If the DB instance is a member of a DB cluster, contains the name of the DB cluster that - * the DB instance is a member of.

      + *

      The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics + * data for the DB instance.

      */ - DBClusterIdentifier?: string; + EnhancedMonitoringResourceArn?: string; /** - *

      For a DB instance with multi-Availability Zone support, the name of the secondary - * Availability Zone.

      + *

      Provides the name of the database engine to use for this DB instance.

      */ - SecondaryAvailabilityZone?: string; + Engine?: string; /** - *

      Indicates whether Performance Insights is enabled for the DB instance.

      + *

      The identifier of the AWS KMS key used to encrypt the Performance Insights data.

      */ - PerformanceInsightsEnabled?: boolean; + PerformanceInsightsKmsKeyId?: string; /** - *

      The ARN from the key store with which the instance is associated for TDE - * encryption.

      + *

      If this DB instance is a read replica, contains the identifier of the source DB + * instance.

      */ - TdeCredentialArn?: string; + ReadReplicaSourceDBInstanceIdentifier?: string; /** - *

      Specifies whether the DB instance is encrypted.

      + *

      Whether the DB instance is a multiple Availability Zone deployment.

      */ - StorageEncrypted?: boolean; + MultiAz?: boolean; /** *

      Indicates the database engine version.

      @@ -5702,35 +5750,20 @@ export interface AwsRdsDbInstanceDetails { EngineVersion?: string; /** - *

      If this DB instance is a read replica, contains the identifier of the source DB - * instance.

      + *

      The storage type for the DB instance.

      */ - ReadReplicaSourceDBInstanceIdentifier?: string; + StorageType?: string; /** - *

      The amount of storage (in gigabytes) to initially allocate for the DB instance.

      + *

      Indicates whether minor version patches are applied automatically.

      */ - AllocatedStorage?: number; + AutoMinorVersionUpgrade?: boolean; /** - *

      The current status of the DB instance.

      + *

      Contains a user-supplied database identifier. This identifier is the unique key that + * identifies a DB instance.

      */ - DbInstanceStatus?: string; - - /** - *

      Specifies the accessibility options for the DB instance.

      - *

      A value of true specifies an Internet-facing instance with a publicly resolvable DNS - * name, which resolves to a public IP address.

      - *

      A value of false specifies an internal instance with a DNS name that resolves to a - * private IP address.

      - */ - PubliclyAccessible?: boolean; - - /** - *

      Indicates whether the DB instance has deletion protection enabled.

      - *

      When deletion protection is enabled, the database cannot be deleted.

      - */ - DeletionProtection?: boolean; + DBInstanceIdentifier?: string; /** *

      If StorageEncrypted is true, the AWS KMS key identifier for the encrypted @@ -5739,86 +5772,82 @@ export interface AwsRdsDbInstanceDetails { KmsKeyId?: string; /** - *

      The Availability Zone where the DB instance will be created.

      + *

      A list of log types that this DB instance is configured to export to CloudWatch + * Logs.

      */ - AvailabilityZone?: string; + EnabledCloudWatchLogsExports?: string[]; /** - *

      Changes to the DB instance that are currently pending.

      + *

      Indicates whether the DB instance has deletion protection enabled.

      + *

      When deletion protection is enabled, the database cannot be deleted.

      */ - PendingModifiedValues?: AwsRdsDbPendingModifiedValues; + DeletionProtection?: boolean; /** - *

      The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics - * data for the DB instance.

      + *

      The Availability Zone where the DB instance will be created.

      */ - EnhancedMonitoringResourceArn?: string; + AvailabilityZone?: string; /** - *

      Specifies the latest time to which a database can be restored with point-in-time - * restore.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The current status of the DB instance.

      */ - LatestRestorableTime?: string; + DbInstanceStatus?: string; /** - *

      Contains the name of the compute and memory capacity class of the DB instance.

      + *

      List of identifiers of the read replicas associated with this DB instance.

      */ - DBInstanceClass?: string; + ReadReplicaDBInstanceIdentifiers?: string[]; /** - *

      Indicates when the DB instance was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      Specifies the accessibility options for the DB instance.

      + *

      A value of true specifies an Internet-facing instance with a publicly resolvable DNS + * name, which resolves to a public IP address.

      + *

      A value of false specifies an internal instance with a DNS name that resolves to a + * private IP address.

      */ - InstanceCreateTime?: string; + PubliclyAccessible?: boolean; /** - *

      The AWS Identity and Access Management (IAM) roles associated with the DB + *

      The upper limit to which Amazon RDS can automatically scale the storage of the DB * instance.

      */ - AssociatedRoles?: AwsRdsDbInstanceAssociatedRole[]; + MaxAllocatedStorage?: number; /** - *

      The status of a read replica. If the instance isn't a read replica, this is - * empty.

      + *

      The amount of storage (in gigabytes) to initially allocate for the DB instance.

      */ - StatusInfos?: AwsRdsDbStatusInfo[]; + AllocatedStorage?: number; /** - *

      The list of option group memberships for this DB instance.

      + *

      The Active Directory domain membership records associated with the DB instance.

      */ - OptionGroupMemberships?: AwsRdsDbOptionGroupMembership[]; + DomainMemberships?: AwsRdsDbDomainMembership[]; /** - *

      The time zone of the DB instance.

      + *

      The name of the character set that this DB instance is associated with.

      */ - Timezone?: string; + CharacterSetName?: string; /** - *

      The interval, in seconds, between points when enhanced monitoring metrics are collected - * for the DB instance.

      + *

      The number of days to retain Performance Insights data.

      */ - MonitoringInterval?: number; + PerformanceInsightsRetentionPeriod?: number; /** - *

      List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as - * a read replica.

      + *

      The order in which to promote an Aurora replica to the primary instance after a failure + * of the existing primary instance.

      */ - ReadReplicaDBClusterIdentifiers?: string[]; + PromotionTier?: number; /** - *

      Indicates whether minor version patches are applied automatically.

      + *

      A list of the DB security groups to assign to the DB instance.

      */ - AutoMinorVersionUpgrade?: boolean; + DbSecurityGroups?: string[]; /** - *

      A list of VPC security groups that the DB instance belongs to.

      + *

      Specifies the connection endpoint.

      */ - VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; + ListenerEndpoint?: AwsRdsDbInstanceEndpoint; } export namespace AwsRdsDbInstanceDetails { @@ -5834,72 +5863,72 @@ export interface AwsRdsDbSnapshotDetails { /** *

      */ - ProcessorFeatures?: AwsRdsDbProcessorFeature[]; + AvailabilityZone?: string; /** *

      */ - TdeCredentialArn?: string; + OptionGroupName?: string; /** *

      */ - IamDatabaseAuthenticationEnabled?: boolean; + PercentProgress?: number; /** *

      */ - Encrypted?: boolean; + VpcId?: string; /** *

      */ - Port?: number; + KmsKeyId?: string; /** *

      */ - AvailabilityZone?: string; + Status?: string; /** *

      */ - DbiResourceId?: string; + IamDatabaseAuthenticationEnabled?: boolean; /** *

      */ - SnapshotType?: string; + Engine?: string; /** *

      */ - LicenseModel?: string; + ProcessorFeatures?: AwsRdsDbProcessorFeature[]; /** *

      */ - InstanceCreateTime?: string; + Encrypted?: boolean; /** *

      */ - VpcId?: string; + EngineVersion?: string; /** *

      */ - Timezone?: string; + StorageType?: string; /** *

      */ - DbInstanceIdentifier?: string; + AllocatedStorage?: number; /** *

      */ - KmsKeyId?: string; + SnapshotType?: string; /** *

      @@ -5909,62 +5938,62 @@ export interface AwsRdsDbSnapshotDetails { /** *

      */ - DbSnapshotIdentifier?: string; + Port?: number; /** *

      */ - SourceRegion?: string; + InstanceCreateTime?: string; /** *

      */ - Iops?: number; + DbInstanceIdentifier?: string; /** *

      */ - SnapshotCreateTime?: string; + TdeCredentialArn?: string; /** *

      */ - Engine?: string; + DbSnapshotIdentifier?: string; /** *

      */ - SourceDbSnapshotIdentifier?: string; + Iops?: number; /** *

      */ - Status?: string; + SourceDbSnapshotIdentifier?: string; /** *

      */ - EngineVersion?: string; + LicenseModel?: string; /** *

      */ - StorageType?: string; + Timezone?: string; /** *

      */ - PercentProgress?: number; + SourceRegion?: string; /** *

      */ - OptionGroupName?: string; + SnapshotCreateTime?: string; /** *

      */ - AllocatedStorage?: number; + DbiResourceId?: string; } export namespace AwsRdsDbSnapshotDetails { @@ -5978,9 +6007,9 @@ export namespace AwsRdsDbSnapshotDetails { */ export interface AwsRedshiftClusterClusterNode { /** - *

      The private IP address of the node.

      + *

      The public IP address of the node.

      */ - PrivateIpAddress?: string; + PublicIpAddress?: string; /** *

      The role of the node. A node might be a leader node or a compute node.

      @@ -5988,9 +6017,9 @@ export interface AwsRedshiftClusterClusterNode { NodeRole?: string; /** - *

      The public IP address of the node.

      + *

      The private IP address of the node.

      */ - PublicIpAddress?: string; + PrivateIpAddress?: string; } export namespace AwsRedshiftClusterClusterNode { @@ -6005,9 +6034,14 @@ export namespace AwsRedshiftClusterClusterNode { */ export interface AwsRedshiftClusterClusterParameterStatus { /** - *

      The error that prevented the parameter from being applied to the database.

      + *

      The status of the parameter. Indicates whether the parameter is in sync with the + * database, waiting for a cluster reboot, or encountered an error when it was applied.

      + *

      Valid values: in-sync | pending-reboot | applying + * | invalid-parameter | apply-deferred | apply-error | + * unknown-error + *

      */ - ParameterApplyErrorDescription?: string; + ParameterApplyStatus?: string; /** *

      The name of the parameter.

      @@ -6015,14 +6049,9 @@ export interface AwsRedshiftClusterClusterParameterStatus { ParameterName?: string; /** - *

      The status of the parameter. Indicates whether the parameter is in sync with the - * database, waiting for a cluster reboot, or encountered an error when it was applied.

      - *

      Valid values: in-sync | pending-reboot | applying - * | invalid-parameter | apply-deferred | apply-error | - * unknown-error - *

      + *

      The error that prevented the parameter from being applied to the database.

      */ - ParameterApplyStatus?: string; + ParameterApplyErrorDescription?: string; } export namespace AwsRedshiftClusterClusterParameterStatus { @@ -6036,9 +6065,9 @@ export namespace AwsRedshiftClusterClusterParameterStatus { */ export interface AwsRedshiftClusterClusterParameterGroup { /** - *

      The list of parameter statuses.

      + *

      The name of the parameter group.

      */ - ClusterParameterStatusList?: AwsRedshiftClusterClusterParameterStatus[]; + ParameterGroupName?: string; /** *

      The status of updates to the parameters.

      @@ -6046,9 +6075,9 @@ export interface AwsRedshiftClusterClusterParameterGroup { ParameterApplyStatus?: string; /** - *

      The name of the parameter group.

      + *

      The list of parameter statuses.

      */ - ParameterGroupName?: string; + ClusterParameterStatusList?: AwsRedshiftClusterClusterParameterStatus[]; } export namespace AwsRedshiftClusterClusterParameterGroup { @@ -6082,6 +6111,17 @@ export namespace AwsRedshiftClusterClusterSecurityGroup { *

      Information about a cross-Region snapshot copy.

      */ export interface AwsRedshiftClusterClusterSnapshotCopyStatus { + /** + *

      The number of days to retain automated snapshots in the destination Region after they + * are copied from a source Region.

      + */ + RetentionPeriod?: number; + + /** + *

      The name of the snapshot copy grant.

      + */ + SnapshotCopyGrantName?: string; + /** *

      The number of days that manual snapshots are retained in the destination region after * they are copied from a source region.

      @@ -6095,17 +6135,6 @@ export interface AwsRedshiftClusterClusterSnapshotCopyStatus { * snapshot copy is enabled.

      */ DestinationRegion?: string; - - /** - *

      The number of days to retain automated snapshots in the destination Region after they - * are copied from a source Region.

      - */ - RetentionPeriod?: number; - - /** - *

      The name of the snapshot copy grant.

      - */ - SnapshotCopyGrantName?: string; } export namespace AwsRedshiftClusterClusterSnapshotCopyStatus { @@ -6120,12 +6149,12 @@ export namespace AwsRedshiftClusterClusterSnapshotCopyStatus { */ export interface AwsRedshiftClusterDeferredMaintenanceWindow { /** - *

      The start of the time window for which maintenance was deferred.

      + *

      The end of the time window for which maintenance was deferred.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

      */ - DeferMaintenanceStartTime?: string; + DeferMaintenanceEndTime?: string; /** *

      The identifier of the maintenance window.

      @@ -6133,12 +6162,12 @@ export interface AwsRedshiftClusterDeferredMaintenanceWindow { DeferMaintenanceIdentifier?: string; /** - *

      The end of the time window for which maintenance was deferred.

      + *

      The start of the time window for which maintenance was deferred.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

      */ - DeferMaintenanceEndTime?: string; + DeferMaintenanceStartTime?: string; } export namespace AwsRedshiftClusterDeferredMaintenanceWindow { @@ -6152,14 +6181,14 @@ export namespace AwsRedshiftClusterDeferredMaintenanceWindow { */ export interface AwsRedshiftClusterElasticIpStatus { /** - *

      The status of the elastic IP address.

      + *

      The elastic IP address for the cluster.

      */ - Status?: string; + ElasticIp?: string; /** - *

      The elastic IP address for the cluster.

      + *

      The status of the elastic IP address.

      */ - ElasticIp?: string; + Status?: string; } export namespace AwsRedshiftClusterElasticIpStatus { @@ -6201,12 +6230,6 @@ export interface AwsRedshiftClusterHsmStatus { */ HsmConfigurationIdentifier?: string; - /** - *

      The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve - * the data encryption keys that are stored in an HSM.

      - */ - HsmClientCertificateIdentifier?: string; - /** *

      Indicates whether the Amazon Redshift cluster has finished applying any HSM settings * changes specified in a modify cluster command.

      @@ -6215,6 +6238,12 @@ export interface AwsRedshiftClusterHsmStatus { *

      */ Status?: string; + + /** + *

      The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve + * the data encryption keys that are stored in an HSM.

      + */ + HsmClientCertificateIdentifier?: string; } export namespace AwsRedshiftClusterHsmStatus { @@ -6227,17 +6256,17 @@ export namespace AwsRedshiftClusterHsmStatus { *

      An IAM role that the cluster can use to access other AWS services.

      */ export interface AwsRedshiftClusterIamRole { + /** + *

      The ARN of the IAM role.

      + */ + IamRoleArn?: string; + /** *

      The status of the IAM role's association with the cluster.

      *

      Valid values: in-sync | adding | removing *

      */ ApplyStatus?: string; - - /** - *

      The ARN of the IAM role.

      - */ - IamRoleArn?: string; } export namespace AwsRedshiftClusterIamRole { @@ -6256,56 +6285,56 @@ export interface AwsRedshiftClusterPendingModifiedValues { NumberOfNodes?: number; /** - *

      The pending or in-progress change to the automated snapshot retention period.

      + *

      The pending or in-progress change to the service version.

      */ - AutomatedSnapshotRetentionPeriod?: number; + ClusterVersion?: string; /** - *

      Indicates whether to create the cluster with enhanced VPC routing enabled.

      + *

      The pending or in-progress change to the identifier for the cluster.

      */ - EnhancedVpcRouting?: boolean; + ClusterIdentifier?: string; /** - *

      The name of the maintenance track that the cluster changes to during the next - * maintenance window.

      + *

      The pending or in-progress change to the cluster type.

      */ - MaintenanceTrackName?: string; + ClusterType?: string; /** - *

      The pending or in-progress change to the cluster's node type.

      + *

      The pending or in-progress change to whether the cluster can be connected to from the + * public network.

      */ - NodeType?: string; + PubliclyAccessible?: boolean; /** *

      The pending or in-progress change to the master user password for the cluster.

      */ MasterUserPassword?: string; + /** + *

      The pending or in-progress change to the cluster's node type.

      + */ + NodeType?: string; + /** *

      The encryption type for a cluster.

      */ EncryptionType?: string; /** - *

      The pending or in-progress change to the service version.

      - */ - ClusterVersion?: string; - - /** - *

      The pending or in-progress change to whether the cluster can be connected to from the - * public network.

      + *

      The pending or in-progress change to the automated snapshot retention period.

      */ - PubliclyAccessible?: boolean; + AutomatedSnapshotRetentionPeriod?: number; /** - *

      The pending or in-progress change to the identifier for the cluster.

      + *

      The name of the maintenance track that the cluster changes to during the next + * maintenance window.

      */ - ClusterIdentifier?: string; + MaintenanceTrackName?: string; /** - *

      The pending or in-progress change to the cluster type.

      + *

      Indicates whether to create the cluster with enhanced VPC routing enabled.

      */ - ClusterType?: string; + EnhancedVpcRouting?: boolean; } export namespace AwsRedshiftClusterPendingModifiedValues { @@ -6318,17 +6347,17 @@ export namespace AwsRedshiftClusterPendingModifiedValues { *

      Information about the resize operation for the cluster.

      */ export interface AwsRedshiftClusterResizeInfo { + /** + *

      Indicates whether the resize operation can be canceled.

      + */ + AllowCancelResize?: boolean; + /** *

      The type of resize operation.

      *

      Valid values: ClassicResize *

      */ ResizeType?: string; - - /** - *

      Indicates whether the resize operation can be canceled.

      - */ - AllowCancelResize?: boolean; } export namespace AwsRedshiftClusterResizeInfo { @@ -6349,18 +6378,11 @@ export interface AwsRedshiftClusterRestoreStatus { SnapshotSizeInMegaBytes?: number; /** - *

      The status of the restore action.

      - *

      Valid values: starting | restoring | completed | - * failed - *

      - */ - Status?: string; - - /** - *

      The number of megabytes that were transferred from snapshot storage.

      + *

      The estimate of the time remaining before the restore is complete. Returns 0 for a + * completed restore.

      *

      This field is only updated when you restore to DC2 and DS2 node types.

      */ - ProgressInMegaBytes?: number; + EstimatedTimeToCompletionInSeconds?: number; /** *

      The number of megabytes per second being transferred from the backup storage. Returns @@ -6370,11 +6392,12 @@ export interface AwsRedshiftClusterRestoreStatus { CurrentRestoreRateInMegaBytesPerSecond?: number; /** - *

      The estimate of the time remaining before the restore is complete. Returns 0 for a - * completed restore.

      - *

      This field is only updated when you restore to DC2 and DS2 node types.

      + *

      The status of the restore action.

      + *

      Valid values: starting | restoring | completed | + * failed + *

      */ - EstimatedTimeToCompletionInSeconds?: number; + Status?: string; /** *

      The amount of time an in-progress restore has been running, or the amount of time it @@ -6382,6 +6405,12 @@ export interface AwsRedshiftClusterRestoreStatus { *

      This field is only updated when you restore to DC2 and DS2 node types.

      */ ElapsedTimeInSeconds?: number; + + /** + *

      The number of megabytes that were transferred from snapshot storage.

      + *

      This field is only updated when you restore to DC2 and DS2 node types.

      + */ + ProgressInMegaBytes?: number; } export namespace AwsRedshiftClusterRestoreStatus { @@ -6395,14 +6424,14 @@ export namespace AwsRedshiftClusterRestoreStatus { */ export interface AwsRedshiftClusterVpcSecurityGroup { /** - *

      The status of the VPC security group.

      + *

      The identifier of the VPC security group.

      */ - Status?: string; + VpcSecurityGroupId?: string; /** - *

      The identifier of the VPC security group.

      + *

      The status of the VPC security group.

      */ - VpcSecurityGroupId?: string; + Status?: string; } export namespace AwsRedshiftClusterVpcSecurityGroup { @@ -6416,75 +6445,49 @@ export namespace AwsRedshiftClusterVpcSecurityGroup { */ export interface AwsRedshiftClusterDetails { /** - *

      A list of IAM roles that the cluster can use to access other AWS services.

      + *

      The name of the subnet group that is associated with the cluster. This parameter is + * valid only when the cluster is in a VPC.

      */ - IamRoles?: AwsRedshiftClusterIamRole[]; + ClusterSubnetGroupName?: string; /** - *

      The identifier of the AWS KMS encryption key that is used to encrypt data in the - * cluster.

      + *

      The default number of days to retain a manual snapshot.

      + *

      If the value is -1, the snapshot is retained indefinitely.

      + *

      This setting doesn't change the retention period of existing snapshots.

      + *

      Valid values: Either -1 or an integer between 1 and 3,653

      */ - KmsKeyId?: string; + ManualSnapshotRetentionPeriod?: number; /** - *

      The availability status of the cluster for queries. Possible values are the - * following:

      - *
        - *
      • - *

        - * Available - The cluster is available for queries.

        - *
      • - *
      • - *

        - * Unavailable - The cluster is not available for queries.

        - *
      • - *
      • - *

        - * Maintenance - The cluster is intermittently available for queries due - * to maintenance activities.

        - *
      • - *
      • - *

        - * Modifying -The cluster is intermittently available for queries due to - * changes that modify the cluster.

        - *
      • - *
      • - *

        - * Failed - The cluster failed and is not available for queries.

        - *
      • - *
      + *

      Indicates whether major version upgrades are applied automatically to the cluster during + * the maintenance window.

      */ - ClusterAvailabilityStatus?: string; + AllowVersionUpgrade?: boolean; /** - *

      The name of the initial database that was created when the cluster was created.

      - *

      The same name is returned for the life of the cluster.

      - *

      If an initial database is not specified, a database named devdev is created - * by default.

      + *

      The list of cluster parameter groups that are associated with this cluster.

      */ - DBName?: string; + ClusterParameterGroups?: AwsRedshiftClusterClusterParameterGroup[]; /** - *

      The name of the Availability Zone in which the cluster is located.

      + *

      The name of the maintenance track for the cluster.

      */ - AvailabilityZone?: string; + MaintenanceTrackName?: string; /** - *

      The status of the next expected snapshot.

      - *

      Valid values: OnTrack | Pending - *

      + *

      The public key for the cluster.

      */ - ExpectedNextSnapshotScheduleTimeStatus?: string; + ClusterPublicKey?: string; /** - *

      The version ID of the Amazon Redshift engine that runs on the cluster.

      + *

      Information about the resize operation for the cluster.

      */ - ClusterVersion?: string; + ResizeInfo?: AwsRedshiftClusterResizeInfo; /** - *

      Information about the resize operation for the cluster.

      + *

      The version ID of the Amazon Redshift engine that runs on the cluster.

      */ - ResizeInfo?: AwsRedshiftClusterResizeInfo; + ClusterVersion?: string; /** *

      Indicates the start of the next maintenance window.

      @@ -6495,19 +6498,26 @@ export interface AwsRedshiftClusterDetails { NextMaintenanceWindowStartTime?: string; /** - *

      Whether the cluster can be accessed from a public network.

      + *

      The number of nodes that you can use the elastic resize method to resize the cluster + * to.

      */ - PubliclyAccessible?: boolean; + ElasticResizeNumberOfNodeOptions?: string; /** - *

      The name of the maintenance track for the cluster.

      + *

      A unique identifier for the cluster snapshot schedule.

      */ - MaintenanceTrackName?: string; + SnapshotScheduleIdentifier?: string; /** - *

      The list of cluster parameter groups that are associated with this cluster.

      + *

      A list of cluster security groups that are associated with the cluster.

      */ - ClusterParameterGroups?: AwsRedshiftClusterClusterParameterGroup[]; + ClusterSecurityGroups?: AwsRedshiftClusterClusterSecurityGroup[]; + + /** + *

      The master user name for the cluster. This name is used to connect to the database that + * is specified in as the value of DBName.

      + */ + MasterUsername?: string; /** *

      The current status of the cluster.

      @@ -6525,35 +6535,38 @@ export interface AwsRedshiftClusterDetails { ClusterStatus?: string; /** - *

      The default number of days to retain a manual snapshot.

      - *

      If the value is -1, the snapshot is retained indefinitely.

      - *

      This setting doesn't change the retention period of existing snapshots.

      - *

      Valid values: Either -1 or an integer between 1 and 3,653

      + *

      Whether the cluster can be accessed from a public network.

      */ - ManualSnapshotRetentionPeriod?: number; + PubliclyAccessible?: boolean; /** - *

      The name of the subnet group that is associated with the cluster. This parameter is - * valid only when the cluster is in a VPC.

      + *

      Information about the status of a cluster restore action. Only applies to a cluster that + * was created by restoring a snapshot.

      */ - ClusterSubnetGroupName?: string; + RestoreStatus?: AwsRedshiftClusterRestoreStatus; /** - *

      Indicates whether major version upgrades are applied automatically to the cluster during - * the maintenance window.

      + *

      A list of cluster operations that are waiting to start.

      */ - AllowVersionUpgrade?: boolean; + PendingActions?: string[]; /** - *

      The nodes in the cluster.

      + *

      Indicates when the cluster was created.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - ClusterNodes?: AwsRedshiftClusterClusterNode[]; + ClusterCreateTime?: string; /** - *

      The number of nodes that you can use the elastic resize method to resize the cluster - * to.

      + *

      Indicates whether the data in the cluster is encrypted at rest.

      */ - ElasticResizeNumberOfNodeOptions?: string; + Encrypted?: boolean; + + /** + *

      The node type for the nodes in the cluster.

      + */ + NodeType?: string; /** *

      A list of changes to the cluster that are currently pending.

      @@ -6561,45 +6574,43 @@ export interface AwsRedshiftClusterDetails { PendingModifiedValues?: AwsRedshiftClusterPendingModifiedValues; /** - *

      The specific revision number of the database in the cluster.

      + *

      The list of VPC security groups that the cluster belongs to, if the cluster is in a + * VPC.

      */ - ClusterRevisionNumber?: string; + VpcSecurityGroups?: AwsRedshiftClusterVpcSecurityGroup[]; /** - *

      Information about the destination Region and retention period for the cross-Region - * snapshot copy.

      + *

      The nodes in the cluster.

      */ - ClusterSnapshotCopyStatus?: AwsRedshiftClusterClusterSnapshotCopyStatus; + ClusterNodes?: AwsRedshiftClusterClusterNode[]; /** - *

      The unique identifier of the cluster.

      + *

      Information about the status of the Elastic IP (EIP) address.

      */ - ClusterIdentifier?: string; + ElasticIpStatus?: AwsRedshiftClusterElasticIpStatus; /** - *

      The weekly time range, in Universal Coordinated Time (UTC), during which system - * maintenance can occur.

      - *

      Format: - * - * :HH:MM-:HH:MM - *

      - *

      For the day values, use mon | tue | wed | - * thu | fri | sat | sun - *

      - *

      For example, sun:09:32-sun:10:02 - *

      + *

      Information about whether the Amazon Redshift cluster finished applying any changes to + * hardware security module (HSM) settings that were specified in a modify cluster + * command.

      */ - PreferredMaintenanceWindow?: string; + HsmStatus?: AwsRedshiftClusterHsmStatus; /** - *

      The number of compute nodes in the cluster.

      + *

      Information about the destination Region and retention period for the cross-Region + * snapshot copy.

      */ - NumberOfNodes?: number; + ClusterSnapshotCopyStatus?: AwsRedshiftClusterClusterSnapshotCopyStatus; /** - *

      A list of cluster security groups that are associated with the cluster.

      + *

      The unique identifier of the cluster.

      */ - ClusterSecurityGroups?: AwsRedshiftClusterClusterSecurityGroup[]; + ClusterIdentifier?: string; + + /** + *

      The connection endpoint.

      + */ + Endpoint?: AwsRedshiftClusterEndpoint; /** *

      The identifier of the VPC that the cluster is in, if the cluster is in a VPC.

      @@ -6607,56 +6618,88 @@ export interface AwsRedshiftClusterDetails { VpcId?: string; /** - *

      Indicates whether to create the cluster with enhanced VPC routing enabled.

      + *

      The name of the Availability Zone in which the cluster is located.

      */ - EnhancedVpcRouting?: boolean; + AvailabilityZone?: string; /** - *

      The list of VPC security groups that the cluster belongs to, if the cluster is in a - * VPC.

      + *

      The name of the initial database that was created when the cluster was created.

      + *

      The same name is returned for the life of the cluster.

      + *

      If an initial database is not specified, a database named devdev is created + * by default.

      */ - VpcSecurityGroups?: AwsRedshiftClusterVpcSecurityGroup[]; + DBName?: string; /** - *

      The number of days that automatic cluster snapshots are retained.

      + *

      The specific revision number of the database in the cluster.

      */ - AutomatedSnapshotRetentionPeriod?: number; + ClusterRevisionNumber?: string; /** - *

      Indicates whether the data in the cluster is encrypted at rest.

      + *

      The identifier of the AWS KMS encryption key that is used to encrypt data in the + * cluster.

      */ - Encrypted?: boolean; + KmsKeyId?: string; /** - *

      A list of cluster operations that are waiting to start.

      + *

      A list of IAM roles that the cluster can use to access other AWS services.

      */ - PendingActions?: string[]; + IamRoles?: AwsRedshiftClusterIamRole[]; /** - *

      Indicates when the cluster was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The availability status of the cluster for queries. Possible values are the + * following:

      + *
        + *
      • + *

        + * Available - The cluster is available for queries.

        + *
      • + *
      • + *

        + * Unavailable - The cluster is not available for queries.

        + *
      • + *
      • + *

        + * Maintenance - The cluster is intermittently available for queries due + * to maintenance activities.

        + *
      • + *
      • + *

        + * Modifying -The cluster is intermittently available for queries due to + * changes that modify the cluster.

        + *
      • + *
      • + *

        + * Failed - The cluster failed and is not available for queries.

        + *
      • + *
      */ - ClusterCreateTime?: string; + ClusterAvailabilityStatus?: string; /** - *

      List of time windows during which maintenance was deferred.

      + *

      The number of days that automatic cluster snapshots are retained.

      */ - DeferredMaintenanceWindows?: AwsRedshiftClusterDeferredMaintenanceWindow[]; + AutomatedSnapshotRetentionPeriod?: number; /** - *

      The master user name for the cluster. This name is used to connect to the database that - * is specified in as the value of DBName.

      + *

      Indicates whether to create the cluster with enhanced VPC routing enabled.

      */ - MasterUsername?: string; + EnhancedVpcRouting?: boolean; /** - *

      The current state of the cluster snapshot schedule.

      - *

      Valid values: MODIFYING | ACTIVE | FAILED + *

      The weekly time range, in Universal Coordinated Time (UTC), during which system + * maintenance can occur.

      + *

      Format: + * + * :HH:MM-:HH:MM + *

      + *

      For the day values, use mon | tue | wed | + * thu | fri | sat | sun + *

      + *

      For example, sun:09:32-sun:10:02 *

      */ - SnapshotScheduleState?: string; + PreferredMaintenanceWindow?: string; /** *

      Indicates when the next snapshot is expected to be taken. The cluster must have a valid @@ -6668,42 +6711,28 @@ export interface AwsRedshiftClusterDetails { ExpectedNextSnapshotScheduleTime?: string; /** - *

      Information about the status of the Elastic IP (EIP) address.

      - */ - ElasticIpStatus?: AwsRedshiftClusterElasticIpStatus; - - /** - *

      The node type for the nodes in the cluster.

      - */ - NodeType?: string; - - /** - *

      The connection endpoint.

      - */ - Endpoint?: AwsRedshiftClusterEndpoint; - - /** - *

      A unique identifier for the cluster snapshot schedule.

      + *

      The current state of the cluster snapshot schedule.

      + *

      Valid values: MODIFYING | ACTIVE | FAILED + *

      */ - SnapshotScheduleIdentifier?: string; + SnapshotScheduleState?: string; /** - *

      Information about whether the Amazon Redshift cluster finished applying any changes to - * hardware security module (HSM) settings that were specified in a modify cluster - * command.

      + *

      List of time windows during which maintenance was deferred.

      */ - HsmStatus?: AwsRedshiftClusterHsmStatus; + DeferredMaintenanceWindows?: AwsRedshiftClusterDeferredMaintenanceWindow[]; /** - *

      Information about the status of a cluster restore action. Only applies to a cluster that - * was created by restoring a snapshot.

      + *

      The number of compute nodes in the cluster.

      */ - RestoreStatus?: AwsRedshiftClusterRestoreStatus; + NumberOfNodes?: number; /** - *

      The public key for the cluster.

      + *

      The status of the next expected snapshot.

      + *

      Valid values: OnTrack | Pending + *

      */ - ClusterPublicKey?: string; + ExpectedNextSnapshotScheduleTimeStatus?: string; } export namespace AwsRedshiftClusterDetails { @@ -6773,14 +6802,19 @@ export namespace AwsS3BucketServerSideEncryptionConfiguration { */ export interface AwsS3BucketDetails { /** - *

      The encryption rules that are applied to the S3 bucket.

      + *

      The canonical user ID of the owner of the S3 bucket.

      */ - ServerSideEncryptionConfiguration?: AwsS3BucketServerSideEncryptionConfiguration; + OwnerId?: string; /** - *

      The canonical user ID of the owner of the S3 bucket.

      + *

      The display name of the owner of the S3 bucket.

      */ - OwnerId?: string; + OwnerName?: string; + + /** + *

      The encryption rules that are applied to the S3 bucket.

      + */ + ServerSideEncryptionConfiguration?: AwsS3BucketServerSideEncryptionConfiguration; /** *

      Indicates when the S3 bucket was created.

      @@ -6789,11 +6823,6 @@ export interface AwsS3BucketDetails { * 2020-03-22T13:22:13.933Z.

      */ CreatedAt?: string; - - /** - *

      The display name of the owner of the S3 bucket.

      - */ - OwnerName?: string; } export namespace AwsS3BucketDetails { @@ -6813,15 +6842,15 @@ export interface AwsS3ObjectDetails { ServerSideEncryption?: string; /** - *

      The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed - * customer master key (CMK) that was used for the object.

      + *

      The opaque identifier assigned by a web server to a specific version of a resource found + * at a URL.

      */ - SSEKMSKeyId?: string; + ETag?: string; /** - *

      A standard MIME type describing the format of the object data.

      + *

      The version of the object.

      */ - ContentType?: string; + VersionId?: string; /** *

      Indicates when the object was last modified.

      @@ -6832,15 +6861,15 @@ export interface AwsS3ObjectDetails { LastModified?: string; /** - *

      The version of the object.

      + *

      The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed + * customer master key (CMK) that was used for the object.

      */ - VersionId?: string; + SSEKMSKeyId?: string; /** - *

      The opaque identifier assigned by a web server to a specific version of a resource found - * at a URL.

      + *

      A standard MIME type describing the format of the object data.

      */ - ETag?: string; + ContentType?: string; } export namespace AwsS3ObjectDetails { @@ -6869,35 +6898,32 @@ export namespace AwsSecretsManagerSecretRotationRules { *

      Details about an AWS Secrets Manager secret.

      */ export interface AwsSecretsManagerSecretDetails { - /** - *

      The user-provided description of the secret.

      - */ - Description?: string; - /** *

      Whether rotation is enabled.

      */ RotationEnabled?: boolean; /** - *

      Whether the rotation occurred within the specified rotation frequency.

      + *

      The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the + * SecretString or SecretBinary values for versions of this + * secret.

      */ - RotationOccurredWithinFrequency?: boolean; + KmsKeyId?: string; /** - *

      The ARN of the Lambda function that rotates the secret.

      + *

      The user-provided description of the secret.

      */ - RotationLambdaArn?: string; + Description?: string; /** - *

      Defines the rotation schedule for the secret.

      + *

      The name of the secret.

      */ - RotationRules?: AwsSecretsManagerSecretRotationRules; + Name?: string; /** - *

      The name of the secret.

      + *

      Whether the rotation occurred within the specified rotation frequency.

      */ - Name?: string; + RotationOccurredWithinFrequency?: boolean; /** *

      Whether the secret is deleted.

      @@ -6905,11 +6931,14 @@ export interface AwsSecretsManagerSecretDetails { Deleted?: boolean; /** - *

      The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the - * SecretString or SecretBinary values for versions of this - * secret.

      + *

      The ARN of the Lambda function that rotates the secret.

      */ - KmsKeyId?: string; + RotationLambdaArn?: string; + + /** + *

      Defines the rotation schedule for the secret.

      + */ + RotationRules?: AwsSecretsManagerSecretRotationRules; } export namespace AwsSecretsManagerSecretDetails { @@ -6953,6 +6982,19 @@ export namespace StatusReason { * findings generated from controls.

      */ export interface Compliance { + /** + *

      For a control, the industry or regulatory framework requirements that are related to the + * control. The check for that control is aligned with these requirements.

      + */ + RelatedRequirements?: string[]; + + /** + *

      For findings generated from controls, a list of reasons behind the value of + * Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the + * AWS Security Hub User Guide.

      + */ + StatusReasons?: StatusReason[]; + /** *

      The result of a standards check.

      *

      The valid values for Status are as follows.

      @@ -6987,19 +7029,6 @@ export interface Compliance { *
    */ Status?: ComplianceStatus | string; - - /** - *

    For a control, the industry or regulatory framework requirements that are related to the - * control. The check for that control is aligned with these requirements.

    - */ - RelatedRequirements?: string[]; - - /** - *

    For findings generated from controls, a list of reasons behind the value of - * Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the - * AWS Security Hub User Guide.

    - */ - StatusReasons?: StatusReason[]; } export namespace Compliance { @@ -7037,24 +7066,24 @@ export enum MalwareType { */ export interface Malware { /** - *

    The file system path of the malware that was observed.

    + *

    The type of the malware that was observed.

    */ - Path?: string; + Type?: MalwareType | string; /** - *

    The state of the malware that was observed.

    + *

    The name of the malware that was observed.

    */ - State?: MalwareState | string; + Name: string | undefined; /** - *

    The name of the malware that was observed.

    + *

    The file system path of the malware that was observed.

    */ - Name: string | undefined; + Path?: string; /** - *

    The type of the malware that was observed.

    + *

    The state of the malware that was observed.

    */ - Type?: MalwareType | string; + State?: MalwareState | string; } export namespace Malware { @@ -7094,29 +7123,30 @@ export namespace PortRange { */ export interface Network { /** - *

    The destination domain of network-related information about a finding.

    + *

    The source IPv6 address of network-related information about a finding.

    */ - DestinationDomain?: string; + SourceIpV6?: string; /** - *

    The source IPv6 address of network-related information about a finding.

    + *

    The range of open ports that is present on the network.

    */ - SourceIpV6?: string; + OpenPortRange?: PortRange; /** - *

    The source IPv4 address of network-related information about a finding.

    + *

    The destination IPv4 address of network-related information about a finding.

    */ - SourceIpV4?: string; + DestinationIpV4?: string; /** - *

    The source port of network-related information about a finding.

    + *

    The destination IPv6 address of network-related information about a finding.

    */ - SourcePort?: number; + DestinationIpV6?: string; /** - *

    The protocol of network-related information about a finding.

    + *

    The source media access control (MAC) address of network-related information about a + * finding.

    */ - Protocol?: string; + SourceMac?: string; /** *

    The source domain of network-related information about a finding.

    @@ -7124,35 +7154,34 @@ export interface Network { SourceDomain?: string; /** - *

    The source media access control (MAC) address of network-related information about a - * finding.

    + *

    The direction of network traffic associated with a finding.

    */ - SourceMac?: string; + Direction?: NetworkDirection | string; /** - *

    The range of open ports that is present on the network.

    + *

    The destination port of network-related information about a finding.

    */ - OpenPortRange?: PortRange; + DestinationPort?: number; /** - *

    The direction of network traffic associated with a finding.

    + *

    The protocol of network-related information about a finding.

    */ - Direction?: NetworkDirection | string; + Protocol?: string; /** - *

    The destination IPv4 address of network-related information about a finding.

    + *

    The source port of network-related information about a finding.

    */ - DestinationIpV4?: string; + SourcePort?: number; /** - *

    The destination port of network-related information about a finding.

    + *

    The source IPv4 address of network-related information about a finding.

    */ - DestinationPort?: number; + SourceIpV4?: string; /** - *

    The destination IPv6 address of network-related information about a finding.

    + *

    The destination domain of network-related information about a finding.

    */ - DestinationIpV6?: string; + DestinationDomain?: string; } export namespace Network { @@ -7166,14 +7195,14 @@ export namespace Network { */ export interface NetworkPathComponentDetails { /** - *

    The IP addresses of the destination.

    + *

    A list of port ranges for the destination.

    */ - Address?: string[]; + PortRanges?: PortRange[]; /** - *

    A list of port ranges for the destination.

    + *

    The IP addresses of the destination.

    */ - PortRanges?: PortRange[]; + Address?: string[]; } export namespace NetworkPathComponentDetails { @@ -7193,14 +7222,14 @@ export interface NetworkHeader { Source?: NetworkPathComponentDetails; /** - *

    Information about the destination of the component.

    + *

    The protocol used for the component.

    */ - Destination?: NetworkPathComponentDetails; + Protocol?: string; /** - *

    The protocol used for the component.

    + *

    Information about the destination of the component.

    */ - Protocol?: string; + Destination?: NetworkPathComponentDetails; } export namespace NetworkHeader { @@ -7214,14 +7243,10 @@ export namespace NetworkHeader { */ export interface NetworkPathComponent { /** - *

    The identifier of a component in the network path.

    - */ - ComponentId?: string; - - /** - *

    The type of component.

    + *

    Information about the component that comes after the current component in the network + * path.

    */ - ComponentType?: string; + Egress?: NetworkHeader; /** *

    Information about the component that comes before the current node in the network @@ -7230,10 +7255,14 @@ export interface NetworkPathComponent { Ingress?: NetworkHeader; /** - *

    Information about the component that comes after the current component in the network - * path.

    + *

    The identifier of a component in the network path.

    */ - Egress?: NetworkHeader; + ComponentId?: string; + + /** + *

    The type of component.

    + */ + ComponentType?: string; } export namespace NetworkPathComponent { @@ -7246,14 +7275,6 @@ export namespace NetworkPathComponent { *

    A user-defined note added to a finding.

    */ export interface Note { - /** - *

    The timestamp of when the note was updated.

    - *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

    - */ - UpdatedAt: string | undefined; - /** *

    The principal that created a note.

    */ @@ -7263,6 +7284,14 @@ export interface Note { *

    The text of a note.

    */ Text: string | undefined; + + /** + *

    The timestamp of when the note was updated.

    + *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

    + */ + UpdatedAt: string | undefined; } export namespace Note { @@ -7277,71 +7306,71 @@ export namespace Note { */ export interface PatchSummary { /** - *

    The number of patches that were applied, but that require the instance to be rebooted in - * order to be marked as installed.

    + *

    The type of patch operation performed. For Patch Manager, the values are + * SCAN and INSTALL.

    */ - InstalledPendingReboot?: number; + Operation?: string; /** - *

    The number of patches from the compliance standard that failed to install.

    + *

    The reboot option specified for the instance.

    */ - FailedCount?: number; + RebootOption?: string; /** - *

    The number of patches that are installed but are also on a list of patches that the - * customer rejected.

    + *

    The number of patches from the compliance standard that were installed + * successfully.

    */ - InstalledRejectedCount?: number; + InstalledCount?: number; /** - *

    The number of patches that are part of the compliance standard but are not installed. - * The count includes patches that failed to install.

    + *

    The identifier of the compliance standard that was used to determine the patch + * compliance status.

    */ - MissingCount?: number; + Id: string | undefined; /** - *

    Indicates when the operation started.

    + *

    Indicates when the operation completed.

    *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

    */ - OperationStartTime?: string; + OperationEndTime?: string; /** - *

    The number of patches from the compliance standard that were installed - * successfully.

    + *

    Indicates when the operation started.

    + *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

    */ - InstalledCount?: number; + OperationStartTime?: string; /** - *

    The identifier of the compliance standard that was used to determine the patch - * compliance status.

    + *

    The number of installed patches that are not part of the compliance standard.

    */ - Id: string | undefined; + InstalledOtherCount?: number; /** - *

    The type of patch operation performed. For Patch Manager, the values are - * SCAN and INSTALL.

    + *

    The number of patches that are installed but are also on a list of patches that the + * customer rejected.

    */ - Operation?: string; + InstalledRejectedCount?: number; /** - *

    Indicates when the operation completed.

    - *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

    + *

    The number of patches from the compliance standard that failed to install.

    */ - OperationEndTime?: string; + FailedCount?: number; /** - *

    The number of installed patches that are not part of the compliance standard.

    + *

    The number of patches that were applied, but that require the instance to be rebooted in + * order to be marked as installed.

    */ - InstalledOtherCount?: number; + InstalledPendingReboot?: number; /** - *

    The reboot option specified for the instance.

    + *

    The number of patches that are part of the compliance standard but are not installed. + * The count includes patches that failed to install.

    */ - RebootOption?: string; + MissingCount?: number; } export namespace PatchSummary { @@ -7362,23 +7391,15 @@ export interface ProcessDetails { */ TerminatedAt?: string; - /** - *

    Indicates when the process was launched.

    - *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

    - */ - LaunchedAt?: string; - /** *

    The process ID.

    */ Pid?: number; /** - *

    The name of the process.

    + *

    The parent process ID.

    */ - Name?: string; + ParentPid?: number; /** *

    The path to the process executable.

    @@ -7386,9 +7407,17 @@ export interface ProcessDetails { Path?: string; /** - *

    The parent process ID.

    + *

    Indicates when the process was launched.

    + *

    Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

    */ - ParentPid?: number; + LaunchedAt?: string; + + /** + *

    The name of the process.

    + */ + Name?: string; } export namespace ProcessDetails { @@ -7407,14 +7436,14 @@ export enum RecordState { */ export interface RelatedFinding { /** - *

    The ARN of the product that generated a related finding.

    + *

    The product-generated identifier for a related finding.

    */ - ProductArn: string | undefined; + Id: string | undefined; /** - *

    The product-generated identifier for a related finding.

    + *

    The ARN of the product that generated a related finding.

    */ - Id: string | undefined; + ProductArn: string | undefined; } export namespace RelatedFinding { @@ -7428,14 +7457,14 @@ export namespace RelatedFinding { */ export interface Recommendation { /** - *

    A URL to a page or site that contains information about how to remediate a finding.

    + *

    Describes the recommended steps to take to remediate an issue identified in a finding.

    */ - Url?: string; + Text?: string; /** - *

    Describes the recommended steps to take to remediate an issue identified in a finding.

    + *

    A URL to a page or site that contains information about how to remediate a finding.

    */ - Text?: string; + Url?: string; } export namespace Recommendation { @@ -7465,14 +7494,14 @@ export namespace Remediation { */ export interface AwsSnsTopicSubscription { /** - *

    The subscription's protocol.

    + *

    The subscription's endpoint (format depends on the protocol).

    */ - Protocol?: string; + Endpoint?: string; /** - *

    The subscription's endpoint (format depends on the protocol).

    + *

    The subscription's protocol.

    */ - Endpoint?: string; + Protocol?: string; } export namespace AwsSnsTopicSubscription { @@ -7486,25 +7515,25 @@ export namespace AwsSnsTopicSubscription { */ export interface AwsSnsTopicDetails { /** - *

    The subscription's owner.

    + *

    Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

    */ - Owner?: string; + Subscription?: AwsSnsTopicSubscription[]; /** - *

    The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom - * CMK.

    + *

    The name of the topic.

    */ - KmsMasterKeyId?: string; + TopicName?: string; /** - *

    The name of the topic.

    + *

    The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom + * CMK.

    */ - TopicName?: string; + KmsMasterKeyId?: string; /** - *

    Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

    + *

    The subscription's owner.

    */ - Subscription?: AwsSnsTopicSubscription[]; + Owner?: string; } export namespace AwsSnsTopicDetails { @@ -7626,22 +7655,6 @@ export interface AwsWafWebAclRule { */ ExcludedRules?: WafExcludedRule[]; - /** - *

    The rule type.

    - *

    Valid values: REGULAR | RATE_BASED | GROUP - *

    - *

    The default is REGULAR.

    - */ - Type?: string; - - /** - *

    Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower - * value for Priority are evaluated before rules with a higher value. The value - * must be a unique integer. If you add multiple rules to a WebACL, the values do not need to - * be consecutive.

    - */ - Priority?: number; - /** *

    The identifier for a rule.

    */ @@ -7666,11 +7679,27 @@ export interface AwsWafWebAclRule { */ OverrideAction?: WafOverrideAction; + /** + *

    The rule type.

    + *

    Valid values: REGULAR | RATE_BASED | GROUP + *

    + *

    The default is REGULAR.

    + */ + Type?: string; + /** *

    Specifies the action that CloudFront or AWS WAF takes when a web request matches the * conditions in the rule.

    */ Action?: WafAction; + + /** + *

    Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower + * value for Priority are evaluated before rules with a higher value. The value + * must be a unique integer. If you add multiple rules to a WebACL, the values do not need to + * be consecutive.

    + */ + Priority?: number; } export namespace AwsWafWebAclRule { @@ -7684,26 +7713,26 @@ export namespace AwsWafWebAclRule { */ export interface AwsWafWebAclDetails { /** - *

    A unique identifier for a WebACL.

    + *

    A friendly name or description of the WebACL. You can't change the name of a WebACL + * after you create it.

    */ - WebAclId?: string; + Name?: string; /** - *

    An array that contains the action for each rule in a WebACL, the priority of the rule, - * and the ID of the rule.

    + *

    A unique identifier for a WebACL.

    */ - Rules?: AwsWafWebAclRule[]; + WebAclId?: string; /** - *

    A friendly name or description of the WebACL. You can't change the name of a WebACL - * after you create it.

    + *

    The action to perform if none of the rules contained in the WebACL match.

    */ - Name?: string; + DefaultAction?: string; /** - *

    The action to perform if none of the rules contained in the WebACL match.

    + *

    An array that contains the action for each rule in a WebACL, the priority of the rule, + * and the ID of the rule.

    */ - DefaultAction?: string; + Rules?: AwsWafWebAclRule[]; } export namespace AwsWafWebAclDetails { @@ -7717,14 +7746,14 @@ export namespace AwsWafWebAclDetails { */ export interface ContainerDetails { /** - *

    The name of the container related to a finding.

    + *

    The identifier of the image related to a finding.

    */ - Name?: string; + ImageId?: string; /** - *

    The name of the image related to a finding.

    + *

    The name of the container related to a finding.

    */ - ImageName?: string; + Name?: string; /** *

    Indicates when the container started.

    @@ -7735,9 +7764,9 @@ export interface ContainerDetails { LaunchedAt?: string; /** - *

    The identifier of the image related to a finding.

    + *

    The name of the image related to a finding.

    */ - ImageId?: string; + ImageName?: string; } export namespace ContainerDetails { @@ -7758,172 +7787,159 @@ export namespace ContainerDetails { */ export interface ResourceDetails { /** - *

    Details about a Lambda function.

    + *

    Details about an Elastic IP address.

    */ - AwsLambdaFunction?: AwsLambdaFunctionDetails; + AwsEc2Eip?: AwsEc2EipDetails; /** - *

    + *

    Details about an Amazon S3 bucket related to a finding.

    */ - AwsCloudTrailTrail?: AwsCloudTrailTrailDetails; + AwsS3Bucket?: AwsS3BucketDetails; /** *

    */ - AwsApiGatewayV2Stage?: AwsApiGatewayV2StageDetails; + AwsApiGatewayStage?: AwsApiGatewayStageDetails; /** *

    */ - AwsApiGatewayV2Api?: AwsApiGatewayV2ApiDetails; + AwsApiGatewayRestApi?: AwsApiGatewayRestApiDetails; /** - *

    Details about an Amazon S3 object related to a finding.

    + *

    Details about an Amazon RDS database instance.

    */ - AwsS3Object?: AwsS3ObjectDetails; + AwsRdsDbInstance?: AwsRdsDbInstanceDetails; /** - *

    + *

    Details for an Elasticsearch domain.

    */ - AwsElbLoadBalancer?: AwsElbLoadBalancerDetails; + AwsElasticsearchDomain?: AwsElasticsearchDomainDetails; /** - *

    Details about a Secrets Manager secret.

    + *

    Details for an Amazon EC2 network interface.

    */ - AwsSecretsManagerSecret?: AwsSecretsManagerSecretDetails; + AwsEc2NetworkInterface?: AwsEc2NetworkInterfaceDetails; /** - *

    Details for an Elasticsearch domain.

    + *

    Details about an Amazon EC2 instance related to a finding.

    */ - AwsElasticsearchDomain?: AwsElasticsearchDomainDetails; + AwsEc2Instance?: AwsEc2InstanceDetails; /** - *

    Details for a WAF WebACL.

    + *

    Details about an Amazon RDS database cluster snapshot.

    */ - AwsWafWebAcl?: AwsWafWebAclDetails; + AwsRdsDbClusterSnapshot?: AwsRdsDbClusterSnapshotDetails; /** - *

    Details about an SQS queue.

    + *

    Details about a Lambda function.

    */ - AwsSqsQueue?: AwsSqsQueueDetails; + AwsLambdaFunction?: AwsLambdaFunctionDetails; /** - *

    Details about an Amazon RDS database instance.

    + *

    Details about an Amazon RDS database cluster.

    */ - AwsRdsDbInstance?: AwsRdsDbInstanceDetails; + AwsRdsDbCluster?: AwsRdsDbClusterDetails; /** - *

    Details about an Elastic IP address.

    + *

    Details about an Amazon RDS database snapshot.

    */ - AwsEc2Eip?: AwsEc2EipDetails; + AwsRdsDbSnapshot?: AwsRdsDbSnapshotDetails; /** - *

    Details for an EC2 security group.

    + *

    Details about a KMS key.

    */ - AwsEc2SecurityGroup?: AwsEc2SecurityGroupDetails; + AwsKmsKey?: AwsKmsKeyDetails; /** - *

    + *

    Details for an autoscaling group.

    */ - AwsApiGatewayStage?: AwsApiGatewayStageDetails; + AwsAutoScalingAutoScalingGroup?: AwsAutoScalingAutoScalingGroupDetails; /** - *

    Details about an IAM user.

    + *

    Details about an Amazon S3 object related to a finding.

    */ - AwsIamUser?: AwsIamUserDetails; + AwsS3Object?: AwsS3ObjectDetails; /** - *

    Details about a container resource related to a finding.

    + *

    */ - Container?: ContainerDetails; + AwsIamGroup?: AwsIamGroupDetails; /** - *

    Details about an Amazon EC2 instance related to a finding.

    + *

    Details for an AWS CodeBuild project.

    */ - AwsEc2Instance?: AwsEc2InstanceDetails; + AwsCodeBuildProject?: AwsCodeBuildProjectDetails; /** - *

    Details about a DynamoDB table.

    + *

    Details for a WAF WebACL.

    */ - AwsDynamoDbTable?: AwsDynamoDbTableDetails; + AwsWafWebAcl?: AwsWafWebAclDetails; /** - *

    Details about an Amazon RDS database cluster.

    + *

    Details for an EC2 volume.

    */ - AwsRdsDbCluster?: AwsRdsDbClusterDetails; + AwsEc2Volume?: AwsEc2VolumeDetails; /** *

    */ - AwsIamGroup?: AwsIamGroupDetails; + AwsCloudTrailTrail?: AwsCloudTrailTrailDetails; /** - *

    Details about an SNS topic.

    + *

    Details about a Secrets Manager secret.

    */ - AwsSnsTopic?: AwsSnsTopicDetails; + AwsSecretsManagerSecret?: AwsSecretsManagerSecretDetails; /** - *

    Details about a load balancer.

    + *

    */ - AwsElbv2LoadBalancer?: AwsElbv2LoadBalancerDetails; + AwsCertificateManagerCertificate?: AwsCertificateManagerCertificateDetails; /** - *

    Details about an IAM access key related to a finding.

    + *

    */ - AwsIamAccessKey?: AwsIamAccessKeyDetails; + AwsRedshiftCluster?: AwsRedshiftClusterDetails; /** - *

    Details about a KMS key.

    + *

    */ - AwsKmsKey?: AwsKmsKeyDetails; + AwsApiGatewayV2Api?: AwsApiGatewayV2ApiDetails; /** - *

    Details about an IAM role.

    + *

    Details about an IAM access key related to a finding.

    */ - AwsIamRole?: AwsIamRoleDetails; + AwsIamAccessKey?: AwsIamAccessKeyDetails; /** - *

    + *

    Details for a Lambda layer version.

    */ - AwsCertificateManagerCertificate?: AwsCertificateManagerCertificateDetails; + AwsLambdaLayerVersion?: AwsLambdaLayerVersionDetails; /** - *

    Details about a resource that are not available in a type-specific details object. Use - * the Other object in the following cases.

    - *
      - *
    • - *

      The type-specific object does not contain all of the fields that you want to - * populate. In this case, first use the type-specific object to populate those fields. - * Use the Other object to populate the fields that are missing from the - * type-specific object.

      - *
    • - *
    • - *

      The resource type does not have a corresponding object. This includes resources - * for which the type is Other.

      - *
    • - *
    + *

    Details about an IAM permissions policy.

    */ - Other?: { [key: string]: string }; + AwsIamPolicy?: AwsIamPolicyDetails; /** - *

    Details about an IAM permissions policy.

    + *

    Details for an EC2 security group.

    */ - AwsIamPolicy?: AwsIamPolicyDetails; + AwsEc2SecurityGroup?: AwsEc2SecurityGroupDetails; /** - *

    Details about an Amazon S3 bucket related to a finding.

    + *

    Details about an SQS queue.

    */ - AwsS3Bucket?: AwsS3BucketDetails; + AwsSqsQueue?: AwsSqsQueueDetails; /** - *

    + *

    Details for an EC2 VPC.

    */ - AwsRedshiftCluster?: AwsRedshiftClusterDetails; + AwsEc2Vpc?: AwsEc2VpcDetails; /** *

    */ - AwsApiGatewayRestApi?: AwsApiGatewayRestApiDetails; + AwsElbLoadBalancer?: AwsElbLoadBalancerDetails; /** *

    Details about a CloudFront distribution.

    @@ -7931,44 +7947,57 @@ export interface ResourceDetails { AwsCloudFrontDistribution?: AwsCloudFrontDistributionDetails; /** - *

    Details for an autoscaling group.

    + *

    Details about a container resource related to a finding.

    */ - AwsAutoScalingAutoScalingGroup?: AwsAutoScalingAutoScalingGroupDetails; + Container?: ContainerDetails; /** - *

    Details about an Amazon RDS database snapshot.

    + *

    Details about an IAM user.

    */ - AwsRdsDbSnapshot?: AwsRdsDbSnapshotDetails; + AwsIamUser?: AwsIamUserDetails; /** - *

    Details for a Lambda layer version.

    + *

    */ - AwsLambdaLayerVersion?: AwsLambdaLayerVersionDetails; + AwsApiGatewayV2Stage?: AwsApiGatewayV2StageDetails; /** - *

    Details for an EC2 VPC.

    + *

    Details about a resource that are not available in a type-specific details object. Use + * the Other object in the following cases.

    + *
      + *
    • + *

      The type-specific object does not contain all of the fields that you want to + * populate. In this case, first use the type-specific object to populate those fields. + * Use the Other object to populate the fields that are missing from the + * type-specific object.

      + *
    • + *
    • + *

      The resource type does not have a corresponding object. This includes resources + * for which the type is Other.

      + *
    • + *
    */ - AwsEc2Vpc?: AwsEc2VpcDetails; + Other?: { [key: string]: string }; /** - *

    Details for an EC2 volume.

    + *

    Details about an SNS topic.

    */ - AwsEc2Volume?: AwsEc2VolumeDetails; + AwsSnsTopic?: AwsSnsTopicDetails; /** - *

    Details for an Amazon EC2 network interface.

    + *

    Details about a DynamoDB table.

    */ - AwsEc2NetworkInterface?: AwsEc2NetworkInterfaceDetails; + AwsDynamoDbTable?: AwsDynamoDbTableDetails; /** - *

    Details for an AWS CodeBuild project.

    + *

    Details about an IAM role.

    */ - AwsCodeBuildProject?: AwsCodeBuildProjectDetails; + AwsIamRole?: AwsIamRoleDetails; /** - *

    Details about an Amazon RDS database cluster snapshot.

    + *

    Details about a load balancer.

    */ - AwsRdsDbClusterSnapshot?: AwsRdsDbClusterSnapshotDetails; + AwsElbv2LoadBalancer?: AwsElbv2LoadBalancerDetails; } export namespace ResourceDetails { @@ -7993,14 +8022,9 @@ export interface Resource { Region?: string; /** - *

    The canonical identifier for the given resource type.

    - */ - Id: string | undefined; - - /** - *

    Additional details about the resource related to a finding.

    + *

    */ - Details?: ResourceDetails; + ResourceRole?: string; /** *

    The type of the resource that details are provided for. If possible, set @@ -8012,10 +8036,9 @@ export interface Resource { Type: string | undefined; /** - *

    A list of AWS tags associated with a resource at the time the finding was - * processed.

    + *

    Additional details about the resource related to a finding.

    */ - Tags?: { [key: string]: string }; + Details?: ResourceDetails; /** *

    The canonical AWS partition name that the Region is assigned to.

    @@ -8023,9 +8046,15 @@ export interface Resource { Partition?: Partition | string; /** - *

    + *

    A list of AWS tags associated with a resource at the time the finding was + * processed.

    */ - ResourceRole?: string; + Tags?: { [key: string]: string }; + + /** + *

    The canonical identifier for the given resource type.

    + */ + Id: string | undefined; } export namespace Resource { @@ -8053,36 +8082,6 @@ export enum SeverityLabel { * the preferred attribute.

    */ export interface Severity { - /** - *

    Deprecated. The normalized severity of a finding. This attribute is being deprecated. - * Instead of providing Normalized, provide Label.

    - *

    If you provide Label and do not provide Normalized, then - * Normalized is set automatically as follows.

    - *
      - *
    • - *

      - * INFORMATIONAL - 0

      - *
    • - *
    • - *

      - * LOW - 1

      - *
    • - *
    • - *

      - * MEDIUM - 40

      - *
    • - *
    • - *

      - * HIGH - 70

      - *
    • - *
    • - *

      - * CRITICAL - 90

      - *
    • - *
    - */ - Normalized?: number; - /** *

    The severity value of the finding. The allowed values are the following.

    *
      @@ -8135,6 +8134,41 @@ export interface Severity { */ Label?: SeverityLabel | string; + /** + *

      The native severity from the finding product that generated the finding.

      + */ + Original?: string; + + /** + *

      Deprecated. The normalized severity of a finding. This attribute is being deprecated. + * Instead of providing Normalized, provide Label.

      + *

      If you provide Label and do not provide Normalized, then + * Normalized is set automatically as follows.

      + *
        + *
      • + *

        + * INFORMATIONAL - 0

        + *
      • + *
      • + *

        + * LOW - 1

        + *
      • + *
      • + *

        + * MEDIUM - 40

        + *
      • + *
      • + *

        + * HIGH - 70

        + *
      • + *
      • + *

        + * CRITICAL - 90

        + *
      • + *
      + */ + Normalized?: number; + /** *

      Deprecated. This attribute is being deprecated. Instead of providing * Product, provide Original.

      @@ -8142,11 +8176,6 @@ export interface Severity { * generated the finding.

      */ Product?: number; - - /** - *

      The native severity from the finding product that generated the finding.

      - */ - Original?: string; } export namespace Severity { @@ -8183,19 +8212,9 @@ export enum ThreatIntelIndicatorType { */ export interface ThreatIntelIndicator { /** - *

      The source of the threat intelligence indicator.

      + *

      The value of a threat intelligence indicator.

      */ - Source?: string; - - /** - *

      The type of threat intelligence indicator.

      - */ - Type?: ThreatIntelIndicatorType | string; - - /** - *

      The category of a threat intelligence indicator.

      - */ - Category?: ThreatIntelIndicatorCategory | string; + Value?: string; /** *

      Indicates when the most recent instance of a threat intelligence indicator was @@ -8213,9 +8232,19 @@ export interface ThreatIntelIndicator { SourceUrl?: string; /** - *

      The value of a threat intelligence indicator.

      + *

      The category of a threat intelligence indicator.

      */ - Value?: string; + Category?: ThreatIntelIndicatorCategory | string; + + /** + *

      The type of threat intelligence indicator.

      + */ + Type?: ThreatIntelIndicatorType | string; + + /** + *

      The source of the threat intelligence indicator.

      + */ + Source?: string; } export namespace ThreatIntelIndicator { @@ -8235,6 +8264,11 @@ export enum VerificationState { *

      CVSS scores from the advisory related to the vulnerability.

      */ export interface Cvss { + /** + *

      The version of CVSS for the CVSS score.

      + */ + Version?: string; + /** *

      The base CVSS score.

      */ @@ -8244,11 +8278,6 @@ export interface Cvss { *

      The base scoring vector for the CVSS score.

      */ BaseVector?: string; - - /** - *

      The version of CVSS for the CVSS score.

      - */ - Version?: string; } export namespace Cvss { @@ -8262,12 +8291,9 @@ export namespace Cvss { */ export interface VulnerabilityVendor { /** - *

      Indicates when the vulnerability advisory was created.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      The URL of the vulnerability advisory.

      */ - VendorCreatedAt?: string; + Url?: string; /** *

      The severity that the vendor assigned to the vulnerability.

      @@ -8275,22 +8301,25 @@ export interface VulnerabilityVendor { VendorSeverity?: string; /** - *

      The name of the vendor.

      + *

      Indicates when the vulnerability advisory was last updated.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Name: string | undefined; + VendorUpdatedAt?: string; /** - *

      Indicates when the vulnerability advisory was last updated.

      + *

      Indicates when the vulnerability advisory was created.

      *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet * Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

      */ - VendorUpdatedAt?: string; + VendorCreatedAt?: string; /** - *

      The URL of the vulnerability advisory.

      + *

      The name of the vendor.

      */ - Url?: string; + Name: string | undefined; } export namespace VulnerabilityVendor { @@ -8309,24 +8338,24 @@ export interface SoftwarePackage { Name?: string; /** - *

      The epoch of the software package.

      + *

      The version of the software package.

      */ - Epoch?: string; + Version?: string; /** - *

      The release of the software package.

      + *

      The architecture used for the software package.

      */ - Release?: string; + Architecture?: string; /** - *

      The architecture used for the software package.

      + *

      The release of the software package.

      */ - Architecture?: string; + Release?: string; /** - *

      The version of the software package.

      + *

      The epoch of the software package.

      */ - Version?: string; + Epoch?: string; } export namespace SoftwarePackage { @@ -8339,35 +8368,35 @@ export namespace SoftwarePackage { *

      A vulnerability associated with a finding.

      */ export interface Vulnerability { - /** - *

      The identifier of the vulnerability.

      - */ - Id: string | undefined; - /** *

      List of vulnerabilities that are related to this vulnerability.

      */ RelatedVulnerabilities?: string[]; /** - *

      Information about the vendor that generates the vulnerability report.

      + *

      The identifier of the vulnerability.

      */ - Vendor?: VulnerabilityVendor; + Id: string | undefined; /** *

      List of software packages that have the vulnerability.

      */ VulnerablePackages?: SoftwarePackage[]; + /** + *

      A list of URLs that provide additional information about the vulnerability.

      + */ + ReferenceUrls?: string[]; + /** *

      CVSS scores from the advisory related to the vulnerability.

      */ Cvss?: Cvss[]; /** - *

      A list of URLs that provide additional information about the vulnerability.

      + *

      Information about the vendor that generates the vulnerability report.

      */ - ReferenceUrls?: string[]; + Vendor?: VulnerabilityVendor; } export namespace Vulnerability { @@ -8442,44 +8471,40 @@ export enum WorkflowState { */ export interface AwsSecurityFinding { /** - *

      The ARN generated by Security Hub that uniquely identifies a product that generates findings. - * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for - * a custom integration.

      + *

      A set of resource data types that describe the resources that the finding refers + * to.

      */ - ProductArn: string | undefined; + Resources: Resource[] | undefined; /** - *

      Indicates when the security-findings provider created the potential security issue that - * a finding captured.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      Provides information about a network path that is relevant to a finding. Each entry + * under NetworkPath represents a component of that path.

      */ - CreatedAt: string | undefined; + NetworkPath?: NetworkPathComponent[]; /** - *

      The level of importance assigned to the resources associated with the finding.

      - *

      A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.

      + *

      A list of malware related to a finding.

      */ - Criticality?: number; + Malware?: Malware[]; /** - *

      This data type is exclusive to findings that are generated as the result of a check run - * against a specific rule in a supported security standard, such as CIS AWS Foundations. - * Contains security standard-related finding details.

      + *

      Indicates the veracity of a finding.

      */ - Compliance?: Compliance; + VerificationState?: VerificationState | string; /** - *

      Threat intelligence details related to a finding.

      + *

      The record state of a finding.

      */ - ThreatIntelIndicators?: ThreatIntelIndicator[]; + RecordState?: RecordState | string; /** - *

      The security findings provider-specific identifier for a finding.

      + *

      Indicates when the security-findings provider created the potential security issue that + * a finding captured.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Id: string | undefined; + CreatedAt: string | undefined; /** *

      A finding's description.

      @@ -8496,27 +8521,24 @@ export interface AwsSecurityFinding { SourceUrl?: string; /** - *

      Indicates when the security-findings provider first observed the potential security - * issue that a finding captured.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.

      */ - FirstObservedAt?: string; + UserDefinedFields?: { [key: string]: string }; /** - *

      Indicates when the security-findings provider most recently observed the potential - * security issue that a finding captured.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      + *

      One or more finding types in the format of namespace/category/classifier + * that classify a finding.

      + *

      Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual + * Behaviors | Sensitive Data Identifications

      */ - LastObservedAt?: string; + Types: string[] | undefined; /** - *

      The details of process-related information about a finding.

      + *

      Provides an overview of the patch compliance status for an instance against a selected + * compliance standard.

      */ - Process?: ProcessDetails; + PatchSummary?: PatchSummary; /** *

      Provides a list of vulnerabilities associated with the findings.

      @@ -8524,63 +8546,82 @@ export interface AwsSecurityFinding { Vulnerabilities?: Vulnerability[]; /** - *

      A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.

      + *

      The AWS account ID that a finding is generated in.

      */ - UserDefinedFields?: { [key: string]: string }; + AwsAccountId: string | undefined; /** - *

      One or more finding types in the format of namespace/category/classifier - * that classify a finding.

      - *

      Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual - * Behaviors | Sensitive Data Identifications

      + *

      The identifier for the solution-specific component (a discrete unit of logic) that + * generated a finding. In various security-findings providers' solutions, this generator can + * be called a rule, a check, a detector, a plugin, etc.

      */ - Types: string[] | undefined; + GeneratorId: string | undefined; /** - *

      The details of network-related information about a finding.

      + *

      Threat intelligence details related to a finding.

      */ - Network?: Network; + ThreatIntelIndicators?: ThreatIntelIndicator[]; /** - *

      A finding's confidence. Confidence is defined as the likelihood that a finding - * accurately identifies the behavior or issue that it was intended to identify.

      - *

      Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.

      + *

      The security findings provider-specific identifier for a finding.

      */ - Confidence?: number; + Id: string | undefined; /** - *

      Indicates the veracity of a finding.

      + *

      This data type is exclusive to findings that are generated as the result of a check run + * against a specific rule in a supported security standard, such as CIS AWS Foundations. + * Contains security standard-related finding details.

      */ - VerificationState?: VerificationState | string; + Compliance?: Compliance; /** - *

      A data type that describes the remediation options for a finding.

      + *

      The workflow state of a finding.

      */ - Remediation?: Remediation; + WorkflowState?: WorkflowState | string; /** - *

      A data type where security-findings providers can include additional solution-specific - * details that aren't part of the defined AwsSecurityFinding format.

      + *

      A user-defined note added to a finding.

      */ - ProductFields?: { [key: string]: string }; + Note?: Note; /** - *

      The record state of a finding.

      + *

      Indicates when the security-findings provider last updated the finding record.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - RecordState?: RecordState | string; + UpdatedAt: string | undefined; /** - *

      A list of malware related to a finding.

      + *

      Indicates when the security-findings provider most recently observed the potential + * security issue that a finding captured.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - Malware?: Malware[]; + LastObservedAt?: string; + + /** + *

      A data type that describes the remediation options for a finding.

      + */ + Remediation?: Remediation; /** *

      The schema version that a finding is formatted for.

      */ SchemaVersion: string | undefined; + /** + *

      The details of network-related information about a finding.

      + */ + Network?: Network; + + /** + *

      A data type where security-findings providers can include additional solution-specific + * details that aren't part of the defined AwsSecurityFinding format.

      + */ + ProductFields?: { [key: string]: string }; + /** *

      A finding's title.

      * @@ -8590,27 +8631,31 @@ export interface AwsSecurityFinding { Title: string | undefined; /** - *

      A list of related findings.

      + *

      A finding's confidence. Confidence is defined as the likelihood that a finding + * accurately identifies the behavior or issue that it was intended to identify.

      + *

      Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.

      */ - RelatedFindings?: RelatedFinding[]; + Confidence?: number; /** - *

      Provides information about a network path that is relevant to a finding. Each entry - * under NetworkPath represents a component of that path.

      + *

      The level of importance assigned to the resources associated with the finding.

      + *

      A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.

      */ - NetworkPath?: NetworkPathComponent[]; + Criticality?: number; /** - *

      A finding's severity.

      + *

      The ARN generated by Security Hub that uniquely identifies a product that generates findings. + * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for + * a custom integration.

      */ - Severity: Severity | undefined; + ProductArn: string | undefined; /** - *

      The identifier for the solution-specific component (a discrete unit of logic) that - * generated a finding. In various security-findings providers' solutions, this generator can - * be called a rule, a check, a detector, a plugin, etc.

      + *

      A list of related findings.

      */ - GeneratorId: string | undefined; + RelatedFindings?: RelatedFinding[]; /** *

      Provides information about the status of the investigation into a finding.

      @@ -8618,39 +8663,23 @@ export interface AwsSecurityFinding { Workflow?: Workflow; /** - *

      Indicates when the security-findings provider last updated the finding record.

      - *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet - * Date/Time Format. The value cannot contain spaces. For example, - * 2020-03-22T13:22:13.933Z.

      - */ - UpdatedAt: string | undefined; - - /** - *

      A user-defined note added to a finding.

      - */ - Note?: Note; - - /** - *

      The workflow state of a finding.

      - */ - WorkflowState?: WorkflowState | string; - - /** - *

      The AWS account ID that a finding is generated in.

      + *

      A finding's severity.

      */ - AwsAccountId: string | undefined; + Severity: Severity | undefined; /** - *

      A set of resource data types that describe the resources that the finding refers - * to.

      + *

      The details of process-related information about a finding.

      */ - Resources: Resource[] | undefined; + Process?: ProcessDetails; /** - *

      Provides an overview of the patch compliance status for an instance against a selected - * compliance standard.

      + *

      Indicates when the security-findings provider first observed the potential security + * issue that a finding captured.

      + *

      Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

      */ - PatchSummary?: PatchSummary; + FirstObservedAt?: string; } export namespace AwsSecurityFinding { @@ -8670,6 +8699,13 @@ export enum StringFilterComparison { *

      A string filter for querying findings.

      */ export interface StringFilter { + /** + *

      The string filter value. Filter values are case sensitive. For example, the product name + * for control-based findings is Security Hub. If you provide security hub + * as the filter text, then there is no match.

      + */ + Value?: string; + /** *

      The condition to apply to a string value when querying for findings. To search for * values that contain the filter criteria value, use one of the following comparison @@ -8752,13 +8788,6 @@ export interface StringFilter { *

    */ Comparison?: StringFilterComparison | string; - - /** - *

    The string filter value. Filter values are case sensitive. For example, the product name - * for control-based findings is Security Hub. If you provide security hub - * as the filter text, then there is no match.

    - */ - Value?: string; } export namespace StringFilter { @@ -8771,18 +8800,18 @@ export namespace StringFilter { *

    A number filter for querying findings.

    */ export interface NumberFilter { - /** - *

    The less-than-equal condition to be applied to a single field when querying for - * findings.

    - */ - Lte?: number; - /** *

    The equal-to condition to be applied to a single field when querying for * findings.

    */ Eq?: number; + /** + *

    The less-than-equal condition to be applied to a single field when querying for + * findings.

    + */ + Lte?: number; + /** *

    The greater-than-equal condition to be applied to a single field when querying for * findings.

    @@ -8896,13 +8925,6 @@ export interface MapFilter { */ Value?: string; - /** - *

    The key of the map filter. For example, for ResourceTags, Key - * identifies the name of the tag. For UserDefinedFields, Key is the - * name of the field.

    - */ - Key?: string; - /** *

    The condition to apply to the key value when querying for findings with a map * filter.

    @@ -8924,6 +8946,13 @@ export interface MapFilter { * on the same field.

    */ Comparison?: MapFilterComparison | string; + + /** + *

    The key of the map filter. For example, for ResourceTags, Key + * identifies the name of the tag. For UserDefinedFields, Key is the + * name of the field.

    + */ + Key?: string; } export namespace MapFilter { @@ -8940,118 +8969,84 @@ export namespace MapFilter { */ export interface AwsSecurityFindingFilters { /** - *

    The canonical AWS partition name that the Region is assigned to.

    - */ - ResourcePartition?: StringFilter[]; - - /** - *

    The path to the process executable.

    - */ - ProcessPath?: StringFilter[]; - - /** - *

    The source media access control (MAC) address of network-related information about a - * finding.

    - */ - NetworkSourceMac?: StringFilter[]; - - /** - *

    A keyword for a finding.

    - */ - Keyword?: KeywordFilter[]; - - /** - *

    The recommendation of what to do about the issue described in a finding.

    - */ - RecommendationText?: StringFilter[]; - - /** - *

    The solution-generated identifier for a related finding.

    - */ - RelatedFindingsId?: StringFilter[]; - - /** - *

    The date/time that the process was terminated.

    - */ - ProcessTerminatedAt?: DateFilter[]; - - /** - *

    The date and time the instance was launched.

    - */ - ResourceAwsEc2InstanceLaunchedAt?: DateFilter[]; - - /** - *

    The source IPv6 address of network-related information about a finding.

    + *

    A data type where security-findings providers can include additional solution-specific + * details that aren't part of the defined AwsSecurityFinding format.

    */ - NetworkSourceIpV6?: IpFilter[]; + ProductFields?: MapFilter[]; /** - *

    The IPv4 addresses associated with the instance.

    + *

    The identifier for the solution-specific component (a discrete unit of logic) that + * generated a finding. In various security-findings providers' solutions, this generator can + * be called a rule, a check, a detector, a plugin, etc.

    */ - ResourceAwsEc2InstanceIpV4Addresses?: IpFilter[]; + GeneratorId?: StringFilter[]; /** - *

    The creation date/time of the IAM access key related to a finding.

    + *

    Exclusive to findings that are generated as the result of a check run against a specific + * rule in a supported standard, such as CIS AWS Foundations. Contains security + * standard-related finding details.

    */ - ResourceAwsIamAccessKeyCreatedAt?: DateFilter[]; + ComplianceStatus?: StringFilter[]; /** - *

    The protocol of network-related information about a finding.

    + *

    The type of the malware that was observed.

    */ - NetworkProtocol?: StringFilter[]; + MalwareType?: StringFilter[]; /** - *

    The source IPv4 address of network-related information about a finding.

    + *

    The ARN of the solution that generated a related finding.

    */ - NetworkSourceIpV4?: IpFilter[]; + RelatedFindingsProductArn?: StringFilter[]; /** - *

    The timestamp of when the note was updated.

    + *

    An ISO8601-formatted timestamp that indicates when the security-findings provider last + * updated the finding record.

    */ - NoteUpdatedAt?: DateFilter[]; + UpdatedAt?: DateFilter[]; /** - *

    Indicates the direction of network traffic associated with a finding.

    + *

    The name of the findings provider (company) that owns the solution (product) that + * generates findings.

    */ - NetworkDirection?: StringFilter[]; + CompanyName?: StringFilter[]; /** - *

    The value of a threat intelligence indicator.

    + *

    The Amazon Machine Image (AMI) ID of the instance.

    */ - ThreatIntelIndicatorValue?: StringFilter[]; + ResourceAwsEc2InstanceImageId?: StringFilter[]; /** - *

    Specifies the type of the resource that details are provided for.

    + *

    The label of a finding's severity.

    */ - ResourceType?: StringFilter[]; + SeverityLabel?: StringFilter[]; /** - *

    The level of importance assigned to the resources associated with the finding.

    - *

    A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.

    + *

    The identifier of the subnet that the instance was launched in.

    */ - Criticality?: NumberFilter[]; + ResourceAwsEc2InstanceSubnetId?: StringFilter[]; /** - *

    The user associated with the IAM access key related to a finding.

    + *

    The category of a threat intelligence indicator.

    */ - ResourceAwsIamAccessKeyUserName?: StringFilter[]; + ThreatIntelIndicatorCategory?: StringFilter[]; /** - *

    A finding's description.

    + *

    A finding's title.

    */ - Description?: StringFilter[]; + Title?: StringFilter[]; /** - *

    An ISO8601-formatted timestamp that indicates when the security-findings provider first - * observed the potential security issue that a finding captured.

    + *

    A finding's confidence. Confidence is defined as the likelihood that a finding + * accurately identifies the behavior or issue that it was intended to identify.

    + *

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.

    */ - FirstObservedAt?: DateFilter[]; + Confidence?: NumberFilter[]; /** - *

    The name of the solution (product) that generates findings.

    + *

    The AWS account ID that a finding is generated in.

    */ - ProductName?: StringFilter[]; + AwsAccountId?: StringFilter[]; /** *

    An ISO8601-formatted timestamp that indicates when the security-findings provider most @@ -9060,25 +9055,26 @@ export interface AwsSecurityFindingFilters { LastObservedAt?: DateFilter[]; /** - *

    A URL that links to a page about the current finding in the security-findings provider's - * solution.

    + *

    A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.

    */ - SourceUrl?: StringFilter[]; + UserDefinedFields?: MapFilter[]; /** - *

    The name of the process.

    + *

    An ISO8601-formatted timestamp that indicates when the security-findings provider + * captured the potential security issue that a finding captured.

    */ - ProcessName?: StringFilter[]; + CreatedAt?: DateFilter[]; /** - *

    The name of the container related to a finding.

    + *

    The state of the malware that was observed.

    */ - ResourceContainerName?: StringFilter[]; + MalwareState?: StringFilter[]; /** - *

    The key name associated with the instance.

    + *

    The name of the solution (product) that generates findings.

    */ - ResourceAwsEc2InstanceKeyName?: StringFilter[]; + ProductName?: StringFilter[]; /** *

    The canonical user ID of the owner of the S3 bucket.

    @@ -9086,36 +9082,11 @@ export interface AwsSecurityFindingFilters { ResourceAwsS3BucketOwnerId?: StringFilter[]; /** - *

    The canonical AWS external Region name where this resource is located.

    - */ - ResourceRegion?: StringFilter[]; - - /** - *

    The URL for more details from the source of the threat intelligence.

    - */ - ThreatIntelIndicatorSourceUrl?: StringFilter[]; - - /** - *

    A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.

    - */ - UserDefinedFields?: MapFilter[]; - - /** - *

    An ISO8601-formatted timestamp that indicates when the security-findings provider last - * updated the finding record.

    - */ - UpdatedAt?: DateFilter[]; - - /** - *

    The text of a note.

    - */ - NoteText?: StringFilter[]; - - /** - *

    The type of a threat intelligence indicator.

    + *

    The workflow state of a finding.

    + *

    Note that this field is deprecated. To search for a finding based on its workflow + * status, use WorkflowStatus.

    */ - ThreatIntelIndicatorType?: StringFilter[]; + WorkflowState?: StringFilter[]; /** *

    The destination domain of network-related information about a finding.

    @@ -9123,49 +9094,39 @@ export interface AwsSecurityFindingFilters { NetworkDestinationDomain?: StringFilter[]; /** - *

    The canonical identifier for the given resource type.

    - */ - ResourceId?: StringFilter[]; - - /** - *

    The identifier for the solution-specific component (a discrete unit of logic) that - * generated a finding. In various security-findings providers' solutions, this generator can - * be called a rule, a check, a detector, a plugin, etc.

    + *

    The timestamp of when the note was updated.

    */ - GeneratorId?: StringFilter[]; + NoteUpdatedAt?: DateFilter[]; /** - *

    A finding's title.

    + *

    Indicates the direction of network traffic associated with a finding.

    */ - Title?: StringFilter[]; + NetworkDirection?: StringFilter[]; /** - *

    The workflow state of a finding.

    - *

    Note that this field is deprecated. To search for a finding based on its workflow - * status, use WorkflowStatus.

    + *

    The type of a threat intelligence indicator.

    */ - WorkflowState?: StringFilter[]; + ThreatIntelIndicatorType?: StringFilter[]; /** - *

    The name of the malware that was observed.

    + *

    The date and time the instance was launched.

    */ - MalwareName?: StringFilter[]; + ResourceAwsEc2InstanceLaunchedAt?: DateFilter[]; /** - *

    A finding type in the format of namespace/category/classifier that - * classifies a finding.

    + *

    The IPv6 addresses associated with the instance.

    */ - Type?: StringFilter[]; + ResourceAwsEc2InstanceIpV6Addresses?: IpFilter[]; /** - *

    The IPv6 addresses associated with the instance.

    + *

    The canonical identifier for the given resource type.

    */ - ResourceAwsEc2InstanceIpV6Addresses?: IpFilter[]; + ResourceId?: StringFilter[]; /** - *

    The updated record state for the finding.

    + *

    The date/time that the process was launched.

    */ - RecordState?: StringFilter[]; + ProcessLaunchedAt?: DateFilter[]; /** *

    The filesystem path of the malware that was observed.

    @@ -9173,24 +9134,24 @@ export interface AwsSecurityFindingFilters { MalwarePath?: StringFilter[]; /** - *

    The AWS account ID that a finding is generated in.

    + *

    The canonical AWS partition name that the Region is assigned to.

    */ - AwsAccountId?: StringFilter[]; + ResourcePartition?: StringFilter[]; /** - *

    The name of the image related to a finding.

    + *

    The user associated with the IAM access key related to a finding.

    */ - ResourceContainerImageName?: StringFilter[]; + ResourceAwsIamAccessKeyUserName?: StringFilter[]; /** - *

    The category of a threat intelligence indicator.

    + *

    The path to the process executable.

    */ - ThreatIntelIndicatorCategory?: StringFilter[]; + ProcessPath?: StringFilter[]; /** - *

    The identifier of the subnet that the instance was launched in.

    + *

    The URL for more details from the source of the threat intelligence.

    */ - ResourceAwsEc2InstanceSubnetId?: StringFilter[]; + ThreatIntelIndicatorSourceUrl?: StringFilter[]; /** *

    The status of the investigation into a finding. Allowed values are the following.

    @@ -9220,69 +9181,68 @@ export interface AwsSecurityFindingFilters { WorkflowStatus?: StringFilter[]; /** - *

    Exclusive to findings that are generated as the result of a check run against a specific - * rule in a supported standard, such as CIS AWS Foundations. Contains security - * standard-related finding details.

    + *

    The level of importance assigned to the resources associated with the finding.

    + *

    A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.

    */ - ComplianceStatus?: StringFilter[]; + Criticality?: NumberFilter[]; /** - *

    A data type where security-findings providers can include additional solution-specific - * details that aren't part of the defined AwsSecurityFinding format.

    + *

    The canonical AWS external Region name where this resource is located.

    */ - ProductFields?: MapFilter[]; + ResourceRegion?: StringFilter[]; /** - *

    The veracity of a finding.

    + *

    An ISO8601-formatted timestamp that indicates when the security-findings provider first + * observed the potential security issue that a finding captured.

    */ - VerificationState?: StringFilter[]; + FirstObservedAt?: DateFilter[]; /** - *

    A finding's confidence. Confidence is defined as the likelihood that a finding - * accurately identifies the behavior or issue that it was intended to identify.

    - *

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.

    + *

    The parent process ID.

    */ - Confidence?: NumberFilter[]; + ProcessParentPid?: NumberFilter[]; /** - *

    The status of the IAM access key related to a finding.

    + *

    The principal that created a note.

    */ - ResourceAwsIamAccessKeyStatus?: StringFilter[]; + NoteUpdatedBy?: StringFilter[]; /** - *

    The ARN generated by Security Hub that uniquely identifies a third-party company - * (security findings provider) after this provider's product (solution that generates - * findings) is registered with Security Hub.

    + *

    The name of the container related to a finding.

    */ - ProductArn?: StringFilter[]; + ResourceContainerName?: StringFilter[]; /** - *

    The source domain of network-related information about a finding.

    + *

    The source of the threat intelligence.

    */ - NetworkSourceDomain?: StringFilter[]; + ThreatIntelIndicatorSource?: StringFilter[]; /** - *

    The native severity as defined by the security-findings provider's solution that - * generated the finding.

    + *

    The key name associated with the instance.

    */ - SeverityProduct?: NumberFilter[]; + ResourceAwsEc2InstanceKeyName?: StringFilter[]; /** - *

    The name of the findings provider (company) that owns the solution (product) that - * generates findings.

    + *

    Specifies the type of the resource that details are provided for.

    */ - CompanyName?: StringFilter[]; + ResourceType?: StringFilter[]; /** - *

    The ARN of the solution that generated a related finding.

    + *

    The source media access control (MAC) address of network-related information about a + * finding.

    */ - RelatedFindingsProductArn?: StringFilter[]; + NetworkSourceMac?: StringFilter[]; /** - *

    The display name of the owner of the S3 bucket.

    + *

    The normalized severity of a finding.

    */ - ResourceAwsS3BucketOwnerName?: StringFilter[]; + SeverityNormalized?: NumberFilter[]; + + /** + *

    The protocol of network-related information about a finding.

    + */ + NetworkProtocol?: StringFilter[]; /** *

    The date/time that the container was started.

    @@ -9290,20 +9250,61 @@ export interface AwsSecurityFindingFilters { ResourceContainerLaunchedAt?: DateFilter[]; /** - *

    The normalized severity of a finding.

    + *

    The creation date/time of the IAM access key related to a finding.

    */ - SeverityNormalized?: NumberFilter[]; + ResourceAwsIamAccessKeyCreatedAt?: DateFilter[]; /** - *

    The date/time that the process was launched.

    + *

    A finding type in the format of namespace/category/classifier that + * classifies a finding.

    */ - ProcessLaunchedAt?: DateFilter[]; + Type?: StringFilter[]; + + /** + *

    The name of the malware that was observed.

    + */ + MalwareName?: StringFilter[]; + + /** + *

    The IPv4 addresses associated with the instance.

    + */ + ResourceAwsEc2InstanceIpV4Addresses?: IpFilter[]; + + /** + *

    The instance type of the instance.

    + */ + ResourceAwsEc2InstanceType?: StringFilter[]; + + /** + *

    The process ID.

    + */ + ProcessPid?: NumberFilter[]; + + /** + *

    The identifier of the image related to a finding.

    + */ + ResourceContainerImageId?: StringFilter[]; + + /** + *

    A keyword for a finding.

    + */ + Keyword?: KeywordFilter[]; + + /** + *

    The date/time that the process was terminated.

    + */ + ProcessTerminatedAt?: DateFilter[]; /** *

    The security findings provider-specific identifier for a finding.

    */ Id?: StringFilter[]; + /** + *

    A finding's description.

    + */ + Description?: StringFilter[]; + /** *

    The details of a resource that doesn't have a specific subfield for the resource type * defined.

    @@ -9311,35 +9312,40 @@ export interface AwsSecurityFindingFilters { ResourceDetailsOther?: MapFilter[]; /** - *

    The state of the malware that was observed.

    + *

    The recommendation of what to do about the issue described in a finding.

    */ - MalwareState?: StringFilter[]; + RecommendationText?: StringFilter[]; /** - *

    The process ID.

    + *

    The identifier of the VPC that the instance was launched in.

    */ - ProcessPid?: NumberFilter[]; + ResourceAwsEc2InstanceVpcId?: StringFilter[]; /** - *

    The instance type of the instance.

    + *

    The veracity of a finding.

    */ - ResourceAwsEc2InstanceType?: StringFilter[]; + VerificationState?: StringFilter[]; /** - *

    The date/time of the last observation of a threat intelligence indicator.

    + *

    The text of a note.

    */ - ThreatIntelIndicatorLastObservedAt?: DateFilter[]; + NoteText?: StringFilter[]; /** - *

    An ISO8601-formatted timestamp that indicates when the security-findings provider - * captured the potential security issue that a finding captured.

    + *

    The source IPv4 address of network-related information about a finding.

    */ - CreatedAt?: DateFilter[]; + NetworkSourceIpV4?: IpFilter[]; /** - *

    The source of the threat intelligence.

    + *

    The destination IPv6 address of network-related information about a finding.

    */ - ThreatIntelIndicatorSource?: StringFilter[]; + NetworkDestinationIpV6?: IpFilter[]; + + /** + *

    The native severity as defined by the security-findings provider's solution that + * generated the finding.

    + */ + SeverityProduct?: NumberFilter[]; /** *

    The source port of network-related information about a finding.

    @@ -9347,29 +9353,34 @@ export interface AwsSecurityFindingFilters { NetworkSourcePort?: NumberFilter[]; /** - *

    The type of the malware that was observed.

    + *

    The source IPv6 address of network-related information about a finding.

    */ - MalwareType?: StringFilter[]; + NetworkSourceIpV6?: IpFilter[]; /** - *

    The principal that created a note.

    + *

    The name of the process.

    */ - NoteUpdatedBy?: StringFilter[]; + ProcessName?: StringFilter[]; /** - *

    The parent process ID.

    + *

    The destination IPv4 address of network-related information about a finding.

    */ - ProcessParentPid?: NumberFilter[]; + NetworkDestinationIpV4?: IpFilter[]; /** - *

    The identifier of the VPC that the instance was launched in.

    + *

    The destination port of network-related information about a finding.

    */ - ResourceAwsEc2InstanceVpcId?: StringFilter[]; + NetworkDestinationPort?: NumberFilter[]; /** - *

    The destination IPv6 address of network-related information about a finding.

    + *

    The IAM profile ARN of the instance.

    */ - NetworkDestinationIpV6?: IpFilter[]; + ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilter[]; + + /** + *

    The solution-generated identifier for a related finding.

    + */ + RelatedFindingsId?: StringFilter[]; /** *

    A list of AWS tags associated with a resource at the time the finding was @@ -9378,34 +9389,52 @@ export interface AwsSecurityFindingFilters { ResourceTags?: MapFilter[]; /** - *

    The Amazon Machine Image (AMI) ID of the instance.

    + *

    A URL that links to a page about the current finding in the security-findings provider's + * solution.

    */ - ResourceAwsEc2InstanceImageId?: StringFilter[]; + SourceUrl?: StringFilter[]; /** - *

    The label of a finding's severity.

    + *

    The name of the image related to a finding.

    */ - SeverityLabel?: StringFilter[]; + ResourceContainerImageName?: StringFilter[]; /** - *

    The identifier of the image related to a finding.

    + *

    The updated record state for the finding.

    */ - ResourceContainerImageId?: StringFilter[]; + RecordState?: StringFilter[]; /** - *

    The destination port of network-related information about a finding.

    + *

    The source domain of network-related information about a finding.

    */ - NetworkDestinationPort?: NumberFilter[]; + NetworkSourceDomain?: StringFilter[]; /** - *

    The IAM profile ARN of the instance.

    + *

    The display name of the owner of the S3 bucket.

    + */ + ResourceAwsS3BucketOwnerName?: StringFilter[]; + + /** + *

    The ARN generated by Security Hub that uniquely identifies a third-party company + * (security findings provider) after this provider's product (solution that generates + * findings) is registered with Security Hub.

    + */ + ProductArn?: StringFilter[]; + + /** + *

    The date/time of the last observation of a threat intelligence indicator.

    + */ + ThreatIntelIndicatorLastObservedAt?: DateFilter[]; + + /** + *

    The status of the IAM access key related to a finding.

    */ - ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilter[]; + ResourceAwsIamAccessKeyStatus?: StringFilter[]; /** - *

    The destination IPv4 address of network-related information about a finding.

    + *

    The value of a threat intelligence indicator.

    */ - NetworkDestinationIpV4?: IpFilter[]; + ThreatIntelIndicatorValue?: StringFilter[]; } export namespace AwsSecurityFindingFilters { @@ -9506,11 +9535,6 @@ export namespace BatchDisableStandardsResponse { *

    The standard that you want to enable.

    */ export interface StandardsSubscriptionRequest { - /** - *

    A key-value pair of input for the standard.

    - */ - StandardsInput?: { [key: string]: string }; - /** *

    The ARN of the standard that you want to enable. To view the list of available standards * and their ARNs, use the @@ -9518,6 +9542,11 @@ export interface StandardsSubscriptionRequest { * operation.

    */ StandardsArn: string | undefined; + + /** + *

    A key-value pair of input for the standard.

    + */ + StandardsInput?: { [key: string]: string }; } export namespace StandardsSubscriptionRequest { @@ -9578,14 +9607,14 @@ export interface ImportFindingsError { ErrorMessage: string | undefined; /** - *

    The code of the error returned by the BatchImportFindings operation.

    + *

    The identifier of the finding that could not be updated.

    */ - ErrorCode: string | undefined; + Id: string | undefined; /** - *

    The identifier of the finding that could not be updated.

    + *

    The code of the error returned by the BatchImportFindings operation.

    */ - Id: string | undefined; + ErrorCode: string | undefined; } export namespace ImportFindingsError { @@ -9601,14 +9630,14 @@ export interface BatchImportFindingsResponse { FailedCount: number | undefined; /** - *

    The list of findings that failed to import.

    + *

    The number of findings that were successfully imported.

    */ - FailedFindings?: ImportFindingsError[]; + SuccessCount: number | undefined; /** - *

    The number of findings that were successfully imported.

    + *

    The list of findings that failed to import.

    */ - SuccessCount: number | undefined; + FailedFindings?: ImportFindingsError[]; } export namespace BatchImportFindingsResponse { @@ -9672,6 +9701,12 @@ export interface SeverityUpdate { */ Normalized?: number; + /** + *

    The native severity as defined by the AWS service or integrated partner product that + * generated the finding.

    + */ + Product?: number; + /** *

    The severity value of the finding. The allowed values are the following.

    *
      @@ -9699,12 +9734,6 @@ export interface SeverityUpdate { *
    */ Label?: SeverityLabel | string; - - /** - *

    The native severity as defined by the AWS service or integrated partner product that - * generated the finding.

    - */ - Product?: number; } export namespace SeverityUpdate { @@ -9759,43 +9788,52 @@ export interface BatchUpdateFindingsRequest { Severity?: SeverityUpdate; /** - *

    Indicates the veracity of a finding.

    - *

    The available values for VerificationState are as follows.

    + *

    A list of findings that are related to the updated findings.

    + */ + RelatedFindings?: RelatedFinding[]; + + /** + *

    One or more finding types in the format of namespace/category/classifier that classify a + * finding.

    + *

    Valid namespace values are as follows.

    *
      *
    • - *

      - * UNKNOWN – The default disposition of a security finding

      + *

      Software and Configuration Checks

      *
    • *
    • - *

      - * TRUE_POSITIVE – The security finding is confirmed

      + *

      TTPs

      *
    • *
    • - *

      - * FALSE_POSITIVE – The security finding was determined to be a false - * alarm

      + *

      Effects

      *
    • *
    • - *

      - * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where - * the finding doesn't pose any threat, is expected, or both

      + *

      Unusual Behaviors

      + *
    • + *
    • + *

      Sensitive Data Identifications

      *
    • *
    */ - VerificationState?: VerificationState | string; + Types?: string[]; /** - *

    A list of findings that are related to the updated findings.

    + *

    The updated value for the level of importance assigned to the resources associated with + * the findings.

    + *

    A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.

    */ - RelatedFindings?: RelatedFinding[]; + Criticality?: number; /** - *

    The list of findings to update. BatchUpdateFindings can be used to update - * up to 100 findings at a time.

    - *

    For each finding, the list provides the finding identifier and the ARN of the finding - * provider.

    + *

    The updated note.

    */ - FindingIdentifiers: AwsSecurityFindingIdentifier[] | undefined; + Note?: NoteUpdate; + + /** + *

    A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.

    + */ + UserDefinedFields?: { [key: string]: string }; /** *

    The updated value for the finding confidence. Confidence is defined as the likelihood @@ -9813,47 +9851,38 @@ export interface BatchUpdateFindingsRequest { Workflow?: WorkflowUpdate; /** - *

    The updated note.

    - */ - Note?: NoteUpdate; - - /** - *

    A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.

    + *

    The list of findings to update. BatchUpdateFindings can be used to update + * up to 100 findings at a time.

    + *

    For each finding, the list provides the finding identifier and the ARN of the finding + * provider.

    */ - UserDefinedFields?: { [key: string]: string }; + FindingIdentifiers: AwsSecurityFindingIdentifier[] | undefined; /** - *

    One or more finding types in the format of namespace/category/classifier that classify a - * finding.

    - *

    Valid namespace values are as follows.

    + *

    Indicates the veracity of a finding.

    + *

    The available values for VerificationState are as follows.

    *
      *
    • - *

      Software and Configuration Checks

      - *
    • - *
    • - *

      TTPs

      + *

      + * UNKNOWN – The default disposition of a security finding

      *
    • *
    • - *

      Effects

      + *

      + * TRUE_POSITIVE – The security finding is confirmed

      *
    • *
    • - *

      Unusual Behaviors

      + *

      + * FALSE_POSITIVE – The security finding was determined to be a false + * alarm

      *
    • *
    • - *

      Sensitive Data Identifications

      + *

      + * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where + * the finding doesn't pose any threat, is expected, or both

      *
    • *
    */ - Types?: string[]; - - /** - *

    The updated value for the level of importance assigned to the resources associated with - * the findings.

    - *

    A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.

    - */ - Criticality?: number; + VerificationState?: VerificationState | string; } export namespace BatchUpdateFindingsRequest { @@ -9868,14 +9897,14 @@ export namespace BatchUpdateFindingsRequest { */ export interface BatchUpdateFindingsUnprocessedFinding { /** - *

    The identifier of the finding that was not updated.

    + *

    The message associated with the error.

    */ - FindingIdentifier: AwsSecurityFindingIdentifier | undefined; + ErrorMessage: string | undefined; /** - *

    The message associated with the error.

    + *

    The identifier of the finding that was not updated.

    */ - ErrorMessage: string | undefined; + FindingIdentifier: AwsSecurityFindingIdentifier | undefined; /** *

    The code associated with the error.

    @@ -9954,8 +9983,8 @@ export namespace CreateActionTargetResponse { export interface ResourceConflictException extends __SmithyException, $MetadataBearer { name: "ResourceConflictException"; $fault: "client"; - Message?: string; Code?: string; + Message?: string; } export namespace ResourceConflictException { @@ -9970,12 +9999,6 @@ export interface CreateInsightRequest { */ Name: string | undefined; - /** - *

    One or more attributes used to filter the findings included in the insight. The insight - * only includes findings that match the criteria defined in the filters.

    - */ - Filters: AwsSecurityFindingFilters | undefined; - /** *

    The attribute used to group the findings for the insight. The grouping attribute * identifies the type of item that the insight applies to. For example, if an insight is @@ -9983,6 +10006,12 @@ export interface CreateInsightRequest { * identifiers.

    */ GroupByAttribute: string | undefined; + + /** + *

    One or more attributes used to filter the findings included in the insight. The insight + * only includes findings that match the criteria defined in the filters.

    + */ + Filters: AwsSecurityFindingFilters | undefined; } export namespace CreateInsightRequest { @@ -10007,9 +10036,9 @@ export namespace CreateInsightResponse { export interface CreateMembersRequest { /** *

    The list of accounts to associate with the Security Hub master account. For each account, the - * list includes the account ID and the email address.

    + * list includes the account ID and optionally the email address.

    */ - AccountDetails?: AccountDetails[]; + AccountDetails: AccountDetails[] | undefined; } export namespace CreateMembersRequest { @@ -10164,7 +10193,7 @@ export interface DeleteMembersRequest { /** *

    The list of account IDs for the member accounts to delete.

    */ - AccountIds?: string[]; + AccountIds: string[] | undefined; } export namespace DeleteMembersRequest { @@ -10188,15 +10217,6 @@ export namespace DeleteMembersResponse { } export interface DescribeActionTargetsRequest { - /** - *

    The token that is required for pagination. On your first call to the - * DescribeActionTargets operation, set the value of this parameter to - * NULL.

    - *

    For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

    - */ - NextToken?: string; - /** *

    The maximum number of results to return.

    */ @@ -10206,6 +10226,15 @@ export interface DescribeActionTargetsRequest { *

    A list of custom action target ARNs for the custom action targets to retrieve.

    */ ActionTargetArns?: string[]; + + /** + *

    The token that is required for pagination. On your first call to the + * DescribeActionTargets operation, set the value of this parameter to + * NULL.

    + *

    For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

    + */ + NextToken?: string; } export namespace DescribeActionTargetsRequest { @@ -10257,14 +10286,14 @@ export interface DescribeHubResponse { AutoEnableControls?: boolean; /** - *

    The ARN of the Hub resource that was retrieved.

    + *

    The date and time when Security Hub was enabled in the account.

    */ - HubArn?: string; + SubscribedAt?: string; /** - *

    The date and time when Security Hub was enabled in the account.

    + *

    The ARN of the Hub resource that was retrieved.

    */ - SubscribedAt?: string; + HubArn?: string; } export namespace DescribeHubResponse { @@ -10273,6 +10302,35 @@ export namespace DescribeHubResponse { }); } +export interface DescribeOrganizationConfigurationRequest {} + +export namespace DescribeOrganizationConfigurationRequest { + export const filterSensitiveLog = (obj: DescribeOrganizationConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface DescribeOrganizationConfigurationResponse { + /** + *

    Whether to automatically enable Security Hub for new accounts in the organization.

    + *

    If set to true, then Security Hub is enabled for new accounts. If set to false, + * then new accounts are not added automatically.

    + */ + AutoEnable?: boolean; + + /** + *

    Whether the maximum number of allowed member accounts are already associated with the + * Security Hub administrator account.

    + */ + MemberAccountLimitReached?: boolean; +} + +export namespace DescribeOrganizationConfigurationResponse { + export const filterSensitiveLog = (obj: DescribeOrganizationConfigurationResponse): any => ({ + ...obj, + }); +} + export interface DescribeProductsRequest { /** *

    The maximum number of results to return.

    @@ -10309,6 +10367,21 @@ export interface Product { */ Description?: string; + /** + *

    The name of the company that provides the product.

    + */ + CompanyName?: string; + + /** + *

    The URL used to activate the product.

    + */ + ActivationUrl?: string; + + /** + *

    The categories assigned to the product.

    + */ + Categories?: string[]; + /** *

    The types of integration that the product supports. Available values are the * following.

    @@ -10328,9 +10401,9 @@ export interface Product { IntegrationTypes?: (IntegrationType | string)[]; /** - *

    The resource policy associated with the product.

    + *

    The ARN assigned to the product.

    */ - ProductSubscriptionResourcePolicy?: string; + ProductArn: string | undefined; /** *

    The URL for the page that contains more information about the product.

    @@ -10338,29 +10411,14 @@ export interface Product { MarketplaceUrl?: string; /** - *

    The name of the product.

    - */ - ProductName?: string; - - /** - *

    The categories assigned to the product.

    - */ - Categories?: string[]; - - /** - *

    The URL used to activate the product.

    - */ - ActivationUrl?: string; - - /** - *

    The ARN assigned to the product.

    + *

    The resource policy associated with the product.

    */ - ProductArn: string | undefined; + ProductSubscriptionResourcePolicy?: string; /** - *

    The name of the company that provides the product.

    + *

    The name of the product.

    */ - CompanyName?: string; + ProductName?: string; } export namespace Product { @@ -10414,19 +10472,9 @@ export namespace DescribeStandardsRequest { */ export interface Standard { /** - *

    The ARN of a standard.

    - */ - StandardsArn?: string; - - /** - *

    A description of the standard.

    - */ - Description?: string; - - /** - *

    The name of the standard.

    + *

    A description of the standard.

    */ - Name?: string; + Description?: string; /** *

    Whether the standard is enabled by default. When Security Hub is enabled from the console, if a @@ -10437,6 +10485,16 @@ export interface Standard { * false.

    */ EnabledByDefault?: boolean; + + /** + *

    The ARN of a standard.

    + */ + StandardsArn?: string; + + /** + *

    The name of the standard.

    + */ + Name?: string; } export namespace Standard { @@ -10447,14 +10505,14 @@ export namespace Standard { export interface DescribeStandardsResponse { /** - *

    The pagination token to use to request the next page of results.

    + *

    A list of available standards.

    */ - NextToken?: string; + Standards?: Standard[]; /** - *

    A list of available standards.

    + *

    The pagination token to use to request the next page of results.

    */ - Standards?: Standard[]; + NextToken?: string; } export namespace DescribeStandardsResponse { @@ -10465,7 +10523,10 @@ export namespace DescribeStandardsResponse { export interface DescribeStandardsControlsRequest { /** - *

    The ARN of a resource that represents your subscription to a supported standard.

    + *

    The ARN of a resource that represents your subscription to a supported standard. To get + * the subscription ARNs of the standards you have enabled, use the + * GetEnabledStandards + * operation.

    */ StandardsSubscriptionArn: string | undefined; @@ -10507,26 +10568,34 @@ export interface StandardsControl { */ RemediationUrl?: string; + /** + *

    The longer description of the security standard control. Provides information about what + * the control is checking for.

    + */ + Description?: string; + /** *

    The ARN of the security standard control.

    */ StandardsControlArn?: string; /** - *

    The date and time that the status of the security standard control was most recently - * updated.

    + *

    The identifier of the security standard control.

    */ - ControlStatusUpdatedAt?: Date; + ControlId?: string; /** - *

    The list of requirements that are related to this control.

    + *

    The current status of the security standard control. Indicates whether the control is + * enabled or disabled. Security Hub does not check against disabled controls.

    */ - RelatedRequirements?: string[]; + ControlStatus?: ControlStatus | string; /** - *

    The title of the security standard control.

    + *

    The severity of findings generated from this security standard control.

    + *

    The finding severity is based on an assessment of how easy it would be to compromise AWS + * resources if the issue is detected.

    */ - Title?: string; + SeverityRating?: SeverityRating | string; /** *

    The reason provided for the most recent change in status for the control.

    @@ -10534,28 +10603,20 @@ export interface StandardsControl { DisabledReason?: string; /** - *

    The identifier of the security standard control.

    - */ - ControlId?: string; - - /** - *

    The severity of findings generated from this security standard control.

    - *

    The finding severity is based on an assessment of how easy it would be to compromise AWS - * resources if the issue is detected.

    + *

    The title of the security standard control.

    */ - SeverityRating?: SeverityRating | string; + Title?: string; /** - *

    The longer description of the security standard control. Provides information about what - * the control is checking for.

    + *

    The list of requirements that are related to this control.

    */ - Description?: string; + RelatedRequirements?: string[]; /** - *

    The current status of the security standard control. Indicates whether the control is - * enabled or disabled. Security Hub does not check against disabled controls.

    + *

    The date and time that the status of the security standard control was most recently + * updated.

    */ - ControlStatus?: ControlStatus | string; + ControlStatusUpdatedAt?: Date; } export namespace StandardsControl { @@ -10603,6 +10664,27 @@ export namespace DisableImportFindingsForProductResponse { }); } +export interface DisableOrganizationAdminAccountRequest { + /** + *

    The AWS account identifier of the Security Hub administrator account.

    + */ + AdminAccountId: string | undefined; +} + +export namespace DisableOrganizationAdminAccountRequest { + export const filterSensitiveLog = (obj: DisableOrganizationAdminAccountRequest): any => ({ + ...obj, + }); +} + +export interface DisableOrganizationAdminAccountResponse {} + +export namespace DisableOrganizationAdminAccountResponse { + export const filterSensitiveLog = (obj: DisableOrganizationAdminAccountResponse): any => ({ + ...obj, + }); +} + export interface DisableSecurityHubRequest {} export namespace DisableSecurityHubRequest { @@ -10639,7 +10721,7 @@ export interface DisassociateMembersRequest { /** *

    The account IDs of the member accounts to disassociate from the master account.

    */ - AccountIds?: string[]; + AccountIds: string[] | undefined; } export namespace DisassociateMembersRequest { @@ -10682,7 +10764,34 @@ export namespace EnableImportFindingsForProductResponse { }); } +export interface EnableOrganizationAdminAccountRequest { + /** + *

    The AWS account identifier of the account to designate as the Security Hub administrator + * account.

    + */ + AdminAccountId: string | undefined; +} + +export namespace EnableOrganizationAdminAccountRequest { + export const filterSensitiveLog = (obj: EnableOrganizationAdminAccountRequest): any => ({ + ...obj, + }); +} + +export interface EnableOrganizationAdminAccountResponse {} + +export namespace EnableOrganizationAdminAccountResponse { + export const filterSensitiveLog = (obj: EnableOrganizationAdminAccountResponse): any => ({ + ...obj, + }); +} + export interface EnableSecurityHubRequest { + /** + *

    The tags to add to the hub resource when you enable Security Hub.

    + */ + Tags?: { [key: string]: string }; + /** *

    Whether to enable the security standards that Security Hub has designated as automatically * enabled. If you do not provide a value for EnableDefaultStandards, it is set @@ -10690,11 +10799,6 @@ export interface EnableSecurityHubRequest { * EnableDefaultStandards to false.

    */ EnableDefaultStandards?: boolean; - - /** - *

    The tags to add to the hub resource when you enable Security Hub.

    - */ - Tags?: { [key: string]: string }; } export namespace EnableSecurityHubRequest { @@ -10717,6 +10821,11 @@ export interface GetEnabledStandardsRequest { */ StandardsSubscriptionArns?: string[]; + /** + *

    The maximum number of results to return in the response.

    + */ + MaxResults?: number; + /** *

    The token that is required for pagination. On your first call to the * GetEnabledStandards operation, set the value of this parameter to @@ -10725,11 +10834,6 @@ export interface GetEnabledStandardsRequest { * parameter to the value returned from the previous response.

    */ NextToken?: string; - - /** - *

    The maximum number of results to return in the response.

    - */ - MaxResults?: number; } export namespace GetEnabledStandardsRequest { @@ -10739,16 +10843,16 @@ export namespace GetEnabledStandardsRequest { } export interface GetEnabledStandardsResponse { - /** - *

    The pagination token to use to request the next page of results.

    - */ - NextToken?: string; - /** *

    The list of StandardsSubscriptions objects that include information about * the enabled standards.

    */ StandardsSubscriptions?: StandardsSubscription[]; + + /** + *

    The pagination token to use to request the next page of results.

    + */ + NextToken?: string; } export namespace GetEnabledStandardsResponse { @@ -10767,14 +10871,14 @@ export enum SortOrder { */ export interface SortCriterion { /** - *

    The order used to sort findings.

    + *

    The finding attribute used to sort findings.

    */ - SortOrder?: SortOrder | string; + Field?: string; /** - *

    The finding attribute used to sort findings.

    + *

    The order used to sort findings.

    */ - Field?: string; + SortOrder?: SortOrder | string; } export namespace SortCriterion { @@ -10819,181 +10923,3 @@ export namespace GetFindingsRequest { ...obj, }); } - -export interface GetFindingsResponse { - /** - *

    The findings that matched the filters specified in the request.

    - */ - Findings: AwsSecurityFinding[] | undefined; - - /** - *

    The pagination token to use to request the next page of results.

    - */ - NextToken?: string; -} - -export namespace GetFindingsResponse { - export const filterSensitiveLog = (obj: GetFindingsResponse): any => ({ - ...obj, - }); -} - -export interface GetInsightResultsRequest { - /** - *

    The ARN of the insight for which to return results.

    - */ - InsightArn: string | undefined; -} - -export namespace GetInsightResultsRequest { - export const filterSensitiveLog = (obj: GetInsightResultsRequest): any => ({ - ...obj, - }); -} - -/** - *

    The insight result values returned by the GetInsightResults - * operation.

    - */ -export interface InsightResultValue { - /** - *

    The value of the attribute that the findings are grouped by for the insight whose - * results are returned by the GetInsightResults operation.

    - */ - GroupByAttributeValue: string | undefined; - - /** - *

    The number of findings returned for each GroupByAttributeValue.

    - */ - Count: number | undefined; -} - -export namespace InsightResultValue { - export const filterSensitiveLog = (obj: InsightResultValue): any => ({ - ...obj, - }); -} - -/** - *

    The insight results returned by the GetInsightResults operation.

    - */ -export interface InsightResults { - /** - *

    The ARN of the insight whose results are returned by the GetInsightResults - * operation.

    - */ - InsightArn: string | undefined; - - /** - *

    The list of insight result values returned by the GetInsightResults - * operation.

    - */ - ResultValues: InsightResultValue[] | undefined; - - /** - *

    The attribute that the findings are grouped by for the insight whose results are - * returned by the GetInsightResults operation.

    - */ - GroupByAttribute: string | undefined; -} - -export namespace InsightResults { - export const filterSensitiveLog = (obj: InsightResults): any => ({ - ...obj, - }); -} - -export interface GetInsightResultsResponse { - /** - *

    The insight results returned by the operation.

    - */ - InsightResults: InsightResults | undefined; -} - -export namespace GetInsightResultsResponse { - export const filterSensitiveLog = (obj: GetInsightResultsResponse): any => ({ - ...obj, - }); -} - -export interface GetInsightsRequest { - /** - *

    The maximum number of items to return in the response.

    - */ - MaxResults?: number; - - /** - *

    The token that is required for pagination. On your first call to the - * GetInsights operation, set the value of this parameter to - * NULL.

    - *

    For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

    - */ - NextToken?: string; - - /** - *

    The ARNs of the insights to describe. If you do not provide any insight ARNs, then - * GetInsights returns all of your custom insights. It does not return any - * managed insights.

    - */ - InsightArns?: string[]; -} - -export namespace GetInsightsRequest { - export const filterSensitiveLog = (obj: GetInsightsRequest): any => ({ - ...obj, - }); -} - -/** - *

    Contains information about a Security Hub insight.

    - */ -export interface Insight { - /** - *

    The ARN of a Security Hub insight.

    - */ - InsightArn: string | undefined; - - /** - *

    The name of a Security Hub insight.

    - */ - Name: string | undefined; - - /** - *

    The grouping attribute for the insight's findings. Indicates how to group the matching - * findings, and identifies the type of item that the insight applies to. For example, if an - * insight is grouped by resource identifier, then the insight produces a list of resource - * identifiers.

    - */ - GroupByAttribute: string | undefined; - - /** - *

    One or more attributes used to filter the findings included in the insight. The insight - * only includes findings that match the criteria defined in the filters.

    - */ - Filters: AwsSecurityFindingFilters | undefined; -} - -export namespace Insight { - export const filterSensitiveLog = (obj: Insight): any => ({ - ...obj, - }); -} - -export interface GetInsightsResponse { - /** - *

    The insights returned by the operation.

    - */ - Insights: Insight[] | undefined; - - /** - *

    The pagination token to use to request the next page of results.

    - */ - NextToken?: string; -} - -export namespace GetInsightsResponse { - export const filterSensitiveLog = (obj: GetInsightsResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-securityhub/models/models_1.ts b/clients/client-securityhub/models/models_1.ts index 3419e1f52deca..d375251ce7a9e 100644 --- a/clients/client-securityhub/models/models_1.ts +++ b/clients/client-securityhub/models/models_1.ts @@ -1,6 +1,192 @@ -import { AwsSecurityFindingFilters, ControlStatus, NoteUpdate, RecordState, Result } from "./models_0"; +import { + AdminAccount, + AwsSecurityFinding, + AwsSecurityFindingFilters, + ControlStatus, + NoteUpdate, + RecordState, + Result, +} from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface GetFindingsResponse { + /** + *

    The findings that matched the filters specified in the request.

    + */ + Findings: AwsSecurityFinding[] | undefined; + + /** + *

    The pagination token to use to request the next page of results.

    + */ + NextToken?: string; +} + +export namespace GetFindingsResponse { + export const filterSensitiveLog = (obj: GetFindingsResponse): any => ({ + ...obj, + }); +} + +export interface GetInsightResultsRequest { + /** + *

    The ARN of the insight for which to return results.

    + */ + InsightArn: string | undefined; +} + +export namespace GetInsightResultsRequest { + export const filterSensitiveLog = (obj: GetInsightResultsRequest): any => ({ + ...obj, + }); +} + +/** + *

    The insight result values returned by the GetInsightResults + * operation.

    + */ +export interface InsightResultValue { + /** + *

    The number of findings returned for each GroupByAttributeValue.

    + */ + Count: number | undefined; + + /** + *

    The value of the attribute that the findings are grouped by for the insight whose + * results are returned by the GetInsightResults operation.

    + */ + GroupByAttributeValue: string | undefined; +} + +export namespace InsightResultValue { + export const filterSensitiveLog = (obj: InsightResultValue): any => ({ + ...obj, + }); +} + +/** + *

    The insight results returned by the GetInsightResults operation.

    + */ +export interface InsightResults { + /** + *

    The ARN of the insight whose results are returned by the GetInsightResults + * operation.

    + */ + InsightArn: string | undefined; + + /** + *

    The attribute that the findings are grouped by for the insight whose results are + * returned by the GetInsightResults operation.

    + */ + GroupByAttribute: string | undefined; + + /** + *

    The list of insight result values returned by the GetInsightResults + * operation.

    + */ + ResultValues: InsightResultValue[] | undefined; +} + +export namespace InsightResults { + export const filterSensitiveLog = (obj: InsightResults): any => ({ + ...obj, + }); +} + +export interface GetInsightResultsResponse { + /** + *

    The insight results returned by the operation.

    + */ + InsightResults: InsightResults | undefined; +} + +export namespace GetInsightResultsResponse { + export const filterSensitiveLog = (obj: GetInsightResultsResponse): any => ({ + ...obj, + }); +} + +export interface GetInsightsRequest { + /** + *

    The ARNs of the insights to describe. If you do not provide any insight ARNs, then + * GetInsights returns all of your custom insights. It does not return any + * managed insights.

    + */ + InsightArns?: string[]; + + /** + *

    The maximum number of items to return in the response.

    + */ + MaxResults?: number; + + /** + *

    The token that is required for pagination. On your first call to the + * GetInsights operation, set the value of this parameter to + * NULL.

    + *

    For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

    + */ + NextToken?: string; +} + +export namespace GetInsightsRequest { + export const filterSensitiveLog = (obj: GetInsightsRequest): any => ({ + ...obj, + }); +} + +/** + *

    Contains information about a Security Hub insight.

    + */ +export interface Insight { + /** + *

    The ARN of a Security Hub insight.

    + */ + InsightArn: string | undefined; + + /** + *

    The name of a Security Hub insight.

    + */ + Name: string | undefined; + + /** + *

    One or more attributes used to filter the findings included in the insight. The insight + * only includes findings that match the criteria defined in the filters.

    + */ + Filters: AwsSecurityFindingFilters | undefined; + + /** + *

    The grouping attribute for the insight's findings. Indicates how to group the matching + * findings, and identifies the type of item that the insight applies to. For example, if an + * insight is grouped by resource identifier, then the insight produces a list of resource + * identifiers.

    + */ + GroupByAttribute: string | undefined; +} + +export namespace Insight { + export const filterSensitiveLog = (obj: Insight): any => ({ + ...obj, + }); +} + +export interface GetInsightsResponse { + /** + *

    The pagination token to use to request the next page of results.

    + */ + NextToken?: string; + + /** + *

    The insights returned by the operation.

    + */ + Insights: Insight[] | undefined; +} + +export namespace GetInsightsResponse { + export const filterSensitiveLog = (obj: GetInsightsResponse): any => ({ + ...obj, + }); +} + export interface GetInvitationsCountRequest {} export namespace GetInvitationsCountRequest { @@ -41,14 +227,14 @@ export interface Invitation { InvitedAt?: Date; /** - *

    The current status of the association between the member and master accounts.

    + *

    The ID of the invitation sent to the member account.

    */ - MemberStatus?: string; + InvitationId?: string; /** - *

    The ID of the invitation sent to the member account.

    + *

    The current status of the association between the member and master accounts.

    */ - InvitationId?: string; + MemberStatus?: string; /** *

    The account ID of the Security Hub master account that the invitation was sent from.

    @@ -94,14 +280,14 @@ export namespace GetMembersRequest { */ export interface Member { /** - *

    The email address of the member account.

    + *

    The AWS account ID of the member account.

    */ - Email?: string; + AccountId?: string; /** - *

    The timestamp for the date and time when the member account was updated.

    + *

    The AWS account ID of the Security Hub master account associated with this member account.

    */ - UpdatedAt?: Date; + MasterId?: string; /** *

    A timestamp for the date and time when the invitation was sent to the member @@ -109,6 +295,11 @@ export interface Member { */ InvitedAt?: Date; + /** + *

    The timestamp for the date and time when the member account was updated.

    + */ + UpdatedAt?: Date; + /** *

    The status of the relationship between the member account and its master account. *

    @@ -126,7 +317,8 @@ export interface Member { *
  • *
  • *

    - * ASSOCIATED - Indicates that the member account accepted the + * ENABLED - Indicates that the member account is currently active. For + * manually invited member accounts, indicates that the member account accepted the * invitation.

    *
  • *
  • @@ -149,14 +341,9 @@ export interface Member { MemberStatus?: string; /** - *

    The AWS account ID of the Security Hub master account associated with this member account.

    - */ - MasterId?: string; - - /** - *

    The AWS account ID of the member account.

    + *

    The email address of the member account.

    */ - AccountId?: string; + Email?: string; } export namespace Member { @@ -167,15 +354,15 @@ export namespace Member { export interface GetMembersResponse { /** - *

    The list of AWS accounts that could not be processed. For each account, the list - * includes the account ID and the email address.

    + *

    The list of details about the Security Hub member accounts.

    */ - UnprocessedAccounts?: Result[]; + Members?: Member[]; /** - *

    The list of details about the Security Hub member accounts.

    + *

    The list of AWS accounts that could not be processed. For each account, the list + * includes the account ID and the email address.

    */ - Members?: Member[]; + UnprocessedAccounts?: Result[]; } export namespace GetMembersResponse { @@ -188,7 +375,7 @@ export interface InviteMembersRequest { /** *

    The list of account IDs of the AWS accounts to invite to Security Hub as members.

    */ - AccountIds?: string[]; + AccountIds: string[] | undefined; } export namespace InviteMembersRequest { @@ -212,6 +399,11 @@ export namespace InviteMembersResponse { } export interface ListEnabledProductsForImportRequest { + /** + *

    The maximum number of items to return in the response.

    + */ + MaxResults?: number; + /** *

    The token that is required for pagination. On your first call to the * ListEnabledProductsForImport operation, set the value of this parameter to @@ -220,11 +412,6 @@ export interface ListEnabledProductsForImportRequest { * parameter to the value returned from the previous response.

    */ NextToken?: string; - - /** - *

    The maximum number of items to return in the response.

    - */ - MaxResults?: number; } export namespace ListEnabledProductsForImportRequest { @@ -252,6 +439,11 @@ export namespace ListEnabledProductsForImportResponse { } export interface ListInvitationsRequest { + /** + *

    The maximum number of items to return in the response.

    + */ + MaxResults?: number; + /** *

    The token that is required for pagination. On your first call to the * ListInvitations operation, set the value of this parameter to @@ -260,11 +452,6 @@ export interface ListInvitationsRequest { * parameter to the value returned from the previous response.

    */ NextToken?: string; - - /** - *

    The maximum number of items to return in the response.

    - */ - MaxResults?: number; } export namespace ListInvitationsRequest { @@ -275,14 +462,14 @@ export namespace ListInvitationsRequest { export interface ListInvitationsResponse { /** - *

    The details of the invitations returned by the operation.

    + *

    The pagination token to use to request the next page of results.

    */ - Invitations?: Invitation[]; + NextToken?: string; /** - *

    The pagination token to use to request the next page of results.

    + *

    The details of the invitations returned by the operation.

    */ - NextToken?: string; + Invitations?: Invitation[]; } export namespace ListInvitationsResponse { @@ -297,17 +484,6 @@ export interface ListMembersRequest { */ MaxResults?: number; - /** - *

    Specifies which member accounts to include in the response based on their relationship - * status with the master account. The default value is TRUE.

    - *

    If OnlyAssociated is set to TRUE, the response includes member - * accounts whose relationship status with the master is set to ENABLED or - * DISABLED.

    - *

    If OnlyAssociated is set to FALSE, the response includes all - * existing member accounts.

    - */ - OnlyAssociated?: boolean; - /** *

    The token that is required for pagination. On your first call to the * ListMembers operation, set the value of this parameter to @@ -316,6 +492,16 @@ export interface ListMembersRequest { * parameter to the value returned from the previous response.

    */ NextToken?: string; + + /** + *

    Specifies which member accounts to include in the response based on their relationship + * status with the master account. The default value is TRUE.

    + *

    If OnlyAssociated is set to TRUE, the response includes member + * accounts whose relationship status with the master is set to ENABLED.

    + *

    If OnlyAssociated is set to FALSE, the response includes all + * existing member accounts.

    + */ + OnlyAssociated?: boolean; } export namespace ListMembersRequest { @@ -325,19 +511,58 @@ export namespace ListMembersRequest { } export interface ListMembersResponse { + /** + *

    The pagination token to use to request the next page of results.

    + */ + NextToken?: string; + /** *

    Member details returned by the operation.

    */ Members?: Member[]; +} + +export namespace ListMembersResponse { + export const filterSensitiveLog = (obj: ListMembersResponse): any => ({ + ...obj, + }); +} + +export interface ListOrganizationAdminAccountsRequest { + /** + *

    The maximum number of items to return in the response.

    + */ + MaxResults?: number; + /** + *

    The token that is required for pagination. On your first call to the + * ListOrganizationAdminAccounts operation, set the value of this parameter to + * NULL. For subsequent calls to the operation, to continue listing data, set + * the value of this parameter to the value returned from the previous response.

    + */ + NextToken?: string; +} + +export namespace ListOrganizationAdminAccountsRequest { + export const filterSensitiveLog = (obj: ListOrganizationAdminAccountsRequest): any => ({ + ...obj, + }); +} + +export interface ListOrganizationAdminAccountsResponse { /** *

    The pagination token to use to request the next page of results.

    */ NextToken?: string; + + /** + *

    The list of Security Hub administrator accounts.

    + */ + AdminAccounts?: AdminAccount[]; } -export namespace ListMembersResponse { - export const filterSensitiveLog = (obj: ListMembersResponse): any => ({ +export namespace ListOrganizationAdminAccountsResponse { + export const filterSensitiveLog = (obj: ListOrganizationAdminAccountsResponse): any => ({ ...obj, }); } @@ -370,14 +595,14 @@ export namespace ListTagsForResourceResponse { export interface TagResourceRequest { /** - *

    The tags to add to the resource.

    + *

    The ARN of the resource to apply the tags to.

    */ - Tags: { [key: string]: string } | undefined; + ResourceArn: string | undefined; /** - *

    The ARN of the resource to apply the tags to.

    + *

    The tags to add to the resource.

    */ - ResourceArn: string | undefined; + Tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -396,14 +621,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

    The ARN of the resource to remove the tags from.

    + *

    The tag keys associated with the tags to remove from the resource.

    */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *

    The tag keys associated with the tags to remove from the resource.

    + *

    The ARN of the resource to remove the tags from.

    */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -421,11 +646,6 @@ export namespace UntagResourceResponse { } export interface UpdateActionTargetRequest { - /** - *

    The updated name of the custom action target.

    - */ - Name?: string; - /** *

    The ARN of the custom action target to update.

    */ @@ -435,6 +655,11 @@ export interface UpdateActionTargetRequest { *

    The updated description for the custom action target.

    */ Description?: string; + + /** + *

    The updated name of the custom action target.

    + */ + Name?: string; } export namespace UpdateActionTargetRequest { @@ -453,9 +678,9 @@ export namespace UpdateActionTargetResponse { export interface UpdateFindingsRequest { /** - *

    A collection of attributes that specify which findings you want to update.

    + *

    The updated note for the finding.

    */ - Filters: AwsSecurityFindingFilters | undefined; + Note?: NoteUpdate; /** *

    The updated record state for the finding.

    @@ -463,9 +688,9 @@ export interface UpdateFindingsRequest { RecordState?: RecordState | string; /** - *

    The updated note for the finding.

    + *

    A collection of attributes that specify which findings you want to update.

    */ - Note?: NoteUpdate; + Filters: AwsSecurityFindingFilters | undefined; } export namespace UpdateFindingsRequest { @@ -484,24 +709,24 @@ export namespace UpdateFindingsResponse { export interface UpdateInsightRequest { /** - *

    The ARN of the insight that you want to update.

    + *

    The updated name for the insight.

    */ - InsightArn: string | undefined; + Name?: string; /** - *

    The updated filters that define this insight.

    + *

    The updated GroupBy attribute that defines this insight.

    */ - Filters?: AwsSecurityFindingFilters; + GroupByAttribute?: string; /** - *

    The updated GroupBy attribute that defines this insight.

    + *

    The updated filters that define this insight.

    */ - GroupByAttribute?: string; + Filters?: AwsSecurityFindingFilters; /** - *

    The updated name for the insight.

    + *

    The ARN of the insight that you want to update.

    */ - Name?: string; + InsightArn: string | undefined; } export namespace UpdateInsightRequest { @@ -518,6 +743,30 @@ export namespace UpdateInsightResponse { }); } +export interface UpdateOrganizationConfigurationRequest { + /** + *

    Whether to automatically enable Security Hub for new accounts in the organization.

    + *

    By default, this is false, and new accounts are not added + * automatically.

    + *

    To automatically enable Security Hub for new accounts, set this to true.

    + */ + AutoEnable: boolean | undefined; +} + +export namespace UpdateOrganizationConfigurationRequest { + export const filterSensitiveLog = (obj: UpdateOrganizationConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateOrganizationConfigurationResponse {} + +export namespace UpdateOrganizationConfigurationResponse { + export const filterSensitiveLog = (obj: UpdateOrganizationConfigurationResponse): any => ({ + ...obj, + }); +} + export interface UpdateSecurityHubConfigurationRequest { /** *

    Whether to automatically enable new controls when they are added to standards that are @@ -550,15 +799,15 @@ export interface UpdateStandardsControlRequest { StandardsControlArn: string | undefined; /** - *

    A description of the reason why you are disabling a security standard control. If you - * are disabling a control, then this is required.

    + *

    The updated status of the security standard control.

    */ - DisabledReason?: string; + ControlStatus?: ControlStatus | string; /** - *

    The updated status of the security standard control.

    + *

    A description of the reason why you are disabling a security standard control. If you + * are disabling a control, then this is required.

    */ - ControlStatus?: ControlStatus | string; + DisabledReason?: string; } export namespace UpdateStandardsControlRequest { diff --git a/clients/client-securityhub/pagination/ListOrganizationAdminAccountsPaginator.ts b/clients/client-securityhub/pagination/ListOrganizationAdminAccountsPaginator.ts new file mode 100644 index 0000000000000..342459a0b030d --- /dev/null +++ b/clients/client-securityhub/pagination/ListOrganizationAdminAccountsPaginator.ts @@ -0,0 +1,57 @@ +import { SecurityHub } from "../SecurityHub"; +import { SecurityHubClient } from "../SecurityHubClient"; +import { + ListOrganizationAdminAccountsCommand, + ListOrganizationAdminAccountsCommandInput, + ListOrganizationAdminAccountsCommandOutput, +} from "../commands/ListOrganizationAdminAccountsCommand"; +import { SecurityHubPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: SecurityHubClient, + input: ListOrganizationAdminAccountsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOrganizationAdminAccountsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: SecurityHub, + input: ListOrganizationAdminAccountsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOrganizationAdminAccounts(input, ...args); +}; +export async function* paginateListOrganizationAdminAccounts( + config: SecurityHubPaginationConfiguration, + input: ListOrganizationAdminAccountsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListOrganizationAdminAccountsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SecurityHub) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SecurityHubClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-securityhub/protocols/Aws_restJson1.ts b/clients/client-securityhub/protocols/Aws_restJson1.ts index f325c7b971a40..c08b4cafd4144 100644 --- a/clients/client-securityhub/protocols/Aws_restJson1.ts +++ b/clients/client-securityhub/protocols/Aws_restJson1.ts @@ -28,6 +28,10 @@ import { DescribeActionTargetsCommandOutput, } from "../commands/DescribeActionTargetsCommand"; import { DescribeHubCommandInput, DescribeHubCommandOutput } from "../commands/DescribeHubCommand"; +import { + DescribeOrganizationConfigurationCommandInput, + DescribeOrganizationConfigurationCommandOutput, +} from "../commands/DescribeOrganizationConfigurationCommand"; import { DescribeProductsCommandInput, DescribeProductsCommandOutput } from "../commands/DescribeProductsCommand"; import { DescribeStandardsCommandInput, DescribeStandardsCommandOutput } from "../commands/DescribeStandardsCommand"; import { @@ -38,6 +42,10 @@ import { DisableImportFindingsForProductCommandInput, DisableImportFindingsForProductCommandOutput, } from "../commands/DisableImportFindingsForProductCommand"; +import { + DisableOrganizationAdminAccountCommandInput, + DisableOrganizationAdminAccountCommandOutput, +} from "../commands/DisableOrganizationAdminAccountCommand"; import { DisableSecurityHubCommandInput, DisableSecurityHubCommandOutput } from "../commands/DisableSecurityHubCommand"; import { DisassociateFromMasterAccountCommandInput, @@ -51,6 +59,10 @@ import { EnableImportFindingsForProductCommandInput, EnableImportFindingsForProductCommandOutput, } from "../commands/EnableImportFindingsForProductCommand"; +import { + EnableOrganizationAdminAccountCommandInput, + EnableOrganizationAdminAccountCommandOutput, +} from "../commands/EnableOrganizationAdminAccountCommand"; import { EnableSecurityHubCommandInput, EnableSecurityHubCommandOutput } from "../commands/EnableSecurityHubCommand"; import { GetEnabledStandardsCommandInput, @@ -72,6 +84,10 @@ import { } from "../commands/ListEnabledProductsForImportCommand"; import { ListInvitationsCommandInput, ListInvitationsCommandOutput } from "../commands/ListInvitationsCommand"; import { ListMembersCommandInput, ListMembersCommandOutput } from "../commands/ListMembersCommand"; +import { + ListOrganizationAdminAccountsCommandInput, + ListOrganizationAdminAccountsCommandOutput, +} from "../commands/ListOrganizationAdminAccountsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, @@ -81,6 +97,10 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../comman import { UpdateActionTargetCommandInput, UpdateActionTargetCommandOutput } from "../commands/UpdateActionTargetCommand"; import { UpdateFindingsCommandInput, UpdateFindingsCommandOutput } from "../commands/UpdateFindingsCommand"; import { UpdateInsightCommandInput, UpdateInsightCommandOutput } from "../commands/UpdateInsightCommand"; +import { + UpdateOrganizationConfigurationCommandInput, + UpdateOrganizationConfigurationCommandOutput, +} from "../commands/UpdateOrganizationConfigurationCommand"; import { UpdateSecurityHubConfigurationCommandInput, UpdateSecurityHubConfigurationCommandOutput, @@ -93,6 +113,7 @@ import { AccessDeniedException, AccountDetails, ActionTarget, + AdminAccount, AvailabilityZone, AwsApiGatewayAccessLogSettings, AwsApiGatewayCanarySettings, @@ -263,9 +284,6 @@ import { DateFilter, DateRange, ImportFindingsError, - Insight, - InsightResultValue, - InsightResults, IntegrationType, InternalException, InvalidAccessException, @@ -315,7 +333,7 @@ import { Workflow, WorkflowUpdate, } from "../models/models_0"; -import { Invitation, Member } from "../models/models_1"; +import { Insight, InsightResultValue, InsightResults, Invitation, Member } from "../models/models_1"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException, @@ -759,6 +777,28 @@ export const serializeAws_restJson1DescribeHubCommand = async ( }); }; +export const serializeAws_restJson1DescribeOrganizationConfigurationCommand = async ( + input: DescribeOrganizationConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/organization/configuration"; + let body: any; + body = "{}"; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeProductsCommand = async ( input: DescribeProductsCommandInput, context: __SerdeContext @@ -888,6 +928,30 @@ export const serializeAws_restJson1DisableImportFindingsForProductCommand = asyn }); }; +export const serializeAws_restJson1DisableOrganizationAdminAccountCommand = async ( + input: DisableOrganizationAdminAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/organization/admin/disable"; + let body: any; + body = JSON.stringify({ + ...(input.AdminAccountId !== undefined && { AdminAccountId: input.AdminAccountId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DisableSecurityHubCommand = async ( input: DisableSecurityHubCommandInput, context: __SerdeContext @@ -982,6 +1046,30 @@ export const serializeAws_restJson1EnableImportFindingsForProductCommand = async }); }; +export const serializeAws_restJson1EnableOrganizationAdminAccountCommand = async ( + input: EnableOrganizationAdminAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/organization/admin/enable"; + let body: any; + body = JSON.stringify({ + ...(input.AdminAccountId !== undefined && { AdminAccountId: input.AdminAccountId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1EnableSecurityHubCommand = async ( input: EnableSecurityHubCommandInput, context: __SerdeContext @@ -1236,8 +1324,8 @@ export const serializeAws_restJson1ListEnabledProductsForImportCommand = async ( }; let resolvedPath = "/productSubscriptions"; const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1262,8 +1350,8 @@ export const serializeAws_restJson1ListInvitationsCommand = async ( }; let resolvedPath = "/invitations"; const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1289,7 +1377,33 @@ export const serializeAws_restJson1ListMembersCommand = async ( let resolvedPath = "/members"; const query: any = { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.OnlyAssociated !== undefined && { OnlyAssociated: input.OnlyAssociated.toString() }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListOrganizationAdminAccountsCommand = async ( + input: ListOrganizationAdminAccountsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/organization/admin"; + const query: any = { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; @@ -1514,6 +1628,30 @@ export const serializeAws_restJson1UpdateInsightCommand = async ( }); }; +export const serializeAws_restJson1UpdateOrganizationConfigurationCommand = async ( + input: UpdateOrganizationConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/organization/configuration"; + let body: any; + body = JSON.stringify({ + ...(input.AutoEnable !== undefined && { AutoEnable: input.AutoEnable }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1UpdateSecurityHubConfigurationCommand = async ( input: UpdateSecurityHubConfigurationCommandInput, context: __SerdeContext @@ -2859,6 +2997,89 @@ const deserializeAws_restJson1DescribeHubCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DescribeOrganizationConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeOrganizationConfigurationCommandError(output, context); + } + const contents: DescribeOrganizationConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + AutoEnable: undefined, + MemberAccountLimitReached: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AutoEnable !== undefined && data.AutoEnable !== null) { + contents.AutoEnable = data.AutoEnable; + } + if (data.MemberAccountLimitReached !== undefined && data.MemberAccountLimitReached !== null) { + contents.MemberAccountLimitReached = data.MemberAccountLimitReached; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeOrganizationConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalException": + case "com.amazonaws.securityhub#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidAccessException": + case "com.amazonaws.securityhub#InvalidAccessException": + response = { + ...(await deserializeAws_restJson1InvalidAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.securityhub#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.securityhub#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DescribeProductsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3183,6 +3404,81 @@ const deserializeAws_restJson1DisableImportFindingsForProductCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DisableOrganizationAdminAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DisableOrganizationAdminAccountCommandError(output, context); + } + const contents: DisableOrganizationAdminAccountCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DisableOrganizationAdminAccountCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalException": + case "com.amazonaws.securityhub#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidAccessException": + case "com.amazonaws.securityhub#InvalidAccessException": + response = { + ...(await deserializeAws_restJson1InvalidAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.securityhub#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.securityhub#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DisableSecurityHubCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3511,6 +3807,81 @@ const deserializeAws_restJson1EnableImportFindingsForProductCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1EnableOrganizationAdminAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1EnableOrganizationAdminAccountCommandError(output, context); + } + const contents: EnableOrganizationAdminAccountCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1EnableOrganizationAdminAccountCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalException": + case "com.amazonaws.securityhub#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidAccessException": + case "com.amazonaws.securityhub#InvalidAccessException": + response = { + ...(await deserializeAws_restJson1InvalidAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.securityhub#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.securityhub#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1EnableSecurityHubCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4529,6 +4900,89 @@ const deserializeAws_restJson1ListMembersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListOrganizationAdminAccountsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListOrganizationAdminAccountsCommandError(output, context); + } + const contents: ListOrganizationAdminAccountsCommandOutput = { + $metadata: deserializeMetadata(output), + AdminAccounts: undefined, + NextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AdminAccounts !== undefined && data.AdminAccounts !== null) { + contents.AdminAccounts = deserializeAws_restJson1AdminAccounts(data.AdminAccounts, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListOrganizationAdminAccountsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalException": + case "com.amazonaws.securityhub#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidAccessException": + case "com.amazonaws.securityhub#InvalidAccessException": + response = { + ...(await deserializeAws_restJson1InvalidAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.securityhub#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.securityhub#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4975,6 +5429,81 @@ const deserializeAws_restJson1UpdateInsightCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateOrganizationConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateOrganizationConfigurationCommandError(output, context); + } + const contents: UpdateOrganizationConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateOrganizationConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalException": + case "com.amazonaws.securityhub#InternalException": + response = { + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidAccessException": + case "com.amazonaws.securityhub#InvalidAccessException": + response = { + ...(await deserializeAws_restJson1InvalidAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.securityhub#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.securityhub#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1UpdateSecurityHubConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -9328,6 +9857,17 @@ const deserializeAws_restJson1ActionTargetList = (output: any, context: __SerdeC return (output || []).map((entry: any) => deserializeAws_restJson1ActionTarget(entry, context)); }; +const deserializeAws_restJson1AdminAccount = (output: any, context: __SerdeContext): AdminAccount => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_restJson1AdminAccounts = (output: any, context: __SerdeContext): AdminAccount[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AdminAccount(entry, context)); +}; + const deserializeAws_restJson1AvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { return { SubnetId: output.SubnetId !== undefined && output.SubnetId !== null ? output.SubnetId : undefined, diff --git a/clients/client-sfn/SFN.ts b/clients/client-sfn/SFN.ts index a864a73be6a4e..ad8a41ab4489d 100644 --- a/clients/client-sfn/SFN.ts +++ b/clients/client-sfn/SFN.ts @@ -89,6 +89,11 @@ import { StartExecutionCommandInput, StartExecutionCommandOutput, } from "./commands/StartExecutionCommand"; +import { + StartSyncExecutionCommand, + StartSyncExecutionCommandInput, + StartSyncExecutionCommandOutput, +} from "./commands/StartSyncExecutionCommand"; import { StopExecutionCommand, StopExecutionCommandInput, @@ -816,6 +821,38 @@ export class SFN extends SFNClient { } } + /** + *

    Starts a Synchronous Express state machine execution.

    + */ + public startSyncExecution( + args: StartSyncExecutionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startSyncExecution( + args: StartSyncExecutionCommandInput, + cb: (err: any, data?: StartSyncExecutionCommandOutput) => void + ): void; + public startSyncExecution( + args: StartSyncExecutionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartSyncExecutionCommandOutput) => void + ): void; + public startSyncExecution( + args: StartSyncExecutionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartSyncExecutionCommandOutput) => void), + cb?: (err: any, data?: StartSyncExecutionCommandOutput) => void + ): Promise | void { + const command = new StartSyncExecutionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Stops an execution.

    *

    This API action is not supported by EXPRESS state machines.

    diff --git a/clients/client-sfn/SFNClient.ts b/clients/client-sfn/SFNClient.ts index 38e4de161bdd5..39679e6d6dac0 100644 --- a/clients/client-sfn/SFNClient.ts +++ b/clients/client-sfn/SFNClient.ts @@ -28,6 +28,7 @@ import { SendTaskFailureCommandInput, SendTaskFailureCommandOutput } from "./com import { SendTaskHeartbeatCommandInput, SendTaskHeartbeatCommandOutput } from "./commands/SendTaskHeartbeatCommand"; import { SendTaskSuccessCommandInput, SendTaskSuccessCommandOutput } from "./commands/SendTaskSuccessCommand"; import { StartExecutionCommandInput, StartExecutionCommandOutput } from "./commands/StartExecutionCommand"; +import { StartSyncExecutionCommandInput, StartSyncExecutionCommandOutput } from "./commands/StartSyncExecutionCommand"; import { StopExecutionCommandInput, StopExecutionCommandOutput } from "./commands/StopExecutionCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; @@ -100,6 +101,7 @@ export type ServiceInputTypes = | SendTaskHeartbeatCommandInput | SendTaskSuccessCommandInput | StartExecutionCommandInput + | StartSyncExecutionCommandInput | StopExecutionCommandInput | TagResourceCommandInput | UntagResourceCommandInput @@ -124,6 +126,7 @@ export type ServiceOutputTypes = | SendTaskHeartbeatCommandOutput | SendTaskSuccessCommandOutput | StartExecutionCommandOutput + | StartSyncExecutionCommandOutput | StopExecutionCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput diff --git a/clients/client-sfn/commands/StartSyncExecutionCommand.ts b/clients/client-sfn/commands/StartSyncExecutionCommand.ts new file mode 100644 index 0000000000000..4b1180cd16e92 --- /dev/null +++ b/clients/client-sfn/commands/StartSyncExecutionCommand.ts @@ -0,0 +1,88 @@ +import { SFNClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SFNClient"; +import { StartSyncExecutionInput, StartSyncExecutionOutput } from "../models/models_0"; +import { + deserializeAws_json1_0StartSyncExecutionCommand, + serializeAws_json1_0StartSyncExecutionCommand, +} from "../protocols/Aws_json1_0"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type StartSyncExecutionCommandInput = StartSyncExecutionInput; +export type StartSyncExecutionCommandOutput = StartSyncExecutionOutput & __MetadataBearer; + +/** + *

    Starts a Synchronous Express state machine execution.

    + */ +export class StartSyncExecutionCommand extends $Command< + StartSyncExecutionCommandInput, + StartSyncExecutionCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartSyncExecutionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StartSyncExecutionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartSyncExecutionInput.filterSensitiveLog, + outputFilterSensitiveLog: StartSyncExecutionOutput.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartSyncExecutionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0StartSyncExecutionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0StartSyncExecutionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/index.ts b/clients/client-sfn/index.ts index 745a9fdd223b0..89f2833feb2c9 100644 --- a/clients/client-sfn/index.ts +++ b/clients/client-sfn/index.ts @@ -22,6 +22,7 @@ export * from "./commands/SendTaskFailureCommand"; export * from "./commands/SendTaskHeartbeatCommand"; export * from "./commands/SendTaskSuccessCommand"; export * from "./commands/StartExecutionCommand"; +export * from "./commands/StartSyncExecutionCommand"; export * from "./commands/StopExecutionCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; diff --git a/clients/client-sfn/models/models_0.ts b/clients/client-sfn/models/models_0.ts index c6b096bd6ece6..4f4ab196c2767 100644 --- a/clients/client-sfn/models/models_0.ts +++ b/clients/client-sfn/models/models_0.ts @@ -125,9 +125,14 @@ export namespace HistoryEventExecutionDataDetails { */ export interface ActivityScheduledEventDetails { /** - *

    The maximum allowed duration of the activity task.

    + *

    The Amazon Resource Name (ARN) of the scheduled activity.

    */ - timeoutInSeconds?: number; + resource: string | undefined; + + /** + *

    The JSON data input to the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + */ + input?: string; /** *

    Contains details about the input for an execution history event.

    @@ -135,19 +140,14 @@ export interface ActivityScheduledEventDetails { inputDetails?: HistoryEventExecutionDataDetails; /** - *

    The Amazon Resource Name (ARN) of the scheduled activity.

    + *

    The maximum allowed duration of the activity task.

    */ - resource: string | undefined; + timeoutInSeconds?: number; /** *

    The maximum allowed duration between two heartbeats for the activity task.

    */ heartbeatInSeconds?: number; - - /** - *

    The JSON data input to the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    - */ - input?: string; } export namespace ActivityScheduledEventDetails { @@ -204,14 +204,14 @@ export namespace ActivityStartedEventDetails { */ export interface ActivitySucceededEventDetails { /** - *

    Contains details about the output of an execution history event.

    + *

    The JSON data output by the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ - outputDetails?: HistoryEventExecutionDataDetails; + output?: string; /** - *

    The JSON data output by the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + *

    Contains details about the output of an execution history event.

    */ - output?: string; + outputDetails?: HistoryEventExecutionDataDetails; } export namespace ActivitySucceededEventDetails { @@ -226,21 +226,21 @@ export namespace ActivitySucceededEventDetails { */ export interface ActivityTimedOutEventDetails { /** - *

    A more detailed explanation of the cause of the timeout.

    + *

    The error code of the failure.

    */ - cause?: string; + error?: string; /** - *

    The error code of the failure.

    + *

    A more detailed explanation of the cause of the timeout.

    */ - error?: string; + cause?: string; } export namespace ActivityTimedOutEventDetails { export const filterSensitiveLog = (obj: ActivityTimedOutEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -271,14 +271,14 @@ export namespace ActivityWorkerLimitExceeded { */ export interface Tag { /** - *

    The value of a tag.

    + *

    The key of a tag.

    */ - value?: string; + key?: string; /** - *

    The key of a tag.

    + *

    The value of a tag.

    */ - key?: string; + value?: string; } export namespace Tag { @@ -374,8 +374,8 @@ export namespace InvalidName { export interface TooManyTags extends __SmithyException, $MetadataBearer { name: "TooManyTags"; $fault: "client"; - resourceName?: string; message?: string; + resourceName?: string; } export namespace TooManyTags { @@ -425,6 +425,11 @@ export type LogLevel = "ALL" | "ERROR" | "FATAL" | "OFF"; * options.

    */ export interface LoggingConfiguration { + /** + *

    Defines which category of execution history events are logged.

    + */ + level?: LogLevel | string; + /** *

    Determines whether execution data is included in your log. When set to false, * data is excluded.

    @@ -436,11 +441,6 @@ export interface LoggingConfiguration { * Limited to size 1. Required, if your log level is not set to OFF.

    */ destinations?: LogDestination[]; - - /** - *

    Defines which category of execution history events are logged.

    - */ - level?: LogLevel | string; } export namespace LoggingConfiguration { @@ -502,14 +502,9 @@ export interface CreateStateMachineInput { definition: string | undefined; /** - *

    Defines what execution history events are logged and where they are logged.

    - * - *

    By default, the level is set to OFF. For more information see - * Log - * Levels in the AWS Step Functions User Guide.

    - *
    + *

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    */ - loggingConfiguration?: LoggingConfiguration; + roleArn: string | undefined; /** *

    Determines whether a Standard or Express state machine is created. The default is @@ -518,6 +513,16 @@ export interface CreateStateMachineInput { */ type?: StateMachineType | string; + /** + *

    Defines what execution history events are logged and where they are logged.

    + * + *

    By default, the level is set to OFF. For more information see + * Log + * Levels in the AWS Step Functions User Guide.

    + *
    + */ + loggingConfiguration?: LoggingConfiguration; + /** *

    Tags to be added when creating a state machine.

    *

    An array of key-value pairs. For more information, see Using @@ -532,11 +537,6 @@ export interface CreateStateMachineInput { *

    Selects whether AWS X-Ray tracing is enabled.

    */ tracingConfiguration?: TracingConfiguration; - - /** - *

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    - */ - roleArn: string | undefined; } export namespace CreateStateMachineInput { @@ -548,14 +548,14 @@ export namespace CreateStateMachineInput { export interface CreateStateMachineOutput { /** - *

    The date the state machine is created.

    + *

    The Amazon Resource Name (ARN) that identifies the created state machine.

    */ - creationDate: Date | undefined; + stateMachineArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) that identifies the created state machine.

    + *

    The date the state machine is created.

    */ - stateMachineArn: string | undefined; + creationDate: Date | undefined; } export namespace CreateStateMachineOutput { @@ -742,6 +742,11 @@ export namespace DescribeActivityInput { } export interface DescribeActivityOutput { + /** + *

    The Amazon Resource Name (ARN) that identifies the activity.

    + */ + activityArn: string | undefined; + /** *

    The name of the activity.

    *

    A name must not contain:

    @@ -773,11 +778,6 @@ export interface DescribeActivityOutput { *

    The date the activity is created.

    */ creationDate: Date | undefined; - - /** - *

    The Amazon Resource Name (ARN) that identifies the activity.

    - */ - activityArn: string | undefined; } export namespace DescribeActivityOutput { @@ -820,28 +820,14 @@ export type ExecutionStatus = "ABORTED" | "FAILED" | "RUNNING" | "SUCCEEDED" | " export interface DescribeExecutionOutput { /** - *

    The Amazon Resource Name (ARN) of the executed stated machine.

    - */ - stateMachineArn: string | undefined; - - /** - *

    The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    - */ - input?: string; - - /** - *

    Provides details about execution input or output.

    + *

    The Amazon Resource Name (ARN) that identifies the execution.

    */ - outputDetails?: CloudWatchEventsExecutionDataDetails; + executionArn: string | undefined; /** - *

    The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    - * - *

    This field is set only if the execution succeeds. If the execution fails, this field is - * null.

    - *
    + *

    The Amazon Resource Name (ARN) of the executed stated machine.

    */ - output?: string; + stateMachineArn: string | undefined; /** *

    The name of the execution.

    @@ -870,15 +856,25 @@ export interface DescribeExecutionOutput { */ name?: string; + /** + *

    The current status of the execution.

    + */ + status: ExecutionStatus | string | undefined; + + /** + *

    The date the execution is started.

    + */ + startDate: Date | undefined; + /** *

    If the execution has already ended, the date the execution stopped.

    */ stopDate?: Date; /** - *

    The current status of the execution.

    + *

    The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ - status: ExecutionStatus | string | undefined; + input?: string; /** *

    Provides details about execution input or output.

    @@ -886,17 +882,21 @@ export interface DescribeExecutionOutput { inputDetails?: CloudWatchEventsExecutionDataDetails; /** - *

    The date the execution is started.

    + *

    The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + * + *

    This field is set only if the execution succeeds. If the execution fails, this field is + * null.

    + *
    */ - startDate: Date | undefined; + output?: string; /** - *

    The Amazon Resource Name (ARN) that id entifies the execution.

    + *

    Provides details about execution input or output.

    */ - executionArn: string | undefined; + outputDetails?: CloudWatchEventsExecutionDataDetails; /** - *

    The AWS X-Ray trace header which was passed to the execution.

    + *

    The AWS X-Ray trace header that was passed to the execution.

    */ traceHeader?: string; } @@ -940,44 +940,11 @@ export namespace DescribeStateMachineInput { export type StateMachineStatus = "ACTIVE" | "DELETING"; export interface DescribeStateMachineOutput { - /** - *

    Selects whether AWS X-Ray tracing is enabled.

    - */ - tracingConfiguration?: TracingConfiguration; - /** *

    The Amazon Resource Name (ARN) that identifies the state machine.

    */ stateMachineArn: string | undefined; - /** - *

    The LoggingConfiguration data type is used to set CloudWatch Logs - * options.

    - */ - loggingConfiguration?: LoggingConfiguration; - - /** - *

    The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role - * maintains security by granting Step Functions access to AWS resources.)

    - */ - roleArn: string | undefined; - - /** - *

    The Amazon States Language definition of the state machine. See Amazon States Language.

    - */ - definition: string | undefined; - - /** - *

    The type of the state machine (STANDARD or - * EXPRESS).

    - */ - type: StateMachineType | string | undefined; - - /** - *

    The date the state machine is created.

    - */ - creationDate: Date | undefined; - /** *

    The name of the state machine.

    *

    A name must not contain:

    @@ -1009,6 +976,39 @@ export interface DescribeStateMachineOutput { *

    The current status of the state machine.

    */ status?: StateMachineStatus | string; + + /** + *

    The Amazon States Language definition of the state machine. See Amazon States Language.

    + */ + definition: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role + * maintains security by granting Step Functions access to AWS resources.)

    + */ + roleArn: string | undefined; + + /** + *

    The type of the state machine (STANDARD or + * EXPRESS).

    + */ + type: StateMachineType | string | undefined; + + /** + *

    The date the state machine is created.

    + */ + creationDate: Date | undefined; + + /** + *

    The LoggingConfiguration data type is used to set CloudWatch Logs + * options.

    + */ + loggingConfiguration?: LoggingConfiguration; + + /** + *

    Selects whether AWS X-Ray tracing is enabled.

    + */ + tracingConfiguration?: TracingConfiguration; } export namespace DescribeStateMachineOutput { @@ -1048,9 +1048,9 @@ export namespace DescribeStateMachineForExecutionInput { export interface DescribeStateMachineForExecutionOutput { /** - *

    The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

    + *

    The Amazon Resource Name (ARN) of the state machine associated with the execution.

    */ - roleArn: string | undefined; + stateMachineArn: string | undefined; /** *

    The name of the state machine associated with the execution.

    @@ -1058,15 +1058,14 @@ export interface DescribeStateMachineForExecutionOutput { name: string | undefined; /** - *

    The LoggingConfiguration data type is used to set CloudWatch Logs - * options.

    + *

    The Amazon States Language definition of the state machine. See Amazon States Language.

    */ - loggingConfiguration?: LoggingConfiguration; + definition: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the state machine associated with the execution.

    + *

    The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

    */ - stateMachineArn: string | undefined; + roleArn: string | undefined; /** *

    The date and time the state machine associated with an execution was updated. For a newly @@ -1075,9 +1074,10 @@ export interface DescribeStateMachineForExecutionOutput { updateDate: Date | undefined; /** - *

    The Amazon States Language definition of the state machine. See Amazon States Language.

    + *

    The LoggingConfiguration data type is used to set CloudWatch Logs + * options.

    */ - definition: string | undefined; + loggingConfiguration?: LoggingConfiguration; /** *

    Selects whether AWS X-Ray tracing is enabled.

    @@ -1140,12 +1140,6 @@ export interface GetExecutionHistoryInput { */ executionArn: string | undefined; - /** - *

    You can select whether execution data (input or output of a history event) is returned. - * The default is true.

    - */ - includeExecutionData?: boolean; - /** *

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    @@ -1153,6 +1147,11 @@ export interface GetExecutionHistoryInput { */ maxResults?: number; + /** + *

    Lists events in descending order of their timeStamp.

    + */ + reverseOrder?: boolean; + /** *

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    @@ -1160,9 +1159,10 @@ export interface GetExecutionHistoryInput { nextToken?: string; /** - *

    Lists events in descending order of their timeStamp.

    + *

    You can select whether execution data (input or output of a history event) is returned. + * The default is true.

    */ - reverseOrder?: boolean; + includeExecutionData?: boolean; } export namespace GetExecutionHistoryInput { @@ -1176,21 +1176,21 @@ export namespace GetExecutionHistoryInput { */ export interface ExecutionAbortedEventDetails { /** - *

    A more detailed explanation of the cause of the failure.

    + *

    The error code of the failure.

    */ - cause?: string; + error?: string; /** - *

    The error code of the failure.

    + *

    A more detailed explanation of the cause of the failure.

    */ - error?: string; + cause?: string; } export namespace ExecutionAbortedEventDetails { export const filterSensitiveLog = (obj: ExecutionAbortedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1227,14 +1227,14 @@ export interface ExecutionStartedEventDetails { input?: string; /** - *

    The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

    + *

    Contains details about the input for an execution history event.

    */ - roleArn?: string; + inputDetails?: HistoryEventExecutionDataDetails; /** - *

    Contains details about the input for an execution history event.

    + *

    The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

    */ - inputDetails?: HistoryEventExecutionDataDetails; + roleArn?: string; } export namespace ExecutionStartedEventDetails { @@ -1249,14 +1249,14 @@ export namespace ExecutionStartedEventDetails { */ export interface ExecutionSucceededEventDetails { /** - *

    Contains details about the output of an execution history event.

    + *

    The JSON data output by the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ - outputDetails?: HistoryEventExecutionDataDetails; + output?: string; /** - *

    The JSON data output by the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + *

    Contains details about the output of an execution history event.

    */ - output?: string; + outputDetails?: HistoryEventExecutionDataDetails; } export namespace ExecutionSucceededEventDetails { @@ -1271,21 +1271,21 @@ export namespace ExecutionSucceededEventDetails { */ export interface ExecutionTimedOutEventDetails { /** - *

    A more detailed explanation of the cause of the timeout.

    + *

    The error code of the failure.

    */ - cause?: string; + error?: string; /** - *

    The error code of the failure.

    + *

    A more detailed explanation of the cause of the timeout.

    */ - error?: string; + cause?: string; } export namespace ExecutionTimedOutEventDetails { export const filterSensitiveLog = (obj: ExecutionTimedOutEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1294,21 +1294,21 @@ export namespace ExecutionTimedOutEventDetails { */ export interface LambdaFunctionFailedEventDetails { /** - *

    A more detailed explanation of the cause of the failure.

    + *

    The error code of the failure.

    */ - cause?: string; + error?: string; /** - *

    The error code of the failure.

    + *

    A more detailed explanation of the cause of the failure.

    */ - error?: string; + cause?: string; } export namespace LambdaFunctionFailedEventDetails { export const filterSensitiveLog = (obj: LambdaFunctionFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1317,24 +1317,24 @@ export namespace LambdaFunctionFailedEventDetails { */ export interface LambdaFunctionScheduledEventDetails { /** - *

    Contains details about input for an execution history event.

    + *

    The Amazon Resource Name (ARN) of the scheduled lambda function.

    */ - inputDetails?: HistoryEventExecutionDataDetails; + resource: string | undefined; /** - *

    The maximum allowed duration of the lambda function.

    + *

    The JSON data input to the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ - timeoutInSeconds?: number; + input?: string; /** - *

    The JSON data input to the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + *

    Contains details about input for an execution history event.

    */ - input?: string; + inputDetails?: HistoryEventExecutionDataDetails; /** - *

    The Amazon Resource Name (ARN) of the scheduled lambda function.

    + *

    The maximum allowed duration of the lambda function.

    */ - resource: string | undefined; + timeoutInSeconds?: number; } export namespace LambdaFunctionScheduledEventDetails { @@ -1373,21 +1373,21 @@ export namespace LambdaFunctionScheduleFailedEventDetails { */ export interface LambdaFunctionStartFailedEventDetails { /** - *

    A more detailed explanation of the cause of the failure.

    + *

    The error code of the failure.

    */ - cause?: string; + error?: string; /** - *

    The error code of the failure.

    + *

    A more detailed explanation of the cause of the failure.

    */ - error?: string; + cause?: string; } export namespace LambdaFunctionStartFailedEventDetails { export const filterSensitiveLog = (obj: LambdaFunctionStartFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1397,14 +1397,14 @@ export namespace LambdaFunctionStartFailedEventDetails { */ export interface LambdaFunctionSucceededEventDetails { /** - *

    Contains details about the output of an execution history event.

    + *

    The JSON data output by the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ - outputDetails?: HistoryEventExecutionDataDetails; + output?: string; /** - *

    The JSON data output by the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + *

    Contains details about the output of an execution history event.

    */ - output?: string; + outputDetails?: HistoryEventExecutionDataDetails; } export namespace LambdaFunctionSucceededEventDetails { @@ -1479,14 +1479,14 @@ export namespace MapStateStartedEventDetails { */ export interface StateEnteredEventDetails { /** - *

    The string that contains the JSON input data for the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + *

    The name of the state.

    */ - input?: string; + name: string | undefined; /** - *

    The name of the state.

    + *

    The string that contains the JSON input data for the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ - name: string | undefined; + input?: string; /** *

    Contains details about the input for an execution history event.

    @@ -1555,9 +1555,9 @@ export namespace StateExitedEventDetails { */ export interface TaskFailedEventDetails { /** - *

    The error code of the failure.

    + *

    The action of the resource called by a task state.

    */ - error?: string; + resourceType: string | undefined; /** *

    The service name of the resource in a task state.

    @@ -1565,14 +1565,14 @@ export interface TaskFailedEventDetails { resource: string | undefined; /** - *

    A more detailed explanation of the cause of the failure.

    + *

    The error code of the failure.

    */ - cause?: string; + error?: string; /** - *

    The action of the resource called by a task state.

    + *

    A more detailed explanation of the cause of the failure.

    */ - resourceType: string | undefined; + cause?: string; } export namespace TaskFailedEventDetails { @@ -1588,25 +1588,20 @@ export namespace TaskFailedEventDetails { */ export interface TaskScheduledEventDetails { /** - *

    The service name of the resource in a task state.

    + *

    The action of the resource called by a task state.

    */ - resource: string | undefined; + resourceType: string | undefined; /** - *

    The maximum allowed duration between two heartbeats for the task.

    + *

    The service name of the resource in a task state.

    */ - heartbeatInSeconds?: number; + resource: string | undefined; /** *

    The region of the scheduled task

    */ region: string | undefined; - /** - *

    The action of the resource called by a task state.

    - */ - resourceType: string | undefined; - /** *

    The JSON data passed to the resource referenced in a task state. * Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    @@ -1617,6 +1612,11 @@ export interface TaskScheduledEventDetails { *

    The maximum allowed duration of the task.

    */ timeoutInSeconds?: number; + + /** + *

    The maximum allowed duration between two heartbeats for the task.

    + */ + heartbeatInSeconds?: number; } export namespace TaskScheduledEventDetails { @@ -1651,6 +1651,11 @@ export namespace TaskStartedEventDetails { *

    Contains details about a task that failed to start during an execution.

    */ export interface TaskStartFailedEventDetails { + /** + *

    The action of the resource called by a task state.

    + */ + resourceType: string | undefined; + /** *

    The service name of the resource in a task state.

    */ @@ -1661,11 +1666,6 @@ export interface TaskStartFailedEventDetails { */ error?: string; - /** - *

    The action of the resource called by a task state.

    - */ - resourceType: string | undefined; - /** *

    A more detailed explanation of the cause of the failure.

    */ @@ -1685,9 +1685,9 @@ export namespace TaskStartFailedEventDetails { */ export interface TaskSubmitFailedEventDetails { /** - *

    A more detailed explanation of the cause of the failure.

    + *

    The action of the resource called by a task state.

    */ - cause?: string; + resourceType: string | undefined; /** *

    The service name of the resource in a task state.

    @@ -1700,16 +1700,16 @@ export interface TaskSubmitFailedEventDetails { error?: string; /** - *

    The action of the resource called by a task state.

    + *

    A more detailed explanation of the cause of the failure.

    */ - resourceType: string | undefined; + cause?: string; } export namespace TaskSubmitFailedEventDetails { export const filterSensitiveLog = (obj: TaskSubmitFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1717,11 +1717,6 @@ export namespace TaskSubmitFailedEventDetails { *

    Contains details about a task submitted to a resource .

    */ export interface TaskSubmittedEventDetails { - /** - *

    The response from a resource when a task has started. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    - */ - output?: string; - /** *

    The action of the resource called by a task state.

    */ @@ -1732,6 +1727,11 @@ export interface TaskSubmittedEventDetails { */ resource: string | undefined; + /** + *

    The response from a resource when a task has started. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + */ + output?: string; + /** *

    Contains details about the output of an execution history event.

    */ @@ -1749,11 +1749,6 @@ export namespace TaskSubmittedEventDetails { *

    Contains details about the successful completion of a task state.

    */ export interface TaskSucceededEventDetails { - /** - *

    Contains details about the output of an execution history event.

    - */ - outputDetails?: HistoryEventExecutionDataDetails; - /** *

    The action of the resource called by a task state.

    */ @@ -1769,6 +1764,11 @@ export interface TaskSucceededEventDetails { * the output of the related task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    */ output?: string; + + /** + *

    Contains details about the output of an execution history event.

    + */ + outputDetails?: HistoryEventExecutionDataDetails; } export namespace TaskSucceededEventDetails { @@ -1788,14 +1788,14 @@ export interface TaskTimedOutEventDetails { resourceType: string | undefined; /** - *

    The error code of the failure.

    + *

    The service name of the resource in a task state.

    */ - error?: string; + resource: string | undefined; /** - *

    The service name of the resource in a task state.

    + *

    The error code of the failure.

    */ - resource: string | undefined; + error?: string; /** *

    A more detailed explanation of the cause of the failure.

    @@ -1873,29 +1873,24 @@ export type HistoryEventType = */ export interface HistoryEvent { /** - *

    Contains details about a lambda function that failed to start during an execution.

    - */ - lambdaFunctionStartFailedEventDetails?: LambdaFunctionStartFailedEventDetails; - - /** - *

    Contains details about a task that was scheduled.

    + *

    The date and time the event occurred.

    */ - taskScheduledEventDetails?: TaskScheduledEventDetails; + timestamp: Date | undefined; /** - *

    Contains details about a lambda function scheduled during an execution.

    + *

    The type of the event.

    */ - lambdaFunctionScheduledEventDetails?: LambdaFunctionScheduledEventDetails; + type: HistoryEventType | string | undefined; /** - *

    Contains details about an iteration of a Map state that failed.

    + *

    The id of the event. Events are numbered sequentially, starting at one.

    */ - mapIterationFailedEventDetails?: MapIterationEventDetails; + id: number | undefined; /** - *

    Contains details about the failure of a task.

    + *

    The id of the previous event.

    */ - taskFailedEventDetails?: TaskFailedEventDetails; + previousEventId?: number; /** *

    Contains details about an activity that failed during an execution.

    @@ -1903,70 +1898,65 @@ export interface HistoryEvent { activityFailedEventDetails?: ActivityFailedEventDetails; /** - *

    Contains details about an abort of an execution.

    - */ - executionAbortedEventDetails?: ExecutionAbortedEventDetails; - - /** - *

    Contains details about Map state that was started.

    + *

    Contains details about an activity schedule event that failed during an execution.

    */ - mapStateStartedEventDetails?: MapStateStartedEventDetails; + activityScheduleFailedEventDetails?: ActivityScheduleFailedEventDetails; /** - *

    Contains details about a lambda function timeout that occurred during an execution.

    + *

    Contains details about an activity scheduled during an execution.

    */ - lambdaFunctionTimedOutEventDetails?: LambdaFunctionTimedOutEventDetails; + activityScheduledEventDetails?: ActivityScheduledEventDetails; /** - *

    The type of the event.

    + *

    Contains details about the start of an activity during an execution.

    */ - type: HistoryEventType | string | undefined; + activityStartedEventDetails?: ActivityStartedEventDetails; /** - *

    Contains details about a task that where the submit failed.

    + *

    Contains details about an activity that successfully terminated during an + * execution.

    */ - taskSubmitFailedEventDetails?: TaskSubmitFailedEventDetails; + activitySucceededEventDetails?: ActivitySucceededEventDetails; /** - *

    Contains details about an iteration of a Map state that was started.

    + *

    Contains details about an activity timeout that occurred during an execution.

    */ - mapIterationStartedEventDetails?: MapIterationEventDetails; + activityTimedOutEventDetails?: ActivityTimedOutEventDetails; /** - *

    The id of the previous event.

    + *

    Contains details about the failure of a task.

    */ - previousEventId?: number; + taskFailedEventDetails?: TaskFailedEventDetails; /** - *

    Contains details about a task that was started.

    + *

    Contains details about a task that was scheduled.

    */ - taskStartedEventDetails?: TaskStartedEventDetails; + taskScheduledEventDetails?: TaskScheduledEventDetails; /** - *

    Contains details about the start of an activity during an execution.

    + *

    Contains details about a task that failed to start.

    */ - activityStartedEventDetails?: ActivityStartedEventDetails; + taskStartFailedEventDetails?: TaskStartFailedEventDetails; /** - *

    The date and time the event occurred.

    + *

    Contains details about a task that was started.

    */ - timestamp: Date | undefined; + taskStartedEventDetails?: TaskStartedEventDetails; /** - *

    Contains details about the execution timeout that occurred during the execution.

    + *

    Contains details about a task that where the submit failed.

    */ - executionTimedOutEventDetails?: ExecutionTimedOutEventDetails; + taskSubmitFailedEventDetails?: TaskSubmitFailedEventDetails; /** - *

    Contains details about a lambda function that failed during an execution.

    + *

    Contains details about a submitted task.

    */ - lambdaFunctionFailedEventDetails?: LambdaFunctionFailedEventDetails; + taskSubmittedEventDetails?: TaskSubmittedEventDetails; /** - *

    Contains details about a lambda function that terminated successfully during an - * execution.

    + *

    Contains details about a task that succeeded.

    */ - lambdaFunctionSucceededEventDetails?: LambdaFunctionSucceededEventDetails; + taskSucceededEventDetails?: TaskSucceededEventDetails; /** *

    Contains details about a task that timed out.

    @@ -1974,14 +1964,14 @@ export interface HistoryEvent { taskTimedOutEventDetails?: TaskTimedOutEventDetails; /** - *

    Contains details about an activity timeout that occurred during an execution.

    + *

    Contains details about an execution failure event.

    */ - activityTimedOutEventDetails?: ActivityTimedOutEventDetails; + executionFailedEventDetails?: ExecutionFailedEventDetails; /** - *

    Contains details about a task that succeeded.

    + *

    Contains details about the start of the execution.

    */ - taskSucceededEventDetails?: TaskSucceededEventDetails; + executionStartedEventDetails?: ExecutionStartedEventDetails; /** *

    Contains details about the successful termination of the execution.

    @@ -1989,45 +1979,44 @@ export interface HistoryEvent { executionSucceededEventDetails?: ExecutionSucceededEventDetails; /** - *

    Contains details about an activity that successfully terminated during an - * execution.

    + *

    Contains details about an abort of an execution.

    */ - activitySucceededEventDetails?: ActivitySucceededEventDetails; + executionAbortedEventDetails?: ExecutionAbortedEventDetails; /** - *

    Contains details about an exit from a state during an execution.

    + *

    Contains details about the execution timeout that occurred during the execution.

    */ - stateExitedEventDetails?: StateExitedEventDetails; + executionTimedOutEventDetails?: ExecutionTimedOutEventDetails; /** - *

    Contains details about the start of the execution.

    + *

    Contains details about Map state that was started.

    */ - executionStartedEventDetails?: ExecutionStartedEventDetails; + mapStateStartedEventDetails?: MapStateStartedEventDetails; /** - *

    Contains details about an iteration of a Map state that succeeded.

    + *

    Contains details about an iteration of a Map state that was started.

    */ - mapIterationSucceededEventDetails?: MapIterationEventDetails; + mapIterationStartedEventDetails?: MapIterationEventDetails; /** - *

    The id of the event. Events are numbered sequentially, starting at one.

    + *

    Contains details about an iteration of a Map state that succeeded.

    */ - id: number | undefined; + mapIterationSucceededEventDetails?: MapIterationEventDetails; /** - *

    Contains details about an execution failure event.

    + *

    Contains details about an iteration of a Map state that failed.

    */ - executionFailedEventDetails?: ExecutionFailedEventDetails; + mapIterationFailedEventDetails?: MapIterationEventDetails; /** - *

    Contains details about a state entered during an execution.

    + *

    Contains details about an iteration of a Map state that was aborted.

    */ - stateEnteredEventDetails?: StateEnteredEventDetails; + mapIterationAbortedEventDetails?: MapIterationEventDetails; /** - *

    Contains details about an iteration of a Map state that was aborted.

    + *

    Contains details about a lambda function that failed during an execution.

    */ - mapIterationAbortedEventDetails?: MapIterationEventDetails; + lambdaFunctionFailedEventDetails?: LambdaFunctionFailedEventDetails; /** *

    Contains details about a failed lambda function schedule event that occurred during an @@ -2036,140 +2025,151 @@ export interface HistoryEvent { lambdaFunctionScheduleFailedEventDetails?: LambdaFunctionScheduleFailedEventDetails; /** - *

    Contains details about an activity schedule event that failed during an execution.

    + *

    Contains details about a lambda function scheduled during an execution.

    */ - activityScheduleFailedEventDetails?: ActivityScheduleFailedEventDetails; + lambdaFunctionScheduledEventDetails?: LambdaFunctionScheduledEventDetails; /** - *

    Contains details about an activity scheduled during an execution.

    + *

    Contains details about a lambda function that failed to start during an execution.

    */ - activityScheduledEventDetails?: ActivityScheduledEventDetails; + lambdaFunctionStartFailedEventDetails?: LambdaFunctionStartFailedEventDetails; /** - *

    Contains details about a task that failed to start.

    + *

    Contains details about a lambda function that terminated successfully during an + * execution.

    */ - taskStartFailedEventDetails?: TaskStartFailedEventDetails; + lambdaFunctionSucceededEventDetails?: LambdaFunctionSucceededEventDetails; /** - *

    Contains details about a submitted task.

    + *

    Contains details about a lambda function timeout that occurred during an execution.

    */ - taskSubmittedEventDetails?: TaskSubmittedEventDetails; + lambdaFunctionTimedOutEventDetails?: LambdaFunctionTimedOutEventDetails; + + /** + *

    Contains details about a state entered during an execution.

    + */ + stateEnteredEventDetails?: StateEnteredEventDetails; + + /** + *

    Contains details about an exit from a state during an execution.

    + */ + stateExitedEventDetails?: StateExitedEventDetails; } export namespace HistoryEvent { export const filterSensitiveLog = (obj: HistoryEvent): any => ({ ...obj, - ...(obj.lambdaFunctionStartFailedEventDetails && { - lambdaFunctionStartFailedEventDetails: LambdaFunctionStartFailedEventDetails.filterSensitiveLog( - obj.lambdaFunctionStartFailedEventDetails + ...(obj.activityFailedEventDetails && { + activityFailedEventDetails: ActivityFailedEventDetails.filterSensitiveLog(obj.activityFailedEventDetails), + }), + ...(obj.activityScheduleFailedEventDetails && { + activityScheduleFailedEventDetails: ActivityScheduleFailedEventDetails.filterSensitiveLog( + obj.activityScheduleFailedEventDetails ), }), - ...(obj.taskScheduledEventDetails && { - taskScheduledEventDetails: TaskScheduledEventDetails.filterSensitiveLog(obj.taskScheduledEventDetails), + ...(obj.activityScheduledEventDetails && { + activityScheduledEventDetails: ActivityScheduledEventDetails.filterSensitiveLog( + obj.activityScheduledEventDetails + ), }), - ...(obj.lambdaFunctionScheduledEventDetails && { - lambdaFunctionScheduledEventDetails: LambdaFunctionScheduledEventDetails.filterSensitiveLog( - obj.lambdaFunctionScheduledEventDetails + ...(obj.activitySucceededEventDetails && { + activitySucceededEventDetails: ActivitySucceededEventDetails.filterSensitiveLog( + obj.activitySucceededEventDetails ), }), + ...(obj.activityTimedOutEventDetails && { + activityTimedOutEventDetails: ActivityTimedOutEventDetails.filterSensitiveLog(obj.activityTimedOutEventDetails), + }), ...(obj.taskFailedEventDetails && { taskFailedEventDetails: TaskFailedEventDetails.filterSensitiveLog(obj.taskFailedEventDetails), }), - ...(obj.activityFailedEventDetails && { - activityFailedEventDetails: ActivityFailedEventDetails.filterSensitiveLog(obj.activityFailedEventDetails), - }), - ...(obj.executionAbortedEventDetails && { - executionAbortedEventDetails: ExecutionAbortedEventDetails.filterSensitiveLog(obj.executionAbortedEventDetails), + ...(obj.taskScheduledEventDetails && { + taskScheduledEventDetails: TaskScheduledEventDetails.filterSensitiveLog(obj.taskScheduledEventDetails), }), - ...(obj.lambdaFunctionTimedOutEventDetails && { - lambdaFunctionTimedOutEventDetails: LambdaFunctionTimedOutEventDetails.filterSensitiveLog( - obj.lambdaFunctionTimedOutEventDetails - ), + ...(obj.taskStartFailedEventDetails && { + taskStartFailedEventDetails: TaskStartFailedEventDetails.filterSensitiveLog(obj.taskStartFailedEventDetails), }), ...(obj.taskSubmitFailedEventDetails && { taskSubmitFailedEventDetails: TaskSubmitFailedEventDetails.filterSensitiveLog(obj.taskSubmitFailedEventDetails), }), - ...(obj.executionTimedOutEventDetails && { - executionTimedOutEventDetails: ExecutionTimedOutEventDetails.filterSensitiveLog( - obj.executionTimedOutEventDetails - ), - }), - ...(obj.lambdaFunctionFailedEventDetails && { - lambdaFunctionFailedEventDetails: LambdaFunctionFailedEventDetails.filterSensitiveLog( - obj.lambdaFunctionFailedEventDetails - ), + ...(obj.taskSubmittedEventDetails && { + taskSubmittedEventDetails: TaskSubmittedEventDetails.filterSensitiveLog(obj.taskSubmittedEventDetails), }), - ...(obj.lambdaFunctionSucceededEventDetails && { - lambdaFunctionSucceededEventDetails: LambdaFunctionSucceededEventDetails.filterSensitiveLog( - obj.lambdaFunctionSucceededEventDetails - ), + ...(obj.taskSucceededEventDetails && { + taskSucceededEventDetails: TaskSucceededEventDetails.filterSensitiveLog(obj.taskSucceededEventDetails), }), ...(obj.taskTimedOutEventDetails && { taskTimedOutEventDetails: TaskTimedOutEventDetails.filterSensitiveLog(obj.taskTimedOutEventDetails), }), - ...(obj.activityTimedOutEventDetails && { - activityTimedOutEventDetails: ActivityTimedOutEventDetails.filterSensitiveLog(obj.activityTimedOutEventDetails), + ...(obj.executionFailedEventDetails && { + executionFailedEventDetails: ExecutionFailedEventDetails.filterSensitiveLog(obj.executionFailedEventDetails), }), - ...(obj.taskSucceededEventDetails && { - taskSucceededEventDetails: TaskSucceededEventDetails.filterSensitiveLog(obj.taskSucceededEventDetails), + ...(obj.executionStartedEventDetails && { + executionStartedEventDetails: ExecutionStartedEventDetails.filterSensitiveLog(obj.executionStartedEventDetails), }), ...(obj.executionSucceededEventDetails && { executionSucceededEventDetails: ExecutionSucceededEventDetails.filterSensitiveLog( obj.executionSucceededEventDetails ), }), - ...(obj.activitySucceededEventDetails && { - activitySucceededEventDetails: ActivitySucceededEventDetails.filterSensitiveLog( - obj.activitySucceededEventDetails - ), - }), - ...(obj.stateExitedEventDetails && { - stateExitedEventDetails: StateExitedEventDetails.filterSensitiveLog(obj.stateExitedEventDetails), - }), - ...(obj.executionStartedEventDetails && { - executionStartedEventDetails: ExecutionStartedEventDetails.filterSensitiveLog(obj.executionStartedEventDetails), + ...(obj.executionAbortedEventDetails && { + executionAbortedEventDetails: ExecutionAbortedEventDetails.filterSensitiveLog(obj.executionAbortedEventDetails), }), - ...(obj.executionFailedEventDetails && { - executionFailedEventDetails: ExecutionFailedEventDetails.filterSensitiveLog(obj.executionFailedEventDetails), + ...(obj.executionTimedOutEventDetails && { + executionTimedOutEventDetails: ExecutionTimedOutEventDetails.filterSensitiveLog( + obj.executionTimedOutEventDetails + ), }), - ...(obj.stateEnteredEventDetails && { - stateEnteredEventDetails: StateEnteredEventDetails.filterSensitiveLog(obj.stateEnteredEventDetails), + ...(obj.lambdaFunctionFailedEventDetails && { + lambdaFunctionFailedEventDetails: LambdaFunctionFailedEventDetails.filterSensitiveLog( + obj.lambdaFunctionFailedEventDetails + ), }), ...(obj.lambdaFunctionScheduleFailedEventDetails && { lambdaFunctionScheduleFailedEventDetails: LambdaFunctionScheduleFailedEventDetails.filterSensitiveLog( obj.lambdaFunctionScheduleFailedEventDetails ), }), - ...(obj.activityScheduleFailedEventDetails && { - activityScheduleFailedEventDetails: ActivityScheduleFailedEventDetails.filterSensitiveLog( - obj.activityScheduleFailedEventDetails + ...(obj.lambdaFunctionScheduledEventDetails && { + lambdaFunctionScheduledEventDetails: LambdaFunctionScheduledEventDetails.filterSensitiveLog( + obj.lambdaFunctionScheduledEventDetails ), }), - ...(obj.activityScheduledEventDetails && { - activityScheduledEventDetails: ActivityScheduledEventDetails.filterSensitiveLog( - obj.activityScheduledEventDetails + ...(obj.lambdaFunctionStartFailedEventDetails && { + lambdaFunctionStartFailedEventDetails: LambdaFunctionStartFailedEventDetails.filterSensitiveLog( + obj.lambdaFunctionStartFailedEventDetails + ), + }), + ...(obj.lambdaFunctionSucceededEventDetails && { + lambdaFunctionSucceededEventDetails: LambdaFunctionSucceededEventDetails.filterSensitiveLog( + obj.lambdaFunctionSucceededEventDetails + ), + }), + ...(obj.lambdaFunctionTimedOutEventDetails && { + lambdaFunctionTimedOutEventDetails: LambdaFunctionTimedOutEventDetails.filterSensitiveLog( + obj.lambdaFunctionTimedOutEventDetails ), }), - ...(obj.taskStartFailedEventDetails && { - taskStartFailedEventDetails: TaskStartFailedEventDetails.filterSensitiveLog(obj.taskStartFailedEventDetails), + ...(obj.stateEnteredEventDetails && { + stateEnteredEventDetails: StateEnteredEventDetails.filterSensitiveLog(obj.stateEnteredEventDetails), }), - ...(obj.taskSubmittedEventDetails && { - taskSubmittedEventDetails: TaskSubmittedEventDetails.filterSensitiveLog(obj.taskSubmittedEventDetails), + ...(obj.stateExitedEventDetails && { + stateExitedEventDetails: StateExitedEventDetails.filterSensitiveLog(obj.stateExitedEventDetails), }), }); } export interface GetExecutionHistoryOutput { /** - *

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. - * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    + *

    The list of events that occurred in the execution.

    */ - nextToken?: string; + events: HistoryEvent[] | undefined; /** - *

    The list of events that occurred in the execution.

    + *

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    */ - events: HistoryEvent[] | undefined; + nextToken?: string; } export namespace GetExecutionHistoryOutput { @@ -2240,6 +2240,12 @@ export interface ListExecutionsInput { */ stateMachineArn: string | undefined; + /** + *

    If specified, only list the executions whose current execution status matches the given + * filter.

    + */ + statusFilter?: ExecutionStatus | string; + /** *

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    @@ -2252,12 +2258,6 @@ export interface ListExecutionsInput { * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    */ nextToken?: string; - - /** - *

    If specified, only list the executions whose current execution status matches the given - * filter.

    - */ - statusFilter?: ExecutionStatus | string; } export namespace ListExecutionsInput { @@ -2271,10 +2271,15 @@ export namespace ListExecutionsInput { */ export interface ExecutionListItem { /** - *

    The Amazon Resource Name (ARN) that id entifies the execution.

    + *

    The Amazon Resource Name (ARN) that identifies the execution.

    */ executionArn: string | undefined; + /** + *

    The Amazon Resource Name (ARN) of the executed state machine.

    + */ + stateMachineArn: string | undefined; + /** *

    The name of the execution.

    *

    A name must not contain:

    @@ -2302,6 +2307,11 @@ export interface ExecutionListItem { */ name: string | undefined; + /** + *

    The current status of the execution.

    + */ + status: ExecutionStatus | string | undefined; + /** *

    The date the execution started.

    */ @@ -2311,16 +2321,6 @@ export interface ExecutionListItem { *

    If the execution already ended, the date the execution stopped.

    */ stopDate?: Date; - - /** - *

    The current status of the execution.

    - */ - status: ExecutionStatus | string | undefined; - - /** - *

    The Amazon Resource Name (ARN) of the executed state machine.

    - */ - stateMachineArn: string | undefined; } export namespace ExecutionListItem { @@ -2374,9 +2374,9 @@ export namespace ListStateMachinesInput { */ export interface StateMachineListItem { /** - *

    The date the state machine is created.

    + *

    The Amazon Resource Name (ARN) that identifies the state machine.

    */ - creationDate: Date | undefined; + stateMachineArn: string | undefined; /** *

    The name of the state machine.

    @@ -2411,9 +2411,9 @@ export interface StateMachineListItem { type: StateMachineType | string | undefined; /** - *

    The Amazon Resource Name (ARN) that identifies the state machine.

    + *

    The date the state machine is created.

    */ - stateMachineArn: string | undefined; + creationDate: Date | undefined; } export namespace StateMachineListItem { @@ -2423,13 +2423,12 @@ export namespace StateMachineListItem { } export interface ListStateMachinesOutput { + stateMachines: StateMachineListItem[] | undefined; /** *

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    */ nextToken?: string; - - stateMachines: StateMachineListItem[] | undefined; } export namespace ListStateMachinesOutput { @@ -2579,17 +2578,17 @@ export namespace InvalidOutput { } export interface SendTaskSuccessInput { - /** - *

    The JSON output of the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    - */ - output: string | undefined; - /** *

    The token that represents this task. Task tokens are generated by Step Functions when * tasks are assigned to a worker, or in the context object when a * workflow enters a task state. See GetActivityTaskOutput$taskToken.

    */ taskToken: string | undefined; + + /** + *

    The JSON output of the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + */ + output: string | undefined; } export namespace SendTaskSuccessInput { @@ -2659,20 +2658,6 @@ export namespace InvalidExecutionInput { } export interface StartExecutionInput { - /** - *

    The string that contains the JSON input data for the execution, for example:

    - *

    - * "input": "{\"first_name\" : \"test\"}" - *

    - * - *

    If you don't include any JSON input data, you still must include the two braces, for - * example: "input": "{}" - *

    - *
    - *

    Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    - */ - input?: string; - /** *

    The Amazon Resource Name (ARN) of the state machine to execute.

    */ @@ -2707,6 +2692,20 @@ export interface StartExecutionInput { */ name?: string; + /** + *

    The string that contains the JSON input data for the execution, for example:

    + *

    + * "input": "{\"first_name\" : \"test\"}" + *

    + * + *

    If you don't include any JSON input data, you still must include the two braces, for + * example: "input": "{}" + *

    + *
    + *

    Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + */ + input?: string; + /** *

    Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

    */ @@ -2722,7 +2721,7 @@ export namespace StartExecutionInput { export interface StartExecutionOutput { /** - *

    The Amazon Resource Name (ARN) that id entifies the execution.

    + *

    The Amazon Resource Name (ARN) that identifies the execution.

    */ executionArn: string | undefined; @@ -2738,17 +2737,165 @@ export namespace StartExecutionOutput { }); } -export interface StopExecutionInput { +export interface StartSyncExecutionInput { + /** + *

    The Amazon Resource Name (ARN) of the state machine to execute.

    + */ + stateMachineArn: string | undefined; + + /** + *

    The name of the execution.

    + */ + name?: string; + + /** + *

    The string that contains the JSON input data for the execution, for example:

    + *

    + * "input": "{\"first_name\" : \"test\"}" + *

    + * + *

    If you don't include any JSON input data, you still must include the two braces, for + * example: "input": "{}" + *

    + *
    + *

    Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + */ + input?: string; + + /** + *

    Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

    + */ + traceHeader?: string; +} + +export namespace StartSyncExecutionInput { + export const filterSensitiveLog = (obj: StartSyncExecutionInput): any => ({ + ...obj, + ...(obj.input && { input: SENSITIVE_STRING }), + }); +} + +/** + *

    An object that describes workflow billing details.

    + */ +export interface BillingDetails { + /** + *

    Billed memory consumption of your workflow, in MB.

    + */ + billedMemoryUsedInMB?: number; + + /** + *

    Billed duration of your workflow, in milliseconds.

    + */ + billedDurationInMilliseconds?: number; +} + +export namespace BillingDetails { + export const filterSensitiveLog = (obj: BillingDetails): any => ({ + ...obj, + }); +} + +export type SyncExecutionStatus = "FAILED" | "SUCCEEDED" | "TIMED_OUT"; + +export interface StartSyncExecutionOutput { + /** + *

    The Amazon Resource Name (ARN) that identifies the execution.

    + */ + executionArn: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) that identifies the state machine.

    + */ + stateMachineArn?: string; + + /** + *

    The name of the execution.

    + */ + name?: string; + + /** + *

    The date the execution is started.

    + */ + startDate: Date | undefined; + + /** + *

    If the execution has already ended, the date the execution stopped.

    + */ + stopDate: Date | undefined; + + /** + *

    The current status of the execution.

    + */ + status: SyncExecutionStatus | string | undefined; + /** *

    The error code of the failure.

    */ error?: string; + /** + *

    A more detailed explanation of the cause of the failure.

    + */ + cause?: string; + + /** + *

    The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + */ + input?: string; + + /** + *

    Provides details about execution input or output.

    + */ + inputDetails?: CloudWatchEventsExecutionDataDetails; + + /** + *

    The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    + * + *

    This field is set only if the execution succeeds. If the execution fails, this field is + * null.

    + *
    + */ + output?: string; + + /** + *

    Provides details about execution input or output.

    + */ + outputDetails?: CloudWatchEventsExecutionDataDetails; + + /** + *

    The AWS X-Ray trace header that was passed to the execution.

    + */ + traceHeader?: string; + + /** + *

    An object that describes workflow billing details, including billed duration + * and memory use.

    + */ + billingDetails?: BillingDetails; +} + +export namespace StartSyncExecutionOutput { + export const filterSensitiveLog = (obj: StartSyncExecutionOutput): any => ({ + ...obj, + ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), + ...(obj.input && { input: SENSITIVE_STRING }), + ...(obj.output && { output: SENSITIVE_STRING }), + }); +} + +export interface StopExecutionInput { /** *

    The Amazon Resource Name (ARN) of the execution to stop.

    */ executionArn: string | undefined; + /** + *

    The error code of the failure.

    + */ + error?: string; + /** *

    A more detailed explanation of the cause of the failure.

    */ @@ -2778,15 +2925,15 @@ export namespace StopExecutionOutput { export interface TagResourceInput { /** - *

    The list of tags to add to a resource.

    - *

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    + *

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

    */ - tags: Tag[] | undefined; + resourceArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

    + *

    The list of tags to add to a resource.

    + *

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    */ - resourceArn: string | undefined; + tags: Tag[] | undefined; } export namespace TagResourceInput { @@ -2852,25 +2999,25 @@ export interface UpdateStateMachineInput { stateMachineArn: string | undefined; /** - *

    The LoggingConfiguration data type is used to set CloudWatch Logs - * options.

    + *

    The Amazon States Language definition of the state machine. See Amazon States Language.

    */ - loggingConfiguration?: LoggingConfiguration; + definition?: string; /** - *

    The Amazon States Language definition of the state machine. See Amazon States Language.

    + *

    The Amazon Resource Name (ARN) of the IAM role of the state machine.

    */ - definition?: string; + roleArn?: string; /** - *

    Selects whether AWS X-Ray tracing is enabled.

    + *

    The LoggingConfiguration data type is used to set CloudWatch Logs + * options.

    */ - tracingConfiguration?: TracingConfiguration; + loggingConfiguration?: LoggingConfiguration; /** - *

    The Amazon Resource Name (ARN) of the IAM role of the state machine.

    + *

    Selects whether AWS X-Ray tracing is enabled.

    */ - roleArn?: string; + tracingConfiguration?: TracingConfiguration; } export namespace UpdateStateMachineInput { diff --git a/clients/client-sfn/protocols/Aws_json1_0.ts b/clients/client-sfn/protocols/Aws_json1_0.ts index ded5d40392b0c..7e62bbf294375 100644 --- a/clients/client-sfn/protocols/Aws_json1_0.ts +++ b/clients/client-sfn/protocols/Aws_json1_0.ts @@ -28,6 +28,7 @@ import { SendTaskFailureCommandInput, SendTaskFailureCommandOutput } from "../co import { SendTaskHeartbeatCommandInput, SendTaskHeartbeatCommandOutput } from "../commands/SendTaskHeartbeatCommand"; import { SendTaskSuccessCommandInput, SendTaskSuccessCommandOutput } from "../commands/SendTaskSuccessCommand"; import { StartExecutionCommandInput, StartExecutionCommandOutput } from "../commands/StartExecutionCommand"; +import { StartSyncExecutionCommandInput, StartSyncExecutionCommandOutput } from "../commands/StartSyncExecutionCommand"; import { StopExecutionCommandInput, StopExecutionCommandOutput } from "../commands/StopExecutionCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; @@ -43,6 +44,7 @@ import { ActivitySucceededEventDetails, ActivityTimedOutEventDetails, ActivityWorkerLimitExceeded, + BillingDetails, CloudWatchEventsExecutionDataDetails, CloudWatchLogsLogGroup, CreateActivityInput, @@ -112,6 +114,8 @@ import { SendTaskSuccessOutput, StartExecutionInput, StartExecutionOutput, + StartSyncExecutionInput, + StartSyncExecutionOutput, StateEnteredEventDetails, StateExitedEventDetails, StateMachineAlreadyExists, @@ -142,7 +146,11 @@ import { UpdateStateMachineInput, UpdateStateMachineOutput, } from "../models/models_0"; -import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { + HttpRequest as __HttpRequest, + HttpResponse as __HttpResponse, + isValidHostname as __isValidHostname, +} from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { Endpoint as __Endpoint, @@ -386,6 +394,26 @@ export const serializeAws_json1_0StartExecutionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_0StartSyncExecutionCommand = async ( + input: StartSyncExecutionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "AWSStepFunctions.StartSyncExecution", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0StartSyncExecutionInput(input, context)); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "sync-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); +}; + export const serializeAws_json1_0StopExecutionCommand = async ( input: StopExecutionCommandInput, context: __SerdeContext @@ -1716,6 +1744,101 @@ const deserializeAws_json1_0StartExecutionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_0StartSyncExecutionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0StartSyncExecutionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0StartSyncExecutionOutput(data, context); + const response: StartSyncExecutionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0StartSyncExecutionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + response = { + ...(await deserializeAws_json1_0InvalidArnResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidExecutionInput": + case "com.amazonaws.sfn#InvalidExecutionInput": + response = { + ...(await deserializeAws_json1_0InvalidExecutionInputResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + response = { + ...(await deserializeAws_json1_0InvalidNameResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + response = { + ...(await deserializeAws_json1_0StateMachineDeletingResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + response = { + ...(await deserializeAws_json1_0StateMachineDoesNotExistResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + response = { + ...(await deserializeAws_json1_0StateMachineTypeNotSupportedResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_0StopExecutionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2551,6 +2674,15 @@ const serializeAws_json1_0StartExecutionInput = (input: StartExecutionInput, con }; }; +const serializeAws_json1_0StartSyncExecutionInput = (input: StartSyncExecutionInput, context: __SerdeContext): any => { + return { + ...(input.input !== undefined && { input: input.input }), + ...(input.name !== undefined && { name: input.name }), + ...(input.stateMachineArn !== undefined && { stateMachineArn: input.stateMachineArn }), + ...(input.traceHeader !== undefined && { traceHeader: input.traceHeader }), + }; +}; + const serializeAws_json1_0StopExecutionInput = (input: StopExecutionInput, context: __SerdeContext): any => { return { ...(input.cause !== undefined && { cause: input.cause }), @@ -2716,6 +2848,19 @@ const deserializeAws_json1_0ActivityWorkerLimitExceeded = ( } as any; }; +const deserializeAws_json1_0BillingDetails = (output: any, context: __SerdeContext): BillingDetails => { + return { + billedDurationInMilliseconds: + output.billedDurationInMilliseconds !== undefined && output.billedDurationInMilliseconds !== null + ? output.billedDurationInMilliseconds + : undefined, + billedMemoryUsedInMB: + output.billedMemoryUsedInMB !== undefined && output.billedMemoryUsedInMB !== null + ? output.billedMemoryUsedInMB + : undefined, + } as any; +}; + const deserializeAws_json1_0CloudWatchEventsExecutionDataDetails = ( output: any, context: __SerdeContext @@ -3395,6 +3540,44 @@ const deserializeAws_json1_0StartExecutionOutput = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_0StartSyncExecutionOutput = ( + output: any, + context: __SerdeContext +): StartSyncExecutionOutput => { + return { + billingDetails: + output.billingDetails !== undefined && output.billingDetails !== null + ? deserializeAws_json1_0BillingDetails(output.billingDetails, context) + : undefined, + cause: output.cause !== undefined && output.cause !== null ? output.cause : undefined, + error: output.error !== undefined && output.error !== null ? output.error : undefined, + executionArn: output.executionArn !== undefined && output.executionArn !== null ? output.executionArn : undefined, + input: output.input !== undefined && output.input !== null ? output.input : undefined, + inputDetails: + output.inputDetails !== undefined && output.inputDetails !== null + ? deserializeAws_json1_0CloudWatchEventsExecutionDataDetails(output.inputDetails, context) + : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0CloudWatchEventsExecutionDataDetails(output.outputDetails, context) + : undefined, + startDate: + output.startDate !== undefined && output.startDate !== null + ? new Date(Math.round(output.startDate * 1000)) + : undefined, + stateMachineArn: + output.stateMachineArn !== undefined && output.stateMachineArn !== null ? output.stateMachineArn : undefined, + status: output.status !== undefined && output.status !== null ? output.status : undefined, + stopDate: + output.stopDate !== undefined && output.stopDate !== null + ? new Date(Math.round(output.stopDate * 1000)) + : undefined, + traceHeader: output.traceHeader !== undefined && output.traceHeader !== null ? output.traceHeader : undefined, + } as any; +}; + const deserializeAws_json1_0StateEnteredEventDetails = ( output: any, context: __SerdeContext diff --git a/clients/client-signer/Signer.ts b/clients/client-signer/Signer.ts index b44e91aa7beeb..4a5bb74523d71 100644 --- a/clients/client-signer/Signer.ts +++ b/clients/client-signer/Signer.ts @@ -1,4 +1,9 @@ import { SignerClient } from "./SignerClient"; +import { + AddProfilePermissionCommand, + AddProfilePermissionCommandInput, + AddProfilePermissionCommandOutput, +} from "./commands/AddProfilePermissionCommand"; import { CancelSigningProfileCommand, CancelSigningProfileCommandInput, @@ -19,6 +24,11 @@ import { GetSigningProfileCommandInput, GetSigningProfileCommandOutput, } from "./commands/GetSigningProfileCommand"; +import { + ListProfilePermissionsCommand, + ListProfilePermissionsCommandInput, + ListProfilePermissionsCommandOutput, +} from "./commands/ListProfilePermissionsCommand"; import { ListSigningJobsCommand, ListSigningJobsCommandInput, @@ -44,6 +54,21 @@ import { PutSigningProfileCommandInput, PutSigningProfileCommandOutput, } from "./commands/PutSigningProfileCommand"; +import { + RemoveProfilePermissionCommand, + RemoveProfilePermissionCommandInput, + RemoveProfilePermissionCommandOutput, +} from "./commands/RemoveProfilePermissionCommand"; +import { + RevokeSignatureCommand, + RevokeSignatureCommandInput, + RevokeSignatureCommandOutput, +} from "./commands/RevokeSignatureCommand"; +import { + RevokeSigningProfileCommand, + RevokeSigningProfileCommandInput, + RevokeSigningProfileCommandOutput, +} from "./commands/RevokeSigningProfileCommand"; import { StartSigningJobCommand, StartSigningJobCommandInput, @@ -58,13 +83,57 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

    With code signing for IoT, you can sign code that you create for any IoT device that is - * supported by Amazon Web Services (AWS). Code signing is available through Amazon FreeRTOS and AWS IoT Device Management, and integrated with AWS Certificate Manager - * (ACM). In order to sign code, you import a third-party code signing - * certificate with ACM that is used to sign updates in Amazon FreeRTOS and AWS IoT Device Management. For - * general information about using code signing, see the Code Signing for IoT Developer Guide.

    + *

    AWS Signer is a fully managed code signing service to help you ensure the trust and + * integrity of your code.

    + *

    AWS Signer supports the following applications:

    + * + *

    With code signing for AWS Lambda, you can sign AWS Lambda + * deployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch, + * and AWS CloudTrail. In order to sign code, you create a signing profile and then use + * Signer to sign Lambda zip files in S3.

    + * + *

    With code signing for IoT, you can sign code for any IoT device that is + * supported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is + * integrated with AWS Certificate Manager (ACM). In order to sign + * code, you import a third-party code signing certificate using ACM, and use that to + * sign updates in Amazon FreeRTOS and AWS IoT Device Management.

    + *

    For more information about AWS Signer, see the AWS Signer Developer Guide.

    + * + *

    */ export class Signer extends SignerClient { + /** + *

    Adds cross-account permissions to a signing profile.

    + */ + public addProfilePermission( + args: AddProfilePermissionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public addProfilePermission( + args: AddProfilePermissionCommandInput, + cb: (err: any, data?: AddProfilePermissionCommandOutput) => void + ): void; + public addProfilePermission( + args: AddProfilePermissionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AddProfilePermissionCommandOutput) => void + ): void; + public addProfilePermission( + args: AddProfilePermissionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AddProfilePermissionCommandOutput) => void), + cb?: (err: any, data?: AddProfilePermissionCommandOutput) => void + ): Promise | void { + const command = new AddProfilePermissionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Changes the state of an ACTIVE signing profile to CANCELED. * A canceled profile is still viewable with the ListSigningProfiles @@ -198,6 +267,38 @@ export class Signer extends SignerClient { } } + /** + *

    Lists the cross-account permissions associated with a signing profile.

    + */ + public listProfilePermissions( + args: ListProfilePermissionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listProfilePermissions( + args: ListProfilePermissionsCommandInput, + cb: (err: any, data?: ListProfilePermissionsCommandOutput) => void + ): void; + public listProfilePermissions( + args: ListProfilePermissionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListProfilePermissionsCommandOutput) => void + ): void; + public listProfilePermissions( + args: ListProfilePermissionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListProfilePermissionsCommandOutput) => void), + cb?: (err: any, data?: ListProfilePermissionsCommandOutput) => void + ): Promise | void { + const command = new ListProfilePermissionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Lists all your signing jobs. You can use the maxResults parameter to * limit the number of signing jobs that are returned in the response. If additional jobs @@ -379,6 +480,105 @@ export class Signer extends SignerClient { } } + /** + *

    Removes cross-account permissions from a signing profile.

    + */ + public removeProfilePermission( + args: RemoveProfilePermissionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public removeProfilePermission( + args: RemoveProfilePermissionCommandInput, + cb: (err: any, data?: RemoveProfilePermissionCommandOutput) => void + ): void; + public removeProfilePermission( + args: RemoveProfilePermissionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RemoveProfilePermissionCommandOutput) => void + ): void; + public removeProfilePermission( + args: RemoveProfilePermissionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RemoveProfilePermissionCommandOutput) => void), + cb?: (err: any, data?: RemoveProfilePermissionCommandOutput) => void + ): Promise | void { + const command = new RemoveProfilePermissionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Changes the state of a signing job to REVOKED. This indicates that the signature is no + * longer valid.

    + */ + public revokeSignature( + args: RevokeSignatureCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public revokeSignature( + args: RevokeSignatureCommandInput, + cb: (err: any, data?: RevokeSignatureCommandOutput) => void + ): void; + public revokeSignature( + args: RevokeSignatureCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RevokeSignatureCommandOutput) => void + ): void; + public revokeSignature( + args: RevokeSignatureCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RevokeSignatureCommandOutput) => void), + cb?: (err: any, data?: RevokeSignatureCommandOutput) => void + ): Promise | void { + const command = new RevokeSignatureCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Changes the state of a signing profile to REVOKED. This indicates that signatures + * generated using the signing profile after an effective start date are no longer + * valid.

    + */ + public revokeSigningProfile( + args: RevokeSigningProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public revokeSigningProfile( + args: RevokeSigningProfileCommandInput, + cb: (err: any, data?: RevokeSigningProfileCommandOutput) => void + ): void; + public revokeSigningProfile( + args: RevokeSigningProfileCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RevokeSigningProfileCommandOutput) => void + ): void; + public revokeSigningProfile( + args: RevokeSigningProfileCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RevokeSigningProfileCommandOutput) => void), + cb?: (err: any, data?: RevokeSigningProfileCommandOutput) => void + ): Promise | void { + const command = new RevokeSigningProfileCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Initiates a signing job to be performed on the code provided. Signing jobs are * viewable by the ListSigningJobs operation for two years after they are diff --git a/clients/client-signer/SignerClient.ts b/clients/client-signer/SignerClient.ts index 61d47009e7c54..5a514d54c2071 100644 --- a/clients/client-signer/SignerClient.ts +++ b/clients/client-signer/SignerClient.ts @@ -1,3 +1,7 @@ +import { + AddProfilePermissionCommandInput, + AddProfilePermissionCommandOutput, +} from "./commands/AddProfilePermissionCommand"; import { CancelSigningProfileCommandInput, CancelSigningProfileCommandOutput, @@ -5,6 +9,10 @@ import { import { DescribeSigningJobCommandInput, DescribeSigningJobCommandOutput } from "./commands/DescribeSigningJobCommand"; import { GetSigningPlatformCommandInput, GetSigningPlatformCommandOutput } from "./commands/GetSigningPlatformCommand"; import { GetSigningProfileCommandInput, GetSigningProfileCommandOutput } from "./commands/GetSigningProfileCommand"; +import { + ListProfilePermissionsCommandInput, + ListProfilePermissionsCommandOutput, +} from "./commands/ListProfilePermissionsCommand"; import { ListSigningJobsCommandInput, ListSigningJobsCommandOutput } from "./commands/ListSigningJobsCommand"; import { ListSigningPlatformsCommandInput, @@ -19,6 +27,15 @@ import { ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; import { PutSigningProfileCommandInput, PutSigningProfileCommandOutput } from "./commands/PutSigningProfileCommand"; +import { + RemoveProfilePermissionCommandInput, + RemoveProfilePermissionCommandOutput, +} from "./commands/RemoveProfilePermissionCommand"; +import { RevokeSignatureCommandInput, RevokeSignatureCommandOutput } from "./commands/RevokeSignatureCommand"; +import { + RevokeSigningProfileCommandInput, + RevokeSigningProfileCommandOutput, +} from "./commands/RevokeSigningProfileCommand"; import { StartSigningJobCommandInput, StartSigningJobCommandOutput } from "./commands/StartSigningJobCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; @@ -72,29 +89,39 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | AddProfilePermissionCommandInput | CancelSigningProfileCommandInput | DescribeSigningJobCommandInput | GetSigningPlatformCommandInput | GetSigningProfileCommandInput + | ListProfilePermissionsCommandInput | ListSigningJobsCommandInput | ListSigningPlatformsCommandInput | ListSigningProfilesCommandInput | ListTagsForResourceCommandInput | PutSigningProfileCommandInput + | RemoveProfilePermissionCommandInput + | RevokeSignatureCommandInput + | RevokeSigningProfileCommandInput | StartSigningJobCommandInput | TagResourceCommandInput | UntagResourceCommandInput; export type ServiceOutputTypes = + | AddProfilePermissionCommandOutput | CancelSigningProfileCommandOutput | DescribeSigningJobCommandOutput | GetSigningPlatformCommandOutput | GetSigningProfileCommandOutput + | ListProfilePermissionsCommandOutput | ListSigningJobsCommandOutput | ListSigningPlatformsCommandOutput | ListSigningProfilesCommandOutput | ListTagsForResourceCommandOutput | PutSigningProfileCommandOutput + | RemoveProfilePermissionCommandOutput + | RevokeSignatureCommandOutput + | RevokeSigningProfileCommandOutput | StartSigningJobCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput; @@ -212,11 +239,23 @@ export type SignerClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHan HostHeaderResolvedConfig; /** - *

    With code signing for IoT, you can sign code that you create for any IoT device that is - * supported by Amazon Web Services (AWS). Code signing is available through Amazon FreeRTOS and AWS IoT Device Management, and integrated with AWS Certificate Manager - * (ACM). In order to sign code, you import a third-party code signing - * certificate with ACM that is used to sign updates in Amazon FreeRTOS and AWS IoT Device Management. For - * general information about using code signing, see the Code Signing for IoT Developer Guide.

    + *

    AWS Signer is a fully managed code signing service to help you ensure the trust and + * integrity of your code.

    + *

    AWS Signer supports the following applications:

    + * + *

    With code signing for AWS Lambda, you can sign AWS Lambda + * deployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch, + * and AWS CloudTrail. In order to sign code, you create a signing profile and then use + * Signer to sign Lambda zip files in S3.

    + * + *

    With code signing for IoT, you can sign code for any IoT device that is + * supported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is + * integrated with AWS Certificate Manager (ACM). In order to sign + * code, you import a third-party code signing certificate using ACM, and use that to + * sign updates in Amazon FreeRTOS and AWS IoT Device Management.

    + *

    For more information about AWS Signer, see the AWS Signer Developer Guide.

    + * + *

    */ export class SignerClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-signer/commands/AddProfilePermissionCommand.ts b/clients/client-signer/commands/AddProfilePermissionCommand.ts new file mode 100644 index 0000000000000..b9cde89865728 --- /dev/null +++ b/clients/client-signer/commands/AddProfilePermissionCommand.ts @@ -0,0 +1,88 @@ +import { ServiceInputTypes, ServiceOutputTypes, SignerClientResolvedConfig } from "../SignerClient"; +import { AddProfilePermissionRequest, AddProfilePermissionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1AddProfilePermissionCommand, + serializeAws_restJson1AddProfilePermissionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AddProfilePermissionCommandInput = AddProfilePermissionRequest; +export type AddProfilePermissionCommandOutput = AddProfilePermissionResponse & __MetadataBearer; + +/** + *

    Adds cross-account permissions to a signing profile.

    + */ +export class AddProfilePermissionCommand extends $Command< + AddProfilePermissionCommandInput, + AddProfilePermissionCommandOutput, + SignerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AddProfilePermissionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SignerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SignerClient"; + const commandName = "AddProfilePermissionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AddProfilePermissionRequest.filterSensitiveLog, + outputFilterSensitiveLog: AddProfilePermissionResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AddProfilePermissionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AddProfilePermissionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AddProfilePermissionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-signer/commands/ListProfilePermissionsCommand.ts b/clients/client-signer/commands/ListProfilePermissionsCommand.ts new file mode 100644 index 0000000000000..57f459ad15e06 --- /dev/null +++ b/clients/client-signer/commands/ListProfilePermissionsCommand.ts @@ -0,0 +1,88 @@ +import { ServiceInputTypes, ServiceOutputTypes, SignerClientResolvedConfig } from "../SignerClient"; +import { ListProfilePermissionsRequest, ListProfilePermissionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListProfilePermissionsCommand, + serializeAws_restJson1ListProfilePermissionsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListProfilePermissionsCommandInput = ListProfilePermissionsRequest; +export type ListProfilePermissionsCommandOutput = ListProfilePermissionsResponse & __MetadataBearer; + +/** + *

    Lists the cross-account permissions associated with a signing profile.

    + */ +export class ListProfilePermissionsCommand extends $Command< + ListProfilePermissionsCommandInput, + ListProfilePermissionsCommandOutput, + SignerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListProfilePermissionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SignerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SignerClient"; + const commandName = "ListProfilePermissionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListProfilePermissionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListProfilePermissionsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListProfilePermissionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListProfilePermissionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListProfilePermissionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-signer/commands/RemoveProfilePermissionCommand.ts b/clients/client-signer/commands/RemoveProfilePermissionCommand.ts new file mode 100644 index 0000000000000..bb88df7402957 --- /dev/null +++ b/clients/client-signer/commands/RemoveProfilePermissionCommand.ts @@ -0,0 +1,88 @@ +import { ServiceInputTypes, ServiceOutputTypes, SignerClientResolvedConfig } from "../SignerClient"; +import { RemoveProfilePermissionRequest, RemoveProfilePermissionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1RemoveProfilePermissionCommand, + serializeAws_restJson1RemoveProfilePermissionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RemoveProfilePermissionCommandInput = RemoveProfilePermissionRequest; +export type RemoveProfilePermissionCommandOutput = RemoveProfilePermissionResponse & __MetadataBearer; + +/** + *

    Removes cross-account permissions from a signing profile.

    + */ +export class RemoveProfilePermissionCommand extends $Command< + RemoveProfilePermissionCommandInput, + RemoveProfilePermissionCommandOutput, + SignerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RemoveProfilePermissionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SignerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SignerClient"; + const commandName = "RemoveProfilePermissionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RemoveProfilePermissionRequest.filterSensitiveLog, + outputFilterSensitiveLog: RemoveProfilePermissionResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RemoveProfilePermissionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RemoveProfilePermissionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RemoveProfilePermissionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-signer/commands/RevokeSignatureCommand.ts b/clients/client-signer/commands/RevokeSignatureCommand.ts new file mode 100644 index 0000000000000..2181ae4dcc452 --- /dev/null +++ b/clients/client-signer/commands/RevokeSignatureCommand.ts @@ -0,0 +1,89 @@ +import { ServiceInputTypes, ServiceOutputTypes, SignerClientResolvedConfig } from "../SignerClient"; +import { RevokeSignatureRequest } from "../models/models_0"; +import { + deserializeAws_restJson1RevokeSignatureCommand, + serializeAws_restJson1RevokeSignatureCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RevokeSignatureCommandInput = RevokeSignatureRequest; +export type RevokeSignatureCommandOutput = __MetadataBearer; + +/** + *

    Changes the state of a signing job to REVOKED. This indicates that the signature is no + * longer valid.

    + */ +export class RevokeSignatureCommand extends $Command< + RevokeSignatureCommandInput, + RevokeSignatureCommandOutput, + SignerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RevokeSignatureCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SignerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SignerClient"; + const commandName = "RevokeSignatureCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RevokeSignatureRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RevokeSignatureCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RevokeSignatureCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RevokeSignatureCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-signer/commands/RevokeSigningProfileCommand.ts b/clients/client-signer/commands/RevokeSigningProfileCommand.ts new file mode 100644 index 0000000000000..f2c8d088b35b2 --- /dev/null +++ b/clients/client-signer/commands/RevokeSigningProfileCommand.ts @@ -0,0 +1,90 @@ +import { ServiceInputTypes, ServiceOutputTypes, SignerClientResolvedConfig } from "../SignerClient"; +import { RevokeSigningProfileRequest } from "../models/models_0"; +import { + deserializeAws_restJson1RevokeSigningProfileCommand, + serializeAws_restJson1RevokeSigningProfileCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RevokeSigningProfileCommandInput = RevokeSigningProfileRequest; +export type RevokeSigningProfileCommandOutput = __MetadataBearer; + +/** + *

    Changes the state of a signing profile to REVOKED. This indicates that signatures + * generated using the signing profile after an effective start date are no longer + * valid.

    + */ +export class RevokeSigningProfileCommand extends $Command< + RevokeSigningProfileCommandInput, + RevokeSigningProfileCommandOutput, + SignerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RevokeSigningProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SignerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SignerClient"; + const commandName = "RevokeSigningProfileCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RevokeSigningProfileRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RevokeSigningProfileCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RevokeSigningProfileCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RevokeSigningProfileCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-signer/index.ts b/clients/client-signer/index.ts index 4d0e74f5675d2..4b0bbe176ff8c 100644 --- a/clients/client-signer/index.ts +++ b/clients/client-signer/index.ts @@ -1,9 +1,11 @@ export * from "./SignerClient"; export * from "./Signer"; +export * from "./commands/AddProfilePermissionCommand"; export * from "./commands/CancelSigningProfileCommand"; export * from "./commands/DescribeSigningJobCommand"; export * from "./commands/GetSigningPlatformCommand"; export * from "./commands/GetSigningProfileCommand"; +export * from "./commands/ListProfilePermissionsCommand"; export * from "./commands/ListSigningJobsCommand"; export * from "./pagination/ListSigningJobsPaginator"; export * from "./commands/ListSigningPlatformsCommand"; @@ -12,6 +14,9 @@ export * from "./commands/ListSigningProfilesCommand"; export * from "./pagination/ListSigningProfilesPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PutSigningProfileCommand"; +export * from "./commands/RemoveProfilePermissionCommand"; +export * from "./commands/RevokeSignatureCommand"; +export * from "./commands/RevokeSigningProfileCommand"; export * from "./commands/StartSigningJobCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; diff --git a/clients/client-signer/models/models_0.ts b/clients/client-signer/models/models_0.ts index 6dee0b48f6e02..b3fe329ea0797 100644 --- a/clients/client-signer/models/models_0.ts +++ b/clients/client-signer/models/models_0.ts @@ -8,6 +8,7 @@ export interface AccessDeniedException extends __SmithyException, $MetadataBeare name: "AccessDeniedException"; $fault: "client"; message?: string; + code?: string; } export namespace AccessDeniedException { @@ -16,31 +17,70 @@ export namespace AccessDeniedException { }); } -/** - *

    The request contains invalid parameters for the ARN or tags. This exception also - * occurs when you call a tagging API on a cancelled signing profile.

    - */ -export interface BadRequestException extends __SmithyException, $MetadataBearer { - name: "BadRequestException"; - $fault: "client"; - message?: string; +export interface AddProfilePermissionRequest { + /** + *

    The human-readable name of the signing profile.

    + */ + profileName: string | undefined; + + /** + *

    The version of the signing profile.

    + */ + profileVersion?: string; + + /** + *

    The AWS Signer action permitted as part of cross-account permissions.

    + */ + action: string | undefined; + + /** + *

    The AWS principal receiving cross-account permissions. This may be an IAM role or + * another AWS account ID.

    + */ + principal: string | undefined; + + /** + *

    A unique identifier for the current profile revision.

    + */ + revisionId?: string; + + /** + *

    A unique identifier for the cross-account permission statement.

    + */ + statementId: string | undefined; } -export namespace BadRequestException { - export const filterSensitiveLog = (obj: BadRequestException): any => ({ +export namespace AddProfilePermissionRequest { + export const filterSensitiveLog = (obj: AddProfilePermissionRequest): any => ({ ...obj, }); } -export interface CancelSigningProfileRequest { +export interface AddProfilePermissionResponse { /** - *

    The name of the signing profile to be canceled.

    + *

    A unique identifier for the current profile revision.

    */ - profileName: string | undefined; + revisionId?: string; } -export namespace CancelSigningProfileRequest { - export const filterSensitiveLog = (obj: CancelSigningProfileRequest): any => ({ +export namespace AddProfilePermissionResponse { + export const filterSensitiveLog = (obj: AddProfilePermissionResponse): any => ({ + ...obj, + }); +} + +/** + *

    The resource encountered a conflicting state.

    + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + message?: string; + code?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ ...obj, }); } @@ -52,6 +92,7 @@ export interface InternalServiceErrorException extends __SmithyException, $Metad name: "InternalServiceErrorException"; $fault: "server"; message?: string; + code?: string; } export namespace InternalServiceErrorException { @@ -67,6 +108,7 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB name: "ResourceNotFoundException"; $fault: "client"; message?: string; + code?: string; } export namespace ResourceNotFoundException { @@ -76,16 +118,80 @@ export namespace ResourceNotFoundException { } /** - *

    The signing job has been throttled.

    + *

    The client is making a request that exceeds service limits.

    */ -export interface ThrottlingException extends __SmithyException, $MetadataBearer { - name: "ThrottlingException"; +export interface ServiceLimitExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceLimitExceededException"; $fault: "client"; message?: string; + code?: string; } -export namespace ThrottlingException { - export const filterSensitiveLog = (obj: ThrottlingException): any => ({ +export namespace ServiceLimitExceededException { + export const filterSensitiveLog = (obj: ServiceLimitExceededException): any => ({ + ...obj, + }); +} + +/** + *

    The allowed number of job-signing requests has been exceeded.

    + *

    This error supersedes the error ThrottlingException.

    + */ +export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { + name: "TooManyRequestsException"; + $fault: "client"; + message?: string; + code?: string; +} + +export namespace TooManyRequestsException { + export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({ + ...obj, + }); +} + +/** + *

    You signing certificate could not be validated.

    + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + message?: string; + code?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +/** + *

    The request contains invalid parameters for the ARN or tags. This exception also + * occurs when you call a tagging API on a cancelled signing profile.

    + */ +export interface BadRequestException extends __SmithyException, $MetadataBearer { + name: "BadRequestException"; + $fault: "client"; + message?: string; + code?: string; +} + +export namespace BadRequestException { + export const filterSensitiveLog = (obj: BadRequestException): any => ({ + ...obj, + }); +} + +export interface CancelSigningProfileRequest { + /** + *

    The name of the signing profile to be canceled.

    + */ + profileName: string | undefined; +} + +export namespace CancelSigningProfileRequest { + export const filterSensitiveLog = (obj: CancelSigningProfileRequest): any => ({ ...obj, }); } @@ -140,21 +246,21 @@ export type ImageFormat = "JSON" | "JSONDetached" | "JSONEmbedded"; * platform.

    */ export interface SigningPlatformOverrides { - /** - *

    A signed image is a JSON object. When overriding the default signing platform configuration, - * a customer can select either of two signing formats, JSONEmbedded or - * JSONDetached. (A third format value, JSON, is reserved - * for future use.) With JSONEmbedded, the signing image has the payload - * embedded in it. With JSONDetached, the payload is not be embedded in the - * signing image.

    - */ - signingImageFormat?: ImageFormat | string; - /** *

    A signing configuration that overrides the default encryption or hash algorithm of a * signing job.

    */ signingConfiguration?: SigningConfigurationOverrides; + + /** + *

    A signed image is a JSON object. When overriding the default signing platform + * configuration, a customer can select either of two signing formats, + * JSONEmbedded or JSONDetached. (A third format value, + * JSON, is reserved for future use.) With JSONEmbedded, the + * signing image has the payload embedded in it. With JSONDetached, the + * payload is not be embedded in the signing image.

    + */ + signingImageFormat?: ImageFormat | string; } export namespace SigningPlatformOverrides { @@ -163,6 +269,32 @@ export namespace SigningPlatformOverrides { }); } +/** + *

    Revocation information for a signing job.

    + */ +export interface SigningJobRevocationRecord { + /** + *

    A caller-supplied reason for revocation.

    + */ + reason?: string; + + /** + *

    The time of revocation.

    + */ + revokedAt?: Date; + + /** + *

    The identity of the revoker.

    + */ + revokedBy?: string; +} + +export namespace SigningJobRevocationRecord { + export const filterSensitiveLog = (obj: SigningJobRevocationRecord): any => ({ + ...obj, + }); +} + /** *

    The S3 bucket name and key where code signing saved your signed code image.

    */ @@ -228,14 +360,14 @@ export interface S3Source { bucketName: string | undefined; /** - *

    Version of your source image in your version enabled S3 bucket.

    + *

    Key name of the bucket object that contains your unsigned code.

    */ - version: string | undefined; + key: string | undefined; /** - *

    Key name of the bucket object that contains your unsigned code.

    + *

    Version of your source image in your version enabled S3 bucket.

    */ - key: string | undefined; + version: string | undefined; } export namespace S3Source { @@ -265,20 +397,46 @@ export type SigningStatus = "Failed" | "InProgress" | "Succeeded"; export interface DescribeSigningJobResponse { /** - *

    The name of the profile that initiated the signing operation.

    + *

    The ID of the signing job on output.

    */ - profileName?: string; + jobId?: string; /** - *

    A list of any overrides that were applied to the signing operation.

    + *

    The object that contains the name of your S3 bucket or your raw code.

    */ - overrides?: SigningPlatformOverrides; + source?: Source; /** *

    The Amazon Resource Name (ARN) of your code signing certificate.

    */ signingMaterial?: SigningMaterial; + /** + *

    The microcontroller platform to which your signed code image will be + * distributed.

    + */ + platformId?: string; + + /** + *

    A human-readable name for the signing platform associated with the signing job.

    + */ + platformDisplayName?: string; + + /** + *

    The name of the profile that initiated the signing operation.

    + */ + profileName?: string; + + /** + *

    The version of the signing profile used to initiate the signing job.

    + */ + profileVersion?: string; + + /** + *

    A list of any overrides that were applied to the signing operation.

    + */ + overrides?: SigningPlatformOverrides; + /** *

    Map of user-assigned key-value pairs used during signing. These values contain any * information that you specified for use in your signing job.

    @@ -286,19 +444,19 @@ export interface DescribeSigningJobResponse { signingParameters?: { [key: string]: string }; /** - *

    Name of the S3 bucket where the signed code image is saved by code signing.

    + *

    Date and time that the signing job was created.

    */ - signedObject?: SignedObject; + createdAt?: Date; /** - *

    The object that contains the name of your S3 bucket or your raw code.

    + *

    Date and time that the signing job was completed.

    */ - source?: Source; + completedAt?: Date; /** - *

    The ID of the signing job on output.

    + *

    Thr expiration timestamp for the signature generated by the signing job.

    */ - jobId?: string; + signatureExpiresAt?: Date; /** *

    The IAM principal that requested the signing job.

    @@ -306,30 +464,35 @@ export interface DescribeSigningJobResponse { requestedBy?: string; /** - *

    The microcontroller platform to which your signed code image will be - * distributed.

    + *

    Status of the signing job.

    */ - platformId?: string; + status?: SigningStatus | string; /** - *

    Date and time that the signing job was created.

    + *

    String value that contains the status reason.

    */ - createdAt?: Date; + statusReason?: string; /** - *

    Status of the signing job.

    + *

    A revocation record if the signature generated by the signing job has been revoked. + * Contains a timestamp and the ID of the IAM entity that revoked the signature.

    */ - status?: SigningStatus | string; + revocationRecord?: SigningJobRevocationRecord; /** - *

    Date and time that the signing job was completed.

    + *

    Name of the S3 bucket where the signed code image is saved by code signing.

    */ - completedAt?: Date; + signedObject?: SignedObject; /** - *

    String value that contains the status reason.

    + *

    The AWS account ID of the job owner.

    */ - statusReason?: string; + jobOwner?: string; + + /** + *

    The IAM entity that initiated the signing job.

    + */ + jobInvoker?: string; } export namespace DescribeSigningJobResponse { @@ -458,14 +621,14 @@ export namespace SigningConfiguration { */ export interface SigningImageFormat { /** - *

    The default format of a code signing image.

    + *

    The supported formats of a code signing image.

    */ - defaultFormat: ImageFormat | string | undefined; + supportedFormats: (ImageFormat | string)[] | undefined; /** - *

    The supported formats of a code signing image.

    + *

    The default format of a code signing image.

    */ - supportedFormats: (ImageFormat | string)[] | undefined; + defaultFormat: ImageFormat | string | undefined; } export namespace SigningImageFormat { @@ -476,14 +639,9 @@ export namespace SigningImageFormat { export interface GetSigningPlatformResponse { /** - *

    The validation template that is used by the target signing platform.

    - */ - target?: string; - - /** - *

    A list of configurations applied to the target platform at signing.

    + *

    The ID of the target signing platform.

    */ - signingConfiguration?: SigningConfiguration; + platformId?: string; /** *

    The display name of the target signing platform.

    @@ -496,14 +654,24 @@ export interface GetSigningPlatformResponse { partner?: string; /** - *

    The format of the target platform's signing image.

    + *

    The validation template that is used by the target signing platform.

    */ - signingImageFormat?: SigningImageFormat; + target?: string; /** - *

    The ID of the target signing platform.

    + *

    The category type of the target signing platform.

    */ - platformId?: string; + category?: Category | string; + + /** + *

    A list of configurations applied to the target platform at signing.

    + */ + signingConfiguration?: SigningConfiguration; + + /** + *

    The format of the target platform's signing image.

    + */ + signingImageFormat?: SigningImageFormat; /** *

    The maximum size (in MB) of the payload that can be signed by the target @@ -512,9 +680,10 @@ export interface GetSigningPlatformResponse { maxSizeInMB?: number; /** - *

    The category type of the target signing platform.

    + *

    A flag indicating whether signatures generated for the signing platform can be + * revoked.

    */ - category?: Category | string; + revocationSupported?: boolean; } export namespace GetSigningPlatformResponse { @@ -528,6 +697,11 @@ export interface GetSigningProfileRequest { *

    The name of the target signing profile.

    */ profileName: string | undefined; + + /** + *

    The AWS account ID of the profile owner.

    + */ + profileOwner?: string; } export namespace GetSigningProfileRequest { @@ -536,46 +710,127 @@ export namespace GetSigningProfileRequest { }); } -export type SigningProfileStatus = "Active" | "Canceled"; - -export interface GetSigningProfileResponse { +/** + *

    Revocation information for a signing profile.

    + */ +export interface SigningProfileRevocationRecord { /** - *

    A list of overrides applied by the target signing profile for signing - * operations.

    + *

    The time when revocation becomes effective.

    */ - overrides?: SigningPlatformOverrides; + revocationEffectiveFrom?: Date; /** - *

    The name of the target signing profile.

    + *

    The time when the signing profile was revoked.

    */ - profileName?: string; + revokedAt?: Date; /** - *

    A map of key-value pairs for signing operations that is attached to the target signing - * profile.

    + *

    The identity of the revoker.

    */ - signingParameters?: { [key: string]: string }; + revokedBy?: string; +} + +export namespace SigningProfileRevocationRecord { + export const filterSensitiveLog = (obj: SigningProfileRevocationRecord): any => ({ + ...obj, + }); +} +export type ValidityType = "DAYS" | "MONTHS" | "YEARS"; + +/** + *

    The validity period for a signing job.

    + */ +export interface SignatureValidityPeriod { /** - *

    The ID of the platform that is used by the target signing profile.

    + *

    The numerical value of the time unit for signature validity.

    */ - platformId?: string; + value?: number; /** - *

    The ARN of the certificate that the target profile uses for signing operations.

    + *

    The time unit for signature + * validity.

    + */ + type?: ValidityType | string; +} + +export namespace SignatureValidityPeriod { + export const filterSensitiveLog = (obj: SignatureValidityPeriod): any => ({ + ...obj, + }); +} + +export type SigningProfileStatus = "Active" | "Canceled" | "Revoked"; + +export interface GetSigningProfileResponse { + /** + *

    The name of the target signing profile.

    + */ + profileName?: string; + + /** + *

    The current version of the signing profile.

    + */ + profileVersion?: string; + + /** + *

    The signing profile ARN, including the profile version.

    + */ + profileVersionArn?: string; + + /** + *

    Revocation information for a signing profile.

    + */ + revocationRecord?: SigningProfileRevocationRecord; + + /** + *

    The ARN of the certificate that the target profile uses for signing operations.

    */ signingMaterial?: SigningMaterial; /** - *

    The Amazon Resource Name (ARN) for the signing profile.

    + *

    The ID of the platform that is used by the target signing profile.

    */ - arn?: string; + platformId?: string; + + /** + *

    A human-readable name for the signing platform associated with the signing + * profile.

    + */ + platformDisplayName?: string; + + /** + *

    The validity period for a signing job.

    + */ + signatureValidityPeriod?: SignatureValidityPeriod; + + /** + *

    A list of overrides applied by the target signing profile for signing + * operations.

    + */ + overrides?: SigningPlatformOverrides; + + /** + *

    A map of key-value pairs for signing operations that is attached to the target signing + * profile.

    + */ + signingParameters?: { [key: string]: string }; /** *

    The status of the target signing profile.

    */ status?: SigningProfileStatus | string; + /** + *

    Reason for the status of the target signing profile.

    + */ + statusReason?: string; + + /** + *

    The Amazon Resource Name (ARN) for the signing profile.

    + */ + arn?: string; + /** *

    A list of tags associated with the signing profile.

    */ @@ -588,7 +843,100 @@ export namespace GetSigningProfileResponse { }); } +export interface ListProfilePermissionsRequest { + /** + *

    Name of the signing profile containing the cross-account permissions.

    + */ + profileName: string | undefined; + + /** + *

    String for specifying the next set of paginated results.

    + */ + nextToken?: string; +} + +export namespace ListProfilePermissionsRequest { + export const filterSensitiveLog = (obj: ListProfilePermissionsRequest): any => ({ + ...obj, + }); +} + +/** + *

    A cross-account permission for a signing profile.

    + */ +export interface Permission { + /** + *

    An AWS Signer action permitted as part of cross-account permissions.

    + */ + action?: string; + + /** + *

    The AWS principal that has been granted a cross-account permission.

    + */ + principal?: string; + + /** + *

    A unique identifier for a cross-account permission statement.

    + */ + statementId?: string; + + /** + *

    The signing profile version that a permission applies to.

    + */ + profileVersion?: string; +} + +export namespace Permission { + export const filterSensitiveLog = (obj: Permission): any => ({ + ...obj, + }); +} + +export interface ListProfilePermissionsResponse { + /** + *

    The identifier for the current revision of profile permissions.

    + */ + revisionId?: string; + + /** + *

    Total size of the policy associated with the Signing Profile in bytes.

    + */ + policySizeBytes?: number; + + /** + *

    List of permissions associated with the Signing Profile.

    + */ + permissions?: Permission[]; + + /** + *

    String for specifying the next set of paginated results.

    + */ + nextToken?: string; +} + +export namespace ListProfilePermissionsResponse { + export const filterSensitiveLog = (obj: ListProfilePermissionsResponse): any => ({ + ...obj, + }); +} + export interface ListSigningJobsRequest { + /** + *

    A status value with which to filter your results.

    + */ + status?: SigningStatus | string; + + /** + *

    The ID of microcontroller platform that you specified for the distribution of your + * code image.

    + */ + platformId?: string; + + /** + *

    The IAM principal that requested the signing job.

    + */ + requestedBy?: string; + /** *

    Specifies the maximum number of items to return in the response. Use this parameter * when paginating results. If additional items exist beyond the number you specify, the @@ -598,11 +946,6 @@ export interface ListSigningJobsRequest { */ maxResults?: number; - /** - *

    The IAM principal that requested the signing job.

    - */ - requestedBy?: string; - /** *

    String for specifying the next set of paginated results to return. After you receive a * response with truncated results, use this parameter in a subsequent request. Set it to @@ -611,15 +954,27 @@ export interface ListSigningJobsRequest { nextToken?: string; /** - *

    The ID of microcontroller platform that you specified for the distribution of your - * code image.

    + *

    Filters results to return only signing jobs with revoked signatures.

    */ - platformId?: string; + isRevoked?: boolean; /** - *

    A status value with which to filter your results.

    + *

    Filters results to return only signing jobs with signatures expiring before a + * specified timestamp.

    */ - status?: SigningStatus | string; + signatureExpiresBefore?: Date; + + /** + *

    Filters results to return only signing jobs with signatures expiring after a specified + * timestamp.

    + */ + signatureExpiresAfter?: Date; + + /** + *

    Filters results to return only signing jobs initiated by a specified IAM + * entity.

    + */ + jobInvoker?: string; } export namespace ListSigningJobsRequest { @@ -632,6 +987,11 @@ export namespace ListSigningJobsRequest { *

    Contains information about a signing job.

    */ export interface SigningJob { + /** + *

    The ID of the signing job.

    + */ + jobId?: string; + /** *

    A Source that contains information about a signing job's code image * source.

    @@ -639,14 +999,16 @@ export interface SigningJob { source?: Source; /** - *

    The ID of the signing job.

    + *

    A SignedObject structure that contains information about a signing job's + * signed code image.

    */ - jobId?: string; + signedObject?: SignedObject; /** - *

    The status of the signing job.

    + *

    A SigningMaterial object that contains the Amazon Resource Name (ARN) of + * the certificate used for the signing job.

    */ - status?: SigningStatus | string; + signingMaterial?: SigningMaterial; /** *

    The date and time that the signing job was created.

    @@ -654,16 +1016,49 @@ export interface SigningJob { createdAt?: Date; /** - *

    A SigningMaterial object that contains the Amazon Resource Name (ARN) of - * the certificate used for the signing job.

    + *

    The status of the signing job.

    */ - signingMaterial?: SigningMaterial; + status?: SigningStatus | string; /** - *

    A SignedObject structure that contains information about a signing job's - * signed code image.

    + *

    Indicates whether the signing job is revoked.

    */ - signedObject?: SignedObject; + isRevoked?: boolean; + + /** + *

    The name of the signing profile that created a signing job.

    + */ + profileName?: string; + + /** + *

    The version of the signing profile that created a signing job.

    + */ + profileVersion?: string; + + /** + *

    The unique identifier for a signing platform.

    + */ + platformId?: string; + + /** + *

    The name of a signing platform.

    + */ + platformDisplayName?: string; + + /** + *

    The time when the signature of a signing job expires.

    + */ + signatureExpiresAt?: Date; + + /** + *

    The AWS account ID of the job owner.

    + */ + jobOwner?: string; + + /** + *

    The AWS account ID of the job invoker.

    + */ + jobInvoker?: string; } export namespace SigningJob { @@ -690,34 +1085,7 @@ export namespace ListSigningJobsResponse { }); } -/** - *

    You signing certificate could not be validated.

    - */ -export interface ValidationException extends __SmithyException, $MetadataBearer { - name: "ValidationException"; - $fault: "client"; - message?: string; -} - -export namespace ValidationException { - export const filterSensitiveLog = (obj: ValidationException): any => ({ - ...obj, - }); -} - export interface ListSigningPlatformsRequest { - /** - *

    Value for specifying the next set of paginated results to return. After you receive a - * response with truncated results, use this parameter in a subsequent request. Set it to - * the value of nextToken from the response that you just received.

    - */ - nextToken?: string; - - /** - *

    The validation template that is used by the target signing platform.

    - */ - target?: string; - /** *

    The category type of a signing platform.

    */ @@ -728,10 +1096,22 @@ export interface ListSigningPlatformsRequest { */ partner?: string; + /** + *

    The validation template that is used by the target signing platform.

    + */ + target?: string; + /** *

    The maximum number of results to be returned by this operation.

    */ maxResults?: number; + + /** + *

    Value for specifying the next set of paginated results to return. After you receive a + * response with truncated results, use this parameter in a subsequent request. Set it to + * the value of nextToken from the response that you just received.

    + */ + nextToken?: string; } export namespace ListSigningPlatformsRequest { @@ -745,20 +1125,15 @@ export namespace ListSigningPlatformsRequest { * perform a code signing job.

    */ export interface SigningPlatform { - /** - *

    The maximum size (in MB) of code that can be signed by a code signing platform.

    - */ - maxSizeInMB?: number; - /** *

    The ID of a code signing; platform.

    */ platformId?: string; /** - *

    The image format of a code signing platform or profile.

    + *

    The display name of a code signing platform.

    */ - signingImageFormat?: SigningImageFormat; + displayName?: string; /** *

    Any partner entities linked to a code signing platform.

    @@ -766,9 +1141,9 @@ export interface SigningPlatform { partner?: string; /** - *

    The display name of a code signing platform.

    + *

    The types of targets that can be signed by a code signing platform.

    */ - displayName?: string; + target?: string; /** *

    The category of a code signing platform.

    @@ -782,9 +1157,19 @@ export interface SigningPlatform { signingConfiguration?: SigningConfiguration; /** - *

    The types of targets that can be signed by a code signing platform.

    + *

    The image format of a code signing platform or profile.

    */ - target?: string; + signingImageFormat?: SigningImageFormat; + + /** + *

    The maximum size (in MB) of code that can be signed by a code signing platform.

    + */ + maxSizeInMB?: number; + + /** + *

    Indicates whether revocation is supported for the platform.

    + */ + revocationSupported?: boolean; } export namespace SigningPlatform { @@ -795,14 +1180,14 @@ export namespace SigningPlatform { export interface ListSigningPlatformsResponse { /** - *

    Value for specifying the next set of paginated results to return.

    + *

    A list of all platforms that match the request parameters.

    */ - nextToken?: string; + platforms?: SigningPlatform[]; /** - *

    A list of all platforms that match the request parameters.

    + *

    Value for specifying the next set of paginated results to return.

    */ - platforms?: SigningPlatform[]; + nextToken?: string; } export namespace ListSigningPlatformsResponse { @@ -812,23 +1197,35 @@ export namespace ListSigningPlatformsResponse { } export interface ListSigningProfilesRequest { - /** - *

    The maximum number of profiles to be returned.

    - */ - maxResults?: number; - /** *

    Designates whether to include profiles with the status of * CANCELED.

    */ includeCanceled?: boolean; + /** + *

    The maximum number of profiles to be returned.

    + */ + maxResults?: number; + /** *

    Value for specifying the next set of paginated results to return. After you receive a * response with truncated results, use this parameter in a subsequent request. Set it to * the value of nextToken from the response that you just received.

    */ nextToken?: string; + + /** + *

    Filters results to return only signing jobs initiated for a specified signing + * platform.

    + */ + platformId?: string; + + /** + *

    Filters results to return only signing jobs with statuses in the specified + * list.

    + */ + statuses?: (SigningProfileStatus | string)[]; } export namespace ListSigningProfilesRequest { @@ -838,44 +1235,64 @@ export namespace ListSigningProfilesRequest { } /** - *

    Contains information about the ACM certificates and code signing configuration parameters that - * can be used by a given code signing user.

    + *

    Contains information about the ACM certificates and code signing configuration parameters + * that can be used by a given code signing user.

    */ export interface SigningProfile { /** - *

    The ID of a platform that is available for use by a signing profile.

    + *

    The name of the signing profile.

    */ - platformId?: string; + profileName?: string; /** - *

    The Amazon Resource Name (ARN) for the signing profile.

    + *

    The version of a signing profile.

    */ - arn?: string; + profileVersion?: string; /** - *

    The parameters that are available for use by a code signing user.

    + *

    The ARN of a signing profile, including the profile version.

    */ - signingParameters?: { [key: string]: string }; + profileVersionArn?: string; /** - *

    The name of the signing profile.

    + *

    The ACM certificate that is available for use by a signing profile.

    */ - profileName?: string; + signingMaterial?: SigningMaterial; /** - *

    A list of tags associated with the signing profile.

    + *

    The validity period for a signing job created using this signing profile.

    */ - tags?: { [key: string]: string }; + signatureValidityPeriod?: SignatureValidityPeriod; /** - *

    The ACM certificate that is available for use by a signing profile.

    + *

    The ID of a platform that is available for use by a signing profile.

    */ - signingMaterial?: SigningMaterial; + platformId?: string; + + /** + *

    The name of the signing platform.

    + */ + platformDisplayName?: string; + + /** + *

    The parameters that are available for use by a code signing user.

    + */ + signingParameters?: { [key: string]: string }; /** *

    The status of a code signing profile.

    */ status?: SigningProfileStatus | string; + + /** + *

    The Amazon Resource Name (ARN) for the signing profile.

    + */ + arn?: string; + + /** + *

    A list of tags associated with the signing profile.

    + */ + tags?: { [key: string]: string }; } export namespace SigningProfile { @@ -885,17 +1302,17 @@ export namespace SigningProfile { } export interface ListSigningProfilesResponse { - /** - *

    Value for specifying the next set of paginated results to return.

    - */ - nextToken?: string; - /** *

    A list of profiles that are available in the AWS account. This includes profiles with * the status of CANCELED if the includeCanceled parameter is set * to true.

    */ profiles?: SigningProfile[]; + + /** + *

    Value for specifying the next set of paginated results to return.

    + */ + nextToken?: string; } export namespace ListSigningProfilesResponse { @@ -937,6 +1354,7 @@ export interface NotFoundException extends __SmithyException, $MetadataBearer { name: "NotFoundException"; $fault: "client"; message?: string; + code?: string; } export namespace NotFoundException { @@ -947,20 +1365,26 @@ export namespace NotFoundException { export interface PutSigningProfileRequest { /** - *

    Map of key-value pairs for signing. These can include any information that you want to - * use during signing.

    + *

    The name of the signing profile to be created.

    */ - signingParameters?: { [key: string]: string }; + profileName: string | undefined; /** - *

    Tags to be associated with the signing profile that is being created.

    + *

    The AWS Certificate Manager certificate that will be used to sign code with the new signing + * profile.

    */ - tags?: { [key: string]: string }; + signingMaterial?: SigningMaterial; /** - *

    The name of the signing profile to be created.

    + *

    The default validity period override for any signature generated using this signing + * profile. If unspecified, the default is 135 months.

    */ - profileName: string | undefined; + signatureValidityPeriod?: SignatureValidityPeriod; + + /** + *

    The ID of the signing platform to be created.

    + */ + platformId: string | undefined; /** *

    A subfield of platform. This specifies any different configuration @@ -970,15 +1394,15 @@ export interface PutSigningProfileRequest { overrides?: SigningPlatformOverrides; /** - *

    The ID of the signing platform to be created.

    + *

    Map of key-value pairs for signing. These can include any information that you want to + * use during signing.

    */ - platformId: string | undefined; + signingParameters?: { [key: string]: string }; /** - *

    The AWS Certificate Manager certificate that will be used to sign code with the new signing - * profile.

    + *

    Tags to be associated with the signing profile that is being created.

    */ - signingMaterial: SigningMaterial | undefined; + tags?: { [key: string]: string }; } export namespace PutSigningProfileRequest { @@ -992,6 +1416,16 @@ export interface PutSigningProfileResponse { *

    The Amazon Resource Name (ARN) of the signing profile created.

    */ arn?: string; + + /** + *

    The version of the signing profile being created.

    + */ + profileVersion?: string; + + /** + *

    The signing profile ARN, including the profile version.

    + */ + profileVersionArn?: string; } export namespace PutSigningProfileResponse { @@ -1000,29 +1434,123 @@ export namespace PutSigningProfileResponse { }); } -export interface StartSigningJobRequest { +export interface RemoveProfilePermissionRequest { /** - *

    String that identifies the signing request. All calls after the first that use this - * token return the same response as the first call.

    + *

    A human-readable name for the signing profile with permissions to be removed.

    */ - clientRequestToken?: string; + profileName: string | undefined; + + /** + *

    An identifier for the current revision of the signing profile permissions.

    + */ + revisionId: string | undefined; + + /** + *

    A unique identifier for the cross-account permissions statement.

    + */ + statementId: string | undefined; +} + +export namespace RemoveProfilePermissionRequest { + export const filterSensitiveLog = (obj: RemoveProfilePermissionRequest): any => ({ + ...obj, + }); +} +export interface RemoveProfilePermissionResponse { + /** + *

    An identifier for the current revision of the profile permissions.

    + */ + revisionId?: string; +} + +export namespace RemoveProfilePermissionResponse { + export const filterSensitiveLog = (obj: RemoveProfilePermissionResponse): any => ({ + ...obj, + }); +} + +export interface RevokeSignatureRequest { + /** + *

    ID of the signing job to be revoked.

    + */ + jobId: string | undefined; + + /** + *

    AWS account ID of the job owner.

    + */ + jobOwner?: string; + + /** + *

    The reason for revoking the signing job.

    + */ + reason: string | undefined; +} + +export namespace RevokeSignatureRequest { + export const filterSensitiveLog = (obj: RevokeSignatureRequest): any => ({ + ...obj, + }); +} + +export interface RevokeSigningProfileRequest { + /** + *

    The name of the signing profile to be revoked.

    + */ + profileName: string | undefined; + + /** + *

    The version of the signing profile to be revoked.

    + */ + profileVersion: string | undefined; + + /** + *

    The reason for revoking a signing profile.

    + */ + reason: string | undefined; + + /** + *

    A timestamp for when revocation of a Signing Profile should become effective. + * Signatures generated using the signing profile after this timestamp are not + * trusted.

    + */ + effectiveTime: Date | undefined; +} + +export namespace RevokeSigningProfileRequest { + export const filterSensitiveLog = (obj: RevokeSigningProfileRequest): any => ({ + ...obj, + }); +} + +export interface StartSigningJobRequest { /** *

    The S3 bucket that contains the object to sign or a BLOB that contains your raw * code.

    */ source: Source | undefined; + /** + *

    The S3 bucket in which to save your signed object. The destination contains the name + * of your bucket and an optional prefix.

    + */ + destination: Destination | undefined; + /** *

    The name of the signing profile.

    */ - profileName?: string; + profileName: string | undefined; /** - *

    The S3 bucket in which to save your signed object. The destination contains the name - * of your bucket and an optional prefix.

    + *

    String that identifies the signing request. All calls after the first that use this + * token return the same response as the first call.

    */ - destination: Destination | undefined; + clientRequestToken?: string; + + /** + *

    The AWS account ID of the signing profile owner.

    + */ + profileOwner?: string; } export namespace StartSigningJobRequest { @@ -1036,6 +1564,11 @@ export interface StartSigningJobResponse { *

    The ID of your signing job.

    */ jobId?: string; + + /** + *

    The AWS account ID of the signing job owner.

    + */ + jobOwner?: string; } export namespace StartSigningJobResponse { @@ -1044,6 +1577,23 @@ export namespace StartSigningJobResponse { }); } +/** + *

    The request was denied due to request throttling.

    + *

    Instead of this error, TooManyRequestsException should be used.

    + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + message?: string; + code?: string; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + export interface TagResourceRequest { /** *

    The Amazon Resource Name (ARN) for the signing profile.

    @@ -1072,14 +1622,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

    A list of tag keys to be removed from the signing profile.

    + *

    The Amazon Resource Name (ARN) for the signing profile.

    */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) for the signing profile.

    + *

    A list of tag keys to be removed from the signing profile.

    */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-signer/protocols/Aws_restJson1.ts b/clients/client-signer/protocols/Aws_restJson1.ts index 5a28f1343cecd..393375579d604 100644 --- a/clients/client-signer/protocols/Aws_restJson1.ts +++ b/clients/client-signer/protocols/Aws_restJson1.ts @@ -1,3 +1,7 @@ +import { + AddProfilePermissionCommandInput, + AddProfilePermissionCommandOutput, +} from "../commands/AddProfilePermissionCommand"; import { CancelSigningProfileCommandInput, CancelSigningProfileCommandOutput, @@ -5,6 +9,10 @@ import { import { DescribeSigningJobCommandInput, DescribeSigningJobCommandOutput } from "../commands/DescribeSigningJobCommand"; import { GetSigningPlatformCommandInput, GetSigningPlatformCommandOutput } from "../commands/GetSigningPlatformCommand"; import { GetSigningProfileCommandInput, GetSigningProfileCommandOutput } from "../commands/GetSigningProfileCommand"; +import { + ListProfilePermissionsCommandInput, + ListProfilePermissionsCommandOutput, +} from "../commands/ListProfilePermissionsCommand"; import { ListSigningJobsCommandInput, ListSigningJobsCommandOutput } from "../commands/ListSigningJobsCommand"; import { ListSigningPlatformsCommandInput, @@ -19,12 +27,22 @@ import { ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; import { PutSigningProfileCommandInput, PutSigningProfileCommandOutput } from "../commands/PutSigningProfileCommand"; +import { + RemoveProfilePermissionCommandInput, + RemoveProfilePermissionCommandOutput, +} from "../commands/RemoveProfilePermissionCommand"; +import { RevokeSignatureCommandInput, RevokeSignatureCommandOutput } from "../commands/RevokeSignatureCommand"; +import { + RevokeSigningProfileCommandInput, + RevokeSigningProfileCommandOutput, +} from "../commands/RevokeSigningProfileCommand"; import { StartSigningJobCommandInput, StartSigningJobCommandOutput } from "../commands/StartSigningJobCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { AccessDeniedException, BadRequestException, + ConflictException, Destination, EncryptionAlgorithm, EncryptionAlgorithmOptions, @@ -33,21 +51,27 @@ import { ImageFormat, InternalServiceErrorException, NotFoundException, + Permission, ResourceNotFoundException, S3Destination, S3SignedObject, S3Source, + ServiceLimitExceededException, + SignatureValidityPeriod, SignedObject, SigningConfiguration, SigningConfigurationOverrides, SigningImageFormat, SigningJob, + SigningJobRevocationRecord, SigningMaterial, SigningPlatform, SigningPlatformOverrides, SigningProfile, + SigningProfileRevocationRecord, Source, ThrottlingException, + TooManyRequestsException, ValidationException, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -63,6 +87,43 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_restJson1AddProfilePermissionCommand = async ( + input: AddProfilePermissionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/signing-profiles/{profileName}/permissions"; + if (input.profileName !== undefined) { + const labelValue: string = input.profileName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: profileName."); + } + resolvedPath = resolvedPath.replace("{profileName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: profileName."); + } + let body: any; + body = JSON.stringify({ + ...(input.action !== undefined && { action: input.action }), + ...(input.principal !== undefined && { principal: input.principal }), + ...(input.profileVersion !== undefined && { profileVersion: input.profileVersion }), + ...(input.revisionId !== undefined && { revisionId: input.revisionId }), + ...(input.statementId !== undefined && { statementId: input.statementId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CancelSigningProfileCommand = async ( input: CancelSigningProfileCommandInput, context: __SerdeContext @@ -170,6 +231,43 @@ export const serializeAws_restJson1GetSigningProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: profileName."); } + const query: any = { + ...(input.profileOwner !== undefined && { profileOwner: input.profileOwner }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListProfilePermissionsCommand = async ( + input: ListProfilePermissionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/signing-profiles/{profileName}/permissions"; + if (input.profileName !== undefined) { + const labelValue: string = input.profileName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: profileName."); + } + resolvedPath = resolvedPath.replace("{profileName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: profileName."); + } + const query: any = { + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -179,6 +277,7 @@ export const serializeAws_restJson1GetSigningProfileCommand = async ( method: "GET", headers, path: resolvedPath, + query, body, }); }; @@ -192,11 +291,19 @@ export const serializeAws_restJson1ListSigningJobsCommand = async ( }; let resolvedPath = "/signing-jobs"; const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.status !== undefined && { status: input.status }), + ...(input.platformId !== undefined && { platformId: input.platformId }), ...(input.requestedBy !== undefined && { requestedBy: input.requestedBy }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.platformId !== undefined && { platformId: input.platformId }), - ...(input.status !== undefined && { status: input.status }), + ...(input.isRevoked !== undefined && { isRevoked: input.isRevoked.toString() }), + ...(input.signatureExpiresBefore !== undefined && { + signatureExpiresBefore: (input.signatureExpiresBefore.toISOString().split(".")[0] + "Z").toString(), + }), + ...(input.signatureExpiresAfter !== undefined && { + signatureExpiresAfter: (input.signatureExpiresAfter.toISOString().split(".")[0] + "Z").toString(), + }), + ...(input.jobInvoker !== undefined && { jobInvoker: input.jobInvoker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -221,11 +328,11 @@ export const serializeAws_restJson1ListSigningPlatformsCommand = async ( }; let resolvedPath = "/signing-platforms"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.target !== undefined && { target: input.target }), ...(input.category !== undefined && { category: input.category }), ...(input.partner !== undefined && { partner: input.partner }), + ...(input.target !== undefined && { target: input.target }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -250,9 +357,11 @@ export const serializeAws_restJson1ListSigningProfilesCommand = async ( }; let resolvedPath = "/signing-profiles"; const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.includeCanceled !== undefined && { includeCanceled: input.includeCanceled.toString() }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.platformId !== undefined && { platformId: input.platformId }), + ...(input.statuses !== undefined && { statuses: (input.statuses || []).map((_entry) => _entry) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -321,6 +430,9 @@ export const serializeAws_restJson1PutSigningProfileCommand = async ( overrides: serializeAws_restJson1SigningPlatformOverrides(input.overrides, context), }), ...(input.platformId !== undefined && { platformId: input.platformId }), + ...(input.signatureValidityPeriod !== undefined && { + signatureValidityPeriod: serializeAws_restJson1SignatureValidityPeriod(input.signatureValidityPeriod, context), + }), ...(input.signingMaterial !== undefined && { signingMaterial: serializeAws_restJson1SigningMaterial(input.signingMaterial, context), }), @@ -341,6 +453,118 @@ export const serializeAws_restJson1PutSigningProfileCommand = async ( }); }; +export const serializeAws_restJson1RemoveProfilePermissionCommand = async ( + input: RemoveProfilePermissionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/signing-profiles/{profileName}/permissions/{statementId}"; + if (input.profileName !== undefined) { + const labelValue: string = input.profileName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: profileName."); + } + resolvedPath = resolvedPath.replace("{profileName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: profileName."); + } + if (input.statementId !== undefined) { + const labelValue: string = input.statementId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: statementId."); + } + resolvedPath = resolvedPath.replace("{statementId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: statementId."); + } + const query: any = { + ...(input.revisionId !== undefined && { revisionId: input.revisionId }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1RevokeSignatureCommand = async ( + input: RevokeSignatureCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/signing-jobs/{jobId}/revoke"; + if (input.jobId !== undefined) { + const labelValue: string = input.jobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: jobId."); + } + resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: jobId."); + } + let body: any; + body = JSON.stringify({ + ...(input.jobOwner !== undefined && { jobOwner: input.jobOwner }), + ...(input.reason !== undefined && { reason: input.reason }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1RevokeSigningProfileCommand = async ( + input: RevokeSigningProfileCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/signing-profiles/{profileName}/revoke"; + if (input.profileName !== undefined) { + const labelValue: string = input.profileName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: profileName."); + } + resolvedPath = resolvedPath.replace("{profileName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: profileName."); + } + let body: any; + body = JSON.stringify({ + ...(input.effectiveTime !== undefined && { effectiveTime: Math.round(input.effectiveTime.getTime() / 1000) }), + ...(input.profileVersion !== undefined && { profileVersion: input.profileVersion }), + ...(input.reason !== undefined && { reason: input.reason }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1StartSigningJobCommand = async ( input: StartSigningJobCommandInput, context: __SerdeContext @@ -356,6 +580,7 @@ export const serializeAws_restJson1StartSigningJobCommand = async ( destination: serializeAws_restJson1Destination(input.destination, context), }), ...(input.profileName !== undefined && { profileName: input.profileName }), + ...(input.profileOwner !== undefined && { profileOwner: input.profileOwner }), ...(input.source !== undefined && { source: serializeAws_restJson1Source(input.source, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -437,24 +662,28 @@ export const serializeAws_restJson1UntagResourceCommand = async ( }); }; -export const deserializeAws_restJson1CancelSigningProfileCommand = async ( +export const deserializeAws_restJson1AddProfilePermissionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CancelSigningProfileCommandError(output, context); + return deserializeAws_restJson1AddProfilePermissionCommandError(output, context); } - const contents: CancelSigningProfileCommandOutput = { + const contents: AddProfilePermissionCommandOutput = { $metadata: deserializeMetadata(output), + revisionId: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1CancelSigningProfileCommandError = async ( +const deserializeAws_restJson1AddProfilePermissionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -471,6 +700,14 @@ const deserializeAws_restJson1CancelSigningProfileCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.signer#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceErrorException": case "com.amazonaws.signer#InternalServiceErrorException": response = { @@ -487,10 +724,26 @@ const deserializeAws_restJson1CancelSigningProfileCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.signer#ThrottlingException": + case "ServiceLimitExceededException": + case "com.amazonaws.signer#ServiceLimitExceededException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ServiceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.signer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -512,59 +765,158 @@ const deserializeAws_restJson1CancelSigningProfileCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeSigningJobCommand = async ( +export const deserializeAws_restJson1CancelSigningProfileCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeSigningJobCommandError(output, context); + return deserializeAws_restJson1CancelSigningProfileCommandError(output, context); } - const contents: DescribeSigningJobCommandOutput = { + const contents: CancelSigningProfileCommandOutput = { $metadata: deserializeMetadata(output), - completedAt: undefined, - createdAt: undefined, - jobId: undefined, - overrides: undefined, - platformId: undefined, - profileName: undefined, - requestedBy: undefined, - signedObject: undefined, - signingMaterial: undefined, - signingParameters: undefined, - source: undefined, - status: undefined, - statusReason: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.completedAt !== undefined && data.completedAt !== null) { - contents.completedAt = new Date(Math.round(data.completedAt * 1000)); - } - if (data.createdAt !== undefined && data.createdAt !== null) { - contents.createdAt = new Date(Math.round(data.createdAt * 1000)); - } - if (data.jobId !== undefined && data.jobId !== null) { - contents.jobId = data.jobId; - } - if (data.overrides !== undefined && data.overrides !== null) { - contents.overrides = deserializeAws_restJson1SigningPlatformOverrides(data.overrides, context); - } - if (data.platformId !== undefined && data.platformId !== null) { - contents.platformId = data.platformId; - } - if (data.profileName !== undefined && data.profileName !== null) { - contents.profileName = data.profileName; - } - if (data.requestedBy !== undefined && data.requestedBy !== null) { - contents.requestedBy = data.requestedBy; - } - if (data.signedObject !== undefined && data.signedObject !== null) { - contents.signedObject = deserializeAws_restJson1SignedObject(data.signedObject, context); - } - if (data.signingMaterial !== undefined && data.signingMaterial !== null) { - contents.signingMaterial = deserializeAws_restJson1SigningMaterial(data.signingMaterial, context); - } - if (data.signingParameters !== undefined && data.signingParameters !== null) { - contents.signingParameters = deserializeAws_restJson1SigningParameters(data.signingParameters, context); + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CancelSigningProfileCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.signer#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.signer#InternalServiceErrorException": + response = { + ...(await deserializeAws_restJson1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.signer#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeSigningJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeSigningJobCommandError(output, context); + } + const contents: DescribeSigningJobCommandOutput = { + $metadata: deserializeMetadata(output), + completedAt: undefined, + createdAt: undefined, + jobId: undefined, + jobInvoker: undefined, + jobOwner: undefined, + overrides: undefined, + platformDisplayName: undefined, + platformId: undefined, + profileName: undefined, + profileVersion: undefined, + requestedBy: undefined, + revocationRecord: undefined, + signatureExpiresAt: undefined, + signedObject: undefined, + signingMaterial: undefined, + signingParameters: undefined, + source: undefined, + status: undefined, + statusReason: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.completedAt !== undefined && data.completedAt !== null) { + contents.completedAt = new Date(Math.round(data.completedAt * 1000)); + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.jobId !== undefined && data.jobId !== null) { + contents.jobId = data.jobId; + } + if (data.jobInvoker !== undefined && data.jobInvoker !== null) { + contents.jobInvoker = data.jobInvoker; + } + if (data.jobOwner !== undefined && data.jobOwner !== null) { + contents.jobOwner = data.jobOwner; + } + if (data.overrides !== undefined && data.overrides !== null) { + contents.overrides = deserializeAws_restJson1SigningPlatformOverrides(data.overrides, context); + } + if (data.platformDisplayName !== undefined && data.platformDisplayName !== null) { + contents.platformDisplayName = data.platformDisplayName; + } + if (data.platformId !== undefined && data.platformId !== null) { + contents.platformId = data.platformId; + } + if (data.profileName !== undefined && data.profileName !== null) { + contents.profileName = data.profileName; + } + if (data.profileVersion !== undefined && data.profileVersion !== null) { + contents.profileVersion = data.profileVersion; + } + if (data.requestedBy !== undefined && data.requestedBy !== null) { + contents.requestedBy = data.requestedBy; + } + if (data.revocationRecord !== undefined && data.revocationRecord !== null) { + contents.revocationRecord = deserializeAws_restJson1SigningJobRevocationRecord(data.revocationRecord, context); + } + if (data.signatureExpiresAt !== undefined && data.signatureExpiresAt !== null) { + contents.signatureExpiresAt = new Date(Math.round(data.signatureExpiresAt * 1000)); + } + if (data.signedObject !== undefined && data.signedObject !== null) { + contents.signedObject = deserializeAws_restJson1SignedObject(data.signedObject, context); + } + if (data.signingMaterial !== undefined && data.signingMaterial !== null) { + contents.signingMaterial = deserializeAws_restJson1SigningMaterial(data.signingMaterial, context); + } + if (data.signingParameters !== undefined && data.signingParameters !== null) { + contents.signingParameters = deserializeAws_restJson1SigningParameters(data.signingParameters, context); } if (data.source !== undefined && data.source !== null) { contents.source = deserializeAws_restJson1Source(data.source, context); @@ -614,6 +966,14 @@ const deserializeAws_restJson1DescribeSigningJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -645,6 +1005,7 @@ export const deserializeAws_restJson1GetSigningPlatformCommand = async ( maxSizeInMB: undefined, partner: undefined, platformId: undefined, + revocationSupported: undefined, signingConfiguration: undefined, signingImageFormat: undefined, target: undefined, @@ -665,6 +1026,9 @@ export const deserializeAws_restJson1GetSigningPlatformCommand = async ( if (data.platformId !== undefined && data.platformId !== null) { contents.platformId = data.platformId; } + if (data.revocationSupported !== undefined && data.revocationSupported !== null) { + contents.revocationSupported = data.revocationSupported; + } if (data.signingConfiguration !== undefined && data.signingConfiguration !== null) { contents.signingConfiguration = deserializeAws_restJson1SigningConfiguration(data.signingConfiguration, context); } @@ -713,6 +1077,14 @@ const deserializeAws_restJson1GetSigningPlatformCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -741,11 +1113,17 @@ export const deserializeAws_restJson1GetSigningProfileCommand = async ( $metadata: deserializeMetadata(output), arn: undefined, overrides: undefined, + platformDisplayName: undefined, platformId: undefined, profileName: undefined, + profileVersion: undefined, + profileVersionArn: undefined, + revocationRecord: undefined, + signatureValidityPeriod: undefined, signingMaterial: undefined, signingParameters: undefined, status: undefined, + statusReason: undefined, tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -755,12 +1133,30 @@ export const deserializeAws_restJson1GetSigningProfileCommand = async ( if (data.overrides !== undefined && data.overrides !== null) { contents.overrides = deserializeAws_restJson1SigningPlatformOverrides(data.overrides, context); } + if (data.platformDisplayName !== undefined && data.platformDisplayName !== null) { + contents.platformDisplayName = data.platformDisplayName; + } if (data.platformId !== undefined && data.platformId !== null) { contents.platformId = data.platformId; } if (data.profileName !== undefined && data.profileName !== null) { contents.profileName = data.profileName; } + if (data.profileVersion !== undefined && data.profileVersion !== null) { + contents.profileVersion = data.profileVersion; + } + if (data.profileVersionArn !== undefined && data.profileVersionArn !== null) { + contents.profileVersionArn = data.profileVersionArn; + } + if (data.revocationRecord !== undefined && data.revocationRecord !== null) { + contents.revocationRecord = deserializeAws_restJson1SigningProfileRevocationRecord(data.revocationRecord, context); + } + if (data.signatureValidityPeriod !== undefined && data.signatureValidityPeriod !== null) { + contents.signatureValidityPeriod = deserializeAws_restJson1SignatureValidityPeriod( + data.signatureValidityPeriod, + context + ); + } if (data.signingMaterial !== undefined && data.signingMaterial !== null) { contents.signingMaterial = deserializeAws_restJson1SigningMaterial(data.signingMaterial, context); } @@ -770,6 +1166,9 @@ export const deserializeAws_restJson1GetSigningProfileCommand = async ( if (data.status !== undefined && data.status !== null) { contents.status = data.status; } + if (data.statusReason !== undefined && data.statusReason !== null) { + contents.statusReason = data.statusReason; + } if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } @@ -812,10 +1211,109 @@ const deserializeAws_restJson1GetSigningProfileCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.signer#ThrottlingException": + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListProfilePermissionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListProfilePermissionsCommandError(output, context); + } + const contents: ListProfilePermissionsCommandOutput = { + $metadata: deserializeMetadata(output), + nextToken: undefined, + permissions: undefined, + policySizeBytes: undefined, + revisionId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + if (data.permissions !== undefined && data.permissions !== null) { + contents.permissions = deserializeAws_restJson1Permissions(data.permissions, context); + } + if (data.policySizeBytes !== undefined && data.policySizeBytes !== null) { + contents.policySizeBytes = data.policySizeBytes; + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListProfilePermissionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.signer#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.signer#InternalServiceErrorException": + response = { + ...(await deserializeAws_restJson1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.signer#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.signer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -850,19 +1348,256 @@ export const deserializeAws_restJson1ListSigningJobsCommand = async ( nextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.jobs !== undefined && data.jobs !== null) { - contents.jobs = deserializeAws_restJson1SigningJobs(data.jobs, context); - } - if (data.nextToken !== undefined && data.nextToken !== null) { - contents.nextToken = data.nextToken; + if (data.jobs !== undefined && data.jobs !== null) { + contents.jobs = deserializeAws_restJson1SigningJobs(data.jobs, context); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListSigningJobsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.signer#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.signer#InternalServiceErrorException": + response = { + ...(await deserializeAws_restJson1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.signer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListSigningPlatformsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListSigningPlatformsCommandError(output, context); + } + const contents: ListSigningPlatformsCommandOutput = { + $metadata: deserializeMetadata(output), + nextToken: undefined, + platforms: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + if (data.platforms !== undefined && data.platforms !== null) { + contents.platforms = deserializeAws_restJson1SigningPlatforms(data.platforms, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListSigningPlatformsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.signer#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.signer#InternalServiceErrorException": + response = { + ...(await deserializeAws_restJson1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.signer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListSigningProfilesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListSigningProfilesCommandError(output, context); + } + const contents: ListSigningProfilesCommandOutput = { + $metadata: deserializeMetadata(output), + nextToken: undefined, + profiles: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + if (data.profiles !== undefined && data.profiles !== null) { + contents.profiles = deserializeAws_restJson1SigningProfiles(data.profiles, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListSigningProfilesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.signer#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.signer#InternalServiceErrorException": + response = { + ...(await deserializeAws_restJson1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + } + const contents: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSigningJobsCommandError = async ( +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -871,10 +1606,10 @@ const deserializeAws_restJson1ListSigningJobsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.signer#AccessDeniedException": + case "BadRequestException": + case "com.amazonaws.signer#BadRequestException": response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -887,18 +1622,18 @@ const deserializeAws_restJson1ListSigningJobsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.signer#ThrottlingException": + case "NotFoundException": + case "com.amazonaws.signer#NotFoundException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ValidationException": - case "com.amazonaws.signer#ValidationException": + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": response = { - ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -920,32 +1655,36 @@ const deserializeAws_restJson1ListSigningJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSigningPlatformsCommand = async ( +export const deserializeAws_restJson1PutSigningProfileCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSigningPlatformsCommandError(output, context); + return deserializeAws_restJson1PutSigningProfileCommandError(output, context); } - const contents: ListSigningPlatformsCommandOutput = { + const contents: PutSigningProfileCommandOutput = { $metadata: deserializeMetadata(output), - nextToken: undefined, - platforms: undefined, + arn: undefined, + profileVersion: undefined, + profileVersionArn: undefined, }; const data: any = await parseBody(output.body, context); - if (data.nextToken !== undefined && data.nextToken !== null) { - contents.nextToken = data.nextToken; + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; } - if (data.platforms !== undefined && data.platforms !== null) { - contents.platforms = deserializeAws_restJson1SigningPlatforms(data.platforms, context); + if (data.profileVersion !== undefined && data.profileVersion !== null) { + contents.profileVersion = data.profileVersion; + } + if (data.profileVersionArn !== undefined && data.profileVersionArn !== null) { + contents.profileVersionArn = data.profileVersionArn; } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSigningPlatformsCommandError = async ( +const deserializeAws_restJson1PutSigningProfileCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -970,10 +1709,18 @@ const deserializeAws_restJson1ListSigningPlatformsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.signer#ThrottlingException": + case "ResourceNotFoundException": + case "com.amazonaws.signer#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1003,32 +1750,28 @@ const deserializeAws_restJson1ListSigningPlatformsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSigningProfilesCommand = async ( +export const deserializeAws_restJson1RemoveProfilePermissionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSigningProfilesCommandError(output, context); + return deserializeAws_restJson1RemoveProfilePermissionCommandError(output, context); } - const contents: ListSigningProfilesCommandOutput = { + const contents: RemoveProfilePermissionCommandOutput = { $metadata: deserializeMetadata(output), - nextToken: undefined, - profiles: undefined, + revisionId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.nextToken !== undefined && data.nextToken !== null) { - contents.nextToken = data.nextToken; - } - if (data.profiles !== undefined && data.profiles !== null) { - contents.profiles = deserializeAws_restJson1SigningProfiles(data.profiles, context); + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSigningProfilesCommandError = async ( +const deserializeAws_restJson1RemoveProfilePermissionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1045,6 +1788,14 @@ const deserializeAws_restJson1ListSigningProfilesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.signer#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceErrorException": case "com.amazonaws.signer#InternalServiceErrorException": response = { @@ -1053,10 +1804,26 @@ const deserializeAws_restJson1ListSigningProfilesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.signer#ThrottlingException": + case "ResourceNotFoundException": + case "com.amazonaws.signer#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.signer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1078,28 +1845,24 @@ const deserializeAws_restJson1ListSigningProfilesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListTagsForResourceCommand = async ( +export const deserializeAws_restJson1RevokeSignatureCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + return deserializeAws_restJson1RevokeSignatureCommandError(output, context); } - const contents: ListTagsForResourceCommandOutput = { + const contents: RevokeSignatureCommandOutput = { $metadata: deserializeMetadata(output), - tags: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListTagsForResourceCommandError = async ( +const deserializeAws_restJson1RevokeSignatureCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1108,10 +1871,10 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "BadRequestException": - case "com.amazonaws.signer#BadRequestException": + case "AccessDeniedException": + case "com.amazonaws.signer#AccessDeniedException": response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1124,10 +1887,26 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.signer#NotFoundException": + case "ResourceNotFoundException": + case "com.amazonaws.signer#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.signer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1149,28 +1928,24 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutSigningProfileCommand = async ( +export const deserializeAws_restJson1RevokeSigningProfileCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutSigningProfileCommandError(output, context); + return deserializeAws_restJson1RevokeSigningProfileCommandError(output, context); } - const contents: PutSigningProfileCommandOutput = { + const contents: RevokeSigningProfileCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1PutSigningProfileCommandError = async ( +const deserializeAws_restJson1RevokeSigningProfileCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1203,10 +1978,10 @@ const deserializeAws_restJson1PutSigningProfileCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.signer#ThrottlingException": + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1246,11 +2021,15 @@ export const deserializeAws_restJson1StartSigningJobCommand = async ( const contents: StartSigningJobCommandOutput = { $metadata: deserializeMetadata(output), jobId: undefined, + jobOwner: undefined, }; const data: any = await parseBody(output.body, context); if (data.jobId !== undefined && data.jobId !== null) { contents.jobId = data.jobId; } + if (data.jobOwner !== undefined && data.jobOwner !== null) { + contents.jobOwner = data.jobOwner; + } return Promise.resolve(contents); }; @@ -1298,6 +2077,14 @@ const deserializeAws_restJson1StartSigningJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ValidationException": case "com.amazonaws.signer#ValidationException": response = { @@ -1373,6 +2160,14 @@ const deserializeAws_restJson1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1440,6 +2235,14 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyRequestsException": + case "com.amazonaws.signer#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1465,9 +2268,13 @@ const deserializeAws_restJson1AccessDeniedExceptionResponse = async ( name: "AccessDeniedException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1482,9 +2289,34 @@ const deserializeAws_restJson1BadRequestExceptionResponse = async ( name: "BadRequestException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), + code: undefined, + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } + if (data.message !== undefined && data.message !== null) { + contents.message = data.message; + } + return contents; +}; + +const deserializeAws_restJson1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1499,9 +2331,13 @@ const deserializeAws_restJson1InternalServiceErrorExceptionResponse = async ( name: "InternalServiceErrorException", $fault: "server", $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1516,9 +2352,13 @@ const deserializeAws_restJson1NotFoundExceptionResponse = async ( name: "NotFoundException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1533,9 +2373,34 @@ const deserializeAws_restJson1ResourceNotFoundExceptionResponse = async ( name: "ResourceNotFoundException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), + code: undefined, + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } + if (data.message !== undefined && data.message !== null) { + contents.message = data.message; + } + return contents; +}; + +const deserializeAws_restJson1ServiceLimitExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ServiceLimitExceededException = { + name: "ServiceLimitExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1550,9 +2415,34 @@ const deserializeAws_restJson1ThrottlingExceptionResponse = async ( name: "ThrottlingException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), + code: undefined, + message: undefined, + }; + const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } + if (data.message !== undefined && data.message !== null) { + contents.message = data.message; + } + return contents; +}; + +const deserializeAws_restJson1TooManyRequestsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: TooManyRequestsException = { + name: "TooManyRequestsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1567,9 +2457,13 @@ const deserializeAws_restJson1ValidationExceptionResponse = async ( name: "ValidationException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), + code: undefined, message: undefined, }; const data: any = parsedOutput.body; + if (data.code !== undefined && data.code !== null) { + contents.code = data.code; + } if (data.message !== undefined && data.message !== null) { contents.message = data.message; } @@ -1597,6 +2491,16 @@ const serializeAws_restJson1S3Source = (input: S3Source, context: __SerdeContext }; }; +const serializeAws_restJson1SignatureValidityPeriod = ( + input: SignatureValidityPeriod, + context: __SerdeContext +): any => { + return { + ...(input.type !== undefined && { type: input.type }), + ...(input.value !== undefined && { value: input.value }), + }; +}; + const serializeAws_restJson1SigningConfigurationOverrides = ( input: SigningConfigurationOverrides, context: __SerdeContext @@ -1689,6 +2593,20 @@ const deserializeAws_restJson1ImageFormats = (output: any, context: __SerdeConte return (output || []).map((entry: any) => entry); }; +const deserializeAws_restJson1Permission = (output: any, context: __SerdeContext): Permission => { + return { + action: output.action !== undefined && output.action !== null ? output.action : undefined, + principal: output.principal !== undefined && output.principal !== null ? output.principal : undefined, + profileVersion: + output.profileVersion !== undefined && output.profileVersion !== null ? output.profileVersion : undefined, + statementId: output.statementId !== undefined && output.statementId !== null ? output.statementId : undefined, + } as any; +}; + +const deserializeAws_restJson1Permissions = (output: any, context: __SerdeContext): Permission[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Permission(entry, context)); +}; + const deserializeAws_restJson1S3SignedObject = (output: any, context: __SerdeContext): S3SignedObject => { return { bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, @@ -1704,6 +2622,16 @@ const deserializeAws_restJson1S3Source = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_restJson1SignatureValidityPeriod = ( + output: any, + context: __SerdeContext +): SignatureValidityPeriod => { + return { + type: output.type !== undefined && output.type !== null ? output.type : undefined, + value: output.value !== undefined && output.value !== null ? output.value : undefined, + } as any; +}; + const deserializeAws_restJson1SignedObject = (output: any, context: __SerdeContext): SignedObject => { return { s3: @@ -1757,7 +2685,22 @@ const deserializeAws_restJson1SigningJob = (output: any, context: __SerdeContext output.createdAt !== undefined && output.createdAt !== null ? new Date(Math.round(output.createdAt * 1000)) : undefined, + isRevoked: output.isRevoked !== undefined && output.isRevoked !== null ? output.isRevoked : undefined, jobId: output.jobId !== undefined && output.jobId !== null ? output.jobId : undefined, + jobInvoker: output.jobInvoker !== undefined && output.jobInvoker !== null ? output.jobInvoker : undefined, + jobOwner: output.jobOwner !== undefined && output.jobOwner !== null ? output.jobOwner : undefined, + platformDisplayName: + output.platformDisplayName !== undefined && output.platformDisplayName !== null + ? output.platformDisplayName + : undefined, + platformId: output.platformId !== undefined && output.platformId !== null ? output.platformId : undefined, + profileName: output.profileName !== undefined && output.profileName !== null ? output.profileName : undefined, + profileVersion: + output.profileVersion !== undefined && output.profileVersion !== null ? output.profileVersion : undefined, + signatureExpiresAt: + output.signatureExpiresAt !== undefined && output.signatureExpiresAt !== null + ? new Date(Math.round(output.signatureExpiresAt * 1000)) + : undefined, signedObject: output.signedObject !== undefined && output.signedObject !== null ? deserializeAws_restJson1SignedObject(output.signedObject, context) @@ -1774,6 +2717,20 @@ const deserializeAws_restJson1SigningJob = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_restJson1SigningJobRevocationRecord = ( + output: any, + context: __SerdeContext +): SigningJobRevocationRecord => { + return { + reason: output.reason !== undefined && output.reason !== null ? output.reason : undefined, + revokedAt: + output.revokedAt !== undefined && output.revokedAt !== null + ? new Date(Math.round(output.revokedAt * 1000)) + : undefined, + revokedBy: output.revokedBy !== undefined && output.revokedBy !== null ? output.revokedBy : undefined, + } as any; +}; + const deserializeAws_restJson1SigningJobs = (output: any, context: __SerdeContext): SigningJob[] => { return (output || []).map((entry: any) => deserializeAws_restJson1SigningJob(entry, context)); }; @@ -1802,6 +2759,10 @@ const deserializeAws_restJson1SigningPlatform = (output: any, context: __SerdeCo maxSizeInMB: output.maxSizeInMB !== undefined && output.maxSizeInMB !== null ? output.maxSizeInMB : undefined, partner: output.partner !== undefined && output.partner !== null ? output.partner : undefined, platformId: output.platformId !== undefined && output.platformId !== null ? output.platformId : undefined, + revocationSupported: + output.revocationSupported !== undefined && output.revocationSupported !== null + ? output.revocationSupported + : undefined, signingConfiguration: output.signingConfiguration !== undefined && output.signingConfiguration !== null ? deserializeAws_restJson1SigningConfiguration(output.signingConfiguration, context) @@ -1837,8 +2798,22 @@ const deserializeAws_restJson1SigningPlatforms = (output: any, context: __SerdeC const deserializeAws_restJson1SigningProfile = (output: any, context: __SerdeContext): SigningProfile => { return { arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + platformDisplayName: + output.platformDisplayName !== undefined && output.platformDisplayName !== null + ? output.platformDisplayName + : undefined, platformId: output.platformId !== undefined && output.platformId !== null ? output.platformId : undefined, profileName: output.profileName !== undefined && output.profileName !== null ? output.profileName : undefined, + profileVersion: + output.profileVersion !== undefined && output.profileVersion !== null ? output.profileVersion : undefined, + profileVersionArn: + output.profileVersionArn !== undefined && output.profileVersionArn !== null + ? output.profileVersionArn + : undefined, + signatureValidityPeriod: + output.signatureValidityPeriod !== undefined && output.signatureValidityPeriod !== null + ? deserializeAws_restJson1SignatureValidityPeriod(output.signatureValidityPeriod, context) + : undefined, signingMaterial: output.signingMaterial !== undefined && output.signingMaterial !== null ? deserializeAws_restJson1SigningMaterial(output.signingMaterial, context) @@ -1855,6 +2830,23 @@ const deserializeAws_restJson1SigningProfile = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1SigningProfileRevocationRecord = ( + output: any, + context: __SerdeContext +): SigningProfileRevocationRecord => { + return { + revocationEffectiveFrom: + output.revocationEffectiveFrom !== undefined && output.revocationEffectiveFrom !== null + ? new Date(Math.round(output.revocationEffectiveFrom * 1000)) + : undefined, + revokedAt: + output.revokedAt !== undefined && output.revokedAt !== null + ? new Date(Math.round(output.revokedAt * 1000)) + : undefined, + revokedBy: output.revokedBy !== undefined && output.revokedBy !== null ? output.revokedBy : undefined, + } as any; +}; + const deserializeAws_restJson1SigningProfiles = (output: any, context: __SerdeContext): SigningProfile[] => { return (output || []).map((entry: any) => deserializeAws_restJson1SigningProfile(entry, context)); }; diff --git a/clients/client-sso-admin/SSOAdmin.ts b/clients/client-sso-admin/SSOAdmin.ts index 007e35129b435..d38419b24443f 100644 --- a/clients/client-sso-admin/SSOAdmin.ts +++ b/clients/client-sso-admin/SSOAdmin.ts @@ -9,6 +9,11 @@ import { CreateAccountAssignmentCommandInput, CreateAccountAssignmentCommandOutput, } from "./commands/CreateAccountAssignmentCommand"; +import { + CreateInstanceAccessControlAttributeConfigurationCommand, + CreateInstanceAccessControlAttributeConfigurationCommandInput, + CreateInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/CreateInstanceAccessControlAttributeConfigurationCommand"; import { CreatePermissionSetCommand, CreatePermissionSetCommandInput, @@ -24,6 +29,11 @@ import { DeleteInlinePolicyFromPermissionSetCommandInput, DeleteInlinePolicyFromPermissionSetCommandOutput, } from "./commands/DeleteInlinePolicyFromPermissionSetCommand"; +import { + DeleteInstanceAccessControlAttributeConfigurationCommand, + DeleteInstanceAccessControlAttributeConfigurationCommandInput, + DeleteInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/DeleteInstanceAccessControlAttributeConfigurationCommand"; import { DeletePermissionSetCommand, DeletePermissionSetCommandInput, @@ -39,6 +49,11 @@ import { DescribeAccountAssignmentDeletionStatusCommandInput, DescribeAccountAssignmentDeletionStatusCommandOutput, } from "./commands/DescribeAccountAssignmentDeletionStatusCommand"; +import { + DescribeInstanceAccessControlAttributeConfigurationCommand, + DescribeInstanceAccessControlAttributeConfigurationCommandInput, + DescribeInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/DescribeInstanceAccessControlAttributeConfigurationCommand"; import { DescribePermissionSetCommand, DescribePermissionSetCommandInput, @@ -125,6 +140,11 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; +import { + UpdateInstanceAccessControlAttributeConfigurationCommand, + UpdateInstanceAccessControlAttributeConfigurationCommandInput, + UpdateInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/UpdateInstanceAccessControlAttributeConfigurationCommand"; import { UpdatePermissionSetCommand, UpdatePermissionSetCommandInput, @@ -211,6 +231,40 @@ export class SSOAdmin extends SSOAdminClient { } } + /** + *

    Enables the attributes-based access control (ABAC) feature for the specified AWS SSO instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ + public createInstanceAccessControlAttributeConfiguration( + args: CreateInstanceAccessControlAttributeConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createInstanceAccessControlAttributeConfiguration( + args: CreateInstanceAccessControlAttributeConfigurationCommandInput, + cb: (err: any, data?: CreateInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public createInstanceAccessControlAttributeConfiguration( + args: CreateInstanceAccessControlAttributeConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public createInstanceAccessControlAttributeConfiguration( + args: CreateInstanceAccessControlAttributeConfigurationCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: CreateInstanceAccessControlAttributeConfigurationCommandOutput) => void), + cb?: (err: any, data?: CreateInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): Promise | void { + const command = new CreateInstanceAccessControlAttributeConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Creates a permission set within a specified SSO instance.

    * @@ -313,6 +367,40 @@ export class SSOAdmin extends SSOAdminClient { } } + /** + *

    Disables the attributes-based access control (ABAC) feature for the specified AWS SSO instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ + public deleteInstanceAccessControlAttributeConfiguration( + args: DeleteInstanceAccessControlAttributeConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteInstanceAccessControlAttributeConfiguration( + args: DeleteInstanceAccessControlAttributeConfigurationCommandInput, + cb: (err: any, data?: DeleteInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public deleteInstanceAccessControlAttributeConfiguration( + args: DeleteInstanceAccessControlAttributeConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public deleteInstanceAccessControlAttributeConfiguration( + args: DeleteInstanceAccessControlAttributeConfigurationCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DeleteInstanceAccessControlAttributeConfigurationCommandOutput) => void), + cb?: (err: any, data?: DeleteInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): Promise | void { + const command = new DeleteInstanceAccessControlAttributeConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Deletes the specified permission set.

    */ @@ -413,6 +501,40 @@ export class SSOAdmin extends SSOAdminClient { } } + /** + *

    Returns the list of AWS SSO identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified AWS SSO instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ + public describeInstanceAccessControlAttributeConfiguration( + args: DescribeInstanceAccessControlAttributeConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInstanceAccessControlAttributeConfiguration( + args: DescribeInstanceAccessControlAttributeConfigurationCommandInput, + cb: (err: any, data?: DescribeInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public describeInstanceAccessControlAttributeConfiguration( + args: DescribeInstanceAccessControlAttributeConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public describeInstanceAccessControlAttributeConfiguration( + args: DescribeInstanceAccessControlAttributeConfigurationCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeInstanceAccessControlAttributeConfigurationCommandOutput) => void), + cb?: (err: any, data?: DescribeInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): Promise | void { + const command = new DescribeInstanceAccessControlAttributeConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Gets the details of the permission set.

    */ @@ -998,6 +1120,40 @@ export class SSOAdmin extends SSOAdminClient { } } + /** + *

    Updates the AWS SSO identity store attributes to use with the AWS SSO instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ + public updateInstanceAccessControlAttributeConfiguration( + args: UpdateInstanceAccessControlAttributeConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateInstanceAccessControlAttributeConfiguration( + args: UpdateInstanceAccessControlAttributeConfigurationCommandInput, + cb: (err: any, data?: UpdateInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public updateInstanceAccessControlAttributeConfiguration( + args: UpdateInstanceAccessControlAttributeConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): void; + public updateInstanceAccessControlAttributeConfiguration( + args: UpdateInstanceAccessControlAttributeConfigurationCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: UpdateInstanceAccessControlAttributeConfigurationCommandOutput) => void), + cb?: (err: any, data?: UpdateInstanceAccessControlAttributeConfigurationCommandOutput) => void + ): Promise | void { + const command = new UpdateInstanceAccessControlAttributeConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Updates an existing permission set.

    */ diff --git a/clients/client-sso-admin/SSOAdminClient.ts b/clients/client-sso-admin/SSOAdminClient.ts index 0537dcc543cc3..ca19144c4b695 100644 --- a/clients/client-sso-admin/SSOAdminClient.ts +++ b/clients/client-sso-admin/SSOAdminClient.ts @@ -6,6 +6,10 @@ import { CreateAccountAssignmentCommandInput, CreateAccountAssignmentCommandOutput, } from "./commands/CreateAccountAssignmentCommand"; +import { + CreateInstanceAccessControlAttributeConfigurationCommandInput, + CreateInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/CreateInstanceAccessControlAttributeConfigurationCommand"; import { CreatePermissionSetCommandInput, CreatePermissionSetCommandOutput, @@ -18,6 +22,10 @@ import { DeleteInlinePolicyFromPermissionSetCommandInput, DeleteInlinePolicyFromPermissionSetCommandOutput, } from "./commands/DeleteInlinePolicyFromPermissionSetCommand"; +import { + DeleteInstanceAccessControlAttributeConfigurationCommandInput, + DeleteInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/DeleteInstanceAccessControlAttributeConfigurationCommand"; import { DeletePermissionSetCommandInput, DeletePermissionSetCommandOutput, @@ -30,6 +38,10 @@ import { DescribeAccountAssignmentDeletionStatusCommandInput, DescribeAccountAssignmentDeletionStatusCommandOutput, } from "./commands/DescribeAccountAssignmentDeletionStatusCommand"; +import { + DescribeInstanceAccessControlAttributeConfigurationCommandInput, + DescribeInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/DescribeInstanceAccessControlAttributeConfigurationCommand"; import { DescribePermissionSetCommandInput, DescribePermissionSetCommandOutput, @@ -90,6 +102,10 @@ import { } from "./commands/PutInlinePolicyToPermissionSetCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdateInstanceAccessControlAttributeConfigurationCommandInput, + UpdateInstanceAccessControlAttributeConfigurationCommandOutput, +} from "./commands/UpdateInstanceAccessControlAttributeConfigurationCommand"; import { UpdatePermissionSetCommandInput, UpdatePermissionSetCommandOutput, @@ -146,12 +162,15 @@ import { export type ServiceInputTypes = | AttachManagedPolicyToPermissionSetCommandInput | CreateAccountAssignmentCommandInput + | CreateInstanceAccessControlAttributeConfigurationCommandInput | CreatePermissionSetCommandInput | DeleteAccountAssignmentCommandInput | DeleteInlinePolicyFromPermissionSetCommandInput + | DeleteInstanceAccessControlAttributeConfigurationCommandInput | DeletePermissionSetCommandInput | DescribeAccountAssignmentCreationStatusCommandInput | DescribeAccountAssignmentDeletionStatusCommandInput + | DescribeInstanceAccessControlAttributeConfigurationCommandInput | DescribePermissionSetCommandInput | DescribePermissionSetProvisioningStatusCommandInput | DetachManagedPolicyFromPermissionSetCommandInput @@ -170,17 +189,21 @@ export type ServiceInputTypes = | PutInlinePolicyToPermissionSetCommandInput | TagResourceCommandInput | UntagResourceCommandInput + | UpdateInstanceAccessControlAttributeConfigurationCommandInput | UpdatePermissionSetCommandInput; export type ServiceOutputTypes = | AttachManagedPolicyToPermissionSetCommandOutput | CreateAccountAssignmentCommandOutput + | CreateInstanceAccessControlAttributeConfigurationCommandOutput | CreatePermissionSetCommandOutput | DeleteAccountAssignmentCommandOutput | DeleteInlinePolicyFromPermissionSetCommandOutput + | DeleteInstanceAccessControlAttributeConfigurationCommandOutput | DeletePermissionSetCommandOutput | DescribeAccountAssignmentCreationStatusCommandOutput | DescribeAccountAssignmentDeletionStatusCommandOutput + | DescribeInstanceAccessControlAttributeConfigurationCommandOutput | DescribePermissionSetCommandOutput | DescribePermissionSetProvisioningStatusCommandOutput | DetachManagedPolicyFromPermissionSetCommandOutput @@ -199,6 +222,7 @@ export type ServiceOutputTypes = | PutInlinePolicyToPermissionSetCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput + | UpdateInstanceAccessControlAttributeConfigurationCommandOutput | UpdatePermissionSetCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-sso-admin/commands/CreateInstanceAccessControlAttributeConfigurationCommand.ts b/clients/client-sso-admin/commands/CreateInstanceAccessControlAttributeConfigurationCommand.ts new file mode 100644 index 0000000000000..8f5bdc9490d35 --- /dev/null +++ b/clients/client-sso-admin/commands/CreateInstanceAccessControlAttributeConfigurationCommand.ts @@ -0,0 +1,101 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + CreateInstanceAccessControlAttributeConfigurationRequest, + CreateInstanceAccessControlAttributeConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommand, + serializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateInstanceAccessControlAttributeConfigurationCommandInput = CreateInstanceAccessControlAttributeConfigurationRequest; +export type CreateInstanceAccessControlAttributeConfigurationCommandOutput = CreateInstanceAccessControlAttributeConfigurationResponse & + __MetadataBearer; + +/** + *

    Enables the attributes-based access control (ABAC) feature for the specified AWS SSO instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ +export class CreateInstanceAccessControlAttributeConfigurationCommand extends $Command< + CreateInstanceAccessControlAttributeConfigurationCommandInput, + CreateInstanceAccessControlAttributeConfigurationCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateInstanceAccessControlAttributeConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + CreateInstanceAccessControlAttributeConfigurationCommandInput, + CreateInstanceAccessControlAttributeConfigurationCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SSOAdminClient"; + const commandName = "CreateInstanceAccessControlAttributeConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateInstanceAccessControlAttributeConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateInstanceAccessControlAttributeConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: CreateInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DeleteInstanceAccessControlAttributeConfigurationCommand.ts b/clients/client-sso-admin/commands/DeleteInstanceAccessControlAttributeConfigurationCommand.ts new file mode 100644 index 0000000000000..8d349f6c6ed04 --- /dev/null +++ b/clients/client-sso-admin/commands/DeleteInstanceAccessControlAttributeConfigurationCommand.ts @@ -0,0 +1,101 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DeleteInstanceAccessControlAttributeConfigurationRequest, + DeleteInstanceAccessControlAttributeConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommand, + serializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteInstanceAccessControlAttributeConfigurationCommandInput = DeleteInstanceAccessControlAttributeConfigurationRequest; +export type DeleteInstanceAccessControlAttributeConfigurationCommandOutput = DeleteInstanceAccessControlAttributeConfigurationResponse & + __MetadataBearer; + +/** + *

    Disables the attributes-based access control (ABAC) feature for the specified AWS SSO instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ +export class DeleteInstanceAccessControlAttributeConfigurationCommand extends $Command< + DeleteInstanceAccessControlAttributeConfigurationCommandInput, + DeleteInstanceAccessControlAttributeConfigurationCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteInstanceAccessControlAttributeConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DeleteInstanceAccessControlAttributeConfigurationCommandInput, + DeleteInstanceAccessControlAttributeConfigurationCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SSOAdminClient"; + const commandName = "DeleteInstanceAccessControlAttributeConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteInstanceAccessControlAttributeConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteInstanceAccessControlAttributeConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DescribeInstanceAccessControlAttributeConfigurationCommand.ts b/clients/client-sso-admin/commands/DescribeInstanceAccessControlAttributeConfigurationCommand.ts new file mode 100644 index 0000000000000..81a1ceb8c4b18 --- /dev/null +++ b/clients/client-sso-admin/commands/DescribeInstanceAccessControlAttributeConfigurationCommand.ts @@ -0,0 +1,101 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DescribeInstanceAccessControlAttributeConfigurationRequest, + DescribeInstanceAccessControlAttributeConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommand, + serializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeInstanceAccessControlAttributeConfigurationCommandInput = DescribeInstanceAccessControlAttributeConfigurationRequest; +export type DescribeInstanceAccessControlAttributeConfigurationCommandOutput = DescribeInstanceAccessControlAttributeConfigurationResponse & + __MetadataBearer; + +/** + *

    Returns the list of AWS SSO identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified AWS SSO instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ +export class DescribeInstanceAccessControlAttributeConfigurationCommand extends $Command< + DescribeInstanceAccessControlAttributeConfigurationCommandInput, + DescribeInstanceAccessControlAttributeConfigurationCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInstanceAccessControlAttributeConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeInstanceAccessControlAttributeConfigurationCommandInput, + DescribeInstanceAccessControlAttributeConfigurationCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SSOAdminClient"; + const commandName = "DescribeInstanceAccessControlAttributeConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInstanceAccessControlAttributeConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInstanceAccessControlAttributeConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/UpdateInstanceAccessControlAttributeConfigurationCommand.ts b/clients/client-sso-admin/commands/UpdateInstanceAccessControlAttributeConfigurationCommand.ts new file mode 100644 index 0000000000000..e2b1f637c8ce7 --- /dev/null +++ b/clients/client-sso-admin/commands/UpdateInstanceAccessControlAttributeConfigurationCommand.ts @@ -0,0 +1,101 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + UpdateInstanceAccessControlAttributeConfigurationRequest, + UpdateInstanceAccessControlAttributeConfigurationResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommand, + serializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateInstanceAccessControlAttributeConfigurationCommandInput = UpdateInstanceAccessControlAttributeConfigurationRequest; +export type UpdateInstanceAccessControlAttributeConfigurationCommandOutput = UpdateInstanceAccessControlAttributeConfigurationResponse & + __MetadataBearer; + +/** + *

    Updates the AWS SSO identity store attributes to use with the AWS SSO instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    + */ +export class UpdateInstanceAccessControlAttributeConfigurationCommand extends $Command< + UpdateInstanceAccessControlAttributeConfigurationCommandInput, + UpdateInstanceAccessControlAttributeConfigurationCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateInstanceAccessControlAttributeConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + UpdateInstanceAccessControlAttributeConfigurationCommandInput, + UpdateInstanceAccessControlAttributeConfigurationCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SSOAdminClient"; + const commandName = "UpdateInstanceAccessControlAttributeConfigurationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateInstanceAccessControlAttributeConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateInstanceAccessControlAttributeConfigurationResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/index.ts b/clients/client-sso-admin/index.ts index 6d719c9dbf365..2016fd934f855 100644 --- a/clients/client-sso-admin/index.ts +++ b/clients/client-sso-admin/index.ts @@ -2,12 +2,15 @@ export * from "./SSOAdminClient"; export * from "./SSOAdmin"; export * from "./commands/AttachManagedPolicyToPermissionSetCommand"; export * from "./commands/CreateAccountAssignmentCommand"; +export * from "./commands/CreateInstanceAccessControlAttributeConfigurationCommand"; export * from "./commands/CreatePermissionSetCommand"; export * from "./commands/DeleteAccountAssignmentCommand"; export * from "./commands/DeleteInlinePolicyFromPermissionSetCommand"; +export * from "./commands/DeleteInstanceAccessControlAttributeConfigurationCommand"; export * from "./commands/DeletePermissionSetCommand"; export * from "./commands/DescribeAccountAssignmentCreationStatusCommand"; export * from "./commands/DescribeAccountAssignmentDeletionStatusCommand"; +export * from "./commands/DescribeInstanceAccessControlAttributeConfigurationCommand"; export * from "./commands/DescribePermissionSetCommand"; export * from "./commands/DescribePermissionSetProvisioningStatusCommand"; export * from "./commands/DetachManagedPolicyFromPermissionSetCommand"; @@ -36,6 +39,7 @@ export * from "./commands/ProvisionPermissionSetCommand"; export * from "./commands/PutInlinePolicyToPermissionSetCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdateInstanceAccessControlAttributeConfigurationCommand"; export * from "./commands/UpdatePermissionSetCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-sso-admin/models/models_0.ts b/clients/client-sso-admin/models/models_0.ts index 319edb55814f4..82125345b78d9 100644 --- a/clients/client-sso-admin/models/models_0.ts +++ b/clients/client-sso-admin/models/models_0.ts @@ -1,6 +1,43 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +/** + *

    The value used for mapping a specified attribute to an identity source.

    + */ +export interface AccessControlAttributeValue { + /** + *

    The identity source to use when mapping a specified attribute to AWS SSO.

    + */ + Source: string[] | undefined; +} + +export namespace AccessControlAttributeValue { + export const filterSensitiveLog = (obj: AccessControlAttributeValue): any => ({ + ...obj, + }); +} + +/** + *

    These are AWS SSO identity store attributes that you can configure for use in attributes-based access control (ABAC). You can create permission policies that determine who can access your AWS resources based upon the configured attribute value(s). When you enable ABAC and specify AccessControlAttributes, AWS SSO passes the attribute(s) value of the authenticated user into IAM for use in policy evaluation.

    + */ +export interface AccessControlAttribute { + /** + *

    The value used for mapping a specified attribute to an identity source.

    + */ + Value: AccessControlAttributeValue | undefined; + + /** + *

    The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in AWS SSO.

    + */ + Key: string | undefined; +} + +export namespace AccessControlAttribute { + export const filterSensitiveLog = (obj: AccessControlAttribute): any => ({ + ...obj, + }); +} + /** *

    You do not have sufficient access to perform this action.

    */ @@ -36,14 +73,14 @@ export interface AccountAssignment { PermissionSetArn?: string; /** - *

    The entity type for which the assignment will be created.

    + *

    The identifier of the AWS account.

    */ - PrincipalType?: PrincipalType | string; + AccountId?: string; /** - *

    The identifier of the AWS account.

    + *

    The entity type for which the assignment will be created.

    */ - AccountId?: string; + PrincipalType?: PrincipalType | string; /** *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    @@ -72,15 +109,10 @@ export enum TargetType { * to access an account.

    */ export interface AccountAssignmentOperationStatus { - /** - *

    The message that contains an error or exception in case of an operation failure.

    - */ - FailureReason?: string; - /** *

    The entity type for which the assignment will be created.

    */ - PrincipalType?: PrincipalType | string; + TargetType?: TargetType | string; /** *

    The ARN of the permission set. For more information about ARNs, see Amazon Resource @@ -94,19 +126,20 @@ export interface AccountAssignmentOperationStatus { CreatedDate?: Date; /** - *

    The entity type for which the assignment will be created.

    + *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    */ - TargetType?: TargetType | string; + PrincipalId?: string; /** - *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    + *

    The identifier for tracking the request operation that is generated by the universally + * unique identifier (UUID) workflow.

    */ - TargetId?: string; + RequestId?: string; /** - *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    + *

    The message that contains an error or exception in case of an operation failure.

    */ - PrincipalId?: string; + FailureReason?: string; /** *

    The status of the permission set provisioning process.

    @@ -114,10 +147,14 @@ export interface AccountAssignmentOperationStatus { Status?: StatusValues | string; /** - *

    The identifier for tracking the request operation that is generated by the universally - * unique identifier (UUID) workflow.

    + *

    The entity type for which the assignment will be created.

    */ - RequestId?: string; + PrincipalType?: PrincipalType | string; + + /** + *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    + */ + TargetId?: string; } export namespace AccountAssignmentOperationStatus { @@ -131,11 +168,6 @@ export namespace AccountAssignmentOperationStatus { * request.

    */ export interface AccountAssignmentOperationStatusMetadata { - /** - *

    The status of the permission set provisioning process.

    - */ - Status?: StatusValues | string; - /** *

    The identifier for tracking the request operation that is generated by the universally * unique identifier (UUID) workflow.

    @@ -146,6 +178,11 @@ export interface AccountAssignmentOperationStatusMetadata { *

    The date that the permission set was created.

    */ CreatedDate?: Date; + + /** + *

    The status of the permission set provisioning process.

    + */ + Status?: StatusValues | string; } export namespace AccountAssignmentOperationStatusMetadata { @@ -177,6 +214,11 @@ export namespace AttachedManagedPolicy { } export interface AttachManagedPolicyToPermissionSetRequest { + /** + *

    The IAM managed policy ARN to be attached to a permission set.

    + */ + ManagedPolicyArn: string | undefined; + /** *

    The ARN of the PermissionSet that the managed policy should be attached * to.

    @@ -189,11 +231,6 @@ export interface AttachManagedPolicyToPermissionSetRequest { * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ InstanceArn: string | undefined; - - /** - *

    The IAM managed policy ARN to be attached to a permission set.

    - */ - ManagedPolicyArn: string | undefined; } export namespace AttachManagedPolicyToPermissionSetRequest { @@ -302,37 +339,37 @@ export namespace ValidationException { } export interface CreateAccountAssignmentRequest { + /** + *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    + */ + PrincipalId: string | undefined; + /** *

    The ARN of the permission set that the admin wants to grant the principal access to.

    */ PermissionSetArn: string | undefined; /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The entity type for which the assignment will be created.

    */ - InstanceArn: string | undefined; + TargetType: TargetType | string | undefined; /** *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    */ TargetId: string | undefined; - /** - *

    The entity type for which the assignment will be created.

    - */ - TargetType: TargetType | string | undefined; - /** *

    The entity type for which the assignment will be created.

    */ PrincipalType: PrincipalType | string | undefined; /** - *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - PrincipalId: string | undefined; + InstanceArn: string | undefined; } export namespace CreateAccountAssignmentRequest { @@ -354,6 +391,48 @@ export namespace CreateAccountAssignmentResponse { }); } +/** + *

    Specifies the attributes to add to your attribute-based access control (ABAC) configuration.

    + */ +export interface InstanceAccessControlAttributeConfiguration { + /** + *

    Lists the attributes that are configured for ABAC in the specified AWS SSO instance.

    + */ + AccessControlAttributes: AccessControlAttribute[] | undefined; +} + +export namespace InstanceAccessControlAttributeConfiguration { + export const filterSensitiveLog = (obj: InstanceAccessControlAttributeConfiguration): any => ({ + ...obj, + }); +} + +export interface CreateInstanceAccessControlAttributeConfigurationRequest { + /** + *

    Specifies the AWS SSO identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store.

    + */ + InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration | undefined; + + /** + *

    The ARN of the SSO instance under which the operation will be executed.

    + */ + InstanceArn: string | undefined; +} + +export namespace CreateInstanceAccessControlAttributeConfigurationRequest { + export const filterSensitiveLog = (obj: CreateInstanceAccessControlAttributeConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface CreateInstanceAccessControlAttributeConfigurationResponse {} + +export namespace CreateInstanceAccessControlAttributeConfigurationResponse { + export const filterSensitiveLog = (obj: CreateInstanceAccessControlAttributeConfigurationResponse): any => ({ + ...obj, + }); +} + /** *

    A set of key-value pairs that are used to manage the resource. Tags can only be applied to permission sets and cannot be applied to corresponding roles * that AWS SSO creates in AWS accounts.

    @@ -377,23 +456,16 @@ export namespace Tag { } export interface CreatePermissionSetRequest { - /** - *

    Used to redirect users within the application during the federation authentication - * process.

    - */ - RelayState?: string; - /** *

    The description of the PermissionSet.

    */ Description?: string; /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    Used to redirect users within the application during the federation authentication + * process.

    */ - InstanceArn: string | undefined; + RelayState?: string; /** *

    The length of time that the application user sessions are valid in the ISO-8601 @@ -401,15 +473,22 @@ export interface CreatePermissionSetRequest { */ SessionDuration?: string; + /** + *

    The tags to attach to the new PermissionSet.

    + */ + Tags?: Tag[]; + /** *

    The name of the PermissionSet.

    */ Name: string | undefined; /** - *

    The tags to attach to the new PermissionSet.

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - Tags?: Tag[]; + InstanceArn: string | undefined; } export namespace CreatePermissionSetRequest { @@ -422,32 +501,32 @@ export namespace CreatePermissionSetRequest { *

    An entity that contains IAM policies.

    */ export interface PermissionSet { - /** - *

    The date that the permission set was created.

    - */ - CreatedDate?: Date; - /** *

    The ARN of the permission set. For more information about ARNs, see Amazon Resource * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ PermissionSetArn?: string; + /** + *

    The description of the PermissionSet.

    + */ + Description?: string; + /** *

    The name of the permission set.

    */ Name?: string; /** - *

    The length of time that the application user sessions are valid for in the ISO-8601 - * standard.

    + *

    The date that the permission set was created.

    */ - SessionDuration?: string; + CreatedDate?: Date; /** - *

    The description of the PermissionSet.

    + *

    The length of time that the application user sessions are valid for in the ISO-8601 + * standard.

    */ - Description?: string; + SessionDuration?: string; /** *

    Used to redirect users within the application during the federation authentication @@ -477,16 +556,9 @@ export namespace CreatePermissionSetResponse { export interface DeleteAccountAssignmentRequest { /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - */ - InstanceArn: string | undefined; - - /** - *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    + *

    The entity type for which the assignment will be deleted.

    */ - TargetId: string | undefined; + PrincipalType: PrincipalType | string | undefined; /** *

    The entity type for which the assignment will be deleted.

    @@ -494,9 +566,9 @@ export interface DeleteAccountAssignmentRequest { TargetType: TargetType | string | undefined; /** - *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    + *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    */ - PrincipalId: string | undefined; + TargetId: string | undefined; /** *

    The ARN of the permission set that will be used to remove access.

    @@ -504,9 +576,16 @@ export interface DeleteAccountAssignmentRequest { PermissionSetArn: string | undefined; /** - *

    The entity type for which the assignment will be deleted.

    + *

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    */ - PrincipalType: PrincipalType | string | undefined; + PrincipalId: string | undefined; + + /** + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + */ + InstanceArn: string | undefined; } export namespace DeleteAccountAssignmentRequest { @@ -556,18 +635,39 @@ export namespace DeleteInlinePolicyFromPermissionSetResponse { }); } -export interface DeletePermissionSetRequest { +export interface DeleteInstanceAccessControlAttributeConfigurationRequest { /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The ARN of the SSO instance under which the operation will be executed.

    */ InstanceArn: string | undefined; +} + +export namespace DeleteInstanceAccessControlAttributeConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteInstanceAccessControlAttributeConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface DeleteInstanceAccessControlAttributeConfigurationResponse {} + +export namespace DeleteInstanceAccessControlAttributeConfigurationResponse { + export const filterSensitiveLog = (obj: DeleteInstanceAccessControlAttributeConfigurationResponse): any => ({ + ...obj, + }); +} +export interface DeletePermissionSetRequest { /** *

    The ARN of the permission set that should be deleted.

    */ PermissionSetArn: string | undefined; + + /** + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + */ + InstanceArn: string | undefined; } export namespace DeletePermissionSetRequest { @@ -585,17 +685,17 @@ export namespace DeletePermissionSetResponse { } export interface DescribeAccountAssignmentCreationStatusRequest { + /** + *

    The identifier that is used to track the request operation progress.

    + */ + AccountAssignmentCreationRequestId: string | undefined; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ InstanceArn: string | undefined; - - /** - *

    The identifier that is used to track the request operation progress.

    - */ - AccountAssignmentCreationRequestId: string | undefined; } export namespace DescribeAccountAssignmentCreationStatusRequest { @@ -618,17 +718,17 @@ export namespace DescribeAccountAssignmentCreationStatusResponse { } export interface DescribeAccountAssignmentDeletionStatusRequest { + /** + *

    The identifier that is used to track the request operation progress.

    + */ + AccountAssignmentDeletionRequestId: string | undefined; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ InstanceArn: string | undefined; - - /** - *

    The identifier that is used to track the request operation progress.

    - */ - AccountAssignmentDeletionRequestId: string | undefined; } export namespace DescribeAccountAssignmentDeletionStatusRequest { @@ -650,52 +750,94 @@ export namespace DescribeAccountAssignmentDeletionStatusResponse { }); } -export interface DescribePermissionSetRequest { +export interface DescribeInstanceAccessControlAttributeConfigurationRequest { /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The ARN of the SSO instance under which the operation will be executed.

    */ InstanceArn: string | undefined; - - /** - *

    The ARN of the permission set.

    - */ - PermissionSetArn: string | undefined; } -export namespace DescribePermissionSetRequest { - export const filterSensitiveLog = (obj: DescribePermissionSetRequest): any => ({ +export namespace DescribeInstanceAccessControlAttributeConfigurationRequest { + export const filterSensitiveLog = (obj: DescribeInstanceAccessControlAttributeConfigurationRequest): any => ({ ...obj, }); } -export interface DescribePermissionSetResponse { +export enum InstanceAccessControlAttributeConfigurationStatus { + CREATION_FAILED = "CREATION_FAILED", + CREATION_IN_PROGRESS = "CREATION_IN_PROGRESS", + ENABLED = "ENABLED", +} + +export interface DescribeInstanceAccessControlAttributeConfigurationResponse { /** - *

    Describes the level of access on an AWS account.

    + *

    Provides more details about the current status of the specified attribute.

    */ - PermissionSet?: PermissionSet; + StatusReason?: string; + + /** + *

    The status of the attribute configuration process.

    + */ + Status?: InstanceAccessControlAttributeConfigurationStatus | string; + + /** + *

    Gets the list of AWS SSO identity store attributes added to your ABAC configuration.

    + */ + InstanceAccessControlAttributeConfiguration?: InstanceAccessControlAttributeConfiguration; } -export namespace DescribePermissionSetResponse { - export const filterSensitiveLog = (obj: DescribePermissionSetResponse): any => ({ +export namespace DescribeInstanceAccessControlAttributeConfigurationResponse { + export const filterSensitiveLog = (obj: DescribeInstanceAccessControlAttributeConfigurationResponse): any => ({ ...obj, }); } -export interface DescribePermissionSetProvisioningStatusRequest { +export interface DescribePermissionSetRequest { + /** + *

    The ARN of the permission set.

    + */ + PermissionSetArn: string | undefined; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ InstanceArn: string | undefined; +} + +export namespace DescribePermissionSetRequest { + export const filterSensitiveLog = (obj: DescribePermissionSetRequest): any => ({ + ...obj, + }); +} +export interface DescribePermissionSetResponse { + /** + *

    Describes the level of access on an AWS account.

    + */ + PermissionSet?: PermissionSet; +} + +export namespace DescribePermissionSetResponse { + export const filterSensitiveLog = (obj: DescribePermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface DescribePermissionSetProvisioningStatusRequest { /** *

    The identifier that is provided by the ProvisionPermissionSet call to * retrieve the current status of the provisioning workflow.

    */ ProvisionPermissionSetRequestId: string | undefined; + + /** + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + */ + InstanceArn: string | undefined; } export namespace DescribePermissionSetProvisioningStatusRequest { @@ -710,14 +852,9 @@ export namespace DescribePermissionSetProvisioningStatusRequest { */ export interface PermissionSetProvisioningStatus { /** - *

    The status of the permission set provisioning process.

    - */ - Status?: StatusValues | string; - - /** - *

    The identifier of the AWS account from which to list the assignments.

    + *

    The message that contains an error or exception in case of an operation failure.

    */ - AccountId?: string; + FailureReason?: string; /** *

    The date that the permission set was created.

    @@ -725,10 +862,9 @@ export interface PermissionSetProvisioningStatus { CreatedDate?: Date; /** - *

    The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The status of the permission set provisioning process.

    */ - PermissionSetArn?: string; + Status?: StatusValues | string; /** *

    The identifier for tracking the request operation that is generated by the universally @@ -737,9 +873,15 @@ export interface PermissionSetProvisioningStatus { RequestId?: string; /** - *

    The message that contains an error or exception in case of an operation failure.

    + *

    The identifier of the AWS account from which to list the assignments.

    */ - FailureReason?: string; + AccountId?: string; + + /** + *

    The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + */ + PermissionSetArn?: string; } export namespace PermissionSetProvisioningStatus { @@ -762,11 +904,6 @@ export namespace DescribePermissionSetProvisioningStatusResponse { } export interface DetachManagedPolicyFromPermissionSetRequest { - /** - *

    The IAM managed policy ARN to be attached to a permission set.

    - */ - ManagedPolicyArn: string | undefined; - /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource @@ -778,6 +915,11 @@ export interface DetachManagedPolicyFromPermissionSetRequest { *

    The ARN of the PermissionSet from which the policy should be detached.

    */ PermissionSetArn: string | undefined; + + /** + *

    The IAM managed policy ARN to be attached to a permission set.

    + */ + ManagedPolicyArn: string | undefined; } export namespace DetachManagedPolicyFromPermissionSetRequest { @@ -795,17 +937,17 @@ export namespace DetachManagedPolicyFromPermissionSetResponse { } export interface GetInlinePolicyForPermissionSetRequest { + /** + *

    The ARN of the permission set.

    + */ + PermissionSetArn: string | undefined; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ InstanceArn: string | undefined; - - /** - *

    The ARN of the permission set.

    - */ - PermissionSetArn: string | undefined; } export namespace GetInlinePolicyForPermissionSetRequest { @@ -874,9 +1016,9 @@ export interface ListAccountAssignmentCreationStatusRequest { MaxResults?: number; /** - *

    Filters results based on the passed attribute value.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - Filter?: OperationStatusFilter; + NextToken?: string; /** *

    The ARN of the SSO instance under which the operation will be executed. @@ -886,9 +1028,9 @@ export interface ListAccountAssignmentCreationStatusRequest { InstanceArn: string | undefined; /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    Filters results based on the passed attribute value.

    */ - NextToken?: string; + Filter?: OperationStatusFilter; } export namespace ListAccountAssignmentCreationStatusRequest { @@ -917,14 +1059,16 @@ export namespace ListAccountAssignmentCreationStatusResponse { export interface ListAccountAssignmentDeletionStatusRequest { /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    Filters results based on the passed attribute value.

    */ - NextToken?: string; + Filter?: OperationStatusFilter; /** - *

    Filters results based on the passed attribute value.

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - Filter?: OperationStatusFilter; + InstanceArn: string | undefined; /** *

    The maximum number of results to display for the assignment.

    @@ -932,11 +1076,9 @@ export interface ListAccountAssignmentDeletionStatusRequest { MaxResults?: number; /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - InstanceArn: string | undefined; + NextToken?: string; } export namespace ListAccountAssignmentDeletionStatusRequest { @@ -947,14 +1089,14 @@ export namespace ListAccountAssignmentDeletionStatusRequest { export interface ListAccountAssignmentDeletionStatusResponse { /** - *

    The status object for the account assignment deletion operation.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - AccountAssignmentsDeletionStatus?: AccountAssignmentOperationStatusMetadata[]; + NextToken?: string; /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The status object for the account assignment deletion operation.

    */ - NextToken?: string; + AccountAssignmentsDeletionStatus?: AccountAssignmentOperationStatusMetadata[]; } export namespace ListAccountAssignmentDeletionStatusResponse { @@ -965,31 +1107,31 @@ export namespace ListAccountAssignmentDeletionStatusResponse { export interface ListAccountAssignmentsRequest { /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - NextToken?: string; + InstanceArn: string | undefined; /** - *

    The ARN of the permission set from which to list assignments.

    + *

    The maximum number of results to display for the assignment.

    */ - PermissionSetArn: string | undefined; + MaxResults?: number; /** - *

    The identifier of the AWS account from which to list the assignments.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - AccountId: string | undefined; + NextToken?: string; /** - *

    The maximum number of results to display for the assignment.

    + *

    The identifier of the AWS account from which to list the assignments.

    */ - MaxResults?: number; + AccountId: string | undefined; /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The ARN of the permission set from which to list assignments.

    */ - InstanceArn: string | undefined; + PermissionSetArn: string | undefined; } export namespace ListAccountAssignmentsRequest { @@ -1000,14 +1142,14 @@ export namespace ListAccountAssignmentsRequest { export interface ListAccountAssignmentsResponse { /** - *

    The list of assignments that match the input AWS account and permission set.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - AccountAssignments?: AccountAssignment[]; + NextToken?: string; /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The list of assignments that match the input AWS account and permission set.

    */ - NextToken?: string; + AccountAssignments?: AccountAssignment[]; } export namespace ListAccountAssignmentsResponse { @@ -1034,9 +1176,9 @@ export interface ListAccountsForProvisionedPermissionSetRequest { PermissionSetArn: string | undefined; /** - *

    The permission set provisioning status for an AWS account.

    + *

    The maximum number of results to display for the PermissionSet.

    */ - ProvisioningStatus?: ProvisioningStatus | string; + MaxResults?: number; /** *

    The ARN of the SSO instance under which the operation will be executed. @@ -1046,9 +1188,9 @@ export interface ListAccountsForProvisionedPermissionSetRequest { InstanceArn: string | undefined; /** - *

    The maximum number of results to display for the PermissionSet.

    + *

    The permission set provisioning status for an AWS account.

    */ - MaxResults?: number; + ProvisioningStatus?: ProvisioningStatus | string; } export namespace ListAccountsForProvisionedPermissionSetRequest { @@ -1059,14 +1201,14 @@ export namespace ListAccountsForProvisionedPermissionSetRequest { export interface ListAccountsForProvisionedPermissionSetResponse { /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The list of AWS AccountIds.

    */ - NextToken?: string; + AccountIds?: string[]; /** - *

    The list of AWS AccountIds.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - AccountIds?: string[]; + NextToken?: string; } export namespace ListAccountsForProvisionedPermissionSetResponse { @@ -1095,14 +1237,14 @@ export namespace ListInstancesRequest { export interface ListInstancesResponse { /** - *

    Lists the SSO instances that the caller has access to.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - Instances?: InstanceMetadata[]; + NextToken?: string; /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    Lists the SSO instances that the caller has access to.

    */ - NextToken?: string; + Instances?: InstanceMetadata[]; } export namespace ListInstancesResponse { @@ -1118,11 +1260,9 @@ export interface ListManagedPoliciesInPermissionSetRequest { PermissionSetArn: string | undefined; /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - InstanceArn: string | undefined; + NextToken?: string; /** *

    The maximum number of results to display for the PermissionSet.

    @@ -1130,9 +1270,11 @@ export interface ListManagedPoliciesInPermissionSetRequest { MaxResults?: number; /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - NextToken?: string; + InstanceArn: string | undefined; } export namespace ListManagedPoliciesInPermissionSetRequest { @@ -1143,14 +1285,14 @@ export namespace ListManagedPoliciesInPermissionSetRequest { export interface ListManagedPoliciesInPermissionSetResponse { /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The array of the AttachedManagedPolicy data type object.

    */ - NextToken?: string; + AttachedManagedPolicies?: AttachedManagedPolicy[]; /** - *

    The array of the AttachedManagedPolicy data type object.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - AttachedManagedPolicies?: AttachedManagedPolicy[]; + NextToken?: string; } export namespace ListManagedPoliciesInPermissionSetResponse { @@ -1160,6 +1302,11 @@ export namespace ListManagedPoliciesInPermissionSetResponse { } export interface ListPermissionSetProvisioningStatusRequest { + /** + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + */ + NextToken?: string; + /** *

    The maximum number of results to display for the assignment.

    */ @@ -1176,11 +1323,6 @@ export interface ListPermissionSetProvisioningStatusRequest { * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ InstanceArn: string | undefined; - - /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    - */ - NextToken?: string; } export namespace ListPermissionSetProvisioningStatusRequest { @@ -1194,15 +1336,15 @@ export namespace ListPermissionSetProvisioningStatusRequest { */ export interface PermissionSetProvisioningStatusMetadata { /** - *

    The identifier for tracking the request operation that is generated by the universally - * unique identifier (UUID) workflow.

    + *

    The status of the permission set provisioning process.

    */ - RequestId?: string; + Status?: StatusValues | string; /** - *

    The status of the permission set provisioning process.

    + *

    The identifier for tracking the request operation that is generated by the universally + * unique identifier (UUID) workflow.

    */ - Status?: StatusValues | string; + RequestId?: string; /** *

    The date that the permission set was created.

    @@ -1218,14 +1360,14 @@ export namespace PermissionSetProvisioningStatusMetadata { export interface ListPermissionSetProvisioningStatusResponse { /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    The status object for the permission set provisioning operation.

    */ - NextToken?: string; + PermissionSetsProvisioningStatus?: PermissionSetProvisioningStatusMetadata[]; /** - *

    The status object for the permission set provisioning operation.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - PermissionSetsProvisioningStatus?: PermissionSetProvisioningStatusMetadata[]; + NextToken?: string; } export namespace ListPermissionSetProvisioningStatusResponse { @@ -1235,6 +1377,11 @@ export namespace ListPermissionSetProvisioningStatusResponse { } export interface ListPermissionSetsRequest { + /** + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + */ + NextToken?: string; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource @@ -1242,11 +1389,6 @@ export interface ListPermissionSetsRequest { */ InstanceArn: string | undefined; - /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    - */ - NextToken?: string; - /** *

    The maximum number of results to display for the assignment.

    */ @@ -1278,11 +1420,6 @@ export namespace ListPermissionSetsResponse { } export interface ListPermissionSetsProvisionedToAccountRequest { - /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    - */ - NextToken?: string; - /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource @@ -1296,14 +1433,19 @@ export interface ListPermissionSetsProvisionedToAccountRequest { MaxResults?: number; /** - *

    The identifier of the AWS account from which to list the assignments.

    + *

    The status object for the permission set provisioning operation.

    */ - AccountId: string | undefined; + ProvisioningStatus?: ProvisioningStatus | string; /** - *

    The status object for the permission set provisioning operation.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - ProvisioningStatus?: ProvisioningStatus | string; + NextToken?: string; + + /** + *

    The identifier of the AWS account from which to list the assignments.

    + */ + AccountId: string | undefined; } export namespace ListPermissionSetsProvisionedToAccountRequest { @@ -1314,14 +1456,14 @@ export namespace ListPermissionSetsProvisionedToAccountRequest { export interface ListPermissionSetsProvisionedToAccountResponse { /** - *

    Defines the level of access that an AWS account has.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - PermissionSets?: string[]; + NextToken?: string; /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    Defines the level of access that an AWS account has.

    */ - NextToken?: string; + PermissionSets?: string[]; } export namespace ListPermissionSetsProvisionedToAccountResponse { @@ -1331,6 +1473,11 @@ export namespace ListPermissionSetsProvisionedToAccountResponse { } export interface ListTagsForResourceRequest { + /** + *

    The ARN of the resource with the tags to be listed.

    + */ + ResourceArn: string | undefined; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource @@ -1342,11 +1489,6 @@ export interface ListTagsForResourceRequest { *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ NextToken?: string; - - /** - *

    The ARN of the resource with the tags to be listed.

    - */ - ResourceArn: string | undefined; } export namespace ListTagsForResourceRequest { @@ -1357,14 +1499,14 @@ export namespace ListTagsForResourceRequest { export interface ListTagsForResourceResponse { /** - *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    + *

    A set of key-value pairs that are used to manage the resource.

    */ - NextToken?: string; + Tags?: Tag[]; /** - *

    A set of key-value pairs that are used to manage the resource.

    + *

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    */ - Tags?: Tag[]; + NextToken?: string; } export namespace ListTagsForResourceResponse { @@ -1380,26 +1522,26 @@ export enum ProvisionTargetType { export interface ProvisionPermissionSetRequest { /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    */ - InstanceArn: string | undefined; + TargetId?: string; /** - *

    The ARN of the permission set.

    + *

    The entity type for which the assignment will be created.

    */ - PermissionSetArn: string | undefined; + TargetType: ProvisionTargetType | string | undefined; /** - *

    The entity type for which the assignment will be created.

    + *

    The ARN of the permission set.

    */ - TargetType: ProvisionTargetType | string | undefined; + PermissionSetArn: string | undefined; /** - *

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - TargetId?: string; + InstanceArn: string | undefined; } export namespace ProvisionPermissionSetRequest { @@ -1423,11 +1565,9 @@ export namespace ProvisionPermissionSetResponse { export interface PutInlinePolicyToPermissionSetRequest { /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + *

    The ARN of the permission set.

    */ - InstanceArn: string | undefined; + PermissionSetArn: string | undefined; /** *

    The IAM inline policy to attach to a PermissionSet.

    @@ -1435,9 +1575,11 @@ export interface PutInlinePolicyToPermissionSetRequest { InlinePolicy: string | undefined; /** - *

    The ARN of the permission set.

    + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    */ - PermissionSetArn: string | undefined; + InstanceArn: string | undefined; } export namespace PutInlinePolicyToPermissionSetRequest { @@ -1456,6 +1598,11 @@ export namespace PutInlinePolicyToPermissionSetResponse { } export interface TagResourceRequest { + /** + *

    A set of key-value pairs that are used to manage the resource.

    + */ + Tags: Tag[] | undefined; + /** *

    The ARN of the SSO instance under which the operation will be executed. * For more information about ARNs, see Amazon Resource @@ -1467,11 +1614,6 @@ export interface TagResourceRequest { *

    The ARN of the resource with the tags to be listed.

    */ ResourceArn: string | undefined; - - /** - *

    A set of key-value pairs that are used to manage the resource.

    - */ - Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -1489,6 +1631,13 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { + /** + *

    The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    + */ + InstanceArn: string | undefined; + /** *

    The ARN of the resource with the tags to be listed.

    */ @@ -1498,13 +1647,6 @@ export interface UntagResourceRequest { *

    The keys of tags that are attached to the resource.

    */ TagKeys: string[] | undefined; - - /** - *

    The ARN of the SSO instance under which the operation will be executed. - * For more information about ARNs, see Amazon Resource - * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - */ - InstanceArn: string | undefined; } export namespace UntagResourceRequest { @@ -1521,11 +1663,38 @@ export namespace UntagResourceResponse { }); } +export interface UpdateInstanceAccessControlAttributeConfigurationRequest { + /** + *

    Updates the attributes for your ABAC configuration.

    + */ + InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration | undefined; + + /** + *

    The ARN of the SSO instance under which the operation will be executed.

    + */ + InstanceArn: string | undefined; +} + +export namespace UpdateInstanceAccessControlAttributeConfigurationRequest { + export const filterSensitiveLog = (obj: UpdateInstanceAccessControlAttributeConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateInstanceAccessControlAttributeConfigurationResponse {} + +export namespace UpdateInstanceAccessControlAttributeConfigurationResponse { + export const filterSensitiveLog = (obj: UpdateInstanceAccessControlAttributeConfigurationResponse): any => ({ + ...obj, + }); +} + export interface UpdatePermissionSetRequest { /** - *

    The description of the PermissionSet.

    + *

    The length of time that the application user sessions are valid for in the ISO-8601 + * standard.

    */ - Description?: string; + SessionDuration?: string; /** *

    The ARN of the permission set.

    @@ -1546,10 +1715,9 @@ export interface UpdatePermissionSetRequest { RelayState?: string; /** - *

    The length of time that the application user sessions are valid for in the ISO-8601 - * standard.

    + *

    The description of the PermissionSet.

    */ - SessionDuration?: string; + Description?: string; } export namespace UpdatePermissionSetRequest { diff --git a/clients/client-sso-admin/protocols/Aws_json1_1.ts b/clients/client-sso-admin/protocols/Aws_json1_1.ts index 495ce126a2488..35604c74c190e 100644 --- a/clients/client-sso-admin/protocols/Aws_json1_1.ts +++ b/clients/client-sso-admin/protocols/Aws_json1_1.ts @@ -6,6 +6,10 @@ import { CreateAccountAssignmentCommandInput, CreateAccountAssignmentCommandOutput, } from "../commands/CreateAccountAssignmentCommand"; +import { + CreateInstanceAccessControlAttributeConfigurationCommandInput, + CreateInstanceAccessControlAttributeConfigurationCommandOutput, +} from "../commands/CreateInstanceAccessControlAttributeConfigurationCommand"; import { CreatePermissionSetCommandInput, CreatePermissionSetCommandOutput, @@ -18,6 +22,10 @@ import { DeleteInlinePolicyFromPermissionSetCommandInput, DeleteInlinePolicyFromPermissionSetCommandOutput, } from "../commands/DeleteInlinePolicyFromPermissionSetCommand"; +import { + DeleteInstanceAccessControlAttributeConfigurationCommandInput, + DeleteInstanceAccessControlAttributeConfigurationCommandOutput, +} from "../commands/DeleteInstanceAccessControlAttributeConfigurationCommand"; import { DeletePermissionSetCommandInput, DeletePermissionSetCommandOutput, @@ -30,6 +38,10 @@ import { DescribeAccountAssignmentDeletionStatusCommandInput, DescribeAccountAssignmentDeletionStatusCommandOutput, } from "../commands/DescribeAccountAssignmentDeletionStatusCommand"; +import { + DescribeInstanceAccessControlAttributeConfigurationCommandInput, + DescribeInstanceAccessControlAttributeConfigurationCommandOutput, +} from "../commands/DescribeInstanceAccessControlAttributeConfigurationCommand"; import { DescribePermissionSetCommandInput, DescribePermissionSetCommandOutput, @@ -90,11 +102,17 @@ import { } from "../commands/PutInlinePolicyToPermissionSetCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { + UpdateInstanceAccessControlAttributeConfigurationCommandInput, + UpdateInstanceAccessControlAttributeConfigurationCommandOutput, +} from "../commands/UpdateInstanceAccessControlAttributeConfigurationCommand"; import { UpdatePermissionSetCommandInput, UpdatePermissionSetCommandOutput, } from "../commands/UpdatePermissionSetCommand"; import { + AccessControlAttribute, + AccessControlAttributeValue, AccessDeniedException, AccountAssignment, AccountAssignmentOperationStatus, @@ -105,18 +123,24 @@ import { ConflictException, CreateAccountAssignmentRequest, CreateAccountAssignmentResponse, + CreateInstanceAccessControlAttributeConfigurationRequest, + CreateInstanceAccessControlAttributeConfigurationResponse, CreatePermissionSetRequest, CreatePermissionSetResponse, DeleteAccountAssignmentRequest, DeleteAccountAssignmentResponse, DeleteInlinePolicyFromPermissionSetRequest, DeleteInlinePolicyFromPermissionSetResponse, + DeleteInstanceAccessControlAttributeConfigurationRequest, + DeleteInstanceAccessControlAttributeConfigurationResponse, DeletePermissionSetRequest, DeletePermissionSetResponse, DescribeAccountAssignmentCreationStatusRequest, DescribeAccountAssignmentCreationStatusResponse, DescribeAccountAssignmentDeletionStatusRequest, DescribeAccountAssignmentDeletionStatusResponse, + DescribeInstanceAccessControlAttributeConfigurationRequest, + DescribeInstanceAccessControlAttributeConfigurationResponse, DescribePermissionSetProvisioningStatusRequest, DescribePermissionSetProvisioningStatusResponse, DescribePermissionSetRequest, @@ -125,6 +149,7 @@ import { DetachManagedPolicyFromPermissionSetResponse, GetInlinePolicyForPermissionSetRequest, GetInlinePolicyForPermissionSetResponse, + InstanceAccessControlAttributeConfiguration, InstanceMetadata, InternalServerException, ListAccountAssignmentCreationStatusRequest, @@ -163,6 +188,8 @@ import { ThrottlingException, UntagResourceRequest, UntagResourceResponse, + UpdateInstanceAccessControlAttributeConfigurationRequest, + UpdateInstanceAccessControlAttributeConfigurationResponse, UpdatePermissionSetRequest, UpdatePermissionSetResponse, ValidationException, @@ -203,6 +230,19 @@ export const serializeAws_json1_1CreateAccountAssignmentCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommand = async ( + input: CreateInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.CreateInstanceAccessControlAttributeConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreatePermissionSetCommand = async ( input: CreatePermissionSetCommandInput, context: __SerdeContext @@ -242,6 +282,19 @@ export const serializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommand = as return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommand = async ( + input: DeleteInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DeleteInstanceAccessControlAttributeConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeletePermissionSetCommand = async ( input: DeletePermissionSetCommandInput, context: __SerdeContext @@ -281,6 +334,19 @@ export const serializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommand return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommand = async ( + input: DescribeInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DescribeInstanceAccessControlAttributeConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribePermissionSetCommand = async ( input: DescribePermissionSetCommandInput, context: __SerdeContext @@ -515,6 +581,19 @@ export const serializeAws_json1_1UntagResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommand = async ( + input: UpdateInstanceAccessControlAttributeConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.UpdateInstanceAccessControlAttributeConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdatePermissionSetCommand = async ( input: UpdatePermissionSetCommandInput, context: __SerdeContext @@ -734,6 +813,101 @@ const deserializeAws_json1_1CreateAccountAssignmentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationResponse(data, context); + const response: CreateInstanceAccessControlAttributeConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1CreatePermissionSetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1027,6 +1201,101 @@ const deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationResponse(data, context); + const response: DeleteInstanceAccessControlAttributeConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DeletePermissionSetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1296,6 +1565,93 @@ const deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommandError return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationResponse(data, context); + const response: DescribeInstanceAccessControlAttributeConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DescribePermissionSetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2910,6 +3266,101 @@ const deserializeAws_json1_1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationResponse(data, context); + const response: UpdateInstanceAccessControlAttributeConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1UpdatePermissionSetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3110,6 +3561,35 @@ const deserializeAws_json1_1ValidationExceptionResponse = async ( return contents; }; +const serializeAws_json1_1AccessControlAttribute = (input: AccessControlAttribute, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && { Key: input.Key }), + ...(input.Value !== undefined && { Value: serializeAws_json1_1AccessControlAttributeValue(input.Value, context) }), + }; +}; + +const serializeAws_json1_1AccessControlAttributeList = ( + input: AccessControlAttribute[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1AccessControlAttribute(entry, context)); +}; + +const serializeAws_json1_1AccessControlAttributeValue = ( + input: AccessControlAttributeValue, + context: __SerdeContext +): any => { + return { + ...(input.Source !== undefined && { + Source: serializeAws_json1_1AccessControlAttributeValueSourceList(input.Source, context), + }), + }; +}; + +const serializeAws_json1_1AccessControlAttributeValueSourceList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1AttachManagedPolicyToPermissionSetRequest = ( input: AttachManagedPolicyToPermissionSetRequest, context: __SerdeContext @@ -3135,6 +3615,21 @@ const serializeAws_json1_1CreateAccountAssignmentRequest = ( }; }; +const serializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationRequest = ( + input: CreateInstanceAccessControlAttributeConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceAccessControlAttributeConfiguration !== undefined && { + InstanceAccessControlAttributeConfiguration: serializeAws_json1_1InstanceAccessControlAttributeConfiguration( + input.InstanceAccessControlAttributeConfiguration, + context + ), + }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + }; +}; + const serializeAws_json1_1CreatePermissionSetRequest = ( input: CreatePermissionSetRequest, context: __SerdeContext @@ -3173,6 +3668,15 @@ const serializeAws_json1_1DeleteInlinePolicyFromPermissionSetRequest = ( }; }; +const serializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationRequest = ( + input: DeleteInstanceAccessControlAttributeConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + }; +}; + const serializeAws_json1_1DeletePermissionSetRequest = ( input: DeletePermissionSetRequest, context: __SerdeContext @@ -3207,6 +3711,15 @@ const serializeAws_json1_1DescribeAccountAssignmentDeletionStatusRequest = ( }; }; +const serializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationRequest = ( + input: DescribeInstanceAccessControlAttributeConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + }; +}; + const serializeAws_json1_1DescribePermissionSetProvisioningStatusRequest = ( input: DescribePermissionSetProvisioningStatusRequest, context: __SerdeContext @@ -3250,6 +3763,17 @@ const serializeAws_json1_1GetInlinePolicyForPermissionSetRequest = ( }; }; +const serializeAws_json1_1InstanceAccessControlAttributeConfiguration = ( + input: InstanceAccessControlAttributeConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.AccessControlAttributes !== undefined && { + AccessControlAttributes: serializeAws_json1_1AccessControlAttributeList(input.AccessControlAttributes, context), + }), + }; +}; + const serializeAws_json1_1ListAccountAssignmentCreationStatusRequest = ( input: ListAccountAssignmentCreationStatusRequest, context: __SerdeContext @@ -3426,6 +3950,21 @@ const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, c }; }; +const serializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationRequest = ( + input: UpdateInstanceAccessControlAttributeConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceAccessControlAttributeConfiguration !== undefined && { + InstanceAccessControlAttributeConfiguration: serializeAws_json1_1InstanceAccessControlAttributeConfiguration( + input.InstanceAccessControlAttributeConfiguration, + context + ), + }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + }; +}; + const serializeAws_json1_1UpdatePermissionSetRequest = ( input: UpdatePermissionSetRequest, context: __SerdeContext @@ -3439,6 +3978,42 @@ const serializeAws_json1_1UpdatePermissionSetRequest = ( }; }; +const deserializeAws_json1_1AccessControlAttribute = (output: any, context: __SerdeContext): AccessControlAttribute => { + return { + Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + Value: + output.Value !== undefined && output.Value !== null + ? deserializeAws_json1_1AccessControlAttributeValue(output.Value, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AccessControlAttributeList = ( + output: any, + context: __SerdeContext +): AccessControlAttribute[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AccessControlAttribute(entry, context)); +}; + +const deserializeAws_json1_1AccessControlAttributeValue = ( + output: any, + context: __SerdeContext +): AccessControlAttributeValue => { + return { + Source: + output.Source !== undefined && output.Source !== null + ? deserializeAws_json1_1AccessControlAttributeValueSourceList(output.Source, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AccessControlAttributeValueSourceList = ( + output: any, + context: __SerdeContext +): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, @@ -3549,6 +4124,13 @@ const deserializeAws_json1_1CreateAccountAssignmentResponse = ( } as any; }; +const deserializeAws_json1_1CreateInstanceAccessControlAttributeConfigurationResponse = ( + output: any, + context: __SerdeContext +): CreateInstanceAccessControlAttributeConfigurationResponse => { + return {} as any; +}; + const deserializeAws_json1_1CreatePermissionSetResponse = ( output: any, context: __SerdeContext @@ -3580,6 +4162,13 @@ const deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetResponse = ( return {} as any; }; +const deserializeAws_json1_1DeleteInstanceAccessControlAttributeConfigurationResponse = ( + output: any, + context: __SerdeContext +): DeleteInstanceAccessControlAttributeConfigurationResponse => { + return {} as any; +}; + const deserializeAws_json1_1DeletePermissionSetResponse = ( output: any, context: __SerdeContext @@ -3611,6 +4200,24 @@ const deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusResponse = ( } as any; }; +const deserializeAws_json1_1DescribeInstanceAccessControlAttributeConfigurationResponse = ( + output: any, + context: __SerdeContext +): DescribeInstanceAccessControlAttributeConfigurationResponse => { + return { + InstanceAccessControlAttributeConfiguration: + output.InstanceAccessControlAttributeConfiguration !== undefined && + output.InstanceAccessControlAttributeConfiguration !== null + ? deserializeAws_json1_1InstanceAccessControlAttributeConfiguration( + output.InstanceAccessControlAttributeConfiguration, + context + ) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + StatusReason: output.StatusReason !== undefined && output.StatusReason !== null ? output.StatusReason : undefined, + } as any; +}; + const deserializeAws_json1_1DescribePermissionSetProvisioningStatusResponse = ( output: any, context: __SerdeContext @@ -3651,6 +4258,18 @@ const deserializeAws_json1_1GetInlinePolicyForPermissionSetResponse = ( } as any; }; +const deserializeAws_json1_1InstanceAccessControlAttributeConfiguration = ( + output: any, + context: __SerdeContext +): InstanceAccessControlAttributeConfiguration => { + return { + AccessControlAttributes: + output.AccessControlAttributes !== undefined && output.AccessControlAttributes !== null + ? deserializeAws_json1_1AccessControlAttributeList(output.AccessControlAttributes, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1InstanceList = (output: any, context: __SerdeContext): InstanceMetadata[] => { return (output || []).map((entry: any) => deserializeAws_json1_1InstanceMetadata(entry, context)); }; @@ -3923,6 +4542,13 @@ const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __Ser return {} as any; }; +const deserializeAws_json1_1UpdateInstanceAccessControlAttributeConfigurationResponse = ( + output: any, + context: __SerdeContext +): UpdateInstanceAccessControlAttributeConfigurationResponse => { + return {} as any; +}; + const deserializeAws_json1_1UpdatePermissionSetResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-timestream-query/models/models_0.ts b/clients/client-timestream-query/models/models_0.ts index 25d15f574cb08..9fc83338a052d 100644 --- a/clients/client-timestream-query/models/models_0.ts +++ b/clients/client-timestream-query/models/models_0.ts @@ -210,23 +210,6 @@ export interface QueryRequest { */ QueryString: string | undefined; - /** - *

    - * A pagination token passed to get a set of results. - *

    - */ - NextToken?: string; - - /** - *

    - * The total number of rows to return in the output. If the total number of rows available - * is more than the value specified, a NextToken is provided in the command's output. - * To resume pagination, provide the NextToken value in the starting-token argument of a - * subsequent command. - *

    - */ - MaxRows?: number; - /** *

    * Unique, case-sensitive string of up to 64 ASCII characters that you specify when you make a Query request. @@ -253,6 +236,23 @@ export interface QueryRequest { *

    */ ClientToken?: string; + + /** + *

    + * A pagination token passed to get a set of results. + *

    + */ + NextToken?: string; + + /** + *

    + * The total number of rows to return in the output. If the total number of rows available + * is more than the value specified, a NextToken is provided in the command's output. + * To resume pagination, provide the NextToken value in the starting-token argument of a + * subsequent command. + *

    + */ + MaxRows?: number; } export namespace QueryRequest { @@ -263,6 +263,39 @@ export namespace QueryRequest { }); } +/** + *

    Information about the status of the query, including progress and bytes scannned.

    + */ +export interface QueryStatus { + /** + *

    The progress of the query, expressed as a percentage.

    + */ + ProgressPercentage?: number; + + /** + *

    The amount of data scanned by the query in bytes. + * This is a cumulative sum and represents the total amount of bytes scanned since the query was started. + *

    + */ + CumulativeBytesScanned?: number; + + /** + *

    The amount of data scanned by the query in bytes that you will be charged for. + * This is a cumulative sum and represents the total amount of data that you will be charged + * for since the query was started. + * The charge is applied only once and is either applied when + * the query completes execution or when the query is cancelled. + *

    + */ + CumulativeBytesMetered?: number; +} + +export namespace QueryStatus { + export const filterSensitiveLog = (obj: QueryStatus): any => ({ + ...obj, + }); +} + /** *

    * Contains the meta data for query results such as the column names, data types, and other attributes. @@ -295,24 +328,24 @@ export namespace ColumnInfo { */ export interface Type { /** - *

    Indicates if the column is a row.

    + *

    Indicates if the column is of type string, integer, boolean, double, timestamp, date, time.

    */ - RowColumnInfo?: ColumnInfo[]; + ScalarType?: ScalarType | string; /** - *

    Indicates if the column is a timeseries data type.

    + *

    Indicates if the column is an array.

    */ - TimeSeriesMeasureValueColumnInfo?: ColumnInfo; + ArrayColumnInfo?: ColumnInfo; /** - *

    Indicates if the column is of type string, integer, boolean, double, timestamp, date, time.

    + *

    Indicates if the column is a timeseries data type.

    */ - ScalarType?: ScalarType | string; + TimeSeriesMeasureValueColumnInfo?: ColumnInfo; /** - *

    Indicates if the column is an array.

    + *

    Indicates if the column is a row.

    */ - ArrayColumnInfo?: ColumnInfo; + RowColumnInfo?: ColumnInfo[]; } export namespace Type { @@ -329,38 +362,38 @@ export namespace Type { export interface Datum { /** *

    - * Indicates if the data point is of timeseries data type. + * Indicates if the data point is a scalar value such as integer, string, double, or boolean. *

    */ - TimeSeriesValue?: TimeSeriesDataPoint[]; + ScalarValue?: string; /** *

    - * Indicates if the data point is null. + * Indicates if the data point is of timeseries data type. *

    */ - NullValue?: boolean; + TimeSeriesValue?: TimeSeriesDataPoint[]; /** *

    - * Indicates if the data point is a row. + * Indicates if the data point is an array. *

    */ - RowValue?: Row; + ArrayValue?: Datum[]; /** *

    - * Indicates if the data point is a scalar value such as integer, string, double, or boolean. + * Indicates if the data point is a row. *

    */ - ScalarValue?: string; + RowValue?: Row; /** *

    - * Indicates if the data point is an array. + * Indicates if the data point is null. *

    */ - ArrayValue?: Datum[]; + NullValue?: boolean; } export namespace Datum { @@ -414,6 +447,13 @@ export interface QueryResponse { */ QueryId: string | undefined; + /** + *

    + * A pagination token that can be used again on a Query call to get the next set of results. + *

    + */ + NextToken?: string; + /** *

    * The result set rows returned by the query. @@ -429,11 +469,9 @@ export interface QueryResponse { ColumnInfo: ColumnInfo[] | undefined; /** - *

    - * A pagination token that can be used again on a Query call to get the next set of results. - *

    + *

    Information about the status of the query, including progress and bytes scannned.

    */ - NextToken?: string; + QueryStatus?: QueryStatus; } export namespace QueryResponse { diff --git a/clients/client-timestream-query/protocols/Aws_json1_0.ts b/clients/client-timestream-query/protocols/Aws_json1_0.ts index 3bdd405ebc1a5..1048b1fa02234 100644 --- a/clients/client-timestream-query/protocols/Aws_json1_0.ts +++ b/clients/client-timestream-query/protocols/Aws_json1_0.ts @@ -16,6 +16,7 @@ import { QueryExecutionException, QueryRequest, QueryResponse, + QueryStatus, Row, ThrottlingException, TimeSeriesDataPoint, @@ -577,6 +578,10 @@ const deserializeAws_json1_0QueryResponse = (output: any, context: __SerdeContex : undefined, NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, QueryId: output.QueryId !== undefined && output.QueryId !== null ? output.QueryId : undefined, + QueryStatus: + output.QueryStatus !== undefined && output.QueryStatus !== null + ? deserializeAws_json1_0QueryStatus(output.QueryStatus, context) + : undefined, Rows: output.Rows !== undefined && output.Rows !== null ? deserializeAws_json1_0RowList(output.Rows, context) @@ -584,6 +589,23 @@ const deserializeAws_json1_0QueryResponse = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_0QueryStatus = (output: any, context: __SerdeContext): QueryStatus => { + return { + CumulativeBytesMetered: + output.CumulativeBytesMetered !== undefined && output.CumulativeBytesMetered !== null + ? output.CumulativeBytesMetered + : undefined, + CumulativeBytesScanned: + output.CumulativeBytesScanned !== undefined && output.CumulativeBytesScanned !== null + ? output.CumulativeBytesScanned + : undefined, + ProgressPercentage: + output.ProgressPercentage !== undefined && output.ProgressPercentage !== null + ? output.ProgressPercentage + : undefined, + } as any; +}; + const deserializeAws_json1_0Row = (output: any, context: __SerdeContext): Row => { return { Data: diff --git a/clients/client-timestream-write/TimestreamWrite.ts b/clients/client-timestream-write/TimestreamWrite.ts index 6b1245a88745c..fb2279351f2f2 100644 --- a/clients/client-timestream-write/TimestreamWrite.ts +++ b/clients/client-timestream-write/TimestreamWrite.ts @@ -135,6 +135,9 @@ export class TimestreamWrite extends TimestreamWriteClient { * *

    All tables in the database must be deleted first, or a ValidationException error will be thrown. *

    + * + *

    Due to the nature of distributed retries, + * the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

    */ public deleteDatabase( args: DeleteDatabaseCommandInput, @@ -170,6 +173,8 @@ export class TimestreamWrite extends TimestreamWriteClient { * After a Timestream database table is deleted, the time series data stored in * the table cannot be recovered. *

    + *

    Due to the nature of distributed retries, + * the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

    */ public deleteTable(args: DeleteTableCommandInput, options?: __HttpHandlerOptions): Promise; public deleteTable(args: DeleteTableCommandInput, cb: (err: any, data?: DeleteTableCommandOutput) => void): void; @@ -547,7 +552,8 @@ export class TimestreamWrite extends TimestreamWriteClient { * the query results might not reflect the results of a recently completed write * operation. The results may also include some stale data. If you repeat the * query request after a short time, the results should return the latest data. - * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide. + * Service quotas apply. For more information, + * see Access Management in the Timestream Developer Guide. *

    */ public writeRecords( diff --git a/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts b/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts index 6d7e0f344a5b6..3bec5a6dcb29b 100644 --- a/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts +++ b/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts @@ -27,6 +27,9 @@ export type DeleteDatabaseCommandOutput = __MetadataBearer; * *

    All tables in the database must be deleted first, or a ValidationException error will be thrown. *

    + * + *

    Due to the nature of distributed retries, + * the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

    */ export class DeleteDatabaseCommand extends $Command< DeleteDatabaseCommandInput, diff --git a/clients/client-timestream-write/commands/DeleteTableCommand.ts b/clients/client-timestream-write/commands/DeleteTableCommand.ts index 208d8ebdcd26a..8a930e84de127 100644 --- a/clients/client-timestream-write/commands/DeleteTableCommand.ts +++ b/clients/client-timestream-write/commands/DeleteTableCommand.ts @@ -25,6 +25,8 @@ export type DeleteTableCommandOutput = __MetadataBearer; * After a Timestream database table is deleted, the time series data stored in * the table cannot be recovered. *

    + *

    Due to the nature of distributed retries, + * the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

    */ export class DeleteTableCommand extends $Command< DeleteTableCommandInput, diff --git a/clients/client-timestream-write/commands/WriteRecordsCommand.ts b/clients/client-timestream-write/commands/WriteRecordsCommand.ts index 4431f43c77173..0dcdb5707ebee 100644 --- a/clients/client-timestream-write/commands/WriteRecordsCommand.ts +++ b/clients/client-timestream-write/commands/WriteRecordsCommand.ts @@ -32,7 +32,8 @@ export type WriteRecordsCommandOutput = __MetadataBearer; * the query results might not reflect the results of a recently completed write * operation. The results may also include some stale data. If you repeat the * query request after a short time, the results should return the latest data. - * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide. + * Service quotas apply. For more information, + * see Access Management in the Timestream Developer Guide. *

    */ export class WriteRecordsCommand extends $Command< diff --git a/clients/client-timestream-write/models/models_0.ts b/clients/client-timestream-write/models/models_0.ts index 225e521cb5795..ef8744222def6 100644 --- a/clients/client-timestream-write/models/models_0.ts +++ b/clients/client-timestream-write/models/models_0.ts @@ -41,17 +41,17 @@ export namespace ConflictException { export interface Tag { /** *

    - * The value of the tag. Tag values are case-sensitive and can be null. + * The key of the tag. Tag keys are case sensitive. *

    */ - Value: string | undefined; + Key: string | undefined; /** *

    - * The key of the tag. Tag keys are case sensitive. + * The value of the tag. Tag values are case-sensitive and can be null. *

    */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -62,11 +62,9 @@ export namespace Tag { export interface CreateDatabaseRequest { /** - *

    - * A list of key-value pairs to label the table. - *

    + *

    The name of the Timestream database.

    */ - Tags?: Tag[]; + DatabaseName: string | undefined; /** *

    The KMS key for the database. If the KMS key is not specified, the database will be encrypted with a Timestream @@ -75,9 +73,11 @@ export interface CreateDatabaseRequest { KmsKeyId?: string; /** - *

    The name of the Timestream database.

    + *

    + * A list of key-value pairs to label the table. + *

    */ - DatabaseName: string | undefined; + Tags?: Tag[]; } export namespace CreateDatabaseRequest { @@ -92,6 +92,11 @@ export namespace CreateDatabaseRequest { * database are encrypted with the same KMS key.

    */ export interface Database { + /** + *

    The Amazon Resource Name that uniquely identifies this database.

    + */ + Arn?: string; + /** *

    The name of the Timestream database.

    */ @@ -102,20 +107,15 @@ export interface Database { */ TableCount?: number; - /** - *

    The time when the database was created, calculated from the Unix epoch time.

    - */ - CreationTime?: Date; - /** *

    The identifier of the KMS key used to encrypt the data stored in the database.

    */ KmsKeyId?: string; /** - *

    The Amazon Resource Name that uniquely identifies this database.

    + *

    The time when the database was created, calculated from the Unix epoch time.

    */ - Arn?: string; + CreationTime?: Date; /** *

    @@ -225,14 +225,14 @@ export namespace ValidationException { */ export interface RetentionProperties { /** - *

    The duration for which data must be stored in the magnetic store.

    + *

    The duration for which data must be stored in the memory store.

    */ - MagneticStoreRetentionPeriodInDays: number | undefined; + MemoryStoreRetentionPeriodInHours: number | undefined; /** - *

    The duration for which data must be stored in the memory store.

    + *

    The duration for which data must be stored in the magnetic store.

    */ - MemoryStoreRetentionPeriodInHours: number | undefined; + MagneticStoreRetentionPeriodInDays: number | undefined; } export namespace RetentionProperties { @@ -243,26 +243,26 @@ export namespace RetentionProperties { export interface CreateTableRequest { /** - *

    The duration for which your time series data must be stored in the memory store and the magnetic store.

    + *

    The name of the Timestream database.

    */ - RetentionProperties?: RetentionProperties; + DatabaseName: string | undefined; /** - *

    - * A list of key-value pairs to label the table. - *

    + *

    The name of the Timestream table.

    */ - Tags?: Tag[]; + TableName: string | undefined; /** - *

    The name of the Timestream table.

    + *

    The duration for which your time series data must be stored in the memory store and the magnetic store.

    */ - TableName: string | undefined; + RetentionProperties?: RetentionProperties; /** - *

    The name of the Timestream database.

    + *

    + * A list of key-value pairs to label the table. + *

    */ - DatabaseName: string | undefined; + Tags?: Tag[]; } export namespace CreateTableRequest { @@ -287,9 +287,14 @@ export interface Table { Arn?: string; /** - *

    The retention duration for the memory store and magnetic store.

    + *

    The name of the Timestream table.

    */ - RetentionProperties?: RetentionProperties; + TableName?: string; + + /** + *

    The name of the Timestream database that contains this table.

    + */ + DatabaseName?: string; /** *

    The current state of the table:

    @@ -307,14 +312,9 @@ export interface Table { TableStatus?: TableStatus | string; /** - *

    The time when the Timestream table was last updated.

    - */ - LastUpdatedTime?: Date; - - /** - *

    The name of the Timestream table.

    + *

    The retention duration for the memory store and magnetic store.

    */ - TableName?: string; + RetentionProperties?: RetentionProperties; /** *

    The time when the Timestream table was created.

    @@ -322,9 +322,9 @@ export interface Table { CreationTime?: Date; /** - *

    The name of the Timestream database that contains this table.

    + *

    The time when the Timestream table was last updated.

    */ - DatabaseName?: string; + LastUpdatedTime?: Date; } export namespace Table { @@ -376,14 +376,14 @@ export namespace DeleteDatabaseRequest { export interface DeleteTableRequest { /** - *

    The name of the Timestream table to be deleted.

    + *

    The name of the database where the Timestream database is to be deleted.

    */ - TableName: string | undefined; + DatabaseName: string | undefined; /** - *

    The name of the database where the Timestream database is to be deleted.

    + *

    The name of the Timestream table to be deleted.

    */ - DatabaseName: string | undefined; + TableName: string | undefined; } export namespace DeleteTableRequest { @@ -431,14 +431,14 @@ export namespace DescribeEndpointsRequest { */ export interface Endpoint { /** - *

    The TTL for the endpoint, in minutes.

    + *

    An endpoint address.

    */ - CachePeriodInMinutes: number | undefined; + Address: string | undefined; /** - *

    An endpoint address.

    + *

    The TTL for the endpoint, in minutes.

    */ - Address: string | undefined; + CachePeriodInMinutes: number | undefined; } export namespace Endpoint { @@ -499,21 +499,23 @@ export enum DimensionValueType { *

    Dimension represents the meta data attributes of the time series. For example, the name and availability zone of an EC2 instance or the name of the manufacturer of a wind turbine are dimensions.

    */ export interface Dimension { - /** - *

    The value of the dimension.

    - */ - Value: string | undefined; - /** *

    * Dimension represents the meta data attributes of the time series. * For example, the name and availability zone of an EC2 instance or * the name of the manufacturer of a wind turbine are dimensions. - * Dimension names can only contain alphanumeric characters and underscores. Dimension names cannot end with an underscore. - *

    + * + *

    + *

    For constraints on Dimension names, + * see Naming Constraints.

    */ Name: string | undefined; + /** + *

    The value of the dimension.

    + */ + Value: string | undefined; + /** *

    The data type of the dimension for the time series data point.

    */ @@ -546,14 +548,14 @@ export namespace ListDatabasesRequest { export interface ListDatabasesResponse { /** - *

    The pagination token. This parameter is returned when the response is truncated.

    + *

    A list of database names.

    */ - NextToken?: string; + Databases?: Database[]; /** - *

    A list of database names.

    + *

    The pagination token. This parameter is returned when the response is truncated.

    */ - Databases?: Database[]; + NextToken?: string; } export namespace ListDatabasesResponse { @@ -569,14 +571,14 @@ export interface ListTablesRequest { DatabaseName?: string; /** - *

    The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    + *

    The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    */ - MaxResults?: number; + NextToken?: string; /** - *

    The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    + *

    The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    */ - NextToken?: string; + MaxResults?: number; } export namespace ListTablesRequest { @@ -660,12 +662,22 @@ export enum TimeUnit { *

    */ export interface _Record { + /** + *

    Contains the list of dimensions for time series data points.

    + */ + Dimensions?: Dimension[]; + + /** + *

    Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

    + */ + MeasureName?: string; + /** *

    - * The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values. + * Contains the measure value for the time series data point. *

    */ - TimeUnit?: TimeUnit | string; + MeasureValue?: string; /** *

    @@ -677,26 +689,26 @@ export interface _Record { /** *

    * Contains the time at which the measure value for the data point was collected. + * The time value plus the unit provides the time elapsed since the epoch. + * For example, if the time value is 12345 and the unit is ms, + * then 12345 ms have elapsed since the epoch. *

    */ Time?: string; /** - *

    Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

    - */ - MeasureName?: string; - - /** - *

    Contains the list of dimensions for time series data points.

    + *

    + * The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values. + *

    */ - Dimensions?: Dimension[]; + TimeUnit?: TimeUnit | string; /** - *

    - * Contains the measure value for the time series data point. - *

    + *

    64-bit attribute used for record updates. + * Write requests for duplicate data with a higher version number will update the existing measure value and version. + * In cases where the measure value is the same, Version will still be updated . Default value is to 1.

    */ - MeasureValue?: string; + Version?: number; } export namespace _Record { @@ -734,6 +746,18 @@ export interface RejectedRecord { *

    * Records with timestamps that lie outside the retention duration of the memory store *

    + * + *

    When the retention window is updated, you will receive a RejectedRecords exception + * if you immediately try to ingest data within the new window. + * To avoid a RejectedRecords exception, + * wait until the duration of the new window to ingest new data. + * For further information, + * see + * + * Best Practices for Configuring Timestream + * and + * the explanation of how storage works in Timestream.

    + *
    *
  • *
  • *

    @@ -746,6 +770,12 @@ export interface RejectedRecord { *

    */ Reason?: string; + + /** + *

    The existing version of the record. + * This value is populated in scenarios where an identical record exists with a higher version than the version in the write request.

    + */ + ExistingVersion?: number; } export namespace RejectedRecord { @@ -857,6 +887,13 @@ export namespace UntagResourceResponse { } export interface UpdateDatabaseRequest { + /** + *

    + * The name of the database. + *

    + */ + DatabaseName: string | undefined; + /** *

    * The identifier of the new KMS key (KmsKeyId) to be used to encrypt the data stored in the database. @@ -884,13 +921,6 @@ export interface UpdateDatabaseRequest { * */ KmsKeyId: string | undefined; - - /** - *

    - * The name of the database. - *

    - */ - DatabaseName: string | undefined; } export namespace UpdateDatabaseRequest { @@ -915,6 +945,11 @@ export namespace UpdateDatabaseResponse { } export interface UpdateTableRequest { + /** + *

    The name of the Timestream database.

    + */ + DatabaseName: string | undefined; + /** *

    The name of the Timesream table.

    */ @@ -924,11 +959,6 @@ export interface UpdateTableRequest { *

    The retention duration of the memory store and the magnetic store.

    */ RetentionProperties: RetentionProperties | undefined; - - /** - *

    The name of the Timestream database.

    - */ - DatabaseName: string | undefined; } export namespace UpdateTableRequest { @@ -951,6 +981,16 @@ export namespace UpdateTableResponse { } export interface WriteRecordsRequest { + /** + *

    The name of the Timestream database.

    + */ + DatabaseName: string | undefined; + + /** + *

    The name of the Timesream table.

    + */ + TableName: string | undefined; + /** *

    A record containing the common measure and dimension attributes * shared across all the records in the request. The measure and dimension @@ -960,22 +1000,12 @@ export interface WriteRecordsRequest { */ CommonAttributes?: _Record; - /** - *

    The name of the Timesream table.

    - */ - TableName: string | undefined; - /** *

    An array of records containing the unique dimension and measure * attributes for each time series data point. *

    */ Records: _Record[] | undefined; - - /** - *

    The name of the Timestream database.

    - */ - DatabaseName: string | undefined; } export namespace WriteRecordsRequest { diff --git a/clients/client-timestream-write/protocols/Aws_json1_0.ts b/clients/client-timestream-write/protocols/Aws_json1_0.ts index e8b3ce14a6597..dedb46a26f4f6 100644 --- a/clients/client-timestream-write/protocols/Aws_json1_0.ts +++ b/clients/client-timestream-write/protocols/Aws_json1_0.ts @@ -1154,6 +1154,14 @@ const deserializeAws_json1_0ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ValidationException": case "com.amazonaws.timestreamwrite#ValidationException": response = { @@ -1233,6 +1241,14 @@ const deserializeAws_json1_0TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ValidationException": case "com.amazonaws.timestreamwrite#ValidationException": response = { @@ -1312,6 +1328,14 @@ const deserializeAws_json1_0UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ValidationException": case "com.amazonaws.timestreamwrite#ValidationException": response = { @@ -1866,6 +1890,7 @@ const serializeAws_json1_0_Record = (input: _Record, context: __SerdeContext): a ...(input.MeasureValueType !== undefined && { MeasureValueType: input.MeasureValueType }), ...(input.Time !== undefined && { Time: input.Time }), ...(input.TimeUnit !== undefined && { TimeUnit: input.TimeUnit }), + ...(input.Version !== undefined && { Version: input.Version }), }; }; @@ -2091,6 +2116,8 @@ const deserializeAws_json1_0ListTagsForResourceResponse = ( const deserializeAws_json1_0RejectedRecord = (output: any, context: __SerdeContext): RejectedRecord => { return { + ExistingVersion: + output.ExistingVersion !== undefined && output.ExistingVersion !== null ? output.ExistingVersion : undefined, Reason: output.Reason !== undefined && output.Reason !== null ? output.Reason : undefined, RecordIndex: output.RecordIndex !== undefined && output.RecordIndex !== null ? output.RecordIndex : undefined, } as any; diff --git a/clients/client-transcribe-streaming/TranscribeStreaming.ts b/clients/client-transcribe-streaming/TranscribeStreaming.ts index e779fe81bf1a8..9c930eeb0e471 100644 --- a/clients/client-transcribe-streaming/TranscribeStreaming.ts +++ b/clients/client-transcribe-streaming/TranscribeStreaming.ts @@ -1,4 +1,9 @@ import { TranscribeStreamingClient } from "./TranscribeStreamingClient"; +import { + StartMedicalStreamTranscriptionCommand, + StartMedicalStreamTranscriptionCommandInput, + StartMedicalStreamTranscriptionCommandOutput, +} from "./commands/StartMedicalStreamTranscriptionCommand"; import { StartStreamTranscriptionCommand, StartStreamTranscriptionCommandInput, @@ -10,6 +15,39 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

    Operations and objects for transcribing streaming speech to text.

    */ export class TranscribeStreaming extends TranscribeStreamingClient { + /** + *

    Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon Transcribe Medical and the transcription + * results are streamed to your application.

    + */ + public startMedicalStreamTranscription( + args: StartMedicalStreamTranscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startMedicalStreamTranscription( + args: StartMedicalStreamTranscriptionCommandInput, + cb: (err: any, data?: StartMedicalStreamTranscriptionCommandOutput) => void + ): void; + public startMedicalStreamTranscription( + args: StartMedicalStreamTranscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartMedicalStreamTranscriptionCommandOutput) => void + ): void; + public startMedicalStreamTranscription( + args: StartMedicalStreamTranscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartMedicalStreamTranscriptionCommandOutput) => void), + cb?: (err: any, data?: StartMedicalStreamTranscriptionCommandOutput) => void + ): Promise | void { + const command = new StartMedicalStreamTranscriptionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Starts a bidirectional HTTP2 stream where audio is streamed to Amazon Transcribe and the transcription * results are streamed to your application.

    diff --git a/clients/client-transcribe-streaming/TranscribeStreamingClient.ts b/clients/client-transcribe-streaming/TranscribeStreamingClient.ts index 9447908838a74..ecb6703402e4a 100644 --- a/clients/client-transcribe-streaming/TranscribeStreamingClient.ts +++ b/clients/client-transcribe-streaming/TranscribeStreamingClient.ts @@ -1,3 +1,7 @@ +import { + StartMedicalStreamTranscriptionCommandInput, + StartMedicalStreamTranscriptionCommandOutput, +} from "./commands/StartMedicalStreamTranscriptionCommand"; import { StartStreamTranscriptionCommandInput, StartStreamTranscriptionCommandOutput, @@ -69,9 +73,9 @@ import { UrlParser as __UrlParser, } from "@aws-sdk/types"; -export type ServiceInputTypes = StartStreamTranscriptionCommandInput; +export type ServiceInputTypes = StartMedicalStreamTranscriptionCommandInput | StartStreamTranscriptionCommandInput; -export type ServiceOutputTypes = StartStreamTranscriptionCommandOutput; +export type ServiceOutputTypes = StartMedicalStreamTranscriptionCommandOutput | StartStreamTranscriptionCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-transcribe-streaming/commands/StartMedicalStreamTranscriptionCommand.ts b/clients/client-transcribe-streaming/commands/StartMedicalStreamTranscriptionCommand.ts new file mode 100644 index 0000000000000..11ca4442a2873 --- /dev/null +++ b/clients/client-transcribe-streaming/commands/StartMedicalStreamTranscriptionCommand.ts @@ -0,0 +1,102 @@ +import { + ServiceInputTypes, + ServiceOutputTypes, + TranscribeStreamingClientResolvedConfig, +} from "../TranscribeStreamingClient"; +import { StartMedicalStreamTranscriptionRequest, StartMedicalStreamTranscriptionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StartMedicalStreamTranscriptionCommand, + serializeAws_restJson1StartMedicalStreamTranscriptionCommand, +} from "../protocols/Aws_restJson1"; +import { getEventStreamPlugin } from "@aws-sdk/middleware-eventstream"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + EventStreamSerdeContext as __EventStreamSerdeContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type StartMedicalStreamTranscriptionCommandInput = StartMedicalStreamTranscriptionRequest; +export type StartMedicalStreamTranscriptionCommandOutput = StartMedicalStreamTranscriptionResponse & __MetadataBearer; + +/** + *

    Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon Transcribe Medical and the transcription + * results are streamed to your application.

    + */ +export class StartMedicalStreamTranscriptionCommand extends $Command< + StartMedicalStreamTranscriptionCommandInput, + StartMedicalStreamTranscriptionCommandOutput, + TranscribeStreamingClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartMedicalStreamTranscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranscribeStreamingClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getEventStreamPlugin(configuration)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TranscribeStreamingClient"; + const commandName = "StartMedicalStreamTranscriptionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartMedicalStreamTranscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartMedicalStreamTranscriptionResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: StartMedicalStreamTranscriptionCommandInput, + context: __SerdeContext & __EventStreamSerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1StartMedicalStreamTranscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext & __EventStreamSerdeContext + ): Promise { + return deserializeAws_restJson1StartMedicalStreamTranscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transcribe-streaming/index.ts b/clients/client-transcribe-streaming/index.ts index 5999eefa9e816..2e1aa14309cef 100644 --- a/clients/client-transcribe-streaming/index.ts +++ b/clients/client-transcribe-streaming/index.ts @@ -1,4 +1,5 @@ export * from "./TranscribeStreamingClient"; export * from "./TranscribeStreaming"; +export * from "./commands/StartMedicalStreamTranscriptionCommand"; export * from "./commands/StartStreamTranscriptionCommand"; export * from "./models/index"; diff --git a/clients/client-transcribe-streaming/models/models_0.ts b/clients/client-transcribe-streaming/models/models_0.ts index 67adff88d4a46..7706e033922fa 100644 --- a/clients/client-transcribe-streaming/models/models_0.ts +++ b/clients/client-transcribe-streaming/models/models_0.ts @@ -11,11 +11,10 @@ export enum ItemType { */ export interface Item { /** - *

    The type of the item. PRONUNCIATION indicates that the item is a word that - * was recognized in the input audio. PUNCTUATION indicates that the item was - * interpreted as a pause in the input audio.

    + *

    The offset from the beginning of the audio stream to the beginning of the audio that + * resulted in the item.

    */ - Type?: ItemType | string; + StartTime?: number; /** *

    The offset from the beginning of the audio stream to the end of the audio that resulted in @@ -24,27 +23,28 @@ export interface Item { EndTime?: number; /** - *

    If speaker identification is enabled, shows the speakers identified in the real-time stream.

    + *

    The type of the item. PRONUNCIATION indicates that the item is a word that + * was recognized in the input audio. PUNCTUATION indicates that the item was + * interpreted as a pause in the input audio.

    */ - Speaker?: string; + Type?: ItemType | string; /** *

    The word or punctuation that was recognized in the input audio.

    */ Content?: string; - /** - *

    The offset from the beginning of the audio stream to the beginning of the audio that - * resulted in the item.

    - */ - StartTime?: number; - /** *

    Indicates whether a word in the item matches a word in the vocabulary filter you've chosen * for your real-time stream. If true then a word in the item matches your * vocabulary filter.

    */ VocabularyFilterMatch?: boolean; + + /** + *

    If speaker identification is enabled, shows the speakers identified in the real-time stream.

    + */ + Speaker?: string; } export namespace Item { @@ -58,14 +58,14 @@ export namespace Item { */ export interface Alternative { /** - *

    One or more alternative interpretations of the input audio.

    + *

    The text that was transcribed from the audio.

    */ - Items?: Item[]; + Transcript?: string; /** - *

    The text that was transcribed from the audio.

    + *

    One or more alternative interpretations of the input audio.

    */ - Transcript?: string; + Items?: Item[]; } export namespace Alternative { @@ -127,8 +127,8 @@ export namespace AudioStream { } /** - *

    One or more arguments to the StartStreamTranscription operation was invalid. - * For example, MediaEncoding was not set to pcm or + *

    One or more arguments to the StartStreamTranscription or StartMedicalStreamTranscription operation was invalid. + * For example, MediaEncoding was not set to a valid encoding, or * LanguageCode was not set to a valid code. Check the parameters and try your * request again.

    */ @@ -161,7 +161,7 @@ export namespace ConflictException { } /** - *

    A problem occurred while processing the audio. Amazon Transcribe terminated processing. Try your + *

    A problem occurred while processing the audio. Amazon Transcribe or Amazon Transcribe Medical terminated processing. Try your * request again.

    */ export interface InternalFailureException extends __SmithyException, $MetadataBearer { @@ -185,6 +185,9 @@ export enum LanguageCode { FR_CA = "fr-CA", FR_FR = "fr-FR", IT_IT = "it-IT", + JA_JP = "ja-JP", + KO_KR = "ko-KR", + PT_BR = "pt-BR", } /** @@ -206,244 +209,260 @@ export namespace LimitExceededException { } export enum MediaEncoding { + FLAC = "flac", + OGG_OPUS = "ogg-opus", PCM = "pcm", } /** - *

    The result of transcribing a portion of the input audio stream.

    + *

    A word or punctuation that is transcribed from the input audio.

    */ -export interface Result { +export interface MedicalItem { /** - *

    The offset in seconds from the beginning of the audio stream to the beginning of the - * result.

    + *

    The number of seconds into an audio stream that indicates the creation time of an + * item.

    */ StartTime?: number; /** - *

    Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio. - * Transcription results are returned based on these segments.

    - *

    The IsPartial field is true to indicate that Amazon Transcribe has - * additional transcription data to send, false to indicate that this is the last - * transcription result for the segment.

    + *

    The number of seconds into an audio stream that indicates the creation time of an + * item.

    */ - IsPartial?: boolean; + EndTime?: number; /** - *

    The offset in seconds from the beginning of the audio stream to the end of the - * result.

    + *

    The type of the item. PRONUNCIATION indicates that the item is a word + * that was recognized in the input audio. PUNCTUATION indicates that the item + * was interpreted as a pause in the input audio, such as a period to indicate the end of a + * sentence.

    */ - EndTime?: number; + Type?: ItemType | string; /** - *

    A list of possible transcriptions for the audio. Each alternative typically contains one - * item that contains the result of the transcription.

    + *

    The word or punctuation mark that was recognized in the input audio.

    */ - Alternatives?: Alternative[]; + Content?: string; /** - *

    When channel identification is enabled, Amazon Transcribe transcribes the speech from each audio channel separately.

    - *

    You can use ChannelId to retrieve the transcription results for a single channel in your audio stream.

    + *

    A value between 0 and 1 for an item that is a confidence score that Amazon Transcribe Medical + * assigns to each word that it transcribes.

    */ - ChannelId?: string; + Confidence?: number; /** - *

    A unique identifier for the result.

    + *

    If speaker identification is enabled, shows the integer values that correspond to the + * different speakers identified in the stream. For example, if the value of + * Speaker in the stream is either a 0 or a 1, + * that indicates that Amazon Transcribe Medical has identified two speakers in the stream. The value of + * 0 corresponds to one speaker and the value of 1 + * corresponds to the other speaker.

    */ - ResultId?: string; + Speaker?: string; } -export namespace Result { - export const filterSensitiveLog = (obj: Result): any => ({ +export namespace MedicalItem { + export const filterSensitiveLog = (obj: MedicalItem): any => ({ ...obj, }); } /** - *

    Service is currently unavailable. Try your request later.

    + *

    A list of possible transcriptions for the audio.

    */ -export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { - name: "ServiceUnavailableException"; - $fault: "server"; - Message?: string; -} - -export namespace ServiceUnavailableException { - export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({ - ...obj, - }); -} - -export enum VocabularyFilterMethod { - MASK = "mask", - REMOVE = "remove", - TAG = "tag", -} - -export interface StartStreamTranscriptionRequest { +export interface MedicalAlternative { /** - *

    The encoding used for the input audio. pcm is the only valid value.

    + *

    The text that was transcribed from the audio.

    */ - MediaEncoding: MediaEncoding | string | undefined; + Transcript?: string; /** - *

    The manner in which you use your vocabulary filter to filter words in your transcript. - * Remove removes filtered words from your transcription results. - * Mask masks those words with a *** in your transcription results. - * Tag keeps the filtered words in your transcription results and tags them. The - * tag appears as VocabularyFilterMatch equal to True - *

    + *

    A list of objects that contains words and punctuation marks that represents one or more + * interpretations of the input audio.

    */ - VocabularyFilterMethod?: VocabularyFilterMethod | string; + Items?: MedicalItem[]; +} - /** - *

    When true, enables speaker identification in your real-time stream.

    - */ - ShowSpeakerLabel?: boolean; +export namespace MedicalAlternative { + export const filterSensitiveLog = (obj: MedicalAlternative): any => ({ + ...obj, + }); +} +/** + *

    The results of transcribing a portion of the input audio stream.

    + */ +export interface MedicalResult { /** - *

    A identifier for the transcription session. Use this parameter when you want to retry a - * session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in - * the response.

    + *

    A unique identifier for the result.

    */ - SessionId?: string; + ResultId?: string; /** - *

    PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP2 data - * frame.

    + *

    The time, in seconds, from the beginning of the audio stream to the beginning of the + * result.

    */ - AudioStream: AsyncIterable | undefined; + StartTime?: number; /** - *

    The number of channels that are in your audio stream.

    + *

    The time, in seconds, from the beginning of the audio stream to the end of the + * result.

    */ - NumberOfChannels?: number; + EndTime?: number; /** - *

    Indicates the source language used in the input audio stream.

    + *

    Amazon Transcribe Medical divides the incoming audio stream into segments at natural points in the audio. + * Transcription results are returned based on these segments.

    + *

    The IsPartial field is true to indicate that Amazon Transcribe Medical has + * additional transcription data to send. The IsPartial field is + * false to indicate that this is the last transcription result for the + * segment.

    */ - LanguageCode: LanguageCode | string | undefined; + IsPartial?: boolean; /** - *

    The name of the vocabulary to use when processing the transcription job.

    + *

    A list of possible transcriptions of the audio. Each alternative typically contains + * one Item that contains the result of the transcription.

    */ - VocabularyName?: string; + Alternatives?: MedicalAlternative[]; /** - *

    When true, instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

    - *

    Amazon Transcribe also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.

    - *

    You can't set both ShowSpeakerLabel and EnableChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    + *

    When channel identification is enabled, Amazon Transcribe Medical transcribes the speech from each audio + * channel separately.

    + *

    You can use ChannelId to retrieve the transcription results for a single + * channel in your audio stream.

    */ - EnableChannelIdentification?: boolean; + ChannelId?: string; +} - /** - *

    The sample rate, in Hertz, of the input audio. We suggest that you use 8000 Hz for low - * quality audio and 16000 Hz for high quality audio.

    - */ - MediaSampleRateHertz: number | undefined; +export namespace MedicalResult { + export const filterSensitiveLog = (obj: MedicalResult): any => ({ + ...obj, + }); +} +/** + *

    The medical transcript in a MedicalTranscriptEvent.

    + */ +export interface MedicalTranscript { /** - *

    The name of the vocabulary filter you've created that is unique to your AWS account. - * Provide the name in this field to successfully use it in a stream.

    + *

    + * MedicalResult objects that contain the results of transcribing a + * portion of the input audio stream. The array can be empty.

    */ - VocabularyFilterName?: string; + Results?: MedicalResult[]; } -export namespace StartStreamTranscriptionRequest { - export const filterSensitiveLog = (obj: StartStreamTranscriptionRequest): any => ({ +export namespace MedicalTranscript { + export const filterSensitiveLog = (obj: MedicalTranscript): any => ({ ...obj, - ...(obj.AudioStream && { AudioStream: "STREAMING_CONTENT" }), }); } /** - *

    The transcription in a TranscriptEvent.

    + *

    Represents a set of transcription results from the server to the client. It contains + * one or more segments of the transcription.

    */ -export interface Transcript { +export interface MedicalTranscriptEvent { /** - *

    - * Result objects that contain the results of transcribing a portion of the - * input audio stream. The array can be empty.

    + *

    The transcription of the audio stream. The transcription is composed of all of the + * items in the results list.

    */ - Results?: Result[]; + Transcript?: MedicalTranscript; } -export namespace Transcript { - export const filterSensitiveLog = (obj: Transcript): any => ({ +export namespace MedicalTranscriptEvent { + export const filterSensitiveLog = (obj: MedicalTranscriptEvent): any => ({ ...obj, }); } /** - *

    Represents a set of transcription results from the server to the client. It contains one - * or more segments of the transcription.

    + *

    Service is currently unavailable. Try your request later.

    */ -export interface TranscriptEvent { - /** - *

    The transcription of the audio stream. The transcription is composed of all of the items - * in the results list.

    - */ - Transcript?: Transcript; +export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { + name: "ServiceUnavailableException"; + $fault: "server"; + Message?: string; } -export namespace TranscriptEvent { - export const filterSensitiveLog = (obj: TranscriptEvent): any => ({ +export namespace ServiceUnavailableException { + export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({ ...obj, }); } /** - *

    Represents the transcription result stream from Amazon Transcribe to your application.

    + *

    Represents the transcription result stream from Amazon Transcribe Medical to your application.

    */ -export type TranscriptResultStream = - | TranscriptResultStream.BadRequestExceptionMember - | TranscriptResultStream.ConflictExceptionMember - | TranscriptResultStream.InternalFailureExceptionMember - | TranscriptResultStream.LimitExceededExceptionMember - | TranscriptResultStream.ServiceUnavailableExceptionMember - | TranscriptResultStream.TranscriptEventMember - | TranscriptResultStream.$UnknownMember; +export type MedicalTranscriptResultStream = + | MedicalTranscriptResultStream.BadRequestExceptionMember + | MedicalTranscriptResultStream.ConflictExceptionMember + | MedicalTranscriptResultStream.InternalFailureExceptionMember + | MedicalTranscriptResultStream.LimitExceededExceptionMember + | MedicalTranscriptResultStream.ServiceUnavailableExceptionMember + | MedicalTranscriptResultStream.TranscriptEventMember + | MedicalTranscriptResultStream.$UnknownMember; + +export namespace MedicalTranscriptResultStream { + /** + *

    A portion of the transcription of the audio stream. Events are sent periodically from + * Amazon Transcribe Medical to your application. The event can be a partial transcription of a section of the + * audio stream, or it can be the entire transcription of that portion of the audio + * stream.

    + */ + export interface TranscriptEventMember { + TranscriptEvent: MedicalTranscriptEvent; + BadRequestException?: never; + LimitExceededException?: never; + InternalFailureException?: never; + ConflictException?: never; + ServiceUnavailableException?: never; + $unknown?: never; + } -export namespace TranscriptResultStream { /** - *

    A client error occurred when the stream was created. Check the parameters of the request - * and try your request again.

    + *

    One or more arguments to the StartStreamTranscription or StartMedicalStreamTranscription operation was invalid. + * For example, MediaEncoding was not set to a valid encoding, or + * LanguageCode was not set to a valid code. Check the parameters and try your + * request again.

    */ export interface BadRequestExceptionMember { - BadRequestException: BadRequestException; TranscriptEvent?: never; + BadRequestException: BadRequestException; + LimitExceededException?: never; InternalFailureException?: never; ConflictException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } /** - *

    A portion of the transcription of the audio stream. Events are sent periodically from - * Amazon Transcribe to your application. The event can be a partial transcription of a section of the audio - * stream, or it can be the entire transcription of that portion of the audio stream. - *

    + *

    You have exceeded the maximum number of concurrent transcription streams, are starting + * transcription streams too quickly, or the maximum audio length of 4 hours. Wait until a stream + * has finished processing, or break your audio stream into smaller chunks and try your request + * again.

    */ - export interface TranscriptEventMember { + export interface LimitExceededExceptionMember { + TranscriptEvent?: never; BadRequestException?: never; - TranscriptEvent: TranscriptEvent; + LimitExceededException: LimitExceededException; InternalFailureException?: never; ConflictException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } /** - *

    A problem occurred while processing the audio. Amazon Transcribe terminated processing.

    + *

    A problem occurred while processing the audio. Amazon Transcribe or Amazon Transcribe Medical terminated processing. Try your + * request again.

    */ export interface InternalFailureExceptionMember { - BadRequestException?: never; TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; InternalFailureException: InternalFailureException; ConflictException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } @@ -452,12 +471,12 @@ export namespace TranscriptResultStream { * terminated.

    */ export interface ConflictExceptionMember { - BadRequestException?: never; TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; InternalFailureException?: never; ConflictException: ConflictException; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } @@ -465,66 +484,54 @@ export namespace TranscriptResultStream { *

    Service is currently unavailable. Try your request later.

    */ export interface ServiceUnavailableExceptionMember { - BadRequestException?: never; TranscriptEvent?: never; - InternalFailureException?: never; - ConflictException?: never; - ServiceUnavailableException: ServiceUnavailableException; - LimitExceededException?: never; - $unknown?: never; - } - - /** - *

    Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length. - * Break your audio stream into smaller chunks and try your request again.

    - */ - export interface LimitExceededExceptionMember { BadRequestException?: never; - TranscriptEvent?: never; + LimitExceededException?: never; InternalFailureException?: never; ConflictException?: never; - ServiceUnavailableException?: never; - LimitExceededException: LimitExceededException; + ServiceUnavailableException: ServiceUnavailableException; $unknown?: never; } export interface $UnknownMember { - BadRequestException?: never; TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; InternalFailureException?: never; ConflictException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown: [string, any]; } export interface Visitor { + TranscriptEvent: (value: MedicalTranscriptEvent) => T; BadRequestException: (value: BadRequestException) => T; - TranscriptEvent: (value: TranscriptEvent) => T; + LimitExceededException: (value: LimitExceededException) => T; InternalFailureException: (value: InternalFailureException) => T; ConflictException: (value: ConflictException) => T; ServiceUnavailableException: (value: ServiceUnavailableException) => T; - LimitExceededException: (value: LimitExceededException) => T; _: (name: string, value: any) => T; } - export const visit = (value: TranscriptResultStream, visitor: Visitor): T => { - if (value.BadRequestException !== undefined) return visitor.BadRequestException(value.BadRequestException); + export const visit = (value: MedicalTranscriptResultStream, visitor: Visitor): T => { if (value.TranscriptEvent !== undefined) return visitor.TranscriptEvent(value.TranscriptEvent); + if (value.BadRequestException !== undefined) return visitor.BadRequestException(value.BadRequestException); + if (value.LimitExceededException !== undefined) return visitor.LimitExceededException(value.LimitExceededException); if (value.InternalFailureException !== undefined) return visitor.InternalFailureException(value.InternalFailureException); if (value.ConflictException !== undefined) return visitor.ConflictException(value.ConflictException); if (value.ServiceUnavailableException !== undefined) return visitor.ServiceUnavailableException(value.ServiceUnavailableException); - if (value.LimitExceededException !== undefined) return visitor.LimitExceededException(value.LimitExceededException); return visitor._(value.$unknown[0], value.$unknown[1]); }; - export const filterSensitiveLog = (obj: TranscriptResultStream): any => { + export const filterSensitiveLog = (obj: MedicalTranscriptResultStream): any => { + if (obj.TranscriptEvent !== undefined) + return { TranscriptEvent: MedicalTranscriptEvent.filterSensitiveLog(obj.TranscriptEvent) }; if (obj.BadRequestException !== undefined) return { BadRequestException: BadRequestException.filterSensitiveLog(obj.BadRequestException) }; - if (obj.TranscriptEvent !== undefined) - return { TranscriptEvent: TranscriptEvent.filterSensitiveLog(obj.TranscriptEvent) }; + if (obj.LimitExceededException !== undefined) + return { LimitExceededException: LimitExceededException.filterSensitiveLog(obj.LimitExceededException) }; if (obj.InternalFailureException !== undefined) return { InternalFailureException: InternalFailureException.filterSensitiveLog(obj.InternalFailureException) }; if (obj.ConflictException !== undefined) @@ -533,17 +540,164 @@ export namespace TranscriptResultStream { return { ServiceUnavailableException: ServiceUnavailableException.filterSensitiveLog(obj.ServiceUnavailableException), }; - if (obj.LimitExceededException !== undefined) - return { LimitExceededException: LimitExceededException.filterSensitiveLog(obj.LimitExceededException) }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; } -export interface StartStreamTranscriptionResponse { +/** + *

    The result of transcribing a portion of the input audio stream.

    + */ +export interface Result { /** - *

    The name of the vocabulary filter used in your real-time stream.

    + *

    A unique identifier for the result.

    */ - VocabularyFilterName?: string; + ResultId?: string; + + /** + *

    The offset in seconds from the beginning of the audio stream to the beginning of the + * result.

    + */ + StartTime?: number; + + /** + *

    The offset in seconds from the beginning of the audio stream to the end of the + * result.

    + */ + EndTime?: number; + + /** + *

    Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio. + * Transcription results are returned based on these segments.

    + *

    The IsPartial field is true to indicate that Amazon Transcribe has + * additional transcription data to send, false to indicate that this is the last + * transcription result for the segment.

    + */ + IsPartial?: boolean; + + /** + *

    A list of possible transcriptions for the audio. Each alternative typically contains one + * item that contains the result of the transcription.

    + */ + Alternatives?: Alternative[]; + + /** + *

    When channel identification is enabled, Amazon Transcribe transcribes the speech from each audio channel separately.

    + *

    You can use ChannelId to retrieve the transcription results for a single channel in your audio stream.

    + */ + ChannelId?: string; +} + +export namespace Result { + export const filterSensitiveLog = (obj: Result): any => ({ + ...obj, + }); +} + +export enum Specialty { + CARDIOLOGY = "CARDIOLOGY", + NEUROLOGY = "NEUROLOGY", + ONCOLOGY = "ONCOLOGY", + PRIMARYCARE = "PRIMARYCARE", + RADIOLOGY = "RADIOLOGY", + UROLOGY = "UROLOGY", +} + +export enum Type { + CONVERSATION = "CONVERSATION", + DICTATION = "DICTATION", +} + +export interface StartMedicalStreamTranscriptionRequest { + /** + *

    Indicates the source language used in the input audio stream. For Amazon Transcribe Medical, + * this is US English (en-US).

    + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

    The sample rate of the input audio in Hertz. Sample rates of 16000 Hz or higher are + * accepted.

    + */ + MediaSampleRateHertz: number | undefined; + + /** + *

    The encoding used for the input audio.

    + */ + MediaEncoding: MediaEncoding | string | undefined; + + /** + *

    The name of the medical custom vocabulary to use when processing the real-time + * stream.

    + */ + VocabularyName?: string; + + /** + *

    The medical specialty of the clinician or provider.

    + */ + Specialty: Specialty | string | undefined; + + /** + *

    The type of input audio. Choose DICTATION for a provider dictating patient notes. Choose CONVERSATION for a dialogue between a patient and one or more medical professionanls.

    + */ + Type: Type | string | undefined; + + /** + *

    When true, enables speaker identification in your real-time + * stream.

    + */ + ShowSpeakerLabel?: boolean; + + /** + *

    Optional. An identifier for the transcription session. If you don't provide a session + * ID, Amazon Transcribe generates one for you and returns it in the response.

    + */ + SessionId?: string; + + /** + *

    Represents the audio stream from your application to Amazon Transcribe.

    + */ + AudioStream: AsyncIterable | undefined; + + /** + *

    When true, instructs Amazon Transcribe Medical to process each audio channel separately and + * then merge the transcription output of each channel into a single transcription.

    + *

    Amazon Transcribe Medical also produces a transcription of each item. An item includes the start time, + * end time, and any alternative transcriptions.

    + *

    You can't set both ShowSpeakerLabel and + * EnableChannelIdentification in the same request. If you set both, your + * request returns a BadRequestException.

    + */ + EnableChannelIdentification?: boolean; + + /** + *

    The number of channels that are in your audio stream.

    + */ + NumberOfChannels?: number; +} + +export namespace StartMedicalStreamTranscriptionRequest { + export const filterSensitiveLog = (obj: StartMedicalStreamTranscriptionRequest): any => ({ + ...obj, + ...(obj.AudioStream && { AudioStream: "STREAMING_CONTENT" }), + }); +} + +export interface StartMedicalStreamTranscriptionResponse { + /** + *

    An identifier for the streaming transcription.

    + */ + RequestId?: string; + + /** + *

    The language code for the response transcript. For Amazon Transcribe Medical, this is US + * English (en-US).

    + */ + LanguageCode?: LanguageCode | string; + + /** + *

    The sample rate of the input audio in Hertz. Valid value: 16000 Hz.

    + */ + MediaSampleRateHertz?: number; /** *

    The encoding used for the input audio stream.

    @@ -556,14 +710,14 @@ export interface StartStreamTranscriptionResponse { VocabularyName?: string; /** - *

    The vocabulary filtering method used in the real-time stream.

    + *

    The specialty in the medical domain.

    */ - VocabularyFilterMethod?: VocabularyFilterMethod | string; + Specialty?: Specialty | string; /** - *

    The language code for the input audio stream.

    + *

    The type of audio that was transcribed.

    */ - LanguageCode?: LanguageCode | string; + Type?: Type | string; /** *

    Shows whether speaker identification was enabled in the stream.

    @@ -571,20 +725,311 @@ export interface StartStreamTranscriptionResponse { ShowSpeakerLabel?: boolean; /** - *

    An identifier for the streaming transcription.

    + *

    Optional. An identifier for the transcription session. If you don't provide a session + * ID, Amazon Transcribe generates one for you and returns it in the response.

    */ - RequestId?: string; + SessionId?: string; + + /** + *

    Represents the stream of transcription events from Amazon Transcribe Medical to your application.

    + */ + TranscriptResultStream?: AsyncIterable; + + /** + *

    Shows whether channel identification has been enabled in the stream.

    + */ + EnableChannelIdentification?: boolean; /** *

    The number of channels identified in the stream.

    */ NumberOfChannels?: number; +} + +export namespace StartMedicalStreamTranscriptionResponse { + export const filterSensitiveLog = (obj: StartMedicalStreamTranscriptionResponse): any => ({ + ...obj, + ...(obj.TranscriptResultStream && { TranscriptResultStream: "STREAMING_CONTENT" }), + }); +} + +export enum VocabularyFilterMethod { + MASK = "mask", + REMOVE = "remove", + TAG = "tag", +} +export interface StartStreamTranscriptionRequest { /** - *

    An identifier for a specific transcription session.

    + *

    Indicates the source language used in the input audio stream.

    + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

    The sample rate, in Hertz, of the input audio. We suggest that you use 8000 Hz for low + * quality audio and 16000 Hz for high quality audio.

    + */ + MediaSampleRateHertz: number | undefined; + + /** + *

    The encoding used for the input audio.

    + */ + MediaEncoding: MediaEncoding | string | undefined; + + /** + *

    The name of the vocabulary to use when processing the transcription job.

    + */ + VocabularyName?: string; + + /** + *

    A identifier for the transcription session. Use this parameter when you want to retry a + * session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in + * the response.

    */ SessionId?: string; + /** + *

    PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP2 data + * frame.

    + */ + AudioStream: AsyncIterable | undefined; + + /** + *

    The name of the vocabulary filter you've created that is unique to your AWS account. + * Provide the name in this field to successfully use it in a stream.

    + */ + VocabularyFilterName?: string; + + /** + *

    The manner in which you use your vocabulary filter to filter words in your transcript. + * Remove removes filtered words from your transcription results. + * Mask masks those words with a *** in your transcription results. + * Tag keeps the filtered words in your transcription results and tags them. The + * tag appears as VocabularyFilterMatch equal to True + *

    + */ + VocabularyFilterMethod?: VocabularyFilterMethod | string; + + /** + *

    When true, enables speaker identification in your real-time stream.

    + */ + ShowSpeakerLabel?: boolean; + + /** + *

    When true, instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

    + *

    Amazon Transcribe also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.

    + *

    You can't set both ShowSpeakerLabel and EnableChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    + */ + EnableChannelIdentification?: boolean; + + /** + *

    The number of channels that are in your audio stream.

    + */ + NumberOfChannels?: number; +} + +export namespace StartStreamTranscriptionRequest { + export const filterSensitiveLog = (obj: StartStreamTranscriptionRequest): any => ({ + ...obj, + ...(obj.AudioStream && { AudioStream: "STREAMING_CONTENT" }), + }); +} + +/** + *

    The transcription in a TranscriptEvent.

    + */ +export interface Transcript { + /** + *

    + * Result objects that contain the results of transcribing a portion of the + * input audio stream. The array can be empty.

    + */ + Results?: Result[]; +} + +export namespace Transcript { + export const filterSensitiveLog = (obj: Transcript): any => ({ + ...obj, + }); +} + +/** + *

    Represents a set of transcription results from the server to the client. It contains one + * or more segments of the transcription.

    + */ +export interface TranscriptEvent { + /** + *

    The transcription of the audio stream. The transcription is composed of all of the items + * in the results list.

    + */ + Transcript?: Transcript; +} + +export namespace TranscriptEvent { + export const filterSensitiveLog = (obj: TranscriptEvent): any => ({ + ...obj, + }); +} + +/** + *

    Represents the transcription result stream from Amazon Transcribe to your application.

    + */ +export type TranscriptResultStream = + | TranscriptResultStream.BadRequestExceptionMember + | TranscriptResultStream.ConflictExceptionMember + | TranscriptResultStream.InternalFailureExceptionMember + | TranscriptResultStream.LimitExceededExceptionMember + | TranscriptResultStream.ServiceUnavailableExceptionMember + | TranscriptResultStream.TranscriptEventMember + | TranscriptResultStream.$UnknownMember; + +export namespace TranscriptResultStream { + /** + *

    A portion of the transcription of the audio stream. Events are sent periodically from + * Amazon Transcribe to your application. The event can be a partial transcription of a section of the audio + * stream, or it can be the entire transcription of that portion of the audio stream. + *

    + */ + export interface TranscriptEventMember { + TranscriptEvent: TranscriptEvent; + BadRequestException?: never; + LimitExceededException?: never; + InternalFailureException?: never; + ConflictException?: never; + ServiceUnavailableException?: never; + $unknown?: never; + } + + /** + *

    A client error occurred when the stream was created. Check the parameters of the request + * and try your request again.

    + */ + export interface BadRequestExceptionMember { + TranscriptEvent?: never; + BadRequestException: BadRequestException; + LimitExceededException?: never; + InternalFailureException?: never; + ConflictException?: never; + ServiceUnavailableException?: never; + $unknown?: never; + } + + /** + *

    Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length. + * Break your audio stream into smaller chunks and try your request again.

    + */ + export interface LimitExceededExceptionMember { + TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException: LimitExceededException; + InternalFailureException?: never; + ConflictException?: never; + ServiceUnavailableException?: never; + $unknown?: never; + } + + /** + *

    A problem occurred while processing the audio. Amazon Transcribe terminated processing.

    + */ + export interface InternalFailureExceptionMember { + TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; + InternalFailureException: InternalFailureException; + ConflictException?: never; + ServiceUnavailableException?: never; + $unknown?: never; + } + + /** + *

    A new stream started with the same session ID. The current stream has been + * terminated.

    + */ + export interface ConflictExceptionMember { + TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; + InternalFailureException?: never; + ConflictException: ConflictException; + ServiceUnavailableException?: never; + $unknown?: never; + } + + /** + *

    Service is currently unavailable. Try your request later.

    + */ + export interface ServiceUnavailableExceptionMember { + TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; + InternalFailureException?: never; + ConflictException?: never; + ServiceUnavailableException: ServiceUnavailableException; + $unknown?: never; + } + + export interface $UnknownMember { + TranscriptEvent?: never; + BadRequestException?: never; + LimitExceededException?: never; + InternalFailureException?: never; + ConflictException?: never; + ServiceUnavailableException?: never; + $unknown: [string, any]; + } + + export interface Visitor { + TranscriptEvent: (value: TranscriptEvent) => T; + BadRequestException: (value: BadRequestException) => T; + LimitExceededException: (value: LimitExceededException) => T; + InternalFailureException: (value: InternalFailureException) => T; + ConflictException: (value: ConflictException) => T; + ServiceUnavailableException: (value: ServiceUnavailableException) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: TranscriptResultStream, visitor: Visitor): T => { + if (value.TranscriptEvent !== undefined) return visitor.TranscriptEvent(value.TranscriptEvent); + if (value.BadRequestException !== undefined) return visitor.BadRequestException(value.BadRequestException); + if (value.LimitExceededException !== undefined) return visitor.LimitExceededException(value.LimitExceededException); + if (value.InternalFailureException !== undefined) + return visitor.InternalFailureException(value.InternalFailureException); + if (value.ConflictException !== undefined) return visitor.ConflictException(value.ConflictException); + if (value.ServiceUnavailableException !== undefined) + return visitor.ServiceUnavailableException(value.ServiceUnavailableException); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: TranscriptResultStream): any => { + if (obj.TranscriptEvent !== undefined) + return { TranscriptEvent: TranscriptEvent.filterSensitiveLog(obj.TranscriptEvent) }; + if (obj.BadRequestException !== undefined) + return { BadRequestException: BadRequestException.filterSensitiveLog(obj.BadRequestException) }; + if (obj.LimitExceededException !== undefined) + return { LimitExceededException: LimitExceededException.filterSensitiveLog(obj.LimitExceededException) }; + if (obj.InternalFailureException !== undefined) + return { InternalFailureException: InternalFailureException.filterSensitiveLog(obj.InternalFailureException) }; + if (obj.ConflictException !== undefined) + return { ConflictException: ConflictException.filterSensitiveLog(obj.ConflictException) }; + if (obj.ServiceUnavailableException !== undefined) + return { + ServiceUnavailableException: ServiceUnavailableException.filterSensitiveLog(obj.ServiceUnavailableException), + }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; +} + +export interface StartStreamTranscriptionResponse { + /** + *

    An identifier for the streaming transcription.

    + */ + RequestId?: string; + + /** + *

    The language code for the input audio stream.

    + */ + LanguageCode?: LanguageCode | string; + /** *

    The sample rate for the input audio stream. Use 8000 Hz for low quality audio and 16000 Hz * for high quality audio.

    @@ -592,14 +1037,49 @@ export interface StartStreamTranscriptionResponse { MediaSampleRateHertz?: number; /** - *

    Shows whether channel identification has been enabled in the stream.

    + *

    The encoding used for the input audio stream.

    */ - EnableChannelIdentification?: boolean; + MediaEncoding?: MediaEncoding | string; + + /** + *

    The name of the vocabulary used when processing the stream.

    + */ + VocabularyName?: string; + + /** + *

    An identifier for a specific transcription session.

    + */ + SessionId?: string; /** *

    Represents the stream of transcription events from Amazon Transcribe to your application.

    */ TranscriptResultStream?: AsyncIterable; + + /** + *

    The name of the vocabulary filter used in your real-time stream.

    + */ + VocabularyFilterName?: string; + + /** + *

    The vocabulary filtering method used in the real-time stream.

    + */ + VocabularyFilterMethod?: VocabularyFilterMethod | string; + + /** + *

    Shows whether speaker identification was enabled in the stream.

    + */ + ShowSpeakerLabel?: boolean; + + /** + *

    Shows whether channel identification has been enabled in the stream.

    + */ + EnableChannelIdentification?: boolean; + + /** + *

    The number of channels identified in the stream.

    + */ + NumberOfChannels?: number; } export namespace StartStreamTranscriptionResponse { diff --git a/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts b/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts index 9f4630ecb91f1..e9f7a030554db 100644 --- a/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts +++ b/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts @@ -1,3 +1,7 @@ +import { + StartMedicalStreamTranscriptionCommandInput, + StartMedicalStreamTranscriptionCommandOutput, +} from "../commands/StartMedicalStreamTranscriptionCommand"; import { StartStreamTranscriptionCommandInput, StartStreamTranscriptionCommandOutput, @@ -11,6 +15,12 @@ import { InternalFailureException, Item, LimitExceededException, + MedicalAlternative, + MedicalItem, + MedicalResult, + MedicalTranscript, + MedicalTranscriptEvent, + MedicalTranscriptResultStream, Result, ServiceUnavailableException, Transcript, @@ -28,35 +38,81 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -export const serializeAws_restJson1StartStreamTranscriptionCommand = async ( - input: StartStreamTranscriptionCommandInput, +export const serializeAws_restJson1StartMedicalStreamTranscriptionCommand = async ( + input: StartMedicalStreamTranscriptionCommandInput, context: __SerdeContext & __EventStreamSerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.LanguageCode) && { "x-amzn-transcribe-language-code": input.LanguageCode! }), + ...(isSerializableHeaderValue(input.MediaSampleRateHertz) && { + "x-amzn-transcribe-sample-rate": input.MediaSampleRateHertz!.toString(), + }), ...(isSerializableHeaderValue(input.MediaEncoding) && { "x-amzn-transcribe-media-encoding": input.MediaEncoding! }), - ...(isSerializableHeaderValue(input.VocabularyFilterMethod) && { - "x-amzn-transcribe-vocabulary-filter-method": input.VocabularyFilterMethod!, + ...(isSerializableHeaderValue(input.VocabularyName) && { + "x-amzn-transcribe-vocabulary-name": input.VocabularyName!, }), + ...(isSerializableHeaderValue(input.Specialty) && { "x-amzn-transcribe-specialty": input.Specialty! }), + ...(isSerializableHeaderValue(input.Type) && { "x-amzn-transcribe-type": input.Type! }), ...(isSerializableHeaderValue(input.ShowSpeakerLabel) && { "x-amzn-transcribe-show-speaker-label": input.ShowSpeakerLabel!.toString(), }), ...(isSerializableHeaderValue(input.SessionId) && { "x-amzn-transcribe-session-id": input.SessionId! }), + ...(isSerializableHeaderValue(input.EnableChannelIdentification) && { + "x-amzn-transcribe-enable-channel-identification": input.EnableChannelIdentification!.toString(), + }), ...(isSerializableHeaderValue(input.NumberOfChannels) && { "x-amzn-transcribe-number-of-channels": input.NumberOfChannels!.toString(), }), + }; + let resolvedPath = "/medical-stream-transcription"; + let body: any; + if (input.AudioStream !== undefined) { + body = context.eventStreamMarshaller.serialize(input.AudioStream, (event) => + serializeAws_restJson1AudioStream_event(event, context) + ); + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1StartStreamTranscriptionCommand = async ( + input: StartStreamTranscriptionCommandInput, + context: __SerdeContext & __EventStreamSerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", ...(isSerializableHeaderValue(input.LanguageCode) && { "x-amzn-transcribe-language-code": input.LanguageCode! }), + ...(isSerializableHeaderValue(input.MediaSampleRateHertz) && { + "x-amzn-transcribe-sample-rate": input.MediaSampleRateHertz!.toString(), + }), + ...(isSerializableHeaderValue(input.MediaEncoding) && { "x-amzn-transcribe-media-encoding": input.MediaEncoding! }), ...(isSerializableHeaderValue(input.VocabularyName) && { "x-amzn-transcribe-vocabulary-name": input.VocabularyName!, }), + ...(isSerializableHeaderValue(input.SessionId) && { "x-amzn-transcribe-session-id": input.SessionId! }), + ...(isSerializableHeaderValue(input.VocabularyFilterName) && { + "x-amzn-transcribe-vocabulary-filter-name": input.VocabularyFilterName!, + }), + ...(isSerializableHeaderValue(input.VocabularyFilterMethod) && { + "x-amzn-transcribe-vocabulary-filter-method": input.VocabularyFilterMethod!, + }), + ...(isSerializableHeaderValue(input.ShowSpeakerLabel) && { + "x-amzn-transcribe-show-speaker-label": input.ShowSpeakerLabel!.toString(), + }), ...(isSerializableHeaderValue(input.EnableChannelIdentification) && { "x-amzn-transcribe-enable-channel-identification": input.EnableChannelIdentification!.toString(), }), - ...(isSerializableHeaderValue(input.MediaSampleRateHertz) && { - "x-amzn-transcribe-sample-rate": input.MediaSampleRateHertz!.toString(), - }), - ...(isSerializableHeaderValue(input.VocabularyFilterName) && { - "x-amzn-transcribe-vocabulary-filter-name": input.VocabularyFilterName!, + ...(isSerializableHeaderValue(input.NumberOfChannels) && { + "x-amzn-transcribe-number-of-channels": input.NumberOfChannels!.toString(), }), }; let resolvedPath = "/stream-transcription"; @@ -78,14 +134,14 @@ export const serializeAws_restJson1StartStreamTranscriptionCommand = async ( }); }; -export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( +export const deserializeAws_restJson1StartMedicalStreamTranscriptionCommand = async ( output: __HttpResponse, context: __SerdeContext & __EventStreamSerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1StartStreamTranscriptionCommandError(output, context); + return deserializeAws_restJson1StartMedicalStreamTranscriptionCommandError(output, context); } - const contents: StartStreamTranscriptionCommandOutput = { + const contents: StartMedicalStreamTranscriptionCommandOutput = { $metadata: deserializeMetadata(output), EnableChannelIdentification: undefined, LanguageCode: undefined, @@ -95,13 +151,19 @@ export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( RequestId: undefined, SessionId: undefined, ShowSpeakerLabel: undefined, + Specialty: undefined, TranscriptResultStream: undefined, - VocabularyFilterMethod: undefined, - VocabularyFilterName: undefined, + Type: undefined, VocabularyName: undefined, }; - if (output.headers["x-amzn-transcribe-vocabulary-filter-name"] !== undefined) { - contents.VocabularyFilterName = output.headers["x-amzn-transcribe-vocabulary-filter-name"]; + if (output.headers["x-amzn-request-id"] !== undefined) { + contents.RequestId = output.headers["x-amzn-request-id"]; + } + if (output.headers["x-amzn-transcribe-language-code"] !== undefined) { + contents.LanguageCode = output.headers["x-amzn-transcribe-language-code"]; + } + if (output.headers["x-amzn-transcribe-sample-rate"] !== undefined) { + contents.MediaSampleRateHertz = parseInt(output.headers["x-amzn-transcribe-sample-rate"], 10); } if (output.headers["x-amzn-transcribe-media-encoding"] !== undefined) { contents.MediaEncoding = output.headers["x-amzn-transcribe-media-encoding"]; @@ -109,30 +171,167 @@ export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( if (output.headers["x-amzn-transcribe-vocabulary-name"] !== undefined) { contents.VocabularyName = output.headers["x-amzn-transcribe-vocabulary-name"]; } - if (output.headers["x-amzn-transcribe-vocabulary-filter-method"] !== undefined) { - contents.VocabularyFilterMethod = output.headers["x-amzn-transcribe-vocabulary-filter-method"]; + if (output.headers["x-amzn-transcribe-specialty"] !== undefined) { + contents.Specialty = output.headers["x-amzn-transcribe-specialty"]; } - if (output.headers["x-amzn-transcribe-language-code"] !== undefined) { - contents.LanguageCode = output.headers["x-amzn-transcribe-language-code"]; + if (output.headers["x-amzn-transcribe-type"] !== undefined) { + contents.Type = output.headers["x-amzn-transcribe-type"]; } if (output.headers["x-amzn-transcribe-show-speaker-label"] !== undefined) { contents.ShowSpeakerLabel = output.headers["x-amzn-transcribe-show-speaker-label"] === "true"; } - if (output.headers["x-amzn-request-id"] !== undefined) { - contents.RequestId = output.headers["x-amzn-request-id"]; + if (output.headers["x-amzn-transcribe-session-id"] !== undefined) { + contents.SessionId = output.headers["x-amzn-transcribe-session-id"]; + } + if (output.headers["x-amzn-transcribe-enable-channel-identification"] !== undefined) { + contents.EnableChannelIdentification = output.headers["x-amzn-transcribe-enable-channel-identification"] === "true"; } if (output.headers["x-amzn-transcribe-number-of-channels"] !== undefined) { contents.NumberOfChannels = parseInt(output.headers["x-amzn-transcribe-number-of-channels"], 10); } - if (output.headers["x-amzn-transcribe-session-id"] !== undefined) { - contents.SessionId = output.headers["x-amzn-transcribe-session-id"]; + const data: any = context.eventStreamMarshaller.deserialize(output.body, async (event) => { + const eventName = Object.keys(event)[0]; + const eventHeaders = Object.entries(event[eventName].headers).reduce((accummulator, curr) => { + accummulator[curr[0]] = curr[1].value; + return accummulator; + }, {} as { [key: string]: any }); + const eventMessage = { + headers: eventHeaders, + body: event[eventName].body, + }; + const parsedEvent = { + [eventName]: eventMessage, + }; + return await deserializeAws_restJson1MedicalTranscriptResultStream_event(parsedEvent, context); + }); + contents.TranscriptResultStream = data; + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StartMedicalStreamTranscriptionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.transcribestreaming#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.transcribestreaming#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.transcribestreaming#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.transcribestreaming#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.transcribestreaming#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( + output: __HttpResponse, + context: __SerdeContext & __EventStreamSerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1StartStreamTranscriptionCommandError(output, context); + } + const contents: StartStreamTranscriptionCommandOutput = { + $metadata: deserializeMetadata(output), + EnableChannelIdentification: undefined, + LanguageCode: undefined, + MediaEncoding: undefined, + MediaSampleRateHertz: undefined, + NumberOfChannels: undefined, + RequestId: undefined, + SessionId: undefined, + ShowSpeakerLabel: undefined, + TranscriptResultStream: undefined, + VocabularyFilterMethod: undefined, + VocabularyFilterName: undefined, + VocabularyName: undefined, + }; + if (output.headers["x-amzn-request-id"] !== undefined) { + contents.RequestId = output.headers["x-amzn-request-id"]; + } + if (output.headers["x-amzn-transcribe-language-code"] !== undefined) { + contents.LanguageCode = output.headers["x-amzn-transcribe-language-code"]; } if (output.headers["x-amzn-transcribe-sample-rate"] !== undefined) { contents.MediaSampleRateHertz = parseInt(output.headers["x-amzn-transcribe-sample-rate"], 10); } + if (output.headers["x-amzn-transcribe-media-encoding"] !== undefined) { + contents.MediaEncoding = output.headers["x-amzn-transcribe-media-encoding"]; + } + if (output.headers["x-amzn-transcribe-vocabulary-name"] !== undefined) { + contents.VocabularyName = output.headers["x-amzn-transcribe-vocabulary-name"]; + } + if (output.headers["x-amzn-transcribe-session-id"] !== undefined) { + contents.SessionId = output.headers["x-amzn-transcribe-session-id"]; + } + if (output.headers["x-amzn-transcribe-vocabulary-filter-name"] !== undefined) { + contents.VocabularyFilterName = output.headers["x-amzn-transcribe-vocabulary-filter-name"]; + } + if (output.headers["x-amzn-transcribe-vocabulary-filter-method"] !== undefined) { + contents.VocabularyFilterMethod = output.headers["x-amzn-transcribe-vocabulary-filter-method"]; + } + if (output.headers["x-amzn-transcribe-show-speaker-label"] !== undefined) { + contents.ShowSpeakerLabel = output.headers["x-amzn-transcribe-show-speaker-label"] === "true"; + } if (output.headers["x-amzn-transcribe-enable-channel-identification"] !== undefined) { contents.EnableChannelIdentification = output.headers["x-amzn-transcribe-enable-channel-identification"] === "true"; } + if (output.headers["x-amzn-transcribe-number-of-channels"] !== undefined) { + contents.NumberOfChannels = parseInt(output.headers["x-amzn-transcribe-number-of-channels"], 10); + } const data: any = context.eventStreamMarshaller.deserialize(output.body, async (event) => { const eventName = Object.keys(event)[0]; const eventHeaders = Object.entries(event[eventName].headers).reduce((accummulator, curr) => { @@ -227,10 +426,15 @@ const serializeAws_restJson1AudioStream_event = (input: any, context: __SerdeCon _: (value) => value as any, }); }; -const deserializeAws_restJson1TranscriptResultStream_event = async ( +const deserializeAws_restJson1MedicalTranscriptResultStream_event = async ( output: any, context: __SerdeContext -): Promise => { +): Promise => { + if (output["TranscriptEvent"] !== undefined) { + return { + TranscriptEvent: await deserializeAws_restJson1MedicalTranscriptEvent_event(output["TranscriptEvent"], context), + }; + } if (output["BadRequestException"] !== undefined) { return { BadRequestException: await deserializeAws_restJson1BadRequestException_event( @@ -239,9 +443,12 @@ const deserializeAws_restJson1TranscriptResultStream_event = async ( ), }; } - if (output["TranscriptEvent"] !== undefined) { + if (output["LimitExceededException"] !== undefined) { return { - TranscriptEvent: await deserializeAws_restJson1TranscriptEvent_event(output["TranscriptEvent"], context), + LimitExceededException: await deserializeAws_restJson1LimitExceededException_event( + output["LimitExceededException"], + context + ), }; } if (output["InternalFailureException"] !== undefined) { @@ -265,6 +472,25 @@ const deserializeAws_restJson1TranscriptResultStream_event = async ( ), }; } + return { $unknown: output }; +}; +const deserializeAws_restJson1TranscriptResultStream_event = async ( + output: any, + context: __SerdeContext +): Promise => { + if (output["TranscriptEvent"] !== undefined) { + return { + TranscriptEvent: await deserializeAws_restJson1TranscriptEvent_event(output["TranscriptEvent"], context), + }; + } + if (output["BadRequestException"] !== undefined) { + return { + BadRequestException: await deserializeAws_restJson1BadRequestException_event( + output["BadRequestException"], + context + ), + }; + } if (output["LimitExceededException"] !== undefined) { return { LimitExceededException: await deserializeAws_restJson1LimitExceededException_event( @@ -273,6 +499,27 @@ const deserializeAws_restJson1TranscriptResultStream_event = async ( ), }; } + if (output["InternalFailureException"] !== undefined) { + return { + InternalFailureException: await deserializeAws_restJson1InternalFailureException_event( + output["InternalFailureException"], + context + ), + }; + } + if (output["ConflictException"] !== undefined) { + return { + ConflictException: await deserializeAws_restJson1ConflictException_event(output["ConflictException"], context), + }; + } + if (output["ServiceUnavailableException"] !== undefined) { + return { + ServiceUnavailableException: await deserializeAws_restJson1ServiceUnavailableException_event( + output["ServiceUnavailableException"], + context + ), + }; + } return { $unknown: output }; }; const serializeAws_restJson1AudioEvent_event = (input: AudioEvent, context: __SerdeContext): __Message => { @@ -326,6 +573,18 @@ const deserializeAws_restJson1LimitExceededException_event = async ( }; return deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context); }; +const deserializeAws_restJson1MedicalTranscriptEvent_event = async ( + output: any, + context: __SerdeContext +): Promise => { + let contents: MedicalTranscriptEvent = {} as any; + const data: any = await parseBody(output.body, context); + contents = { + ...contents, + ...deserializeAws_restJson1MedicalTranscriptEvent(data, context), + } as any; + return contents; +}; const deserializeAws_restJson1ServiceUnavailableException_event = async ( output: any, context: __SerdeContext @@ -478,6 +737,74 @@ const deserializeAws_restJson1ItemList = (output: any, context: __SerdeContext): return (output || []).map((entry: any) => deserializeAws_restJson1Item(entry, context)); }; +const deserializeAws_restJson1MedicalAlternative = (output: any, context: __SerdeContext): MedicalAlternative => { + return { + Items: + output.Items !== undefined && output.Items !== null + ? deserializeAws_restJson1MedicalItemList(output.Items, context) + : undefined, + Transcript: output.Transcript !== undefined && output.Transcript !== null ? output.Transcript : undefined, + } as any; +}; + +const deserializeAws_restJson1MedicalAlternativeList = (output: any, context: __SerdeContext): MedicalAlternative[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1MedicalAlternative(entry, context)); +}; + +const deserializeAws_restJson1MedicalItem = (output: any, context: __SerdeContext): MedicalItem => { + return { + Confidence: output.Confidence !== undefined && output.Confidence !== null ? output.Confidence : undefined, + Content: output.Content !== undefined && output.Content !== null ? output.Content : undefined, + EndTime: output.EndTime !== undefined && output.EndTime !== null ? output.EndTime : undefined, + Speaker: output.Speaker !== undefined && output.Speaker !== null ? output.Speaker : undefined, + StartTime: output.StartTime !== undefined && output.StartTime !== null ? output.StartTime : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1MedicalItemList = (output: any, context: __SerdeContext): MedicalItem[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1MedicalItem(entry, context)); +}; + +const deserializeAws_restJson1MedicalResult = (output: any, context: __SerdeContext): MedicalResult => { + return { + Alternatives: + output.Alternatives !== undefined && output.Alternatives !== null + ? deserializeAws_restJson1MedicalAlternativeList(output.Alternatives, context) + : undefined, + ChannelId: output.ChannelId !== undefined && output.ChannelId !== null ? output.ChannelId : undefined, + EndTime: output.EndTime !== undefined && output.EndTime !== null ? output.EndTime : undefined, + IsPartial: output.IsPartial !== undefined && output.IsPartial !== null ? output.IsPartial : undefined, + ResultId: output.ResultId !== undefined && output.ResultId !== null ? output.ResultId : undefined, + StartTime: output.StartTime !== undefined && output.StartTime !== null ? output.StartTime : undefined, + } as any; +}; + +const deserializeAws_restJson1MedicalResultList = (output: any, context: __SerdeContext): MedicalResult[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1MedicalResult(entry, context)); +}; + +const deserializeAws_restJson1MedicalTranscript = (output: any, context: __SerdeContext): MedicalTranscript => { + return { + Results: + output.Results !== undefined && output.Results !== null + ? deserializeAws_restJson1MedicalResultList(output.Results, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1MedicalTranscriptEvent = ( + output: any, + context: __SerdeContext +): MedicalTranscriptEvent => { + return { + Transcript: + output.Transcript !== undefined && output.Transcript !== null + ? deserializeAws_restJson1MedicalTranscript(output.Transcript, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1Result = (output: any, context: __SerdeContext): Result => { return { Alternatives: diff --git a/clients/client-translate/Translate.ts b/clients/client-translate/Translate.ts index 1511fcdeeffad..b9a03cd62ba14 100644 --- a/clients/client-translate/Translate.ts +++ b/clients/client-translate/Translate.ts @@ -1,4 +1,14 @@ import { TranslateClient } from "./TranslateClient"; +import { + CreateParallelDataCommand, + CreateParallelDataCommandInput, + CreateParallelDataCommandOutput, +} from "./commands/CreateParallelDataCommand"; +import { + DeleteParallelDataCommand, + DeleteParallelDataCommandInput, + DeleteParallelDataCommandOutput, +} from "./commands/DeleteParallelDataCommand"; import { DeleteTerminologyCommand, DeleteTerminologyCommandInput, @@ -9,6 +19,11 @@ import { DescribeTextTranslationJobCommandInput, DescribeTextTranslationJobCommandOutput, } from "./commands/DescribeTextTranslationJobCommand"; +import { + GetParallelDataCommand, + GetParallelDataCommandInput, + GetParallelDataCommandOutput, +} from "./commands/GetParallelDataCommand"; import { GetTerminologyCommand, GetTerminologyCommandInput, @@ -19,6 +34,11 @@ import { ImportTerminologyCommandInput, ImportTerminologyCommandOutput, } from "./commands/ImportTerminologyCommand"; +import { + ListParallelDataCommand, + ListParallelDataCommandInput, + ListParallelDataCommandOutput, +} from "./commands/ListParallelDataCommand"; import { ListTerminologiesCommand, ListTerminologiesCommandInput, @@ -44,6 +64,11 @@ import { TranslateTextCommandInput, TranslateTextCommandOutput, } from "./commands/TranslateTextCommand"; +import { + UpdateParallelDataCommand, + UpdateParallelDataCommandInput, + UpdateParallelDataCommandOutput, +} from "./commands/UpdateParallelDataCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** @@ -51,6 +76,73 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * languages.

    */ export class Translate extends TranslateClient { + /** + *

    Creates a parallel data resource in Amazon Translate by importing an input file from + * Amazon S3. Parallel data files contain examples of source phrases and their translations from + * your translation memory. By adding parallel data, you can influence the style, tone, and word + * choice in your translation output.

    + */ + public createParallelData( + args: CreateParallelDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createParallelData( + args: CreateParallelDataCommandInput, + cb: (err: any, data?: CreateParallelDataCommandOutput) => void + ): void; + public createParallelData( + args: CreateParallelDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateParallelDataCommandOutput) => void + ): void; + public createParallelData( + args: CreateParallelDataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateParallelDataCommandOutput) => void), + cb?: (err: any, data?: CreateParallelDataCommandOutput) => void + ): Promise | void { + const command = new CreateParallelDataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Deletes a parallel data resource in Amazon Translate.

    + */ + public deleteParallelData( + args: DeleteParallelDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteParallelData( + args: DeleteParallelDataCommandInput, + cb: (err: any, data?: DeleteParallelDataCommandOutput) => void + ): void; + public deleteParallelData( + args: DeleteParallelDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteParallelDataCommandOutput) => void + ): void; + public deleteParallelData( + args: DeleteParallelDataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteParallelDataCommandOutput) => void), + cb?: (err: any, data?: DeleteParallelDataCommandOutput) => void + ): Promise | void { + const command = new DeleteParallelDataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    A synchronous action that deletes a custom terminology.

    */ @@ -116,6 +208,38 @@ export class Translate extends TranslateClient { } } + /** + *

    Provides information about a parallel data resource.

    + */ + public getParallelData( + args: GetParallelDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getParallelData( + args: GetParallelDataCommandInput, + cb: (err: any, data?: GetParallelDataCommandOutput) => void + ): void; + public getParallelData( + args: GetParallelDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetParallelDataCommandOutput) => void + ): void; + public getParallelData( + args: GetParallelDataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetParallelDataCommandOutput) => void), + cb?: (err: any, data?: GetParallelDataCommandOutput) => void + ): Promise | void { + const command = new GetParallelDataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Retrieves a custom terminology.

    */ @@ -187,6 +311,38 @@ export class Translate extends TranslateClient { } } + /** + *

    Provides a list of your parallel data resources in Amazon Translate.

    + */ + public listParallelData( + args: ListParallelDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listParallelData( + args: ListParallelDataCommandInput, + cb: (err: any, data?: ListParallelDataCommandOutput) => void + ): void; + public listParallelData( + args: ListParallelDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListParallelDataCommandOutput) => void + ): void; + public listParallelData( + args: ListParallelDataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListParallelDataCommandOutput) => void), + cb?: (err: any, data?: ListParallelDataCommandOutput) => void + ): Promise | void { + const command = new ListParallelDataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Provides a list of custom terminologies associated with your account.

    */ @@ -360,4 +516,37 @@ export class Translate extends TranslateClient { return this.send(command, optionsOrCb); } } + + /** + *

    Updates a previously created parallel data resource by importing a new input file from + * Amazon S3.

    + */ + public updateParallelData( + args: UpdateParallelDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateParallelData( + args: UpdateParallelDataCommandInput, + cb: (err: any, data?: UpdateParallelDataCommandOutput) => void + ): void; + public updateParallelData( + args: UpdateParallelDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateParallelDataCommandOutput) => void + ): void; + public updateParallelData( + args: UpdateParallelDataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateParallelDataCommandOutput) => void), + cb?: (err: any, data?: UpdateParallelDataCommandOutput) => void + ): Promise | void { + const command = new UpdateParallelDataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-translate/TranslateClient.ts b/clients/client-translate/TranslateClient.ts index 19ba2273a1e5f..b33391532826e 100644 --- a/clients/client-translate/TranslateClient.ts +++ b/clients/client-translate/TranslateClient.ts @@ -1,10 +1,14 @@ +import { CreateParallelDataCommandInput, CreateParallelDataCommandOutput } from "./commands/CreateParallelDataCommand"; +import { DeleteParallelDataCommandInput, DeleteParallelDataCommandOutput } from "./commands/DeleteParallelDataCommand"; import { DeleteTerminologyCommandInput, DeleteTerminologyCommandOutput } from "./commands/DeleteTerminologyCommand"; import { DescribeTextTranslationJobCommandInput, DescribeTextTranslationJobCommandOutput, } from "./commands/DescribeTextTranslationJobCommand"; +import { GetParallelDataCommandInput, GetParallelDataCommandOutput } from "./commands/GetParallelDataCommand"; import { GetTerminologyCommandInput, GetTerminologyCommandOutput } from "./commands/GetTerminologyCommand"; import { ImportTerminologyCommandInput, ImportTerminologyCommandOutput } from "./commands/ImportTerminologyCommand"; +import { ListParallelDataCommandInput, ListParallelDataCommandOutput } from "./commands/ListParallelDataCommand"; import { ListTerminologiesCommandInput, ListTerminologiesCommandOutput } from "./commands/ListTerminologiesCommand"; import { ListTextTranslationJobsCommandInput, @@ -19,6 +23,7 @@ import { StopTextTranslationJobCommandOutput, } from "./commands/StopTextTranslationJobCommand"; import { TranslateTextCommandInput, TranslateTextCommandOutput } from "./commands/TranslateTextCommand"; +import { UpdateParallelDataCommandInput, UpdateParallelDataCommandOutput } from "./commands/UpdateParallelDataCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -69,26 +74,36 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | CreateParallelDataCommandInput + | DeleteParallelDataCommandInput | DeleteTerminologyCommandInput | DescribeTextTranslationJobCommandInput + | GetParallelDataCommandInput | GetTerminologyCommandInput | ImportTerminologyCommandInput + | ListParallelDataCommandInput | ListTerminologiesCommandInput | ListTextTranslationJobsCommandInput | StartTextTranslationJobCommandInput | StopTextTranslationJobCommandInput - | TranslateTextCommandInput; + | TranslateTextCommandInput + | UpdateParallelDataCommandInput; export type ServiceOutputTypes = + | CreateParallelDataCommandOutput + | DeleteParallelDataCommandOutput | DeleteTerminologyCommandOutput | DescribeTextTranslationJobCommandOutput + | GetParallelDataCommandOutput | GetTerminologyCommandOutput | ImportTerminologyCommandOutput + | ListParallelDataCommandOutput | ListTerminologiesCommandOutput | ListTextTranslationJobsCommandOutput | StartTextTranslationJobCommandOutput | StopTextTranslationJobCommandOutput - | TranslateTextCommandOutput; + | TranslateTextCommandOutput + | UpdateParallelDataCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-translate/commands/CreateParallelDataCommand.ts b/clients/client-translate/commands/CreateParallelDataCommand.ts new file mode 100644 index 0000000000000..2d1509088fa43 --- /dev/null +++ b/clients/client-translate/commands/CreateParallelDataCommand.ts @@ -0,0 +1,91 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient"; +import { CreateParallelDataRequest, CreateParallelDataResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateParallelDataCommand, + serializeAws_json1_1CreateParallelDataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateParallelDataCommandInput = CreateParallelDataRequest; +export type CreateParallelDataCommandOutput = CreateParallelDataResponse & __MetadataBearer; + +/** + *

    Creates a parallel data resource in Amazon Translate by importing an input file from + * Amazon S3. Parallel data files contain examples of source phrases and their translations from + * your translation memory. By adding parallel data, you can influence the style, tone, and word + * choice in your translation output.

    + */ +export class CreateParallelDataCommand extends $Command< + CreateParallelDataCommandInput, + CreateParallelDataCommandOutput, + TranslateClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateParallelDataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranslateClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TranslateClient"; + const commandName = "CreateParallelDataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateParallelDataRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateParallelDataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateParallelDataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateParallelDataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateParallelDataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-translate/commands/DeleteParallelDataCommand.ts b/clients/client-translate/commands/DeleteParallelDataCommand.ts new file mode 100644 index 0000000000000..2711ecb2b2c62 --- /dev/null +++ b/clients/client-translate/commands/DeleteParallelDataCommand.ts @@ -0,0 +1,88 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient"; +import { DeleteParallelDataRequest, DeleteParallelDataResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteParallelDataCommand, + serializeAws_json1_1DeleteParallelDataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteParallelDataCommandInput = DeleteParallelDataRequest; +export type DeleteParallelDataCommandOutput = DeleteParallelDataResponse & __MetadataBearer; + +/** + *

    Deletes a parallel data resource in Amazon Translate.

    + */ +export class DeleteParallelDataCommand extends $Command< + DeleteParallelDataCommandInput, + DeleteParallelDataCommandOutput, + TranslateClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteParallelDataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranslateClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TranslateClient"; + const commandName = "DeleteParallelDataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteParallelDataRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteParallelDataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteParallelDataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteParallelDataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteParallelDataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-translate/commands/GetParallelDataCommand.ts b/clients/client-translate/commands/GetParallelDataCommand.ts new file mode 100644 index 0000000000000..2d631ae7b268c --- /dev/null +++ b/clients/client-translate/commands/GetParallelDataCommand.ts @@ -0,0 +1,88 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient"; +import { GetParallelDataRequest, GetParallelDataResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetParallelDataCommand, + serializeAws_json1_1GetParallelDataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetParallelDataCommandInput = GetParallelDataRequest; +export type GetParallelDataCommandOutput = GetParallelDataResponse & __MetadataBearer; + +/** + *

    Provides information about a parallel data resource.

    + */ +export class GetParallelDataCommand extends $Command< + GetParallelDataCommandInput, + GetParallelDataCommandOutput, + TranslateClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetParallelDataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranslateClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TranslateClient"; + const commandName = "GetParallelDataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetParallelDataRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetParallelDataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetParallelDataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetParallelDataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetParallelDataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-translate/commands/ListParallelDataCommand.ts b/clients/client-translate/commands/ListParallelDataCommand.ts new file mode 100644 index 0000000000000..8019815934bec --- /dev/null +++ b/clients/client-translate/commands/ListParallelDataCommand.ts @@ -0,0 +1,88 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient"; +import { ListParallelDataRequest, ListParallelDataResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListParallelDataCommand, + serializeAws_json1_1ListParallelDataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListParallelDataCommandInput = ListParallelDataRequest; +export type ListParallelDataCommandOutput = ListParallelDataResponse & __MetadataBearer; + +/** + *

    Provides a list of your parallel data resources in Amazon Translate.

    + */ +export class ListParallelDataCommand extends $Command< + ListParallelDataCommandInput, + ListParallelDataCommandOutput, + TranslateClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListParallelDataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranslateClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TranslateClient"; + const commandName = "ListParallelDataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListParallelDataRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListParallelDataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListParallelDataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListParallelDataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListParallelDataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-translate/commands/UpdateParallelDataCommand.ts b/clients/client-translate/commands/UpdateParallelDataCommand.ts new file mode 100644 index 0000000000000..16ca2457aa707 --- /dev/null +++ b/clients/client-translate/commands/UpdateParallelDataCommand.ts @@ -0,0 +1,89 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient"; +import { UpdateParallelDataRequest, UpdateParallelDataResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateParallelDataCommand, + serializeAws_json1_1UpdateParallelDataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateParallelDataCommandInput = UpdateParallelDataRequest; +export type UpdateParallelDataCommandOutput = UpdateParallelDataResponse & __MetadataBearer; + +/** + *

    Updates a previously created parallel data resource by importing a new input file from + * Amazon S3.

    + */ +export class UpdateParallelDataCommand extends $Command< + UpdateParallelDataCommandInput, + UpdateParallelDataCommandOutput, + TranslateClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateParallelDataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranslateClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TranslateClient"; + const commandName = "UpdateParallelDataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateParallelDataRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateParallelDataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateParallelDataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateParallelDataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateParallelDataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-translate/index.ts b/clients/client-translate/index.ts index b6b75450bb4bc..6b219cea7748a 100644 --- a/clients/client-translate/index.ts +++ b/clients/client-translate/index.ts @@ -1,9 +1,14 @@ export * from "./TranslateClient"; export * from "./Translate"; +export * from "./commands/CreateParallelDataCommand"; +export * from "./commands/DeleteParallelDataCommand"; export * from "./commands/DeleteTerminologyCommand"; export * from "./commands/DescribeTextTranslationJobCommand"; +export * from "./commands/GetParallelDataCommand"; export * from "./commands/GetTerminologyCommand"; export * from "./commands/ImportTerminologyCommand"; +export * from "./commands/ListParallelDataCommand"; +export * from "./pagination/ListParallelDataPaginator"; export * from "./commands/ListTerminologiesCommand"; export * from "./pagination/ListTerminologiesPaginator"; export * from "./commands/ListTextTranslationJobsCommand"; @@ -11,5 +16,6 @@ export * from "./pagination/ListTextTranslationJobsPaginator"; export * from "./commands/StartTextTranslationJobCommand"; export * from "./commands/StopTextTranslationJobCommand"; export * from "./commands/TranslateTextCommand"; +export * from "./commands/UpdateParallelDataCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-translate/models/models_0.ts b/clients/client-translate/models/models_0.ts index 3488514dd1454..8e0285393de9d 100644 --- a/clients/client-translate/models/models_0.ts +++ b/clients/client-translate/models/models_0.ts @@ -29,35 +29,153 @@ export namespace Term { * TranslateText request.

    */ export interface AppliedTerminology { + /** + *

    The name of the custom terminology applied to the input text by Amazon Translate for the translated + * text response.

    + */ + Name?: string; + /** *

    The specific terms of the custom terminology applied to the input text by Amazon Translate for the * translated text response. A maximum of 250 terms will be returned, and the specific terms * applied will be the first 250 terms in the source text.

    */ Terms?: Term[]; +} + +export namespace AppliedTerminology { + export const filterSensitiveLog = (obj: AppliedTerminology): any => ({ + ...obj, + }); +} + +/** + *

    There was a conflict processing the request. Try your request again.

    + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export enum EncryptionKeyType { + KMS = "KMS", +} +/** + *

    The encryption key used to encrypt this object.

    + */ +export interface EncryptionKey { /** - *

    The name of the custom terminology applied to the input text by Amazon Translate for the translated - * text response.

    + *

    The type of encryption key used by Amazon Translate to encrypt custom terminologies.

    */ - Name?: string; + Type: EncryptionKeyType | string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt the custom + * terminology.

    + */ + Id: string | undefined; } -export namespace AppliedTerminology { - export const filterSensitiveLog = (obj: AppliedTerminology): any => ({ +export namespace EncryptionKey { + export const filterSensitiveLog = (obj: EncryptionKey): any => ({ ...obj, }); } -export interface DeleteTerminologyRequest { +export enum ParallelDataFormat { + CSV = "CSV", + TMX = "TMX", + TSV = "TSV", +} + +/** + *

    Specifies the format and S3 location of the parallel data input file.

    + */ +export interface ParallelDataConfig { /** - *

    The name of the custom terminology being deleted.

    + *

    The URI of the Amazon S3 folder that contains the parallel data input file. The folder + * must be in the same Region as the API endpoint you are calling.

    + */ + S3Uri: string | undefined; + + /** + *

    The format of the parallel data input file.

    + */ + Format: ParallelDataFormat | string | undefined; +} + +export namespace ParallelDataConfig { + export const filterSensitiveLog = (obj: ParallelDataConfig): any => ({ + ...obj, + }); +} + +export interface CreateParallelDataRequest { + /** + *

    A custom name for the parallel data resource in Amazon Translate. You must assign a name + * that is unique in the account and region.

    */ Name: string | undefined; + + /** + *

    A custom description for the parallel data resource in Amazon Translate.

    + */ + Description?: string; + + /** + *

    Specifies the format and S3 location of the parallel data input file.

    + */ + ParallelDataConfig: ParallelDataConfig | undefined; + + /** + *

    The encryption key used to encrypt this object.

    + */ + EncryptionKey?: EncryptionKey; + + /** + *

    A unique identifier for the request. This token is automatically generated when you use + * Amazon Translate through an AWS SDK.

    + */ + ClientToken?: string; } -export namespace DeleteTerminologyRequest { - export const filterSensitiveLog = (obj: DeleteTerminologyRequest): any => ({ +export namespace CreateParallelDataRequest { + export const filterSensitiveLog = (obj: CreateParallelDataRequest): any => ({ + ...obj, + }); +} + +export enum ParallelDataStatus { + ACTIVE = "ACTIVE", + CREATING = "CREATING", + DELETING = "DELETING", + FAILED = "FAILED", + UPDATING = "UPDATING", +} + +export interface CreateParallelDataResponse { + /** + *

    The custom name that you assigned to the parallel data resource.

    + */ + Name?: string; + + /** + *

    The status of the parallel data resource. When the resource is ready for you to use, the + * status is ACTIVE.

    + */ + Status?: ParallelDataStatus | string; +} + +export namespace CreateParallelDataResponse { + export const filterSensitiveLog = (obj: CreateParallelDataResponse): any => ({ ...obj, }); } @@ -94,18 +212,33 @@ export namespace InvalidParameterValueException { } /** - *

    The resource you are looking for has not been found. Review the resource you're looking - * for and see if a different resource will accomplish your needs before retrying the revised - * request.

    + *

    The request that you made is invalid. Check your request to determine why it's invalid + * and then retry the request.

    */ -export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { - name: "ResourceNotFoundException"; +export interface InvalidRequestException extends __SmithyException, $MetadataBearer { + name: "InvalidRequestException"; $fault: "client"; Message?: string; } -export namespace ResourceNotFoundException { - export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ +export namespace InvalidRequestException { + export const filterSensitiveLog = (obj: InvalidRequestException): any => ({ + ...obj, + }); +} + +/** + *

    The specified limit has been exceeded. Review your request and retry it with a quantity + * below the stated limit.

    + */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; + $fault: "client"; + Message?: string; +} + +export namespace LimitExceededException { + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ ...obj, }); } @@ -126,6 +259,83 @@ export namespace TooManyRequestsException { }); } +/** + *

    Another modification is being made. That modification must complete before you can make + * your change.

    + */ +export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer { + name: "ConcurrentModificationException"; + $fault: "client"; + Message?: string; +} + +export namespace ConcurrentModificationException { + export const filterSensitiveLog = (obj: ConcurrentModificationException): any => ({ + ...obj, + }); +} + +export interface DeleteParallelDataRequest { + /** + *

    The name of the parallel data resource that is being deleted.

    + */ + Name: string | undefined; +} + +export namespace DeleteParallelDataRequest { + export const filterSensitiveLog = (obj: DeleteParallelDataRequest): any => ({ + ...obj, + }); +} + +export interface DeleteParallelDataResponse { + /** + *

    The name of the parallel data resource that is being deleted.

    + */ + Name?: string; + + /** + *

    The status of the parallel data deletion.

    + */ + Status?: ParallelDataStatus | string; +} + +export namespace DeleteParallelDataResponse { + export const filterSensitiveLog = (obj: DeleteParallelDataResponse): any => ({ + ...obj, + }); +} + +/** + *

    The resource you are looking for has not been found. Review the resource you're looking + * for and see if a different resource will accomplish your needs before retrying the revised + * request.

    + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +export interface DeleteTerminologyRequest { + /** + *

    The name of the custom terminology being deleted.

    + */ + Name: string | undefined; +} + +export namespace DeleteTerminologyRequest { + export const filterSensitiveLog = (obj: DeleteTerminologyRequest): any => ({ + ...obj, + }); +} + export interface DescribeTextTranslationJobRequest { /** *

    The identifier that Amazon Translate generated for the job. The StartTextTranslationJob operation returns this identifier in its @@ -144,6 +354,12 @@ export namespace DescribeTextTranslationJobRequest { *

    The input configuration properties for requesting a batch translation job.

    */ export interface InputDataConfig { + /** + *

    The URI of the AWS S3 folder that contains the input file. The folder must be in the + * same Region as the API endpoint you are calling.

    + */ + S3Uri: string | undefined; + /** *

    Describes the format of the data that you submit to Amazon Translate as input. You can * specify one of the following multipurpose internet mail extension (MIME) types:

    @@ -183,12 +399,6 @@ export interface InputDataConfig { * */ ContentType: string | undefined; - - /** - *

    The URI of the AWS S3 folder that contains the input file. The folder must be in the - * same Region as the API endpoint you are calling.

    - */ - S3Uri: string | undefined; } export namespace InputDataConfig { @@ -202,6 +412,11 @@ export namespace InputDataConfig { * job.

    */ export interface JobDetails { + /** + *

    The number of documents successfully processed during a translation job.

    + */ + TranslatedDocumentsCount?: number; + /** *

    The number of documents that could not be processed during a translation job.

    */ @@ -211,11 +426,6 @@ export interface JobDetails { *

    The number of documents used as input in a translation job.

    */ InputDocumentsCount?: number; - - /** - *

    The number of documents successfully processed during a translation job.

    - */ - TranslatedDocumentsCount?: number; } export namespace JobDetails { @@ -255,11 +465,6 @@ export namespace OutputDataConfig { *

    Provides information about a translation job.

    */ export interface TextTranslationJobProperties { - /** - *

    The status of the translation job.

    - */ - JobStatus?: JobStatus | string; - /** *

    The ID of the translation job.

    */ @@ -271,17 +476,15 @@ export interface TextTranslationJobProperties { JobName?: string; /** - *

    A list containing the names of the terminologies applied to a translation job. Only one - * terminology can be applied per StartTextTranslationJob request at this - * time.

    + *

    The status of the translation job.

    */ - TerminologyNames?: string[]; + JobStatus?: JobStatus | string; /** - *

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role - * that granted Amazon Translate read access to the job's input data.

    + *

    The number of documents successfully and unsuccessfully processed during the translation + * job.

    */ - DataAccessRoleArn?: string; + JobDetails?: JobDetails; /** *

    The language code of the language of the source text. The language must be a language @@ -290,31 +493,33 @@ export interface TextTranslationJobProperties { SourceLanguageCode?: string; /** - *

    An explanation of any errors that may have occured during the translation job.

    + *

    The language code of the language of the target text. The language must be a language + * supported by Amazon Translate.

    */ - Message?: string; + TargetLanguageCodes?: string[]; /** - *

    The output configuration properties that were specified when the job was requested.

    + *

    A list containing the names of the terminologies applied to a translation job. Only one + * terminology can be applied per StartTextTranslationJob request at this + * time.

    */ - OutputDataConfig?: OutputDataConfig; + TerminologyNames?: string[]; /** - *

    The number of documents successfully and unsuccessfully processed during the translation + *

    A list containing the names of the parallel data resources applied to the translation * job.

    */ - JobDetails?: JobDetails; + ParallelDataNames?: string[]; /** - *

    The language code of the language of the target text. The language must be a language - * supported by Amazon Translate.

    + *

    An explanation of any errors that may have occured during the translation job.

    */ - TargetLanguageCodes?: string[]; + Message?: string; /** - *

    The input configuration properties that were specified when the job was requested.

    + *

    The time at which the translation job was submitted.

    */ - InputDataConfig?: InputDataConfig; + SubmittedTime?: Date; /** *

    The time at which the translation job ended.

    @@ -322,9 +527,20 @@ export interface TextTranslationJobProperties { EndTime?: Date; /** - *

    The time at which the translation job was submitted.

    + *

    The input configuration properties that were specified when the job was requested.

    */ - SubmittedTime?: Date; + InputDataConfig?: InputDataConfig; + + /** + *

    The output configuration properties that were specified when the job was requested.

    + */ + OutputDataConfig?: OutputDataConfig; + + /** + *

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role + * that granted Amazon Translate read access to the job's input data.

    + */ + DataAccessRoleArn?: string; } export namespace TextTranslationJobProperties { @@ -347,72 +563,221 @@ export namespace DescribeTextTranslationJobResponse { }); } -export enum TerminologyDataFormat { - CSV = "CSV", - TMX = "TMX", +export interface GetParallelDataRequest { + /** + *

    The name of the parallel data resource that is being retrieved.

    + */ + Name: string | undefined; } -export interface GetTerminologyRequest { +export namespace GetParallelDataRequest { + export const filterSensitiveLog = (obj: GetParallelDataRequest): any => ({ + ...obj, + }); +} + +/** + *

    The location of the most recent parallel data input file that was successfully imported + * into Amazon Translate.

    + */ +export interface ParallelDataDataLocation { /** - *

    The name of the custom terminology being retrieved.

    + *

    Describes the repository that contains the parallel data input file.

    */ - Name: string | undefined; + RepositoryType: string | undefined; /** - *

    The data format of the custom terminology being retrieved, either CSV or TMX.

    + *

    The Amazon S3 location of the parallel data input file. The location is returned as a + * presigned URL to that has a 30 minute expiration.

    */ - TerminologyDataFormat: TerminologyDataFormat | string | undefined; + Location: string | undefined; } -export namespace GetTerminologyRequest { - export const filterSensitiveLog = (obj: GetTerminologyRequest): any => ({ +export namespace ParallelDataDataLocation { + export const filterSensitiveLog = (obj: ParallelDataDataLocation): any => ({ ...obj, }); } /** - *

    The location of the custom terminology data.

    + *

    The properties of a parallel data resource.

    */ -export interface TerminologyDataLocation { +export interface ParallelDataProperties { /** - *

    The location of the custom terminology data.

    + *

    The custom name assigned to the parallel data resource.

    */ - Location: string | undefined; + Name?: string; /** - *

    The repository type for the custom terminology data.

    + *

    The Amazon Resource Name (ARN) of the parallel data resource.

    */ - RepositoryType: string | undefined; + Arn?: string; + + /** + *

    The description assigned to the parallel data resource.

    + */ + Description?: string; + + /** + *

    The status of the parallel data resource. When the parallel data is ready for you to use, + * the status is ACTIVE.

    + */ + Status?: ParallelDataStatus | string; + + /** + *

    The source language of the translations in the parallel data file.

    + */ + SourceLanguageCode?: string; + + /** + *

    The language codes for the target languages available in the parallel data file. All + * possible target languages are returned as an array.

    + */ + TargetLanguageCodes?: string[]; + + /** + *

    Specifies the format and S3 location of the parallel data input file.

    + */ + ParallelDataConfig?: ParallelDataConfig; + + /** + *

    Additional information from Amazon Translate about the parallel data resource.

    + */ + Message?: string; + + /** + *

    The number of UTF-8 characters that Amazon Translate imported from the parallel data input + * file. This number includes only the characters in your translation examples. It does not + * include characters that are used to format your file. For example, if you provided a + * Translation Memory Exchange (.tmx) file, this number does not include the tags.

    + */ + ImportedDataSize?: number; + + /** + *

    The number of records successfully imported from the parallel data input file.

    + */ + ImportedRecordCount?: number; + + /** + *

    The number of records unsuccessfully imported from the parallel data input file.

    + */ + FailedRecordCount?: number; + + /** + *

    The number of items in the input file that Amazon Translate skipped when you created or + * updated the parallel data resource. For example, Amazon Translate skips empty records, empty + * target texts, and empty lines.

    + */ + SkippedRecordCount?: number; + + /** + *

    The encryption key used to encrypt this object.

    + */ + EncryptionKey?: EncryptionKey; + + /** + *

    The time at which the parallel data resource was created.

    + */ + CreatedAt?: Date; + + /** + *

    The time at which the parallel data resource was last updated.

    + */ + LastUpdatedAt?: Date; + + /** + *

    The status of the most recent update attempt for the parallel data resource.

    + */ + LatestUpdateAttemptStatus?: ParallelDataStatus | string; + + /** + *

    The time that the most recent update was attempted.

    + */ + LatestUpdateAttemptAt?: Date; } -export namespace TerminologyDataLocation { - export const filterSensitiveLog = (obj: TerminologyDataLocation): any => ({ +export namespace ParallelDataProperties { + export const filterSensitiveLog = (obj: ParallelDataProperties): any => ({ ...obj, }); } -export enum EncryptionKeyType { - KMS = "KMS", +export interface GetParallelDataResponse { + /** + *

    The properties of the parallel data resource that is being retrieved.

    + */ + ParallelDataProperties?: ParallelDataProperties; + + /** + *

    The location of the most recent parallel data input file that was successfully imported + * into Amazon Translate. The location is returned as a presigned URL that has a 30 minute + * expiration.

    + */ + DataLocation?: ParallelDataDataLocation; + + /** + *

    The Amazon S3 location of a file that provides any errors or warnings that were produced + * by your input file. This file was created when Amazon Translate attempted to create a parallel + * data resource. The location is returned as a presigned URL to that has a 30 minute + * expiration.

    + */ + AuxiliaryDataLocation?: ParallelDataDataLocation; + + /** + *

    The Amazon S3 location of a file that provides any errors or warnings that were produced + * by your input file. This file was created when Amazon Translate attempted to update a parallel + * data resource. The location is returned as a presigned URL to that has a 30 minute + * expiration.

    + */ + LatestUpdateAttemptAuxiliaryDataLocation?: ParallelDataDataLocation; +} + +export namespace GetParallelDataResponse { + export const filterSensitiveLog = (obj: GetParallelDataResponse): any => ({ + ...obj, + }); +} + +export enum TerminologyDataFormat { + CSV = "CSV", + TMX = "TMX", +} + +export interface GetTerminologyRequest { + /** + *

    The name of the custom terminology being retrieved.

    + */ + Name: string | undefined; + + /** + *

    The data format of the custom terminology being retrieved, either CSV or TMX.

    + */ + TerminologyDataFormat: TerminologyDataFormat | string | undefined; +} + +export namespace GetTerminologyRequest { + export const filterSensitiveLog = (obj: GetTerminologyRequest): any => ({ + ...obj, + }); } /** - *

    The encryption key used to encrypt the custom terminologies used by Amazon Translate.

    + *

    The location of the custom terminology data.

    */ -export interface EncryptionKey { +export interface TerminologyDataLocation { /** - *

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt the custom - * terminology.

    + *

    The repository type for the custom terminology data.

    */ - Id: string | undefined; + RepositoryType: string | undefined; /** - *

    The type of encryption key used by Amazon Translate to encrypt custom terminologies.

    + *

    The location of the custom terminology data.

    */ - Type: EncryptionKeyType | string | undefined; + Location: string | undefined; } -export namespace EncryptionKey { - export const filterSensitiveLog = (obj: EncryptionKey): any => ({ +export namespace TerminologyDataLocation { + export const filterSensitiveLog = (obj: TerminologyDataLocation): any => ({ ...obj, }); } @@ -427,36 +792,36 @@ export interface TerminologyProperties { Name?: string; /** - *

    The encryption key for the custom terminology.

    + *

    The description of the custom terminology properties.

    */ - EncryptionKey?: EncryptionKey; + Description?: string; /** - *

    The size of the file used when importing a custom terminology.

    + *

    The Amazon Resource Name (ARN) of the custom terminology.

    */ - SizeBytes?: number; + Arn?: string; /** - *

    The language codes for the target languages available with the custom terminology file. - * All possible target languages are returned in array.

    + *

    The language code for the source text of the translation request for which the custom + * terminology is being used.

    */ - TargetLanguageCodes?: string[]; + SourceLanguageCode?: string; /** - *

    The Amazon Resource Name (ARN) of the custom terminology.

    + *

    The language codes for the target languages available with the custom terminology file. + * All possible target languages are returned in array.

    */ - Arn?: string; + TargetLanguageCodes?: string[]; /** - *

    The language code for the source text of the translation request for which the custom - * terminology is being used.

    + *

    The encryption key for the custom terminology.

    */ - SourceLanguageCode?: string; + EncryptionKey?: EncryptionKey; /** - *

    The time at which the custom terminology was created, based on the timestamp.

    + *

    The size of the file used when importing a custom terminology.

    */ - CreatedAt?: Date; + SizeBytes?: number; /** *

    The number of terms included in the custom terminology.

    @@ -464,9 +829,9 @@ export interface TerminologyProperties { TermCount?: number; /** - *

    The description of the custom terminology properties.

    + *

    The time at which the custom terminology was created, based on the timestamp.

    */ - Description?: string; + CreatedAt?: Date; /** *

    The time at which the custom terminology was last update, based on the timestamp.

    @@ -507,17 +872,17 @@ export enum MergeStrategy { *

    The data associated with the custom terminology.

    */ export interface TerminologyData { - /** - *

    The data format of the custom terminology. Either CSV or TMX.

    - */ - Format: TerminologyDataFormat | string | undefined; - /** *

    The file containing the custom terminology data. Your version of the AWS SDK performs a * Base64-encoding on this field before sending a request to the AWS service. Users of the SDK * should not perform Base64-encoding themselves.

    */ File: Uint8Array | undefined; + + /** + *

    The data format of the custom terminology. Either CSV or TMX.

    + */ + Format: TerminologyDataFormat | string | undefined; } export namespace TerminologyData { @@ -529,14 +894,21 @@ export namespace TerminologyData { export interface ImportTerminologyRequest { /** - *

    The description of the custom terminology being imported.

    + *

    The name of the custom terminology being imported.

    */ - Description?: string; + Name: string | undefined; /** - *

    The name of the custom terminology being imported.

    + *

    The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE + * merge strategy is supported. In this case, the imported terminology will overwrite an existing + * terminology of the same name.

    */ - Name: string | undefined; + MergeStrategy: MergeStrategy | string | undefined; + + /** + *

    The description of the custom terminology being imported.

    + */ + Description?: string; /** *

    The terminology data for the custom terminology being imported.

    @@ -547,13 +919,6 @@ export interface ImportTerminologyRequest { *

    The encryption key for the custom terminology being imported.

    */ EncryptionKey?: EncryptionKey; - - /** - *

    The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE - * merge strategy is supported. In this case, the imported terminology will overwrite an existing - * terminology of the same name.

    - */ - MergeStrategy: MergeStrategy | string | undefined; } export namespace ImportTerminologyRequest { @@ -576,18 +941,39 @@ export namespace ImportTerminologyResponse { }); } -/** - *

    The specified limit has been exceeded. Review your request and retry it with a quantity - * below the stated limit.

    - */ -export interface LimitExceededException extends __SmithyException, $MetadataBearer { - name: "LimitExceededException"; - $fault: "client"; - Message?: string; +export interface ListParallelDataRequest { + /** + *

    A string that specifies the next page of results to return in a paginated response.

    + */ + NextToken?: string; + + /** + *

    The maximum number of parallel data resources returned for each request.

    + */ + MaxResults?: number; } -export namespace LimitExceededException { - export const filterSensitiveLog = (obj: LimitExceededException): any => ({ +export namespace ListParallelDataRequest { + export const filterSensitiveLog = (obj: ListParallelDataRequest): any => ({ + ...obj, + }); +} + +export interface ListParallelDataResponse { + /** + *

    The properties of the parallel data resources returned by this request.

    + */ + ParallelDataPropertiesList?: ParallelDataProperties[]; + + /** + *

    The string to use in a subsequent request to get the next page of results in a paginated + * response. This value is null if there are no additional pages.

    + */ + NextToken?: string; +} + +export namespace ListParallelDataResponse { + export const filterSensitiveLog = (obj: ListParallelDataResponse): any => ({ ...obj, }); } @@ -613,15 +999,15 @@ export namespace ListTerminologiesRequest { export interface ListTerminologiesResponse { /** - *

    If the response to the ListTerminologies was truncated, the NextToken fetches the next - * group of custom terminologies.

    + *

    The properties list of the custom terminologies returned on the list request.

    */ - NextToken?: string; + TerminologyPropertiesList?: TerminologyProperties[]; /** - *

    The properties list of the custom terminologies returned on the list request.

    + *

    If the response to the ListTerminologies was truncated, the NextToken fetches the next + * group of custom terminologies.

    */ - TerminologyPropertiesList?: TerminologyProperties[]; + NextToken?: string; } export namespace ListTerminologiesResponse { @@ -645,34 +1031,11 @@ export namespace InvalidFilterException { }); } -/** - *

    The request that you made is invalid. Check your request to determine why it's invalid - * and then retry the request.

    - */ -export interface InvalidRequestException extends __SmithyException, $MetadataBearer { - name: "InvalidRequestException"; - $fault: "client"; - Message?: string; -} - -export namespace InvalidRequestException { - export const filterSensitiveLog = (obj: InvalidRequestException): any => ({ - ...obj, - }); -} - /** *

    Provides information for filtering a list of translation jobs. For more information, see * ListTextTranslationJobs.

    */ export interface TextTranslationJobFilter { - /** - *

    Filters the list of jobs based on the time that the job was submitted for processing and - * returns only the jobs submitted before the specified time. Jobs are returned in ascending - * order, oldest to newest.

    - */ - SubmittedBeforeTime?: Date; - /** *

    Filters the list of jobs by name.

    */ @@ -683,6 +1046,13 @@ export interface TextTranslationJobFilter { */ JobStatus?: JobStatus | string; + /** + *

    Filters the list of jobs based on the time that the job was submitted for processing and + * returns only the jobs submitted before the specified time. Jobs are returned in ascending + * order, oldest to newest.

    + */ + SubmittedBeforeTime?: Date; + /** *

    Filters the list of jobs based on the time that the job was submitted for processing and * returns only the jobs submitted after the specified time. Jobs are returned in descending @@ -698,17 +1068,17 @@ export namespace TextTranslationJobFilter { } export interface ListTextTranslationJobsRequest { - /** - *

    The token to request the next page of results.

    - */ - NextToken?: string; - /** *

    The parameters that specify which batch translation jobs to retrieve. Filters include job * name, job status, and submission time. You can only set one filter at a time.

    */ Filter?: TextTranslationJobFilter; + /** + *

    The token to request the next page of results.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in each page. The default value is 100.

    */ @@ -723,15 +1093,15 @@ export namespace ListTextTranslationJobsRequest { export interface ListTextTranslationJobsResponse { /** - *

    The token to use to retreive the next page of results. This value is null - * when there are no more results to return.

    + *

    A list containing the properties of each job that is returned.

    */ - NextToken?: string; + TextTranslationJobPropertiesList?: TextTranslationJobProperties[]; /** - *

    A list containing the properties of each job that is returned.

    + *

    The token to use to retreive the next page of results. This value is null + * when there are no more results to return.

    */ - TextTranslationJobPropertiesList?: TextTranslationJobProperties[]; + NextToken?: string; } export namespace ListTextTranslationJobsResponse { @@ -747,10 +1117,10 @@ export interface StartTextTranslationJobRequest { JobName?: string; /** - *

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role - * that grants Amazon Translate read access to your input data. For more nformation, see identity-and-access-management.

    + *

    Specifies the format and S3 location of the input documents for the translation + * job.

    */ - DataAccessRoleArn: string | undefined; + InputDataConfig: InputDataConfig | undefined; /** *

    Specifies the S3 folder to which your job output will be saved. @@ -759,16 +1129,17 @@ export interface StartTextTranslationJobRequest { OutputDataConfig: OutputDataConfig | undefined; /** - *

    Specifies the format and S3 location of the input documents for the translation - * job.

    + *

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role + * that grants Amazon Translate read access to your input data. For more nformation, see identity-and-access-management.

    */ - InputDataConfig: InputDataConfig | undefined; + DataAccessRoleArn: string | undefined; /** - *

    A unique identifier for the request. This token is auto-generated when using the Amazon Translate - * SDK.

    + *

    The language code of the input language. For a list of language codes, see what-is-languages.

    + *

    Amazon Translate does not automatically detect a source language during batch translation + * jobs.

    */ - ClientToken?: string; + SourceLanguageCode: string | undefined; /** *

    The language code of the output language.

    @@ -782,11 +1153,17 @@ export interface StartTextTranslationJobRequest { TerminologyNames?: string[]; /** - *

    The language code of the input language. For a list of language codes, see what-is-languages.

    - *

    Amazon Translate does not automatically detect a source language during batch translation - * jobs.

    + *

    The names of the parallel data resources to use in the batch translation job. For a list + * of available parallel data resources, use the ListParallelData + * operation.

    */ - SourceLanguageCode: string | undefined; + ParallelDataNames?: string[]; + + /** + *

    A unique identifier for the request. This token is auto-generated when using the Amazon Translate + * SDK.

    + */ + ClientToken?: string; } export namespace StartTextTranslationJobRequest { @@ -888,15 +1265,15 @@ export namespace StopTextTranslationJobRequest { export interface StopTextTranslationJobResponse { /** - *

    The status of the designated job. Upon successful completion, the job's status will be - * STOPPED.

    + *

    The job ID of the stopped batch translation job.

    */ - JobStatus?: JobStatus | string; + JobId?: string; /** - *

    The job ID of the stopped batch translation job.

    + *

    The status of the designated job. Upon successful completion, the job's status will be + * STOPPED.

    */ - JobId?: string; + JobStatus?: JobStatus | string; } export namespace StopTextTranslationJobResponse { @@ -973,12 +1350,6 @@ export interface TranslateTextRequest { */ TerminologyNames?: string[]; - /** - *

    The language code requested for the language of the target text. The language must be a - * language supported by Amazon Translate.

    - */ - TargetLanguageCode: string | undefined; - /** *

    The language code for the language of the source text. The language must be a language * supported by Amazon Translate. For a list of language codes, see what-is-languages.

    @@ -988,6 +1359,12 @@ export interface TranslateTextRequest { * Comprehend to determine the source language.

    */ SourceLanguageCode: string | undefined; + + /** + *

    The language code requested for the language of the target text. The language must be a + * language supported by Amazon Translate.

    + */ + TargetLanguageCode: string | undefined; } export namespace TranslateTextRequest { @@ -998,9 +1375,9 @@ export namespace TranslateTextRequest { export interface TranslateTextResponse { /** - *

    The language code for the language of the target text.

    + *

    The translated text.

    */ - TargetLanguageCode: string | undefined; + TranslatedText: string | undefined; /** *

    The language code for the language of the source text.

    @@ -1008,9 +1385,9 @@ export interface TranslateTextResponse { SourceLanguageCode: string | undefined; /** - *

    The translated text.

    + *

    The language code for the language of the target text.

    */ - TranslatedText: string | undefined; + TargetLanguageCode: string | undefined; /** *

    The names of the custom terminologies applied to the input text by Amazon Translate for the @@ -1024,3 +1401,63 @@ export namespace TranslateTextResponse { ...obj, }); } + +export interface UpdateParallelDataRequest { + /** + *

    The name of the parallel data resource being updated.

    + */ + Name: string | undefined; + + /** + *

    A custom description for the parallel data resource in Amazon Translate.

    + */ + Description?: string; + + /** + *

    Specifies the format and S3 location of the parallel data input file.

    + */ + ParallelDataConfig: ParallelDataConfig | undefined; + + /** + *

    A unique identifier for the request. This token is automatically generated when you use + * Amazon Translate through an AWS SDK.

    + */ + ClientToken?: string; +} + +export namespace UpdateParallelDataRequest { + export const filterSensitiveLog = (obj: UpdateParallelDataRequest): any => ({ + ...obj, + }); +} + +export interface UpdateParallelDataResponse { + /** + *

    The name of the parallel data resource being updated.

    + */ + Name?: string; + + /** + *

    The status of the parallel data resource that you are attempting to update. Your update + * request is accepted only if this status is either ACTIVE or + * FAILED.

    + */ + Status?: ParallelDataStatus | string; + + /** + *

    The status of the parallel data update attempt. When the updated parallel data resource is + * ready for you to use, the status is ACTIVE.

    + */ + LatestUpdateAttemptStatus?: ParallelDataStatus | string; + + /** + *

    The time that the most recent update was attempted.

    + */ + LatestUpdateAttemptAt?: Date; +} + +export namespace UpdateParallelDataResponse { + export const filterSensitiveLog = (obj: UpdateParallelDataResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-translate/pagination/ListParallelDataPaginator.ts b/clients/client-translate/pagination/ListParallelDataPaginator.ts new file mode 100644 index 0000000000000..f5c41b9d441cd --- /dev/null +++ b/clients/client-translate/pagination/ListParallelDataPaginator.ts @@ -0,0 +1,57 @@ +import { Translate } from "../Translate"; +import { TranslateClient } from "../TranslateClient"; +import { + ListParallelDataCommand, + ListParallelDataCommandInput, + ListParallelDataCommandOutput, +} from "../commands/ListParallelDataCommand"; +import { TranslatePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: TranslateClient, + input: ListParallelDataCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListParallelDataCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Translate, + input: ListParallelDataCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listParallelData(input, ...args); +}; +export async function* paginateListParallelData( + config: TranslatePaginationConfiguration, + input: ListParallelDataCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListParallelDataCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Translate) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof TranslateClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Translate | TranslateClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-translate/protocols/Aws_json1_1.ts b/clients/client-translate/protocols/Aws_json1_1.ts index 84310376dbae0..98b676a1fba8f 100644 --- a/clients/client-translate/protocols/Aws_json1_1.ts +++ b/clients/client-translate/protocols/Aws_json1_1.ts @@ -1,10 +1,14 @@ +import { CreateParallelDataCommandInput, CreateParallelDataCommandOutput } from "../commands/CreateParallelDataCommand"; +import { DeleteParallelDataCommandInput, DeleteParallelDataCommandOutput } from "../commands/DeleteParallelDataCommand"; import { DeleteTerminologyCommandInput, DeleteTerminologyCommandOutput } from "../commands/DeleteTerminologyCommand"; import { DescribeTextTranslationJobCommandInput, DescribeTextTranslationJobCommandOutput, } from "../commands/DescribeTextTranslationJobCommand"; +import { GetParallelDataCommandInput, GetParallelDataCommandOutput } from "../commands/GetParallelDataCommand"; import { GetTerminologyCommandInput, GetTerminologyCommandOutput } from "../commands/GetTerminologyCommand"; import { ImportTerminologyCommandInput, ImportTerminologyCommandOutput } from "../commands/ImportTerminologyCommand"; +import { ListParallelDataCommandInput, ListParallelDataCommandOutput } from "../commands/ListParallelDataCommand"; import { ListTerminologiesCommandInput, ListTerminologiesCommandOutput } from "../commands/ListTerminologiesCommand"; import { ListTextTranslationJobsCommandInput, @@ -19,13 +23,22 @@ import { StopTextTranslationJobCommandOutput, } from "../commands/StopTextTranslationJobCommand"; import { TranslateTextCommandInput, TranslateTextCommandOutput } from "../commands/TranslateTextCommand"; +import { UpdateParallelDataCommandInput, UpdateParallelDataCommandOutput } from "../commands/UpdateParallelDataCommand"; import { AppliedTerminology, + ConcurrentModificationException, + ConflictException, + CreateParallelDataRequest, + CreateParallelDataResponse, + DeleteParallelDataRequest, + DeleteParallelDataResponse, DeleteTerminologyRequest, DescribeTextTranslationJobRequest, DescribeTextTranslationJobResponse, DetectedLanguageLowConfidenceException, EncryptionKey, + GetParallelDataRequest, + GetParallelDataResponse, GetTerminologyRequest, GetTerminologyResponse, ImportTerminologyRequest, @@ -37,11 +50,16 @@ import { InvalidRequestException, JobDetails, LimitExceededException, + ListParallelDataRequest, + ListParallelDataResponse, ListTerminologiesRequest, ListTerminologiesResponse, ListTextTranslationJobsRequest, ListTextTranslationJobsResponse, OutputDataConfig, + ParallelDataConfig, + ParallelDataDataLocation, + ParallelDataProperties, ResourceNotFoundException, ServiceUnavailableException, StartTextTranslationJobRequest, @@ -59,6 +77,8 @@ import { TranslateTextRequest, TranslateTextResponse, UnsupportedLanguagePairException, + UpdateParallelDataRequest, + UpdateParallelDataResponse, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; @@ -71,6 +91,32 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_json1_1CreateParallelDataCommand = async ( + input: CreateParallelDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSShineFrontendService_20170701.CreateParallelData", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateParallelDataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteParallelDataCommand = async ( + input: DeleteParallelDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSShineFrontendService_20170701.DeleteParallelData", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteParallelDataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteTerminologyCommand = async ( input: DeleteTerminologyCommandInput, context: __SerdeContext @@ -97,6 +143,19 @@ export const serializeAws_json1_1DescribeTextTranslationJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetParallelDataCommand = async ( + input: GetParallelDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSShineFrontendService_20170701.GetParallelData", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetParallelDataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetTerminologyCommand = async ( input: GetTerminologyCommandInput, context: __SerdeContext @@ -123,6 +182,19 @@ export const serializeAws_json1_1ImportTerminologyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListParallelDataCommand = async ( + input: ListParallelDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSShineFrontendService_20170701.ListParallelData", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListParallelDataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListTerminologiesCommand = async ( input: ListTerminologiesCommandInput, context: __SerdeContext @@ -188,6 +260,193 @@ export const serializeAws_json1_1TranslateTextCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateParallelDataCommand = async ( + input: UpdateParallelDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSShineFrontendService_20170701.UpdateParallelData", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateParallelDataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_1CreateParallelDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateParallelDataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateParallelDataResponse(data, context); + const response: CreateParallelDataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateParallelDataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.translate#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.translate#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.translate#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.translate#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.translate#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.translate#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteParallelDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteParallelDataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteParallelDataResponse(data, context); + const response: DeleteParallelDataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteParallelDataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ConcurrentModificationException": + case "com.amazonaws.translate#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.translate#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.translate#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.translate#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DeleteTerminologyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -335,6 +594,85 @@ const deserializeAws_json1_1DescribeTextTranslationJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetParallelDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetParallelDataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetParallelDataResponse(data, context); + const response: GetParallelDataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetParallelDataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.translate#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.translate#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.translate#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.translate#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1GetTerminologyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -493,6 +831,77 @@ const deserializeAws_json1_1ImportTerminologyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListParallelDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListParallelDataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListParallelDataResponse(data, context); + const response: ListParallelDataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListParallelDataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.translate#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.translate#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.translate#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1ListTerminologiesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -801,27 +1210,138 @@ const deserializeAws_json1_1StopTextTranslationJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1TranslateTextCommand = async ( +export const deserializeAws_json1_1TranslateTextCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1TranslateTextCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1TranslateTextResponse(data, context); + const response: TranslateTextCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1TranslateTextCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "DetectedLanguageLowConfidenceException": + case "com.amazonaws.translate#DetectedLanguageLowConfidenceException": + response = { + ...(await deserializeAws_json1_1DetectedLanguageLowConfidenceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.translate#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.translate#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.translate#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.translate#ServiceUnavailableException": + response = { + ...(await deserializeAws_json1_1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TextSizeLimitExceededException": + case "com.amazonaws.translate#TextSizeLimitExceededException": + response = { + ...(await deserializeAws_json1_1TextSizeLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.translate#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedLanguagePairException": + case "com.amazonaws.translate#UnsupportedLanguagePairException": + response = { + ...(await deserializeAws_json1_1UnsupportedLanguagePairExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateParallelDataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1TranslateTextCommandError(output, context); + return deserializeAws_json1_1UpdateParallelDataCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1TranslateTextResponse(data, context); - const response: TranslateTextCommandOutput = { + contents = deserializeAws_json1_1UpdateParallelDataResponse(data, context); + const response: UpdateParallelDataCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1TranslateTextCommandError = async ( +const deserializeAws_json1_1UpdateParallelDataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -831,10 +1351,18 @@ const deserializeAws_json1_1TranslateTextCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "DetectedLanguageLowConfidenceException": - case "com.amazonaws.translate#DetectedLanguageLowConfidenceException": + case "ConcurrentModificationException": + case "com.amazonaws.translate#ConcurrentModificationException": response = { - ...(await deserializeAws_json1_1DetectedLanguageLowConfidenceExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.translate#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -847,34 +1375,34 @@ const deserializeAws_json1_1TranslateTextCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidRequestException": - case "com.amazonaws.translate#InvalidRequestException": + case "InvalidParameterValueException": + case "com.amazonaws.translate#InvalidParameterValueException": response = { - ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.translate#ResourceNotFoundException": + case "InvalidRequestException": + case "com.amazonaws.translate#InvalidRequestException": response = { - ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ServiceUnavailableException": - case "com.amazonaws.translate#ServiceUnavailableException": + case "LimitExceededException": + case "com.amazonaws.translate#LimitExceededException": response = { - ...(await deserializeAws_json1_1ServiceUnavailableExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "TextSizeLimitExceededException": - case "com.amazonaws.translate#TextSizeLimitExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.translate#ResourceNotFoundException": response = { - ...(await deserializeAws_json1_1TextSizeLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -887,14 +1415,6 @@ const deserializeAws_json1_1TranslateTextCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UnsupportedLanguagePairException": - case "com.amazonaws.translate#UnsupportedLanguagePairException": - response = { - ...(await deserializeAws_json1_1UnsupportedLanguagePairExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -912,6 +1432,36 @@ const deserializeAws_json1_1TranslateTextCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_json1_1ConcurrentModificationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ConcurrentModificationException(body, context); + const contents: ConcurrentModificationException = { + name: "ConcurrentModificationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1DetectedLanguageLowConfidenceExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1077,6 +1627,32 @@ const deserializeAws_json1_1UnsupportedLanguagePairExceptionResponse = async ( return contents; }; +const serializeAws_json1_1CreateParallelDataRequest = ( + input: CreateParallelDataRequest, + context: __SerdeContext +): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.EncryptionKey !== undefined && { + EncryptionKey: serializeAws_json1_1EncryptionKey(input.EncryptionKey, context), + }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.ParallelDataConfig !== undefined && { + ParallelDataConfig: serializeAws_json1_1ParallelDataConfig(input.ParallelDataConfig, context), + }), + }; +}; + +const serializeAws_json1_1DeleteParallelDataRequest = ( + input: DeleteParallelDataRequest, + context: __SerdeContext +): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + }; +}; + const serializeAws_json1_1DeleteTerminologyRequest = ( input: DeleteTerminologyRequest, context: __SerdeContext @@ -1102,6 +1678,12 @@ const serializeAws_json1_1EncryptionKey = (input: EncryptionKey, context: __Serd }; }; +const serializeAws_json1_1GetParallelDataRequest = (input: GetParallelDataRequest, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + }; +}; + const serializeAws_json1_1GetTerminologyRequest = (input: GetTerminologyRequest, context: __SerdeContext): any => { return { ...(input.Name !== undefined && { Name: input.Name }), @@ -1133,6 +1715,13 @@ const serializeAws_json1_1InputDataConfig = (input: InputDataConfig, context: __ }; }; +const serializeAws_json1_1ListParallelDataRequest = (input: ListParallelDataRequest, context: __SerdeContext): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListTerminologiesRequest = ( input: ListTerminologiesRequest, context: __SerdeContext @@ -1160,6 +1749,13 @@ const serializeAws_json1_1OutputDataConfig = (input: OutputDataConfig, context: }; }; +const serializeAws_json1_1ParallelDataConfig = (input: ParallelDataConfig, context: __SerdeContext): any => { + return { + ...(input.Format !== undefined && { Format: input.Format }), + ...(input.S3Uri !== undefined && { S3Uri: input.S3Uri }), + }; +}; + const serializeAws_json1_1ResourceNameList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -1178,6 +1774,9 @@ const serializeAws_json1_1StartTextTranslationJobRequest = ( ...(input.OutputDataConfig !== undefined && { OutputDataConfig: serializeAws_json1_1OutputDataConfig(input.OutputDataConfig, context), }), + ...(input.ParallelDataNames !== undefined && { + ParallelDataNames: serializeAws_json1_1ResourceNameList(input.ParallelDataNames, context), + }), ...(input.SourceLanguageCode !== undefined && { SourceLanguageCode: input.SourceLanguageCode }), ...(input.TargetLanguageCodes !== undefined && { TargetLanguageCodes: serializeAws_json1_1TargetLanguageCodeStringList(input.TargetLanguageCodes, context), @@ -1235,6 +1834,20 @@ const serializeAws_json1_1TranslateTextRequest = (input: TranslateTextRequest, c }; }; +const serializeAws_json1_1UpdateParallelDataRequest = ( + input: UpdateParallelDataRequest, + context: __SerdeContext +): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.ParallelDataConfig !== undefined && { + ParallelDataConfig: serializeAws_json1_1ParallelDataConfig(input.ParallelDataConfig, context), + }), + }; +}; + const deserializeAws_json1_1AppliedTerminology = (output: any, context: __SerdeContext): AppliedTerminology => { return { Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, @@ -1249,6 +1862,41 @@ const deserializeAws_json1_1AppliedTerminologyList = (output: any, context: __Se return (output || []).map((entry: any) => deserializeAws_json1_1AppliedTerminology(entry, context)); }; +const deserializeAws_json1_1ConcurrentModificationException = ( + output: any, + context: __SerdeContext +): ConcurrentModificationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateParallelDataResponse = ( + output: any, + context: __SerdeContext +): CreateParallelDataResponse => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteParallelDataResponse = ( + output: any, + context: __SerdeContext +): DeleteParallelDataResponse => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeTextTranslationJobResponse = ( output: any, context: __SerdeContext @@ -1281,6 +1929,31 @@ const deserializeAws_json1_1EncryptionKey = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1GetParallelDataResponse = ( + output: any, + context: __SerdeContext +): GetParallelDataResponse => { + return { + AuxiliaryDataLocation: + output.AuxiliaryDataLocation !== undefined && output.AuxiliaryDataLocation !== null + ? deserializeAws_json1_1ParallelDataDataLocation(output.AuxiliaryDataLocation, context) + : undefined, + DataLocation: + output.DataLocation !== undefined && output.DataLocation !== null + ? deserializeAws_json1_1ParallelDataDataLocation(output.DataLocation, context) + : undefined, + LatestUpdateAttemptAuxiliaryDataLocation: + output.LatestUpdateAttemptAuxiliaryDataLocation !== undefined && + output.LatestUpdateAttemptAuxiliaryDataLocation !== null + ? deserializeAws_json1_1ParallelDataDataLocation(output.LatestUpdateAttemptAuxiliaryDataLocation, context) + : undefined, + ParallelDataProperties: + output.ParallelDataProperties !== undefined && output.ParallelDataProperties !== null + ? deserializeAws_json1_1ParallelDataProperties(output.ParallelDataProperties, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetTerminologyResponse = (output: any, context: __SerdeContext): GetTerminologyResponse => { return { TerminologyDataLocation: @@ -1373,6 +2046,19 @@ const deserializeAws_json1_1LimitExceededException = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1ListParallelDataResponse = ( + output: any, + context: __SerdeContext +): ListParallelDataResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + ParallelDataPropertiesList: + output.ParallelDataPropertiesList !== undefined && output.ParallelDataPropertiesList !== null + ? deserializeAws_json1_1ParallelDataPropertiesList(output.ParallelDataPropertiesList, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListTerminologiesResponse = ( output: any, context: __SerdeContext @@ -1405,6 +2091,87 @@ const deserializeAws_json1_1OutputDataConfig = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_json1_1ParallelDataConfig = (output: any, context: __SerdeContext): ParallelDataConfig => { + return { + Format: output.Format !== undefined && output.Format !== null ? output.Format : undefined, + S3Uri: output.S3Uri !== undefined && output.S3Uri !== null ? output.S3Uri : undefined, + } as any; +}; + +const deserializeAws_json1_1ParallelDataDataLocation = ( + output: any, + context: __SerdeContext +): ParallelDataDataLocation => { + return { + Location: output.Location !== undefined && output.Location !== null ? output.Location : undefined, + RepositoryType: + output.RepositoryType !== undefined && output.RepositoryType !== null ? output.RepositoryType : undefined, + } as any; +}; + +const deserializeAws_json1_1ParallelDataProperties = (output: any, context: __SerdeContext): ParallelDataProperties => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? new Date(Math.round(output.CreatedAt * 1000)) + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + EncryptionKey: + output.EncryptionKey !== undefined && output.EncryptionKey !== null + ? deserializeAws_json1_1EncryptionKey(output.EncryptionKey, context) + : undefined, + FailedRecordCount: + output.FailedRecordCount !== undefined && output.FailedRecordCount !== null + ? output.FailedRecordCount + : undefined, + ImportedDataSize: + output.ImportedDataSize !== undefined && output.ImportedDataSize !== null ? output.ImportedDataSize : undefined, + ImportedRecordCount: + output.ImportedRecordCount !== undefined && output.ImportedRecordCount !== null + ? output.ImportedRecordCount + : undefined, + LastUpdatedAt: + output.LastUpdatedAt !== undefined && output.LastUpdatedAt !== null + ? new Date(Math.round(output.LastUpdatedAt * 1000)) + : undefined, + LatestUpdateAttemptAt: + output.LatestUpdateAttemptAt !== undefined && output.LatestUpdateAttemptAt !== null + ? new Date(Math.round(output.LatestUpdateAttemptAt * 1000)) + : undefined, + LatestUpdateAttemptStatus: + output.LatestUpdateAttemptStatus !== undefined && output.LatestUpdateAttemptStatus !== null + ? output.LatestUpdateAttemptStatus + : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + ParallelDataConfig: + output.ParallelDataConfig !== undefined && output.ParallelDataConfig !== null + ? deserializeAws_json1_1ParallelDataConfig(output.ParallelDataConfig, context) + : undefined, + SkippedRecordCount: + output.SkippedRecordCount !== undefined && output.SkippedRecordCount !== null + ? output.SkippedRecordCount + : undefined, + SourceLanguageCode: + output.SourceLanguageCode !== undefined && output.SourceLanguageCode !== null + ? output.SourceLanguageCode + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + TargetLanguageCodes: + output.TargetLanguageCodes !== undefined && output.TargetLanguageCodes !== null + ? deserializeAws_json1_1LanguageCodeStringList(output.TargetLanguageCodes, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ParallelDataPropertiesList = ( + output: any, + context: __SerdeContext +): ParallelDataProperties[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ParallelDataProperties(entry, context)); +}; + const deserializeAws_json1_1ResourceNameList = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -1546,6 +2313,10 @@ const deserializeAws_json1_1TextTranslationJobProperties = ( output.OutputDataConfig !== undefined && output.OutputDataConfig !== null ? deserializeAws_json1_1OutputDataConfig(output.OutputDataConfig, context) : undefined, + ParallelDataNames: + output.ParallelDataNames !== undefined && output.ParallelDataNames !== null + ? deserializeAws_json1_1ResourceNameList(output.ParallelDataNames, context) + : undefined, SourceLanguageCode: output.SourceLanguageCode !== undefined && output.SourceLanguageCode !== null ? output.SourceLanguageCode @@ -1617,6 +2388,24 @@ const deserializeAws_json1_1UnsupportedLanguagePairException = ( } as any; }; +const deserializeAws_json1_1UpdateParallelDataResponse = ( + output: any, + context: __SerdeContext +): UpdateParallelDataResponse => { + return { + LatestUpdateAttemptAt: + output.LatestUpdateAttemptAt !== undefined && output.LatestUpdateAttemptAt !== null + ? new Date(Math.round(output.LatestUpdateAttemptAt * 1000)) + : undefined, + LatestUpdateAttemptStatus: + output.LatestUpdateAttemptStatus !== undefined && output.LatestUpdateAttemptStatus !== null + ? output.LatestUpdateAttemptStatus + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json b/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json index 3bd129e4fd156..cfd708e208cf0 100644 --- a/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json +++ b/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json @@ -312,28 +312,28 @@ "com.amazonaws.appflow#ConnectorConfiguration": { "type": "structure", "members": { - "isPrivateLinkEndpointUrlRequired": { + "canUseAsSource": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \nSpecifies if a PrivateLink endpoint URL is required.\n

    " + "smithy.api#documentation": "

    \n Specifies whether the connector can be used as a source.\n

    " } }, - "supportedSchedulingFrequencies": { - "target": "com.amazonaws.appflow#SchedulingFrequencyTypeList", + "canUseAsDestination": { + "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \n Specifies the supported flow frequency for that connector.\n

    " + "smithy.api#documentation": "

    \nSpecifies whether the connector can be used as a destination.\n

    " } }, - "supportedTriggerTypes": { - "target": "com.amazonaws.appflow#TriggerTypeList", + "supportedDestinationConnectors": { + "target": "com.amazonaws.appflow#ConnectorTypeList", "traits": { - "smithy.api#documentation": "

    \nSpecifies the supported trigger types for the flow. \n

    " + "smithy.api#documentation": "

    \nLists the connectors that are available for use as destinations.\n

    " } }, - "canUseAsDestination": { - "target": "com.amazonaws.appflow#Boolean", + "supportedSchedulingFrequencies": { + "target": "com.amazonaws.appflow#SchedulingFrequencyTypeList", "traits": { - "smithy.api#documentation": "

    \nSpecifies whether the connector can be used as a destination.\n

    " + "smithy.api#documentation": "

    \n Specifies the supported flow frequency for that connector.\n

    " } }, "isPrivateLinkEnabled": { @@ -342,22 +342,22 @@ "smithy.api#documentation": "

    \nSpecifies if PrivateLink is enabled for that connector.\n

    " } }, - "canUseAsSource": { + "isPrivateLinkEndpointUrlRequired": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \n Specifies whether the connector can be used as a source.\n

    " + "smithy.api#documentation": "

    \nSpecifies if a PrivateLink endpoint URL is required.\n

    " } }, - "connectorMetadata": { - "target": "com.amazonaws.appflow#ConnectorMetadata", + "supportedTriggerTypes": { + "target": "com.amazonaws.appflow#TriggerTypeList", "traits": { - "smithy.api#documentation": "

    \nSpecifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on.\n

    " + "smithy.api#documentation": "

    \nSpecifies the supported trigger types for the flow. \n

    " } }, - "supportedDestinationConnectors": { - "target": "com.amazonaws.appflow#ConnectorTypeList", + "connectorMetadata": { + "target": "com.amazonaws.appflow#ConnectorMetadata", "traits": { - "smithy.api#documentation": "

    \nLists the connectors that are available for use as destinations.\n

    " + "smithy.api#documentation": "

    \nSpecifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on.\n

    " } } }, @@ -377,6 +377,13 @@ "com.amazonaws.appflow#ConnectorEntity": { "type": "structure", "members": { + "name": { + "target": "com.amazonaws.appflow#Name", + "traits": { + "smithy.api#documentation": "

    \nThe name of the connector entity.\n

    ", + "smithy.api#required": {} + } + }, "label": { "target": "com.amazonaws.appflow#Label", "traits": { @@ -388,13 +395,6 @@ "traits": { "smithy.api#documentation": "

    \nSpecifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = \"the_current_entity_name_with_hasNestedEntities_true\", then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion.\n

    " } - }, - "name": { - "target": "com.amazonaws.appflow#Name", - "traits": { - "smithy.api#documentation": "

    \nThe name of the connector entity.\n

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -404,16 +404,11 @@ "com.amazonaws.appflow#ConnectorEntityField": { "type": "structure", "members": { - "description": { - "target": "com.amazonaws.appflow#Description", - "traits": { - "smithy.api#documentation": "

    \n A description of the connector entity field.\n

    " - } - }, - "supportedFieldTypeDetails": { - "target": "com.amazonaws.appflow#SupportedFieldTypeDetails", + "identifier": { + "target": "com.amazonaws.appflow#Identifier", "traits": { - "smithy.api#documentation": "

    \n Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues.\n

    " + "smithy.api#documentation": "

    \nThe unique identifier of the connector field.\n

    ", + "smithy.api#required": {} } }, "label": { @@ -422,17 +417,16 @@ "smithy.api#documentation": "

    \nThe label applied to a connector entity field.\n

    " } }, - "destinationProperties": { - "target": "com.amazonaws.appflow#DestinationFieldProperties", + "supportedFieldTypeDetails": { + "target": "com.amazonaws.appflow#SupportedFieldTypeDetails", "traits": { - "smithy.api#documentation": "

    \n The properties applied to a field when the connector is being used as a destination.\n

    " + "smithy.api#documentation": "

    \n Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues.\n

    " } }, - "identifier": { - "target": "com.amazonaws.appflow#Identifier", + "description": { + "target": "com.amazonaws.appflow#Description", "traits": { - "smithy.api#documentation": "

    \nThe unique identifier of the connector field.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n A description of the connector entity field.\n

    " } }, "sourceProperties": { @@ -440,6 +434,12 @@ "traits": { "smithy.api#documentation": "

    \n The properties that can be applied to a field when the connector is being used as a source.\n

    " } + }, + "destinationProperties": { + "target": "com.amazonaws.appflow#DestinationFieldProperties", + "traits": { + "smithy.api#documentation": "

    \n The properties applied to a field when the connector is being used as a destination.\n

    " + } } }, "traits": { @@ -470,106 +470,112 @@ "com.amazonaws.appflow#ConnectorMetadata": { "type": "structure", "members": { - "Redshift": { - "target": "com.amazonaws.appflow#RedshiftMetadata", + "Amplitude": { + "target": "com.amazonaws.appflow#AmplitudeMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Amazon Redshift.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Amplitude.\n

    " } }, - "Marketo": { - "target": "com.amazonaws.appflow#MarketoMetadata", + "Datadog": { + "target": "com.amazonaws.appflow#DatadogMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Marketo.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Datadog.\n

    " } }, - "InforNexus": { - "target": "com.amazonaws.appflow#InforNexusMetadata", + "Dynatrace": { + "target": "com.amazonaws.appflow#DynatraceMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Infor Nexus.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Dynatrace.\n

    " } }, - "Zendesk": { - "target": "com.amazonaws.appflow#ZendeskMetadata", + "GoogleAnalytics": { + "target": "com.amazonaws.appflow#GoogleAnalyticsMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Zendesk.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Google Analytics.\n

    " } }, - "Dynatrace": { - "target": "com.amazonaws.appflow#DynatraceMetadata", + "InforNexus": { + "target": "com.amazonaws.appflow#InforNexusMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Dynatrace.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Infor Nexus.\n

    " } }, - "Snowflake": { - "target": "com.amazonaws.appflow#SnowflakeMetadata", + "Marketo": { + "target": "com.amazonaws.appflow#MarketoMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Snowflake.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Marketo.\n

    " } }, - "Trendmicro": { - "target": "com.amazonaws.appflow#TrendmicroMetadata", + "Redshift": { + "target": "com.amazonaws.appflow#RedshiftMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Trend Micro.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Amazon Redshift.\n

    " } }, - "EventBridge": { - "target": "com.amazonaws.appflow#EventBridgeMetadata", + "S3": { + "target": "com.amazonaws.appflow#S3Metadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Amazon EventBridge.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Amazon S3.\n

    " } }, - "Slack": { - "target": "com.amazonaws.appflow#SlackMetadata", + "Salesforce": { + "target": "com.amazonaws.appflow#SalesforceMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Slack.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Salesforce.\n

    " } }, - "Veeva": { - "target": "com.amazonaws.appflow#VeevaMetadata", + "ServiceNow": { + "target": "com.amazonaws.appflow#ServiceNowMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Veeva.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to ServiceNow.\n

    " } }, - "Datadog": { - "target": "com.amazonaws.appflow#DatadogMetadata", + "Singular": { + "target": "com.amazonaws.appflow#SingularMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Datadog.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Singular.\n

    " } }, - "GoogleAnalytics": { - "target": "com.amazonaws.appflow#GoogleAnalyticsMetadata", + "Slack": { + "target": "com.amazonaws.appflow#SlackMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Google Analytics.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Slack.\n

    " } }, - "ServiceNow": { - "target": "com.amazonaws.appflow#ServiceNowMetadata", + "Snowflake": { + "target": "com.amazonaws.appflow#SnowflakeMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to ServiceNow.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Snowflake.\n

    " } }, - "Amplitude": { - "target": "com.amazonaws.appflow#AmplitudeMetadata", + "Trendmicro": { + "target": "com.amazonaws.appflow#TrendmicroMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Amplitude.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Trend Micro.\n

    " } }, - "Salesforce": { - "target": "com.amazonaws.appflow#SalesforceMetadata", + "Veeva": { + "target": "com.amazonaws.appflow#VeevaMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Salesforce.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Veeva.\n

    " } }, - "Singular": { - "target": "com.amazonaws.appflow#SingularMetadata", + "Zendesk": { + "target": "com.amazonaws.appflow#ZendeskMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Singular.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Zendesk.\n

    " } }, - "S3": { - "target": "com.amazonaws.appflow#S3Metadata", + "EventBridge": { + "target": "com.amazonaws.appflow#EventBridgeMetadata", "traits": { - "smithy.api#documentation": "

    \n The connector metadata specific to Amazon S3.\n

    " + "smithy.api#documentation": "

    \n The connector metadata specific to Amazon EventBridge.\n

    " + } + }, + "Upsolver": { + "target": "com.amazonaws.appflow#UpsolverMetadata", + "traits": { + "smithy.api#documentation": "

    \n The connector metadata specific to Upsolver.\n

    " } } }, @@ -580,17 +586,17 @@ "com.amazonaws.appflow#ConnectorOAuthRequest": { "type": "structure", "members": { - "redirectUri": { - "target": "com.amazonaws.appflow#RedirectUri", - "traits": { - "smithy.api#documentation": "

    \n The URL to which the authentication server redirects the browser after authorization has been granted.\n

    " - } - }, "authCode": { "target": "com.amazonaws.appflow#AuthCode", "traits": { "smithy.api#documentation": "

    \n The code provided by the connector when it has been authenticated via the connected app.\n

    " } + }, + "redirectUri": { + "target": "com.amazonaws.appflow#RedirectUri", + "traits": { + "smithy.api#documentation": "

    \n The URL to which the authentication server redirects the browser after authorization has been granted.\n

    " + } } }, "traits": { @@ -600,16 +606,10 @@ "com.amazonaws.appflow#ConnectorOperator": { "type": "structure", "members": { - "Zendesk": { - "target": "com.amazonaws.appflow#ZendeskConnectorOperator", - "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Zendesk source fields.\n

    " - } - }, - "Marketo": { - "target": "com.amazonaws.appflow#MarketoConnectorOperator", + "Amplitude": { + "target": "com.amazonaws.appflow#AmplitudeConnectorOperator", "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Marketo source fields.\n

    " + "smithy.api#documentation": "

    \n The operation to be performed on the provided Amplitude source fields.\n

    " } }, "Datadog": { @@ -618,40 +618,28 @@ "smithy.api#documentation": "

    \n The operation to be performed on the provided Datadog source fields.\n

    " } }, - "Veeva": { - "target": "com.amazonaws.appflow#VeevaConnectorOperator", - "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Veeva source fields.\n

    " - } - }, "Dynatrace": { "target": "com.amazonaws.appflow#DynatraceConnectorOperator", "traits": { "smithy.api#documentation": "

    \n The operation to be performed on the provided Dynatrace source fields.\n

    " } }, - "ServiceNow": { - "target": "com.amazonaws.appflow#ServiceNowConnectorOperator", - "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided ServiceNow source fields.\n

    " - } - }, - "Salesforce": { - "target": "com.amazonaws.appflow#SalesforceConnectorOperator", + "GoogleAnalytics": { + "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorOperator", "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Salesforce source fields.\n

    " + "smithy.api#documentation": "

    \n The operation to be performed on the provided Google Analytics source fields.\n

    " } }, - "Amplitude": { - "target": "com.amazonaws.appflow#AmplitudeConnectorOperator", + "InforNexus": { + "target": "com.amazonaws.appflow#InforNexusConnectorOperator", "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Amplitude source fields.\n

    " + "smithy.api#documentation": "

    \n The operation to be performed on the provided Infor Nexus source fields.\n

    " } }, - "Singular": { - "target": "com.amazonaws.appflow#SingularConnectorOperator", + "Marketo": { + "target": "com.amazonaws.appflow#MarketoConnectorOperator", "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Singular source fields.\n

    " + "smithy.api#documentation": "

    \n The operation to be performed on the provided Marketo source fields.\n

    " } }, "S3": { @@ -660,16 +648,22 @@ "smithy.api#documentation": "

    \n The operation to be performed on the provided Amazon S3 source fields.\n

    " } }, - "InforNexus": { - "target": "com.amazonaws.appflow#InforNexusConnectorOperator", + "Salesforce": { + "target": "com.amazonaws.appflow#SalesforceConnectorOperator", "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Infor Nexus source fields.\n

    " + "smithy.api#documentation": "

    \n The operation to be performed on the provided Salesforce source fields.\n

    " } }, - "GoogleAnalytics": { - "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorOperator", + "ServiceNow": { + "target": "com.amazonaws.appflow#ServiceNowConnectorOperator", "traits": { - "smithy.api#documentation": "

    \n The operation to be performed on the provided Google Analytics source fields.\n

    " + "smithy.api#documentation": "

    \n The operation to be performed on the provided ServiceNow source fields.\n

    " + } + }, + "Singular": { + "target": "com.amazonaws.appflow#SingularConnectorOperator", + "traits": { + "smithy.api#documentation": "

    \n The operation to be performed on the provided Singular source fields.\n

    " } }, "Slack": { @@ -683,6 +677,18 @@ "traits": { "smithy.api#documentation": "

    \n The operation to be performed on the provided Trend Micro source fields.\n

    " } + }, + "Veeva": { + "target": "com.amazonaws.appflow#VeevaConnectorOperator", + "traits": { + "smithy.api#documentation": "

    \n The operation to be performed on the provided Veeva source fields.\n

    " + } + }, + "Zendesk": { + "target": "com.amazonaws.appflow#ZendeskConnectorOperator", + "traits": { + "smithy.api#documentation": "

    \n The operation to be performed on the provided Zendesk source fields.\n

    " + } } }, "traits": { @@ -692,40 +698,40 @@ "com.amazonaws.appflow#ConnectorProfile": { "type": "structure", "members": { - "connectorProfileProperties": { - "target": "com.amazonaws.appflow#ConnectorProfileProperties", - "traits": { - "smithy.api#documentation": "

    \nThe connector-specific properties of the profile configuration.\n

    " - } - }, "connectorProfileArn": { "target": "com.amazonaws.appflow#ConnectorProfileArn", "traits": { "smithy.api#documentation": "

    \nThe Amazon Resource Name (ARN) of the connector profile.\n

    " } }, + "connectorProfileName": { + "target": "com.amazonaws.appflow#ConnectorProfileName", + "traits": { + "smithy.api#documentation": "

    \n The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account.\n

    " + } + }, "connectorType": { "target": "com.amazonaws.appflow#ConnectorType", "traits": { "smithy.api#documentation": "

    \n The type of connector, such as Salesforce, Amplitude, and so on.\n

    " } }, - "credentialsArn": { - "target": "com.amazonaws.appflow#ARN", + "connectionMode": { + "target": "com.amazonaws.appflow#ConnectionMode", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the connector profile credentials.\n

    " + "smithy.api#documentation": "

    \n Indicates the connection mode and if it is public or private.\n

    " } }, - "connectorProfileName": { - "target": "com.amazonaws.appflow#ConnectorProfileName", + "credentialsArn": { + "target": "com.amazonaws.appflow#ARN", "traits": { - "smithy.api#documentation": "

    \n The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account.\n

    " + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the connector profile credentials.\n

    " } }, - "connectionMode": { - "target": "com.amazonaws.appflow#ConnectionMode", + "connectorProfileProperties": { + "target": "com.amazonaws.appflow#ConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n Indicates the connection mode and if it is public or private.\n

    " + "smithy.api#documentation": "

    \nThe connector-specific properties of the profile configuration.\n

    " } }, "createdAt": { @@ -774,34 +780,22 @@ } }, "traits": { - "smithy.api#documentation": "

    \n Defines the connector-specific configuration and credentials for the connector profile.\n

    " - } - }, - "com.amazonaws.appflow#ConnectorProfileCredentials": { - "type": "structure", - "members": { - "ServiceNow": { - "target": "com.amazonaws.appflow#ServiceNowConnectorProfileCredentials", - "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using ServiceNow.\n

    " - } - }, - "Salesforce": { - "target": "com.amazonaws.appflow#SalesforceConnectorProfileCredentials", - "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Salesforce.\n

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

    \n Defines the connector-specific configuration and credentials for the connector profile.\n

    " + } + }, + "com.amazonaws.appflow#ConnectorProfileCredentials": { + "type": "structure", + "members": { "Amplitude": { "target": "com.amazonaws.appflow#AmplitudeConnectorProfileCredentials", "traits": { "smithy.api#documentation": "

    \n The connector-specific credentials required when using Amplitude.\n

    " } }, - "Trendmicro": { - "target": "com.amazonaws.appflow#TrendmicroConnectorProfileCredentials", + "Datadog": { + "target": "com.amazonaws.appflow#DatadogConnectorProfileCredentials", "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Trend Micro.\n

    " + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Datadog.\n

    " } }, "Dynatrace": { @@ -810,28 +804,22 @@ "smithy.api#documentation": "

    \n The connector-specific credentials required when using Dynatrace.\n

    " } }, - "Zendesk": { - "target": "com.amazonaws.appflow#ZendeskConnectorProfileCredentials", - "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Zendesk.\n

    " - } - }, "GoogleAnalytics": { "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileCredentials", "traits": { "smithy.api#documentation": "

    \n The connector-specific credentials required when using Google Analytics.\n

    " } }, - "Singular": { - "target": "com.amazonaws.appflow#SingularConnectorProfileCredentials", + "InforNexus": { + "target": "com.amazonaws.appflow#InforNexusConnectorProfileCredentials", "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Singular.\n

    " + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Infor Nexus.\n

    " } }, - "Snowflake": { - "target": "com.amazonaws.appflow#SnowflakeConnectorProfileCredentials", + "Marketo": { + "target": "com.amazonaws.appflow#MarketoConnectorProfileCredentials", "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Snowflake.\n

    " + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Marketo.\n

    " } }, "Redshift": { @@ -840,10 +828,22 @@ "smithy.api#documentation": "

    \n The connector-specific credentials required when using Amazon Redshift.\n

    " } }, - "InforNexus": { - "target": "com.amazonaws.appflow#InforNexusConnectorProfileCredentials", + "Salesforce": { + "target": "com.amazonaws.appflow#SalesforceConnectorProfileCredentials", "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Infor Nexus.\n

    " + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Salesforce.\n

    " + } + }, + "ServiceNow": { + "target": "com.amazonaws.appflow#ServiceNowConnectorProfileCredentials", + "traits": { + "smithy.api#documentation": "

    \n The connector-specific credentials required when using ServiceNow.\n

    " + } + }, + "Singular": { + "target": "com.amazonaws.appflow#SingularConnectorProfileCredentials", + "traits": { + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Singular.\n

    " } }, "Slack": { @@ -852,16 +852,16 @@ "smithy.api#documentation": "

    \n The connector-specific credentials required when using Slack.\n

    " } }, - "Marketo": { - "target": "com.amazonaws.appflow#MarketoConnectorProfileCredentials", + "Snowflake": { + "target": "com.amazonaws.appflow#SnowflakeConnectorProfileCredentials", "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Marketo.\n

    " + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Snowflake.\n

    " } }, - "Datadog": { - "target": "com.amazonaws.appflow#DatadogConnectorProfileCredentials", + "Trendmicro": { + "target": "com.amazonaws.appflow#TrendmicroConnectorProfileCredentials", "traits": { - "smithy.api#documentation": "

    \n The connector-specific credentials required when using Datadog.\n

    " + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Trend Micro.\n

    " } }, "Veeva": { @@ -869,6 +869,12 @@ "traits": { "smithy.api#documentation": "

    \n The connector-specific credentials required when using Veeva.\n

    " } + }, + "Zendesk": { + "target": "com.amazonaws.appflow#ZendeskConnectorProfileCredentials", + "traits": { + "smithy.api#documentation": "

    \n The connector-specific credentials required when using Zendesk.\n

    " + } } }, "traits": { @@ -906,34 +912,40 @@ "com.amazonaws.appflow#ConnectorProfileProperties": { "type": "structure", "members": { - "Slack": { - "target": "com.amazonaws.appflow#SlackConnectorProfileProperties", + "Amplitude": { + "target": "com.amazonaws.appflow#AmplitudeConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Slack.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Amplitude.\n

    " } }, - "Snowflake": { - "target": "com.amazonaws.appflow#SnowflakeConnectorProfileProperties", + "Datadog": { + "target": "com.amazonaws.appflow#DatadogConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \nThe connector-specific properties required by Snowflake.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Datadog.\n

    " } }, - "Veeva": { - "target": "com.amazonaws.appflow#VeevaConnectorProfileProperties", + "Dynatrace": { + "target": "com.amazonaws.appflow#DynatraceConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Veeva.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Dynatrace.\n

    " } }, - "Marketo": { - "target": "com.amazonaws.appflow#MarketoConnectorProfileProperties", + "GoogleAnalytics": { + "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Marketo.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required Google Analytics.\n

    " } }, - "Datadog": { - "target": "com.amazonaws.appflow#DatadogConnectorProfileProperties", + "InforNexus": { + "target": "com.amazonaws.appflow#InforNexusConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Datadog.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Infor Nexus.\n

    " + } + }, + "Marketo": { + "target": "com.amazonaws.appflow#MarketoConnectorProfileProperties", + "traits": { + "smithy.api#documentation": "

    \n The connector-specific properties required by Marketo.\n

    " } }, "Redshift": { @@ -942,10 +954,10 @@ "smithy.api#documentation": "

    \n The connector-specific properties required by Amazon Redshift.\n

    " } }, - "Trendmicro": { - "target": "com.amazonaws.appflow#TrendmicroConnectorProfileProperties", + "Salesforce": { + "target": "com.amazonaws.appflow#SalesforceConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Trend Micro.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Salesforce.\n

    " } }, "ServiceNow": { @@ -954,46 +966,40 @@ "smithy.api#documentation": "

    \n The connector-specific properties required by serviceNow.\n

    " } }, - "Amplitude": { - "target": "com.amazonaws.appflow#AmplitudeConnectorProfileProperties", - "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Amplitude.\n

    " - } - }, - "GoogleAnalytics": { - "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileProperties", + "Singular": { + "target": "com.amazonaws.appflow#SingularConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required Google Analytics.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Singular.\n

    " } }, - "InforNexus": { - "target": "com.amazonaws.appflow#InforNexusConnectorProfileProperties", + "Slack": { + "target": "com.amazonaws.appflow#SlackConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Infor Nexus.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Slack.\n

    " } }, - "Zendesk": { - "target": "com.amazonaws.appflow#ZendeskConnectorProfileProperties", + "Snowflake": { + "target": "com.amazonaws.appflow#SnowflakeConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Zendesk.\n

    " + "smithy.api#documentation": "

    \nThe connector-specific properties required by Snowflake.\n

    " } }, - "Singular": { - "target": "com.amazonaws.appflow#SingularConnectorProfileProperties", + "Trendmicro": { + "target": "com.amazonaws.appflow#TrendmicroConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Singular.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Trend Micro.\n

    " } }, - "Dynatrace": { - "target": "com.amazonaws.appflow#DynatraceConnectorProfileProperties", + "Veeva": { + "target": "com.amazonaws.appflow#VeevaConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Dynatrace.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Veeva.\n

    " } }, - "Salesforce": { - "target": "com.amazonaws.appflow#SalesforceConnectorProfileProperties", + "Zendesk": { + "target": "com.amazonaws.appflow#ZendeskConnectorProfileProperties", "traits": { - "smithy.api#documentation": "

    \n The connector-specific properties required by Salesforce.\n

    " + "smithy.api#documentation": "

    \n The connector-specific properties required by Zendesk.\n

    " } } }, @@ -1085,6 +1091,10 @@ { "value": "EventBridge", "name": "EVENTBRIDGE" + }, + { + "value": "Upsolver", + "name": "UPSOLVER" } ] } @@ -1145,6 +1155,12 @@ "smithy.api#required": {} } }, + "kmsArn": { + "target": "com.amazonaws.appflow#KMSArn", + "traits": { + "smithy.api#documentation": "

    \n The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n

    " + } + }, "connectorType": { "target": "com.amazonaws.appflow#ConnectorType", "traits": { @@ -1152,23 +1168,17 @@ "smithy.api#required": {} } }, - "connectorProfileConfig": { - "target": "com.amazonaws.appflow#ConnectorProfileConfig", + "connectionMode": { + "target": "com.amazonaws.appflow#ConnectionMode", "traits": { - "smithy.api#documentation": "

    \nDefines the connector-specific configuration and credentials.\n

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

    \n Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet.\n

    ", "smithy.api#required": {} } }, - "kmsArn": { - "target": "com.amazonaws.appflow#KMSArn", - "traits": { - "smithy.api#documentation": "

    \n The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n

    " - } - }, - "connectionMode": { - "target": "com.amazonaws.appflow#ConnectionMode", + "connectorProfileConfig": { + "target": "com.amazonaws.appflow#ConnectorProfileConfig", "traits": { - "smithy.api#documentation": "

    \n Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet.\n

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

    \nDefines the connector-specific configuration and credentials.\n

    ", "smithy.api#required": {} } } @@ -1228,16 +1238,29 @@ "com.amazonaws.appflow#CreateFlowRequest": { "type": "structure", "members": { + "flowName": { + "target": "com.amazonaws.appflow#FlowName", + "traits": { + "smithy.api#documentation": "

    \nThe specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.\n

    ", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.appflow#FlowDescription", + "traits": { + "smithy.api#documentation": "

    \n A description of the flow you want to create. \n

    " + } + }, "kmsArn": { "target": "com.amazonaws.appflow#KMSArn", "traits": { "smithy.api#documentation": "

    \n The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n

    " } }, - "destinationFlowConfigList": { - "target": "com.amazonaws.appflow#DestinationFlowConfigList", + "triggerConfig": { + "target": "com.amazonaws.appflow#TriggerConfig", "traits": { - "smithy.api#documentation": "

    \nThe configuration that controls how Amazon AppFlow places data in the destination connector.\n

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

    \n The trigger settings that determine how and when the flow runs.\n

    ", "smithy.api#required": {} } }, @@ -1248,23 +1271,17 @@ "smithy.api#required": {} } }, - "triggerConfig": { - "target": "com.amazonaws.appflow#TriggerConfig", + "destinationFlowConfigList": { + "target": "com.amazonaws.appflow#DestinationFlowConfigList", "traits": { - "smithy.api#documentation": "

    \n The trigger settings that determine how and when the flow runs.\n

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

    \nThe configuration that controls how Amazon AppFlow places data in the destination connector.\n

    ", "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.appflow#FlowDescription", - "traits": { - "smithy.api#documentation": "

    \n A description of the flow you want to create. \n

    " - } - }, - "flowName": { - "target": "com.amazonaws.appflow#FlowName", + "tasks": { + "target": "com.amazonaws.appflow#Tasks", "traits": { - "smithy.api#documentation": "

    \nThe specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.\n

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

    \n A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

    ", "smithy.api#required": {} } }, @@ -1273,30 +1290,23 @@ "traits": { "smithy.api#documentation": "

    \nThe tags used to organize, track, or control access for your flow. \n

    " } - }, - "tasks": { - "target": "com.amazonaws.appflow#Tasks", - "traits": { - "smithy.api#documentation": "

    \n A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

    ", - "smithy.api#required": {} - } } } }, "com.amazonaws.appflow#CreateFlowResponse": { "type": "structure", "members": { - "flowStatus": { - "target": "com.amazonaws.appflow#FlowStatus", - "traits": { - "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " - } - }, "flowArn": { "target": "com.amazonaws.appflow#FlowArn", "traits": { "smithy.api#documentation": "

    \nThe flow's Amazon Resource Name (ARN).\n

    " } + }, + "flowStatus": { + "target": "com.amazonaws.appflow#FlowStatus", + "traits": { + "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " + } } } }, @@ -1505,18 +1515,18 @@ "com.amazonaws.appflow#DeleteConnectorProfileRequest": { "type": "structure", "members": { - "forceDelete": { - "target": "com.amazonaws.appflow#Boolean", - "traits": { - "smithy.api#documentation": "

    \nIndicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows.\n

    " - } - }, "connectorProfileName": { "target": "com.amazonaws.appflow#ConnectorProfileName", "traits": { "smithy.api#documentation": "

    \n The name of the connector profile. The name is unique for each ConnectorProfile in your account.\n

    ", "smithy.api#required": {} } + }, + "forceDelete": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

    \nIndicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows.\n

    " + } } } }, @@ -1677,12 +1687,6 @@ "com.amazonaws.appflow#DescribeConnectorProfilesRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.appflow#NextToken", - "traits": { - "smithy.api#documentation": "

    \nThe pagination token for the next page of data.\n

    " - } - }, "connectorProfileNames": { "target": "com.amazonaws.appflow#ConnectorProfileNameList", "traits": { @@ -1700,6 +1704,12 @@ "traits": { "smithy.api#documentation": "

    \n Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations).\n

    " } + }, + "nextToken": { + "target": "com.amazonaws.appflow#NextToken", + "traits": { + "smithy.api#documentation": "

    \nThe pagination token for the next page of data.\n

    " + } } } }, @@ -1752,17 +1762,17 @@ "com.amazonaws.appflow#DescribeConnectorsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.appflow#NextToken", - "traits": { - "smithy.api#documentation": "

    \nThe pagination token for the next page of data.\n

    " - } - }, "connectorTypes": { "target": "com.amazonaws.appflow#ConnectorTypeList", "traits": { "smithy.api#documentation": "

    \n The type of connector, such as Salesforce, Amplitude, and so on.\n

    " } + }, + "nextToken": { + "target": "com.amazonaws.appflow#NextToken", + "traits": { + "smithy.api#documentation": "

    \nThe pagination token for the next page of data.\n

    " + } } } }, @@ -1844,12 +1854,6 @@ "com.amazonaws.appflow#DescribeFlowExecutionRecordsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.appflow#NextToken", - "traits": { - "smithy.api#documentation": "

    \nThe pagination token for the next page of data.\n

    " - } - }, "flowName": { "target": "com.amazonaws.appflow#FlowName", "traits": { @@ -1862,6 +1866,12 @@ "traits": { "smithy.api#documentation": "

    \n Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations).\n

    " } + }, + "nextToken": { + "target": "com.amazonaws.appflow#NextToken", + "traits": { + "smithy.api#documentation": "

    \nThe pagination token for the next page of data.\n

    " + } } } }, @@ -1897,6 +1907,12 @@ "com.amazonaws.appflow#DescribeFlowResponse": { "type": "structure", "members": { + "flowArn": { + "target": "com.amazonaws.appflow#FlowArn", + "traits": { + "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " + } + }, "description": { "target": "com.amazonaws.appflow#FlowDescription", "traits": { @@ -1909,28 +1925,22 @@ "smithy.api#documentation": "

    \n The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.\n

    " } }, - "flowStatus": { - "target": "com.amazonaws.appflow#FlowStatus", - "traits": { - "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " - } - }, "kmsArn": { "target": "com.amazonaws.appflow#KMSArn", "traits": { "smithy.api#documentation": "

    \n The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n

    " } }, - "destinationFlowConfigList": { - "target": "com.amazonaws.appflow#DestinationFlowConfigList", + "flowStatus": { + "target": "com.amazonaws.appflow#FlowStatus", "traits": { - "smithy.api#documentation": "

    \n The configuration that controls how Amazon AppFlow transfers data to the destination connector.\n

    " + "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " } }, - "tasks": { - "target": "com.amazonaws.appflow#Tasks", + "flowStatusMessage": { + "target": "com.amazonaws.appflow#FlowStatusMessage", "traits": { - "smithy.api#documentation": "

    \n A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

    " + "smithy.api#documentation": "

    \n Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. \n

    " } }, "sourceFlowConfig": { @@ -1939,28 +1949,28 @@ "smithy.api#documentation": "

    \n The configuration that controls how Amazon AppFlow retrieves data from the source connector.\n

    " } }, - "lastUpdatedBy": { - "target": "com.amazonaws.appflow#UpdatedBy", + "destinationFlowConfigList": { + "target": "com.amazonaws.appflow#DestinationFlowConfigList", "traits": { - "smithy.api#documentation": "

    \nSpecifies the user name of the account that performed the most recent update. \n

    " + "smithy.api#documentation": "

    \n The configuration that controls how Amazon AppFlow transfers data to the destination connector.\n

    " } }, - "flowArn": { - "target": "com.amazonaws.appflow#FlowArn", + "lastRunExecutionDetails": { + "target": "com.amazonaws.appflow#ExecutionDetails", "traits": { - "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " + "smithy.api#documentation": "

    \nDescribes the details of the most recent flow run.\n

    " } }, - "createdBy": { - "target": "com.amazonaws.appflow#CreatedBy", + "triggerConfig": { + "target": "com.amazonaws.appflow#TriggerConfig", "traits": { - "smithy.api#documentation": "

    \n The ARN of the user who created the flow.\n

    " + "smithy.api#documentation": "

    \n The trigger settings that determine how and when the flow runs.\n

    " } }, - "flowStatusMessage": { - "target": "com.amazonaws.appflow#FlowStatusMessage", + "tasks": { + "target": "com.amazonaws.appflow#Tasks", "traits": { - "smithy.api#documentation": "

    \n Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. \n

    " + "smithy.api#documentation": "

    \n A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

    " } }, "createdAt": { @@ -1975,16 +1985,16 @@ "smithy.api#documentation": "

    \n Specifies when the flow was last updated.\n

    " } }, - "triggerConfig": { - "target": "com.amazonaws.appflow#TriggerConfig", + "createdBy": { + "target": "com.amazonaws.appflow#CreatedBy", "traits": { - "smithy.api#documentation": "

    \n The trigger settings that determine how and when the flow runs.\n

    " + "smithy.api#documentation": "

    \n The ARN of the user who created the flow.\n

    " } }, - "lastRunExecutionDetails": { - "target": "com.amazonaws.appflow#ExecutionDetails", + "lastUpdatedBy": { + "target": "com.amazonaws.appflow#UpdatedBy", "traits": { - "smithy.api#documentation": "

    \nDescribes the details of the most recent flow run.\n

    " + "smithy.api#documentation": "

    \nSpecifies the user name of the account that performed the most recent update. \n

    " } }, "tags": { @@ -2008,34 +2018,40 @@ "com.amazonaws.appflow#DestinationConnectorProperties": { "type": "structure", "members": { - "EventBridge": { - "target": "com.amazonaws.appflow#EventBridgeDestinationProperties", - "traits": { - "smithy.api#documentation": "

    \n The properties required to query Amazon EventBridge.\n

    " - } - }, - "Snowflake": { - "target": "com.amazonaws.appflow#SnowflakeDestinationProperties", - "traits": { - "smithy.api#documentation": "

    \n The properties required to query Snowflake.\n

    " - } - }, "Redshift": { "target": "com.amazonaws.appflow#RedshiftDestinationProperties", "traits": { "smithy.api#documentation": "

    \n The properties required to query Amazon Redshift.\n

    " } }, + "S3": { + "target": "com.amazonaws.appflow#S3DestinationProperties", + "traits": { + "smithy.api#documentation": "

    \n The properties required to query Amazon S3.\n

    " + } + }, "Salesforce": { "target": "com.amazonaws.appflow#SalesforceDestinationProperties", "traits": { "smithy.api#documentation": "

    \n The properties required to query Salesforce.\n

    " } }, - "S3": { - "target": "com.amazonaws.appflow#S3DestinationProperties", + "Snowflake": { + "target": "com.amazonaws.appflow#SnowflakeDestinationProperties", "traits": { - "smithy.api#documentation": "

    \n The properties required to query Amazon S3.\n

    " + "smithy.api#documentation": "

    \n The properties required to query Snowflake.\n

    " + } + }, + "EventBridge": { + "target": "com.amazonaws.appflow#EventBridgeDestinationProperties", + "traits": { + "smithy.api#documentation": "

    \n The properties required to query Amazon EventBridge.\n

    " + } + }, + "Upsolver": { + "target": "com.amazonaws.appflow#UpsolverDestinationProperties", + "traits": { + "smithy.api#documentation": "

    \n The properties required to query Upsolver.\n

    " } } }, @@ -2056,22 +2072,16 @@ "com.amazonaws.appflow#DestinationFieldProperties": { "type": "structure", "members": { - "isNullable": { + "isCreatable": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \n Specifies if the destination field can have a null value.\n

    " - } - }, - "supportedWriteOperations": { - "target": "com.amazonaws.appflow#SupportedWriteOperationList", - "traits": { - "smithy.api#documentation": "

    \n A list of supported write operations. For each write operation listed, this field can be used in idFieldNames when that write operation is present as a destination option. \n

    " + "smithy.api#documentation": "

    \n Specifies if the destination field can be created by the current user.\n

    " } }, - "isUpdatable": { + "isNullable": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \n Specifies whether the field can be updated during an UPDATE or UPSERT write operation.\n

    " + "smithy.api#documentation": "

    \n Specifies if the destination field can have a null value.\n

    " } }, "isUpsertable": { @@ -2080,10 +2090,16 @@ "smithy.api#documentation": "

    \n Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do.\n

    " } }, - "isCreatable": { + "isUpdatable": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \n Specifies if the destination field can be created by the current user.\n

    " + "smithy.api#documentation": "

    \n Specifies whether the field can be updated during an UPDATE or UPSERT write operation.\n

    " + } + }, + "supportedWriteOperations": { + "target": "com.amazonaws.appflow#SupportedWriteOperationList", + "traits": { + "smithy.api#documentation": "

    \n A list of supported write operations. For each write operation listed, this field can be used in idFieldNames when that write operation is present as a destination option. \n

    " } } }, @@ -2094,10 +2110,10 @@ "com.amazonaws.appflow#DestinationFlowConfig": { "type": "structure", "members": { - "destinationConnectorProperties": { - "target": "com.amazonaws.appflow#DestinationConnectorProperties", + "connectorType": { + "target": "com.amazonaws.appflow#ConnectorType", "traits": { - "smithy.api#documentation": "

    \n This stores the information that is required to query a particular connector.\n

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

    \n The type of connector, such as Salesforce, Amplitude, and so on.\n

    ", "smithy.api#required": {} } }, @@ -2107,10 +2123,10 @@ "smithy.api#documentation": "

    \n The name of the connector profile. This name must be unique for each connector profile in the AWS account.\n

    " } }, - "connectorType": { - "target": "com.amazonaws.appflow#ConnectorType", + "destinationConnectorProperties": { + "target": "com.amazonaws.appflow#DestinationConnectorProperties", "traits": { - "smithy.api#documentation": "

    \n The type of connector, such as Salesforce, Amplitude, and so on.\n

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

    \n This stores the information that is required to query a particular connector.\n

    ", "smithy.api#required": {} } } @@ -2313,15 +2329,15 @@ "com.amazonaws.appflow#EventBridgeDestinationProperties": { "type": "structure", "members": { - "errorHandlingConfig": { - "target": "com.amazonaws.appflow#ErrorHandlingConfig" - }, "object": { "target": "com.amazonaws.appflow#Object", "traits": { "smithy.api#documentation": "

    \n The object specified in the Amazon EventBridge flow destination.\n

    ", "smithy.api#required": {} } + }, + "errorHandlingConfig": { + "target": "com.amazonaws.appflow#ErrorHandlingConfig" } }, "traits": { @@ -2338,6 +2354,12 @@ "com.amazonaws.appflow#ExecutionDetails": { "type": "structure", "members": { + "mostRecentExecutionMessage": { + "target": "com.amazonaws.appflow#MostRecentExecutionMessage", + "traits": { + "smithy.api#documentation": "

    \n Describes the details of the most recent flow run.\n

    " + } + }, "mostRecentExecutionTime": { "target": "com.amazonaws.appflow#Date", "traits": { @@ -2349,12 +2371,6 @@ "traits": { "smithy.api#documentation": "

    \n Specifies the status of the most recent flow run.\n

    " } - }, - "mostRecentExecutionMessage": { - "target": "com.amazonaws.appflow#MostRecentExecutionMessage", - "traits": { - "smithy.api#documentation": "

    \n Describes the details of the most recent flow run.\n

    " - } } }, "traits": { @@ -2384,22 +2400,22 @@ "com.amazonaws.appflow#ExecutionRecord": { "type": "structure", "members": { - "executionStatus": { - "target": "com.amazonaws.appflow#ExecutionStatus", - "traits": { - "smithy.api#documentation": "

    \nSpecifies the flow run status and whether it is in progress, has completed successfully, or has failed.\n

    " - } - }, "executionId": { "target": "com.amazonaws.appflow#ExecutionId", "traits": { "smithy.api#documentation": "

    \nSpecifies the identifier of the given flow run.\n

    " } }, - "lastUpdatedAt": { - "target": "com.amazonaws.appflow#Date", + "executionStatus": { + "target": "com.amazonaws.appflow#ExecutionStatus", "traits": { - "smithy.api#documentation": "

    \n Specifies the time of the most recent update.\n

    " + "smithy.api#documentation": "

    \nSpecifies the flow run status and whether it is in progress, has completed successfully, or has failed.\n

    " + } + }, + "executionResult": { + "target": "com.amazonaws.appflow#ExecutionResult", + "traits": { + "smithy.api#documentation": "

    \nDescribes the result of the given flow run.\n

    " } }, "startedAt": { @@ -2408,10 +2424,10 @@ "smithy.api#documentation": "

    \nSpecifies the start time of the flow run.\n

    " } }, - "executionResult": { - "target": "com.amazonaws.appflow#ExecutionResult", + "lastUpdatedAt": { + "target": "com.amazonaws.appflow#Date", "traits": { - "smithy.api#documentation": "

    \nDescribes the result of the given flow run.\n

    " + "smithy.api#documentation": "

    \n Specifies the time of the most recent update.\n

    " } } }, @@ -2434,16 +2450,16 @@ "smithy.api#documentation": "

    \n The total number of bytes processed by the flow run.\n

    " } }, - "recordsProcessed": { + "bytesWritten": { "target": "com.amazonaws.appflow#Long", "traits": { - "smithy.api#documentation": "

    \nThe number of records processed in the flow run.\n

    " + "smithy.api#documentation": "

    \n The total number of bytes written as a result of the flow run.\n

    " } }, - "bytesWritten": { + "recordsProcessed": { "target": "com.amazonaws.appflow#Long", "traits": { - "smithy.api#documentation": "

    \n The total number of bytes written as a result of the flow run.\n

    " + "smithy.api#documentation": "

    \nThe number of records processed in the flow run.\n

    " } } }, @@ -2483,18 +2499,18 @@ "smithy.api#required": {} } }, - "supportedValues": { - "target": "com.amazonaws.appflow#SupportedValueList", - "traits": { - "smithy.api#documentation": "

    \n The list of values that a field can contain. For example, a Boolean fieldType can have two values: \"true\" and \"false\". \n

    " - } - }, "filterOperators": { "target": "com.amazonaws.appflow#FilterOperatorList", "traits": { "smithy.api#documentation": "

    \nThe list of operators supported by a field.\n

    ", "smithy.api#required": {} } + }, + "supportedValues": { + "target": "com.amazonaws.appflow#SupportedValueList", + "traits": { + "smithy.api#documentation": "

    \n The list of values that a field can contain. For example, a Boolean fieldType can have two values: \"true\" and \"false\". \n

    " + } } }, "traits": { @@ -2539,6 +2555,12 @@ "com.amazonaws.appflow#FlowDefinition": { "type": "structure", "members": { + "flowArn": { + "target": "com.amazonaws.appflow#FlowArn", + "traits": { + "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " + } + }, "description": { "target": "com.amazonaws.appflow#FlowDescription", "traits": { @@ -2551,40 +2573,34 @@ "smithy.api#documentation": "

    \n The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.\n

    " } }, - "triggerType": { - "target": "com.amazonaws.appflow#TriggerType", - "traits": { - "smithy.api#documentation": "

    \n Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.\n

    " - } - }, "flowStatus": { "target": "com.amazonaws.appflow#FlowStatus", "traits": { "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " } }, - "destinationConnectorType": { + "sourceConnectorType": { "target": "com.amazonaws.appflow#ConnectorType", "traits": { - "smithy.api#documentation": "

    \n Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on.\n

    " + "smithy.api#documentation": "

    \n Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on.\n

    " } }, - "sourceConnectorType": { + "destinationConnectorType": { "target": "com.amazonaws.appflow#ConnectorType", "traits": { - "smithy.api#documentation": "

    \n Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on.\n

    " + "smithy.api#documentation": "

    \n Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on.\n

    " } }, - "tags": { - "target": "com.amazonaws.appflow#TagMap", + "triggerType": { + "target": "com.amazonaws.appflow#TriggerType", "traits": { - "smithy.api#documentation": "

    \nThe tags used to organize, track, or control access for your flow. \n

    " + "smithy.api#documentation": "

    \n Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.\n

    " } }, - "lastRunExecutionDetails": { - "target": "com.amazonaws.appflow#ExecutionDetails", + "createdAt": { + "target": "com.amazonaws.appflow#Date", "traits": { - "smithy.api#documentation": "

    \n Describes the details of the most recent flow run.\n

    " + "smithy.api#documentation": "

    \n Specifies when the flow was created.\n

    " } }, "lastUpdatedAt": { @@ -2599,22 +2615,22 @@ "smithy.api#documentation": "

    \n The ARN of the user who created the flow.\n

    " } }, - "flowArn": { - "target": "com.amazonaws.appflow#FlowArn", - "traits": { - "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " - } - }, "lastUpdatedBy": { "target": "com.amazonaws.appflow#UpdatedBy", "traits": { - "smithy.api#documentation": "

    \n Specifies the account user name that most recently updated the flow. \n

    " + "smithy.api#documentation": "

    \n Specifies the account user name that most recently updated the flow. \n

    " + } + }, + "tags": { + "target": "com.amazonaws.appflow#TagMap", + "traits": { + "smithy.api#documentation": "

    \nThe tags used to organize, track, or control access for your flow. \n

    " } }, - "createdAt": { - "target": "com.amazonaws.appflow#Date", + "lastRunExecutionDetails": { + "target": "com.amazonaws.appflow#ExecutionDetails", "traits": { - "smithy.api#documentation": "

    \n Specifies when the flow was created.\n

    " + "smithy.api#documentation": "

    \n Describes the details of the most recent flow run.\n

    " } } }, @@ -2720,18 +2736,6 @@ "smithy.api#required": {} } }, - "accessToken": { - "target": "com.amazonaws.appflow#AccessToken", - "traits": { - "smithy.api#documentation": "

    \nThe credentials used to access protected Google Analytics resources.\n

    " - } - }, - "oAuthRequest": { - "target": "com.amazonaws.appflow#ConnectorOAuthRequest", - "traits": { - "smithy.api#documentation": "

    \n The OAuth requirement needed to request security tokens from the connector endpoint.\n

    " - } - }, "clientSecret": { "target": "com.amazonaws.appflow#ClientSecret", "traits": { @@ -2739,11 +2743,23 @@ "smithy.api#required": {} } }, + "accessToken": { + "target": "com.amazonaws.appflow#AccessToken", + "traits": { + "smithy.api#documentation": "

    \nThe credentials used to access protected Google Analytics resources.\n

    " + } + }, "refreshToken": { "target": "com.amazonaws.appflow#RefreshToken", "traits": { "smithy.api#documentation": "

    \n The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.\n

    " } + }, + "oAuthRequest": { + "target": "com.amazonaws.appflow#ConnectorOAuthRequest", + "traits": { + "smithy.api#documentation": "

    \n The OAuth requirement needed to request security tokens from the connector endpoint.\n

    " + } } }, "traits": { @@ -2903,13 +2919,6 @@ "com.amazonaws.appflow#InforNexusConnectorProfileCredentials": { "type": "structure", "members": { - "userId": { - "target": "com.amazonaws.appflow#Username", - "traits": { - "smithy.api#documentation": "

    \n The identifier for the user.\n

    ", - "smithy.api#required": {} - } - }, "accessKeyId": { "target": "com.amazonaws.appflow#AccessKeyId", "traits": { @@ -2917,10 +2926,10 @@ "smithy.api#required": {} } }, - "datakey": { - "target": "com.amazonaws.appflow#Key", + "userId": { + "target": "com.amazonaws.appflow#Username", "traits": { - "smithy.api#documentation": "

    \n The encryption keys used to encrypt data.\n

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

    \n The identifier for the user.\n

    ", "smithy.api#required": {} } }, @@ -2930,6 +2939,13 @@ "smithy.api#documentation": "

    \n The secret key used to sign requests.\n

    ", "smithy.api#required": {} } + }, + "datakey": { + "target": "com.amazonaws.appflow#Key", + "traits": { + "smithy.api#documentation": "

    \n The encryption keys used to encrypt data.\n

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -3128,17 +3144,17 @@ "com.amazonaws.appflow#ListFlowsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.appflow#NextToken", - "traits": { - "smithy.api#documentation": "

    \n The pagination token for next page of data.\n

    " - } - }, "maxResults": { "target": "com.amazonaws.appflow#MaxResults", "traits": { "smithy.api#documentation": "

    \n Specifies the maximum number of items that should be returned in the result set.\n

    " } + }, + "nextToken": { + "target": "com.amazonaws.appflow#NextToken", + "traits": { + "smithy.api#documentation": "

    \n The pagination token for next page of data.\n

    " + } } } }, @@ -3291,6 +3307,13 @@ "com.amazonaws.appflow#MarketoConnectorProfileCredentials": { "type": "structure", "members": { + "clientId": { + "target": "com.amazonaws.appflow#ClientId", + "traits": { + "smithy.api#documentation": "

    \n The identifier for the desired client.\n

    ", + "smithy.api#required": {} + } + }, "clientSecret": { "target": "com.amazonaws.appflow#ClientSecret", "traits": { @@ -3304,13 +3327,6 @@ "smithy.api#documentation": "

    \n The credentials used to access protected Marketo resources.\n

    " } }, - "clientId": { - "target": "com.amazonaws.appflow#ClientId", - "traits": { - "smithy.api#documentation": "

    \n The identifier for the desired client.\n

    ", - "smithy.api#required": {} - } - }, "oAuthRequest": { "target": "com.amazonaws.appflow#ConnectorOAuthRequest", "traits": { @@ -3711,19 +3727,13 @@ "com.amazonaws.appflow#RedshiftConnectorProfileProperties": { "type": "structure", "members": { - "roleArn": { - "target": "com.amazonaws.appflow#RoleArn", + "databaseUrl": { + "target": "com.amazonaws.appflow#DatabaseUrl", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the IAM role.\n

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

    \nThe JDBC URL of the Amazon Redshift cluster.\n

    ", "smithy.api#required": {} } }, - "bucketPrefix": { - "target": "com.amazonaws.appflow#BucketPrefix", - "traits": { - "smithy.api#documentation": "

    \n The object key for the destination bucket in which Amazon AppFlow places the files.\n

    " - } - }, "bucketName": { "target": "com.amazonaws.appflow#BucketName", "traits": { @@ -3731,10 +3741,16 @@ "smithy.api#required": {} } }, - "databaseUrl": { - "target": "com.amazonaws.appflow#DatabaseUrl", + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", "traits": { - "smithy.api#documentation": "

    \nThe JDBC URL of the Amazon Redshift cluster.\n

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

    \n The object key for the destination bucket in which Amazon AppFlow places the files.\n

    " + } + }, + "roleArn": { + "target": "com.amazonaws.appflow#RoleArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the IAM role.\n

    ", "smithy.api#required": {} } } @@ -3746,12 +3762,6 @@ "com.amazonaws.appflow#RedshiftDestinationProperties": { "type": "structure", "members": { - "bucketPrefix": { - "target": "com.amazonaws.appflow#BucketPrefix", - "traits": { - "smithy.api#documentation": "

    \n The object key for the bucket in which Amazon AppFlow places the destination files.\n

    " - } - }, "object": { "target": "com.amazonaws.appflow#Object", "traits": { @@ -3759,18 +3769,24 @@ "smithy.api#required": {} } }, - "errorHandlingConfig": { - "target": "com.amazonaws.appflow#ErrorHandlingConfig", - "traits": { - "smithy.api#documentation": "

    \n The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.\n

    " - } - }, "intermediateBucketName": { "target": "com.amazonaws.appflow#BucketName", "traits": { "smithy.api#documentation": "

    \n The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.\n

    ", "smithy.api#required": {} } + }, + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", + "traits": { + "smithy.api#documentation": "

    \n The object key for the bucket in which Amazon AppFlow places the destination files.\n

    " + } + }, + "errorHandlingConfig": { + "target": "com.amazonaws.appflow#ErrorHandlingConfig", + "traits": { + "smithy.api#documentation": "

    \n The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.\n

    " + } } }, "traits": { @@ -3923,12 +3939,6 @@ "com.amazonaws.appflow#S3DestinationProperties": { "type": "structure", "members": { - "bucketPrefix": { - "target": "com.amazonaws.appflow#BucketPrefix", - "traits": { - "smithy.api#documentation": "

    \n The object key for the destination bucket in which Amazon AppFlow places the files.\n

    " - } - }, "bucketName": { "target": "com.amazonaws.appflow#BucketName", "traits": { @@ -3936,6 +3946,12 @@ "smithy.api#required": {} } }, + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", + "traits": { + "smithy.api#documentation": "

    \n The object key for the destination bucket in which Amazon AppFlow places the files.\n

    " + } + }, "s3OutputFormatConfig": { "target": "com.amazonaws.appflow#S3OutputFormatConfig" } @@ -3954,6 +3970,12 @@ "com.amazonaws.appflow#S3OutputFormatConfig": { "type": "structure", "members": { + "fileType": { + "target": "com.amazonaws.appflow#FileType", + "traits": { + "smithy.api#documentation": "

    \nIndicates the file type that Amazon AppFlow places in the Amazon S3 bucket.\n

    " + } + }, "prefixConfig": { "target": "com.amazonaws.appflow#PrefixConfig", "traits": { @@ -3962,12 +3984,6 @@ }, "aggregationConfig": { "target": "com.amazonaws.appflow#AggregationConfig" - }, - "fileType": { - "target": "com.amazonaws.appflow#FileType", - "traits": { - "smithy.api#documentation": "

    \nIndicates the file type that Amazon AppFlow places in the Amazon S3 bucket.\n

    " - } } }, "traits": { @@ -4089,29 +4105,29 @@ "com.amazonaws.appflow#SalesforceConnectorProfileCredentials": { "type": "structure", "members": { - "refreshToken": { - "target": "com.amazonaws.appflow#RefreshToken", - "traits": { - "smithy.api#documentation": "

    \n The credentials used to acquire new access tokens. \n

    " - } - }, - "clientCredentialsArn": { - "target": "com.amazonaws.appflow#ClientCredentialsArn", - "traits": { - "smithy.api#documentation": "

    \n The secret manager ARN, which contains the client ID and client secret of the connected app. \n

    " - } - }, "accessToken": { "target": "com.amazonaws.appflow#AccessToken", "traits": { "smithy.api#documentation": "

    \n The credentials used to access protected Salesforce resources.\n

    " } }, + "refreshToken": { + "target": "com.amazonaws.appflow#RefreshToken", + "traits": { + "smithy.api#documentation": "

    \n The credentials used to acquire new access tokens. \n

    " + } + }, "oAuthRequest": { "target": "com.amazonaws.appflow#ConnectorOAuthRequest", "traits": { "smithy.api#documentation": "

    \n The OAuth requirement needed to request security tokens from the connector endpoint.\n

    " } + }, + "clientCredentialsArn": { + "target": "com.amazonaws.appflow#ClientCredentialsArn", + "traits": { + "smithy.api#documentation": "

    \n The secret manager ARN, which contains the client ID and client secret of the connected app. \n

    " + } } }, "traits": { @@ -4121,17 +4137,17 @@ "com.amazonaws.appflow#SalesforceConnectorProfileProperties": { "type": "structure", "members": { - "isSandboxEnvironment": { - "target": "com.amazonaws.appflow#Boolean", - "traits": { - "smithy.api#documentation": "

    \n Indicates whether the connector profile applies to a sandbox or production environment. \n

    " - } - }, "instanceUrl": { "target": "com.amazonaws.appflow#InstanceUrl", "traits": { "smithy.api#documentation": "

    \n The location of the Salesforce resource.\n

    " } + }, + "isSandboxEnvironment": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

    \n Indicates whether the connector profile applies to a sandbox or production environment. \n

    " + } } }, "traits": { @@ -4141,10 +4157,11 @@ "com.amazonaws.appflow#SalesforceDestinationProperties": { "type": "structure", "members": { - "errorHandlingConfig": { - "target": "com.amazonaws.appflow#ErrorHandlingConfig", + "object": { + "target": "com.amazonaws.appflow#Object", "traits": { - "smithy.api#documentation": "

    \n The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.\n

    " + "smithy.api#documentation": "

    \n The object specified in the Salesforce flow destination.\n

    ", + "smithy.api#required": {} } }, "idFieldNames": { @@ -4153,11 +4170,10 @@ "smithy.api#documentation": "

    \n The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.\n

    " } }, - "object": { - "target": "com.amazonaws.appflow#Object", + "errorHandlingConfig": { + "target": "com.amazonaws.appflow#ErrorHandlingConfig", "traits": { - "smithy.api#documentation": "

    \n The object specified in the Salesforce flow destination.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.\n

    " } }, "writeOperationType": { @@ -4195,16 +4211,16 @@ "smithy.api#required": {} } }, - "includeDeletedRecords": { + "enableDynamicFieldUpdate": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \n Indicates whether Amazon AppFlow includes deleted files in the flow run.\n

    " + "smithy.api#documentation": "

    \nThe flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.\n

    " } }, - "enableDynamicFieldUpdate": { + "includeDeletedRecords": { "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

    \nThe flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.\n

    " + "smithy.api#documentation": "

    \n Indicates whether Amazon AppFlow includes deleted files in the flow run.\n

    " } } }, @@ -4330,16 +4346,10 @@ "com.amazonaws.appflow#ScheduledTriggerProperties": { "type": "structure", "members": { - "timezone": { - "target": "com.amazonaws.appflow#Timezone", - "traits": { - "smithy.api#documentation": "

    \nSpecifies the time zone used when referring to the date and time of a scheduled-triggered flow. \n

    " - } - }, "scheduleExpression": { "target": "com.amazonaws.appflow#ScheduleExpression", "traits": { - "smithy.api#documentation": "

    \n The scheduling expression that determines when and how often the rule runs.\n

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

    \n The scheduling expression that determines the rate at which the schedule will run, for example rate(5minutes).\n

    ", "smithy.api#required": {} } }, @@ -4360,6 +4370,12 @@ "traits": { "smithy.api#documentation": "

    \n Specifies the scheduled end time for a schedule-triggered flow.\n

    " } + }, + "timezone": { + "target": "com.amazonaws.appflow#Timezone", + "traits": { + "smithy.api#documentation": "

    \nSpecifies the time zone used when referring to the date and time of a scheduled-triggered flow. \n

    " + } } }, "traits": { @@ -4746,12 +4762,6 @@ "smithy.api#required": {} } }, - "accessToken": { - "target": "com.amazonaws.appflow#AccessToken", - "traits": { - "smithy.api#documentation": "

    \n The credentials used to access protected Slack resources.\n

    " - } - }, "clientSecret": { "target": "com.amazonaws.appflow#ClientSecret", "traits": { @@ -4759,6 +4769,12 @@ "smithy.api#required": {} } }, + "accessToken": { + "target": "com.amazonaws.appflow#AccessToken", + "traits": { + "smithy.api#documentation": "

    \n The credentials used to access protected Slack resources.\n

    " + } + }, "oAuthRequest": { "target": "com.amazonaws.appflow#ConnectorOAuthRequest", "traits": { @@ -4817,17 +4833,17 @@ "com.amazonaws.appflow#SnowflakeConnectorProfileCredentials": { "type": "structure", "members": { - "password": { - "target": "com.amazonaws.appflow#Password", + "username": { + "target": "com.amazonaws.appflow#Username", "traits": { - "smithy.api#documentation": "

    \nThe password that corresponds to the user name.\n

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

    \n The name of the user.\n

    ", "smithy.api#required": {} } }, - "username": { - "target": "com.amazonaws.appflow#Username", + "password": { + "target": "com.amazonaws.appflow#Password", "traits": { - "smithy.api#documentation": "

    \n The name of the user.\n

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

    \nThe password that corresponds to the user name.\n

    ", "smithy.api#required": {} } } @@ -4838,17 +4854,12 @@ }, "com.amazonaws.appflow#SnowflakeConnectorProfileProperties": { "type": "structure", - "members": { - "accountName": { - "target": "com.amazonaws.appflow#AccountName", - "traits": { - "smithy.api#documentation": "

    \nThe name of the account.\n

    " - } - }, - "bucketPrefix": { - "target": "com.amazonaws.appflow#BucketPrefix", + "members": { + "warehouse": { + "target": "com.amazonaws.appflow#Warehouse", "traits": { - "smithy.api#documentation": "

    \n The bucket path that refers to the Amazon S3 bucket associated with Snowflake.\n

    " + "smithy.api#documentation": "

    \nThe name of the Snowflake warehouse.\n

    ", + "smithy.api#required": {} } }, "stage": { @@ -4865,23 +4876,28 @@ "smithy.api#required": {} } }, + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", + "traits": { + "smithy.api#documentation": "

    \n The bucket path that refers to the Amazon S3 bucket associated with Snowflake.\n

    " + } + }, "privateLinkServiceName": { "target": "com.amazonaws.appflow#PrivateLinkServiceName", "traits": { "smithy.api#documentation": "

    \nThe Snowflake Private Link service name to be used for private data transfers.\n

    " } }, - "region": { - "target": "com.amazonaws.appflow#Region", + "accountName": { + "target": "com.amazonaws.appflow#AccountName", "traits": { - "smithy.api#documentation": "

    \nThe AWS Region of the Snowflake account.\n

    " + "smithy.api#documentation": "

    \nThe name of the account.\n

    " } }, - "warehouse": { - "target": "com.amazonaws.appflow#Warehouse", + "region": { + "target": "com.amazonaws.appflow#Region", "traits": { - "smithy.api#documentation": "

    \nThe name of the Snowflake warehouse.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \nThe AWS Region of the Snowflake account.\n

    " } } }, @@ -4892,18 +4908,6 @@ "com.amazonaws.appflow#SnowflakeDestinationProperties": { "type": "structure", "members": { - "bucketPrefix": { - "target": "com.amazonaws.appflow#BucketPrefix", - "traits": { - "smithy.api#documentation": "

    \n The object key for the destination bucket in which Amazon AppFlow places the files.\n

    " - } - }, - "errorHandlingConfig": { - "target": "com.amazonaws.appflow#ErrorHandlingConfig", - "traits": { - "smithy.api#documentation": "

    \n The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.\n

    " - } - }, "object": { "target": "com.amazonaws.appflow#Object", "traits": { @@ -4917,6 +4921,18 @@ "smithy.api#documentation": "

    \n The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.\n

    ", "smithy.api#required": {} } + }, + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", + "traits": { + "smithy.api#documentation": "

    \n The object key for the destination bucket in which Amazon AppFlow places the files.\n

    " + } + }, + "errorHandlingConfig": { + "target": "com.amazonaws.appflow#ErrorHandlingConfig", + "traits": { + "smithy.api#documentation": "

    \n The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.\n

    " + } } }, "traits": { @@ -4940,34 +4956,16 @@ "com.amazonaws.appflow#SourceConnectorProperties": { "type": "structure", "members": { - "S3": { - "target": "com.amazonaws.appflow#S3SourceProperties", - "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying Amazon S3.\n

    " - } - }, "Amplitude": { "target": "com.amazonaws.appflow#AmplitudeSourceProperties", "traits": { "smithy.api#documentation": "

    \n Specifies the information that is required for querying Amplitude.\n

    " } }, - "ServiceNow": { - "target": "com.amazonaws.appflow#ServiceNowSourceProperties", - "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying ServiceNow.\n

    " - } - }, - "Zendesk": { - "target": "com.amazonaws.appflow#ZendeskSourceProperties", - "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying Zendesk.\n

    " - } - }, - "Veeva": { - "target": "com.amazonaws.appflow#VeevaSourceProperties", + "Datadog": { + "target": "com.amazonaws.appflow#DatadogSourceProperties", "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying Veeva.\n

    " + "smithy.api#documentation": "

    \n Specifies the information that is required for querying Datadog.\n

    " } }, "Dynatrace": { @@ -4976,10 +4974,10 @@ "smithy.api#documentation": "

    \n Specifies the information that is required for querying Dynatrace.\n

    " } }, - "Trendmicro": { - "target": "com.amazonaws.appflow#TrendmicroSourceProperties", + "GoogleAnalytics": { + "target": "com.amazonaws.appflow#GoogleAnalyticsSourceProperties", "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying Trend Micro.\n

    " + "smithy.api#documentation": "

    \n Specifies the information that is required for querying Google Analytics.\n

    " } }, "InforNexus": { @@ -4994,10 +4992,10 @@ "smithy.api#documentation": "

    \n Specifies the information that is required for querying Marketo.\n

    " } }, - "Datadog": { - "target": "com.amazonaws.appflow#DatadogSourceProperties", + "S3": { + "target": "com.amazonaws.appflow#S3SourceProperties", "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying Datadog.\n

    " + "smithy.api#documentation": "

    \n Specifies the information that is required for querying Amazon S3.\n

    " } }, "Salesforce": { @@ -5006,6 +5004,12 @@ "smithy.api#documentation": "

    \n Specifies the information that is required for querying Salesforce.\n

    " } }, + "ServiceNow": { + "target": "com.amazonaws.appflow#ServiceNowSourceProperties", + "traits": { + "smithy.api#documentation": "

    \n Specifies the information that is required for querying ServiceNow.\n

    " + } + }, "Singular": { "target": "com.amazonaws.appflow#SingularSourceProperties", "traits": { @@ -5018,10 +5022,22 @@ "smithy.api#documentation": "

    \n Specifies the information that is required for querying Slack.\n

    " } }, - "GoogleAnalytics": { - "target": "com.amazonaws.appflow#GoogleAnalyticsSourceProperties", + "Trendmicro": { + "target": "com.amazonaws.appflow#TrendmicroSourceProperties", "traits": { - "smithy.api#documentation": "

    \n Specifies the information that is required for querying Google Analytics.\n

    " + "smithy.api#documentation": "

    \n Specifies the information that is required for querying Trend Micro.\n

    " + } + }, + "Veeva": { + "target": "com.amazonaws.appflow#VeevaSourceProperties", + "traits": { + "smithy.api#documentation": "

    \n Specifies the information that is required for querying Veeva.\n

    " + } + }, + "Zendesk": { + "target": "com.amazonaws.appflow#ZendeskSourceProperties", + "traits": { + "smithy.api#documentation": "

    \n Specifies the information that is required for querying Zendesk.\n

    " } } }, @@ -5071,18 +5087,18 @@ "smithy.api#documentation": "

    \n The name of the connector profile. This name must be unique for each connector profile in the AWS account.\n

    " } }, - "incrementalPullConfig": { - "target": "com.amazonaws.appflow#IncrementalPullConfig", - "traits": { - "smithy.api#documentation": "

    \n Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.\n

    " - } - }, "sourceConnectorProperties": { "target": "com.amazonaws.appflow#SourceConnectorProperties", "traits": { "smithy.api#documentation": "

    \n Specifies the information that is required to query a particular source connector.\n

    ", "smithy.api#required": {} } + }, + "incrementalPullConfig": { + "target": "com.amazonaws.appflow#IncrementalPullConfig", + "traits": { + "smithy.api#documentation": "

    \n Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.\n

    " + } } }, "traits": { @@ -5145,10 +5161,10 @@ "com.amazonaws.appflow#StartFlowResponse": { "type": "structure", "members": { - "executionId": { - "target": "com.amazonaws.appflow#ExecutionId", + "flowArn": { + "target": "com.amazonaws.appflow#FlowArn", "traits": { - "smithy.api#documentation": "

    \n Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled or event-triggered flows, this value is null.\n

    " + "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " } }, "flowStatus": { @@ -5157,10 +5173,10 @@ "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n \n

    " } }, - "flowArn": { - "target": "com.amazonaws.appflow#FlowArn", + "executionId": { + "target": "com.amazonaws.appflow#ExecutionId", "traits": { - "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " + "smithy.api#documentation": "

    \n Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled or event-triggered flows, this value is null.\n

    " } } } @@ -5211,17 +5227,17 @@ "com.amazonaws.appflow#StopFlowResponse": { "type": "structure", "members": { - "flowStatus": { - "target": "com.amazonaws.appflow#FlowStatus", - "traits": { - "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " - } - }, "flowArn": { "target": "com.amazonaws.appflow#FlowArn", "traits": { "smithy.api#documentation": "

    \n The flow's Amazon Resource Name (ARN).\n

    " } + }, + "flowStatus": { + "target": "com.amazonaws.appflow#FlowStatus", + "traits": { + "smithy.api#documentation": "

    \n Indicates the current status of the flow.\n

    " + } } } }, @@ -5364,13 +5380,6 @@ "com.amazonaws.appflow#Task": { "type": "structure", "members": { - "taskType": { - "target": "com.amazonaws.appflow#TaskType", - "traits": { - "smithy.api#documentation": "

    \nSpecifies the particular task implementation that Amazon AppFlow performs.\n

    ", - "smithy.api#required": {} - } - }, "sourceFields": { "target": "com.amazonaws.appflow#SourceFields", "traits": { @@ -5378,16 +5387,23 @@ "smithy.api#required": {} } }, + "connectorOperator": { + "target": "com.amazonaws.appflow#ConnectorOperator", + "traits": { + "smithy.api#documentation": "

    \nThe operation to be performed on the provided source fields.\n

    " + } + }, "destinationField": { "target": "com.amazonaws.appflow#DestinationField", "traits": { "smithy.api#documentation": "

    \n A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.\n

    " } }, - "connectorOperator": { - "target": "com.amazonaws.appflow#ConnectorOperator", + "taskType": { + "target": "com.amazonaws.appflow#TaskType", "traits": { - "smithy.api#documentation": "

    \nThe operation to be performed on the provided source fields.\n

    " + "smithy.api#documentation": "

    \nSpecifies the particular task implementation that Amazon AppFlow performs.\n

    ", + "smithy.api#required": {} } }, "taskProperties": { @@ -5571,18 +5587,18 @@ "com.amazonaws.appflow#TriggerConfig": { "type": "structure", "members": { - "triggerProperties": { - "target": "com.amazonaws.appflow#TriggerProperties", - "traits": { - "smithy.api#documentation": "

    \n Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.\n

    " - } - }, "triggerType": { "target": "com.amazonaws.appflow#TriggerType", "traits": { "smithy.api#documentation": "

    \n Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.\n

    ", "smithy.api#required": {} } + }, + "triggerProperties": { + "target": "com.amazonaws.appflow#TriggerProperties", + "traits": { + "smithy.api#documentation": "

    \n Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.\n

    " + } } }, "traits": { @@ -5731,6 +5747,13 @@ "com.amazonaws.appflow#UpdateConnectorProfileRequest": { "type": "structure", "members": { + "connectorProfileName": { + "target": "com.amazonaws.appflow#ConnectorProfileName", + "traits": { + "smithy.api#documentation": "

    \n The name of the connector profile and is unique for each ConnectorProfile in the AWS Account.\n

    ", + "smithy.api#required": {} + } + }, "connectionMode": { "target": "com.amazonaws.appflow#ConnectionMode", "traits": { @@ -5744,13 +5767,6 @@ "smithy.api#documentation": "

    \n Defines the connector-specific profile configuration and credentials.\n

    ", "smithy.api#required": {} } - }, - "connectorProfileName": { - "target": "com.amazonaws.appflow#ConnectorProfileName", - "traits": { - "smithy.api#documentation": "

    \n The name of the connector profile and is unique for each ConnectorProfile in the AWS Account.\n

    ", - "smithy.api#required": {} - } } } }, @@ -5815,6 +5831,12 @@ "smithy.api#required": {} } }, + "description": { + "target": "com.amazonaws.appflow#FlowDescription", + "traits": { + "smithy.api#documentation": "

    \n A description of the flow.\n

    " + } + }, "triggerConfig": { "target": "com.amazonaws.appflow#TriggerConfig", "traits": { @@ -5838,12 +5860,6 @@ "smithy.api#documentation": "

    \n A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

    ", "smithy.api#required": {} } - }, - "description": { - "target": "com.amazonaws.appflow#FlowDescription", - "traits": { - "smithy.api#documentation": "

    \n A description of the flow.\n

    " - } } } }, @@ -5868,6 +5884,74 @@ "smithy.api#pattern": "\\S+" } }, + "com.amazonaws.appflow#UpsolverBucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 16, + "max": 63 + }, + "smithy.api#pattern": "^(upsolver-appflow)\\S*" + } + }, + "com.amazonaws.appflow#UpsolverDestinationProperties": { + "type": "structure", + "members": { + "bucketName": { + "target": "com.amazonaws.appflow#UpsolverBucketName", + "traits": { + "smithy.api#documentation": "

    \n The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.\n

    ", + "smithy.api#required": {} + } + }, + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", + "traits": { + "smithy.api#documentation": "

    \n The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.\n

    " + } + }, + "s3OutputFormatConfig": { + "target": "com.amazonaws.appflow#UpsolverS3OutputFormatConfig", + "traits": { + "smithy.api#documentation": "

    \n The configuration that determines how data is formatted when Upsolver is used as the flow destination.\n

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n The properties that are applied when Upsolver is used as a destination.\n

    " + } + }, + "com.amazonaws.appflow#UpsolverMetadata": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

    \n The connector metadata specific to Upsolver.\n

    " + } + }, + "com.amazonaws.appflow#UpsolverS3OutputFormatConfig": { + "type": "structure", + "members": { + "fileType": { + "target": "com.amazonaws.appflow#FileType", + "traits": { + "smithy.api#documentation": "

    \n Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.\n

    " + } + }, + "prefixConfig": { + "target": "com.amazonaws.appflow#PrefixConfig", + "traits": { + "smithy.api#required": {} + } + }, + "aggregationConfig": { + "target": "com.amazonaws.appflow#AggregationConfig" + } + }, + "traits": { + "smithy.api#documentation": "

    \n The configuration that determines how Amazon AppFlow formats the flow output data when Upsolver is used as the destination.\n

    " + } + }, "com.amazonaws.appflow#Username": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/application-insights.2018-11-25.json b/codegen/sdk-codegen/aws-models/application-insights.2018-11-25.json index 2eabfb793fc1d..0a84f4989e97c 100644 --- a/codegen/sdk-codegen/aws-models/application-insights.2018-11-25.json +++ b/codegen/sdk-codegen/aws-models/application-insights.2018-11-25.json @@ -29,6 +29,19 @@ ] }, "shapes": { + "com.amazonaws.applicationinsights#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.applicationinsights#ErrorMsg" + } + }, + "traits": { + "smithy.api#documentation": "

    \n User does not have permissions to perform this action.\n

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, "com.amazonaws.applicationinsights#AffectedResource": { "type": "string" }, @@ -38,7 +51,8 @@ "smithy.api#length": { "min": 1, "max": 1011 - } + }, + "smithy.api#pattern": "^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$" } }, "com.amazonaws.applicationinsights#ApplicationComponent": { @@ -50,10 +64,10 @@ "smithy.api#documentation": "

    The name of the component.

    " } }, - "Tier": { - "target": "com.amazonaws.applicationinsights#Tier", + "ComponentRemarks": { + "target": "com.amazonaws.applicationinsights#Remarks", "traits": { - "smithy.api#documentation": "

    The stack tier of the application component.

    " + "smithy.api#documentation": "

    \n If logging is supported for the resource type, indicates whether the component has configured logs to be monitored.\n

    " } }, "ResourceType": { @@ -62,11 +76,29 @@ "smithy.api#documentation": "

    The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.

    " } }, + "OsType": { + "target": "com.amazonaws.applicationinsights#OsType", + "traits": { + "smithy.api#documentation": "

    \n The operating system of the component.\n

    " + } + }, + "Tier": { + "target": "com.amazonaws.applicationinsights#Tier", + "traits": { + "smithy.api#documentation": "

    The stack tier of the application component.

    " + } + }, "Monitor": { "target": "com.amazonaws.applicationinsights#Monitor", "traits": { "smithy.api#documentation": "

    Indicates whether the application component is monitored.

    " } + }, + "DetectedWorkload": { + "target": "com.amazonaws.applicationinsights#DetectedWorkload", + "traits": { + "smithy.api#documentation": "

    \n Workloads detected in the application component. \n

    " + } } }, "traits": { @@ -88,34 +120,34 @@ "smithy.api#documentation": "

    The name of the resource group used for the application.

    " } }, - "OpsCenterEnabled": { - "target": "com.amazonaws.applicationinsights#OpsCenterEnabled", + "LifeCycle": { + "target": "com.amazonaws.applicationinsights#LifeCycle", "traits": { - "smithy.api#documentation": "

    \n Indicates whether Application Insights will create opsItems for any problem detected by Application\n Insights for an application.\n

    " + "smithy.api#documentation": "

    The lifecycle of the application.

    " } }, - "Remarks": { - "target": "com.amazonaws.applicationinsights#Remarks", + "OpsItemSNSTopicArn": { + "target": "com.amazonaws.applicationinsights#OpsItemSNSTopicArn", "traits": { - "smithy.api#documentation": "

    The issues on the user side that block Application Insights from successfully monitoring\n an application. Example remarks include:

    \n
      \n
    • \n

      “Configuring application, detected 1 Errors, 3 Warnings”

      \n
    • \n
    • \n

      “Configuring application, detected 1 Unconfigured Components”

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications\n for opsItem updates.\n

    " } }, - "CWEMonitorEnabled": { - "target": "com.amazonaws.applicationinsights#CWEMonitorEnabled", + "OpsCenterEnabled": { + "target": "com.amazonaws.applicationinsights#OpsCenterEnabled", "traits": { - "smithy.api#documentation": "

    \n Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.\n

    " + "smithy.api#documentation": "

    \n Indicates whether Application Insights will create opsItems for any problem detected by Application\n Insights for an application.\n

    " } }, - "OpsItemSNSTopicArn": { - "target": "com.amazonaws.applicationinsights#OpsItemSNSTopicArn", + "CWEMonitorEnabled": { + "target": "com.amazonaws.applicationinsights#CWEMonitorEnabled", "traits": { - "smithy.api#documentation": "

    \n The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications\n for opsItem updates.\n

    " + "smithy.api#documentation": "

    \n Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.\n

    " } }, - "LifeCycle": { - "target": "com.amazonaws.applicationinsights#LifeCycle", + "Remarks": { + "target": "com.amazonaws.applicationinsights#Remarks", "traits": { - "smithy.api#documentation": "

    The lifecycle of the application.

    " + "smithy.api#documentation": "

    The issues on the user side that block Application Insights from successfully monitoring\n an application. Example remarks include:

    \n
      \n
    • \n

      “Configuring application, detected 1 Errors, 3 Warnings”

      \n
    • \n
    • \n

      “Configuring application, detected 1 Unconfigured Components”

      \n
    • \n
    " } } }, @@ -166,6 +198,9 @@ }, { "value": "HEALTH" + }, + { + "value": "RDS" } ] } @@ -191,19 +226,33 @@ "smithy.api#length": { "min": 1, "max": 10000 - } + }, + "smithy.api#pattern": "[\\S\\s]+" } }, "com.amazonaws.applicationinsights#ComponentName": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1011 + }, + "smithy.api#pattern": "(?:^[\\d\\w\\-_\\.+]*$)|(?:^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$)" + } }, "com.amazonaws.applicationinsights#ConfigurationEvent": { "type": "structure", "members": { - "EventResourceName": { - "target": "com.amazonaws.applicationinsights#ConfigurationEventResourceName", + "MonitoredResourceARN": { + "target": "com.amazonaws.applicationinsights#ConfigurationEventMonitoredResourceARN", "traits": { - "smithy.api#documentation": "

    \n The name of the resource Application Insights attempted to configure. \n

    " + "smithy.api#documentation": "

    \n The resource monitored by Application Insights.\n

    " + } + }, + "EventStatus": { + "target": "com.amazonaws.applicationinsights#ConfigurationEventStatus", + "traits": { + "smithy.api#documentation": "

    \n The status of the configuration update event. Possible values include INFO, WARN, and ERROR.\n

    " } }, "EventResourceType": { @@ -224,16 +273,10 @@ "smithy.api#documentation": "

    \n The details of the event in plain text. \n

    " } }, - "MonitoredResourceARN": { - "target": "com.amazonaws.applicationinsights#ConfigurationEventMonitoredResourceARN", - "traits": { - "smithy.api#documentation": "

    \n The resource monitored by Application Insights.\n

    " - } - }, - "EventStatus": { - "target": "com.amazonaws.applicationinsights#ConfigurationEventStatus", + "EventResourceName": { + "target": "com.amazonaws.applicationinsights#ConfigurationEventResourceName", "traits": { - "smithy.api#documentation": "

    \n The status of the configuration update event. Possible values include INFO, WARN, and ERROR.\n

    " + "smithy.api#documentation": "

    \n The name of the resource Application Insights attempted to configure. \n

    " } } }, @@ -263,6 +306,9 @@ { "value": "CLOUDWATCH_ALARM" }, + { + "value": "CLOUDWATCH_LOG" + }, { "value": "CLOUDFORMATION" }, @@ -300,6 +346,9 @@ "target": "com.amazonaws.applicationinsights#CreateApplicationResponse" }, "errors": [ + { + "target": "com.amazonaws.applicationinsights#AccessDeniedException" + }, { "target": "com.amazonaws.applicationinsights#InternalServerException" }, @@ -323,10 +372,11 @@ "com.amazonaws.applicationinsights#CreateApplicationRequest": { "type": "structure", "members": { - "CWEMonitorEnabled": { - "target": "com.amazonaws.applicationinsights#CWEMonitorEnabled", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    \n Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.\n

    " + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} } }, "OpsCenterEnabled": { @@ -335,17 +385,16 @@ "smithy.api#documentation": "

    \n When set to true, creates opsItems for any problems detected on an application.\n

    " } }, - "OpsItemSNSTopicArn": { - "target": "com.amazonaws.applicationinsights#OpsItemSNSTopicArn", + "CWEMonitorEnabled": { + "target": "com.amazonaws.applicationinsights#CWEMonitorEnabled", "traits": { - "smithy.api#documentation": "

    \n The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to\n receive notifications for updates to the opsItem.\n

    " + "smithy.api#documentation": "

    \n Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.\n

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "OpsItemSNSTopicArn": { + "target": "com.amazonaws.applicationinsights#OpsItemSNSTopicArn", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to\n receive notifications for updates to the opsItem.\n

    " } }, "Tags": { @@ -396,17 +445,17 @@ "com.amazonaws.applicationinsights#CreateComponentRequest": { "type": "structure", "members": { - "ComponentName": { - "target": "com.amazonaws.applicationinsights#ComponentName", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The name of the component.

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

    The name of the resource group.

    ", "smithy.api#required": {} } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "ComponentName": { + "target": "com.amazonaws.applicationinsights#CustomComponentName", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

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

    The name of the component.

    ", "smithy.api#required": {} } }, @@ -452,10 +501,10 @@ "com.amazonaws.applicationinsights#CreateLogPatternRequest": { "type": "structure", "members": { - "Pattern": { - "target": "com.amazonaws.applicationinsights#LogPatternRegex", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The log pattern.

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

    The name of the resource group.

    ", "smithy.api#required": {} } }, @@ -466,24 +515,24 @@ "smithy.api#required": {} } }, - "Rank": { - "target": "com.amazonaws.applicationinsights#LogPatternRank", + "PatternName": { + "target": "com.amazonaws.applicationinsights#LogPatternName", "traits": { - "smithy.api#documentation": "

    Rank of the log pattern.

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

    The name of the log pattern.

    ", "smithy.api#required": {} } }, - "PatternName": { - "target": "com.amazonaws.applicationinsights#LogPatternName", + "Pattern": { + "target": "com.amazonaws.applicationinsights#LogPatternRegex", "traits": { - "smithy.api#documentation": "

    The name of the log pattern.

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

    The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

    ", "smithy.api#required": {} } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "Rank": { + "target": "com.amazonaws.applicationinsights#LogPatternRank", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

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

    Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank.\n Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.\n

    ", "smithy.api#required": {} } } @@ -506,6 +555,16 @@ } } }, + "com.amazonaws.applicationinsights#CustomComponentName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\d\\w\\-_\\.+]*$" + } + }, "com.amazonaws.applicationinsights#DeleteApplication": { "type": "operation", "input": { @@ -582,7 +641,7 @@ } }, "ComponentName": { - "target": "com.amazonaws.applicationinsights#ComponentName", + "target": "com.amazonaws.applicationinsights#CustomComponentName", "traits": { "smithy.api#documentation": "

    The name of the component.

    ", "smithy.api#required": {} @@ -623,6 +682,13 @@ "com.amazonaws.applicationinsights#DeleteLogPatternRequest": { "type": "structure", "members": { + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "traits": { + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} + } + }, "PatternSetName": { "target": "com.amazonaws.applicationinsights#LogPatternSetName", "traits": { @@ -636,13 +702,6 @@ "smithy.api#documentation": "

    The name of the log pattern.

    ", "smithy.api#required": {} } - }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", - "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} - } } } }, @@ -768,13 +827,6 @@ "com.amazonaws.applicationinsights#DescribeComponentConfigurationRecommendationRequest": { "type": "structure", "members": { - "Tier": { - "target": "com.amazonaws.applicationinsights#Tier", - "traits": { - "smithy.api#documentation": "

    The tier of the application component. Supported tiers include\n DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER,\n and DEFAULT.

    ", - "smithy.api#required": {} - } - }, "ResourceGroupName": { "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { @@ -788,6 +840,13 @@ "smithy.api#documentation": "

    The name of the component.

    ", "smithy.api#required": {} } + }, + "Tier": { + "target": "com.amazonaws.applicationinsights#Tier", + "traits": { + "smithy.api#documentation": "

    The tier of the application component. Supported tiers include\n DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER,\n and DEFAULT.

    ", + "smithy.api#required": {} + } } } }, @@ -824,12 +883,6 @@ "com.amazonaws.applicationinsights#DescribeComponentConfigurationResponse": { "type": "structure", "members": { - "ComponentConfiguration": { - "target": "com.amazonaws.applicationinsights#ComponentConfiguration", - "traits": { - "smithy.api#documentation": "

    The configuration settings of the component. The value is the escaped JSON of the configuration.

    " - } - }, "Monitor": { "target": "com.amazonaws.applicationinsights#Monitor", "traits": { @@ -841,6 +894,12 @@ "traits": { "smithy.api#documentation": "

    The tier of the application component. Supported tiers include\n DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB,\n SQL_SERVER, and DEFAULT\n

    " } + }, + "ComponentConfiguration": { + "target": "com.amazonaws.applicationinsights#ComponentConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration settings of the component. The value is the escaped JSON of the configuration.

    " + } } } }, @@ -866,14 +925,14 @@ "com.amazonaws.applicationinsights#DescribeComponentResponse": { "type": "structure", "members": { + "ApplicationComponent": { + "target": "com.amazonaws.applicationinsights#ApplicationComponent" + }, "ResourceList": { "target": "com.amazonaws.applicationinsights#ResourceList", "traits": { "smithy.api#documentation": "

    The list of resource ARNs that belong to the component.

    " } - }, - "ApplicationComponent": { - "target": "com.amazonaws.applicationinsights#ApplicationComponent" } } }, @@ -903,6 +962,13 @@ "com.amazonaws.applicationinsights#DescribeLogPatternRequest": { "type": "structure", "members": { + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "traits": { + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} + } + }, "PatternSetName": { "target": "com.amazonaws.applicationinsights#LogPatternSetName", "traits": { @@ -916,13 +982,6 @@ "smithy.api#documentation": "

    The name of the log pattern.

    ", "smithy.api#required": {} } - }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", - "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} - } } } }, @@ -1081,6 +1140,15 @@ } } }, + "com.amazonaws.applicationinsights#DetectedWorkload": { + "type": "map", + "key": { + "target": "com.amazonaws.applicationinsights#Tier" + }, + "value": { + "target": "com.amazonaws.applicationinsights#WorkloadMetaData" + } + }, "com.amazonaws.applicationinsights#EC2WindowsBarleyService": { "type": "service", "version": "2018-11-25", @@ -1178,10 +1246,22 @@ "name": "applicationinsights" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon CloudWatch Application Insights for .NET and SQL Server\n

    Amazon CloudWatch Application Insights for .NET and SQL Server is a service that\n helps you detect common problems with your .NET and SQL Server-based applications. It\n enables you to pinpoint the source of issues in your applications (built with technologies\n such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into\n detected problems.

    \n

    After you onboard your application, CloudWatch Application Insights for .NET and SQL\n Server identifies, recommends, and sets up metrics and logs. It continuously analyzes and\n correlates your metrics and logs for unusual behavior to surface actionable problems with\n your application. For example, if your application is slow and unresponsive and leading to\n HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you\n that a memory pressure problem with your SQL Server database is occurring. It bases this\n analysis on impactful metrics and log errors.

    ", + "smithy.api#documentation": "Amazon CloudWatch Application Insights\n

    Amazon CloudWatch Application Insights is a service that\n helps you detect common problems with your applications. It\n enables you to pinpoint the source of issues in your applications (built with technologies\n such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into\n detected problems.

    \n

    After you onboard your application, CloudWatch Application Insights identifies, \n recommends, and sets up metrics and logs. It continuously analyzes and\n correlates your metrics and logs for unusual behavior to surface actionable problems with\n your application. For example, if your application is slow and unresponsive and leading to\n HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you\n that a memory pressure problem with your SQL Server database is occurring. It bases this\n analysis on impactful metrics and log errors.

    ", "smithy.api#title": "Amazon CloudWatch Application Insights" } }, + "com.amazonaws.applicationinsights#EbsCause": { + "type": "string" + }, + "com.amazonaws.applicationinsights#EbsEvent": { + "type": "string" + }, + "com.amazonaws.applicationinsights#EbsRequestId": { + "type": "string" + }, + "com.amazonaws.applicationinsights#EbsResult": { + "type": "string" + }, "com.amazonaws.applicationinsights#Ec2State": { "type": "string" }, @@ -1300,17 +1380,17 @@ "com.amazonaws.applicationinsights#ListApplicationsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " - } - }, "MaxResults": { "target": "com.amazonaws.applicationinsights#MaxEntities", "traits": { "smithy.api#documentation": "

    The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

    " } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The token to request the next page of results.

    " + } } } }, @@ -1362,10 +1442,11 @@ "com.amazonaws.applicationinsights#ListComponentsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} } }, "MaxResults": { @@ -1374,11 +1455,10 @@ "smithy.api#documentation": "

    The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The token to request the next page of results.

    " } } } @@ -1386,17 +1466,17 @@ "com.amazonaws.applicationinsights#ListComponentsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " - } - }, "ApplicationComponentList": { "target": "com.amazonaws.applicationinsights#ApplicationComponentList", "traits": { "smithy.api#documentation": "

    The list of application components.

    " } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The token to request the next page of results.

    " + } } } }, @@ -1431,10 +1511,10 @@ "com.amazonaws.applicationinsights#ListConfigurationHistoryRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The NextToken value returned from a previous paginated ListConfigurationHistory request where\n MaxResults was used and the results exceeded the value of that parameter. Pagination\n continues from the end of the previous results that returned the NextToken value. This\n value is null when there are no more results to return.

    " + "smithy.api#documentation": "

    Resource group to which the application belongs.

    " } }, "StartTime": { @@ -1443,12 +1523,6 @@ "smithy.api#documentation": "

    The start time of the event.

    " } }, - "MaxResults": { - "target": "com.amazonaws.applicationinsights#MaxEntities", - "traits": { - "smithy.api#documentation": "

    The maximum number of results returned by ListConfigurationHistory in\n paginated output. When this parameter is used, ListConfigurationHistory\n returns only MaxResults in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListConfigurationHistory request with the returned\n NextToken value. If this parameter is not used, then\n ListConfigurationHistory returns all results.

    " - } - }, "EndTime": { "target": "com.amazonaws.applicationinsights#EndTime", "traits": { @@ -1461,10 +1535,16 @@ "smithy.api#documentation": "

    The status of the configuration update event. Possible values include INFO, WARN, and ERROR.

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "MaxResults": { + "target": "com.amazonaws.applicationinsights#MaxEntities", "traits": { - "smithy.api#documentation": "

    Resource group to which the application belongs.

    " + "smithy.api#documentation": "

    The maximum number of results returned by ListConfigurationHistory in\n paginated output. When this parameter is used, ListConfigurationHistory\n returns only MaxResults in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListConfigurationHistory request with the returned\n NextToken value. If this parameter is not used, then\n ListConfigurationHistory returns all results.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The NextToken value returned from a previous paginated ListConfigurationHistory request where\n MaxResults was used and the results exceeded the value of that parameter. Pagination\n continues from the end of the previous results that returned the NextToken value. This\n value is null when there are no more results to return.

    " } } } @@ -1472,17 +1552,17 @@ "com.amazonaws.applicationinsights#ListConfigurationHistoryResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The NextToken value to include in a future\n ListConfigurationHistory request. When the results of a\n ListConfigurationHistory request exceed MaxResults, this value\n can be used to retrieve the next page of results. This value is null when\n there are no more results to return.

    " - } - }, "EventList": { "target": "com.amazonaws.applicationinsights#ConfigurationEventList", "traits": { "smithy.api#documentation": "

    The list of configuration events and their corresponding details.

    " } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The NextToken value to include in a future\n ListConfigurationHistory request. When the results of a\n ListConfigurationHistory request exceed MaxResults, this value\n can be used to retrieve the next page of results. This value is null when\n there are no more results to return.

    " + } } } }, @@ -1517,10 +1597,11 @@ "com.amazonaws.applicationinsights#ListLogPatternSetsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} } }, "MaxResults": { @@ -1529,11 +1610,10 @@ "smithy.api#documentation": "

    The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The token to request the next page of results.

    " } } } @@ -1547,17 +1627,17 @@ "smithy.api#documentation": "

    The name of the resource group.

    " } }, - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The token used to retrieve the next page of results. This value is null\n when there are no more results to return.

    " - } - }, "LogPatternSets": { "target": "com.amazonaws.applicationinsights#LogPatternSetList", "traits": { "smithy.api#documentation": "

    The list of log pattern sets.

    " } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The token used to retrieve the next page of results. This value is null\n when there are no more results to return.

    " + } } } }, @@ -1592,12 +1672,6 @@ "com.amazonaws.applicationinsights#ListLogPatternsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " - } - }, "ResourceGroupName": { "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { @@ -1605,16 +1679,22 @@ "smithy.api#required": {} } }, + "PatternSetName": { + "target": "com.amazonaws.applicationinsights#LogPatternSetName", + "traits": { + "smithy.api#documentation": "

    The name of the log pattern set.

    " + } + }, "MaxResults": { "target": "com.amazonaws.applicationinsights#MaxEntities", "traits": { "smithy.api#documentation": "

    The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

    " } }, - "PatternSetName": { - "target": "com.amazonaws.applicationinsights#LogPatternSetName", + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", "traits": { - "smithy.api#documentation": "

    The name of the log pattern set.

    " + "smithy.api#documentation": "

    The token to request the next page of results.

    " } } } @@ -1628,17 +1708,17 @@ "smithy.api#documentation": "

    The name of the resource group.

    " } }, - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The token used to retrieve the next page of results. This value is null\n when there are no more results to return.

    " - } - }, "LogPatterns": { "target": "com.amazonaws.applicationinsights#LogPatternList", "traits": { "smithy.api#documentation": "

    The list of log patterns.

    " } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The token used to retrieve the next page of results. This value is null\n when there are no more results to return.

    " + } } } }, @@ -1673,18 +1753,6 @@ "com.amazonaws.applicationinsights#ListProblemsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.applicationinsights#PaginationToken", - "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " - } - }, - "MaxResults": { - "target": "com.amazonaws.applicationinsights#MaxEntities", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

    " - } - }, "ResourceGroupName": { "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { @@ -1702,6 +1770,18 @@ "traits": { "smithy.api#documentation": "

    The time when the problem ended, in epoch seconds. If not specified, problems within the\n past seven days are returned.

    " } + }, + "MaxResults": { + "target": "com.amazonaws.applicationinsights#MaxEntities", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.applicationinsights#PaginationToken", + "traits": { + "smithy.api#documentation": "

    The token to request the next page of results.

    " + } } } }, @@ -1787,28 +1867,28 @@ "com.amazonaws.applicationinsights#LogPattern": { "type": "structure", "members": { - "PatternName": { - "target": "com.amazonaws.applicationinsights#LogPatternName", + "PatternSetName": { + "target": "com.amazonaws.applicationinsights#LogPatternSetName", "traits": { - "smithy.api#documentation": "

    The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot\n be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

    " + "smithy.api#documentation": "

    The name of the log pattern. A log pattern name can contain as many as 30 characters, and it cannot\n be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.

    " } }, - "Rank": { - "target": "com.amazonaws.applicationinsights#LogPatternRank", + "PatternName": { + "target": "com.amazonaws.applicationinsights#LogPatternName", "traits": { - "smithy.api#documentation": "

    Rank of the log pattern.

    " + "smithy.api#documentation": "

    The name of the log pattern. A log pattern name can contain as many as 50 characters, and it cannot\n be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.

    " } }, "Pattern": { "target": "com.amazonaws.applicationinsights#LogPatternRegex", "traits": { - "smithy.api#documentation": "

    A regular expression that defines the log pattern. A log pattern can contains at many as 50 characters, and it cannot\n be empty.

    " + "smithy.api#documentation": "

    A regular expression that defines the log pattern. A log pattern can contain as many as 50 characters, and it cannot\n be empty. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

    " } }, - "PatternSetName": { - "target": "com.amazonaws.applicationinsights#LogPatternSetName", + "Rank": { + "target": "com.amazonaws.applicationinsights#LogPatternRank", "traits": { - "smithy.api#documentation": "

    The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot\n be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

    " + "smithy.api#documentation": "

    Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank.\n Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.\n

    " } } }, @@ -1841,7 +1921,8 @@ "smithy.api#length": { "min": 1, "max": 50 - } + }, + "smithy.api#pattern": "[\\S\\s]+" } }, "com.amazonaws.applicationinsights#LogPatternSetList": { @@ -1873,6 +1954,12 @@ } } }, + "com.amazonaws.applicationinsights#MetaDataKey": { + "type": "string" + }, + "com.amazonaws.applicationinsights#MetaDataValue": { + "type": "string" + }, "com.amazonaws.applicationinsights#MetricName": { "type": "string" }, @@ -1885,46 +1972,67 @@ "smithy.api#box": {} } }, - "com.amazonaws.applicationinsights#NewComponentName": { - "type": "string" - }, "com.amazonaws.applicationinsights#Observation": { "type": "structure", "members": { - "LineTime": { - "target": "com.amazonaws.applicationinsights#LineTime", + "Id": { + "target": "com.amazonaws.applicationinsights#ObservationId", "traits": { - "smithy.api#documentation": "

    The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

    " + "smithy.api#documentation": "

    The ID of the observation type.

    " } }, - "HealthService": { - "target": "com.amazonaws.applicationinsights#HealthService", + "StartTime": { + "target": "com.amazonaws.applicationinsights#StartTime", "traits": { - "smithy.api#documentation": "

    The service to which the AWS Health Event belongs, such as EC2.

    " + "smithy.api#documentation": "

    The time when the observation was first detected, in epoch seconds.

    " } }, - "CodeDeployState": { - "target": "com.amazonaws.applicationinsights#CodeDeployState", + "EndTime": { + "target": "com.amazonaws.applicationinsights#EndTime", "traits": { - "smithy.api#documentation": "

    \n The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. \n

    " + "smithy.api#documentation": "

    The time when the observation ended, in epoch seconds.

    " } }, - "CodeDeployDeploymentId": { - "target": "com.amazonaws.applicationinsights#CodeDeployDeploymentId", + "SourceType": { + "target": "com.amazonaws.applicationinsights#SourceType", "traits": { - "smithy.api#documentation": "

    The deployment ID of the CodeDeploy-based observation related to the detected problem.

    " + "smithy.api#documentation": "

    The source type of the observation.

    " } }, - "XRayFaultPercent": { - "target": "com.amazonaws.applicationinsights#XRayFaultPercent", + "SourceARN": { + "target": "com.amazonaws.applicationinsights#SourceARN", "traits": { - "smithy.api#documentation": "

    \n The X-Ray request fault percentage for this node.\n

    " + "smithy.api#documentation": "

    The source resource ARN of the observation.

    " } }, - "HealthEventArn": { - "target": "com.amazonaws.applicationinsights#HealthEventArn", + "LogGroup": { + "target": "com.amazonaws.applicationinsights#LogGroup", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

    " + "smithy.api#documentation": "

    The log group name.

    " + } + }, + "LineTime": { + "target": "com.amazonaws.applicationinsights#LineTime", + "traits": { + "smithy.api#documentation": "

    The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

    " + } + }, + "LogText": { + "target": "com.amazonaws.applicationinsights#LogText", + "traits": { + "smithy.api#documentation": "

    The log text of the observation.

    " + } + }, + "LogFilter": { + "target": "com.amazonaws.applicationinsights#LogFilter", + "traits": { + "smithy.api#documentation": "

    The log filter of the observation.

    " + } + }, + "MetricNamespace": { + "target": "com.amazonaws.applicationinsights#MetricNamespace", + "traits": { + "smithy.api#documentation": "

    The namespace of the observation metric.

    " } }, "MetricName": { @@ -1933,10 +2041,28 @@ "smithy.api#documentation": "

    The name of the observation metric.

    " } }, - "XRayRequestCount": { - "target": "com.amazonaws.applicationinsights#XRayRequestCount", + "Unit": { + "target": "com.amazonaws.applicationinsights#Unit", "traits": { - "smithy.api#documentation": "

    \n The X-Ray request count for this node.\n

    " + "smithy.api#documentation": "

    The unit of the source observation metric.

    " + } + }, + "Value": { + "target": "com.amazonaws.applicationinsights#Value", + "traits": { + "smithy.api#documentation": "

    The value of the source observation metric.

    " + } + }, + "CloudWatchEventId": { + "target": "com.amazonaws.applicationinsights#CloudWatchEventId", + "traits": { + "smithy.api#documentation": "

    The ID of the CloudWatch Event-based observation related to the detected problem.

    " + } + }, + "CloudWatchEventSource": { + "target": "com.amazonaws.applicationinsights#CloudWatchEventSource", + "traits": { + "smithy.api#documentation": "

    The source of the CloudWatch Event.

    " } }, "CloudWatchEventDetailType": { @@ -1945,16 +2071,22 @@ "smithy.api#documentation": "

    The detail type of the CloudWatch Event-based observation, for example, EC2\n Instance State-change Notification.

    " } }, - "SourceType": { - "target": "com.amazonaws.applicationinsights#SourceType", + "HealthEventArn": { + "target": "com.amazonaws.applicationinsights#HealthEventArn", "traits": { - "smithy.api#documentation": "

    The source type of the observation.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

    " } }, - "XRayErrorPercent": { - "target": "com.amazonaws.applicationinsights#XRayErrorPercent", + "HealthService": { + "target": "com.amazonaws.applicationinsights#HealthService", "traits": { - "smithy.api#documentation": "

    \n The X-Ray request error percentage for this node.\n

    " + "smithy.api#documentation": "

    The service to which the AWS Health Event belongs, such as EC2.

    " + } + }, + "HealthEventTypeCode": { + "target": "com.amazonaws.applicationinsights#HealthEventTypeCode", + "traits": { + "smithy.api#documentation": "

    The type of the AWS Health event, for example,\n AWS_EC2_POWER_CONNECTIVITY_ISSUE.

    " } }, "HealthEventTypeCategory": { @@ -1963,136 +2095,154 @@ "smithy.api#documentation": "

    The category of the AWS Health event, such as issue.

    " } }, - "XRayRequestAverageLatency": { - "target": "com.amazonaws.applicationinsights#XRayRequestAverageLatency", + "HealthEventDescription": { + "target": "com.amazonaws.applicationinsights#HealthEventDescription", "traits": { - "smithy.api#documentation": "

    \n The X-Ray node request average latency for this node.\n

    " + "smithy.api#documentation": "

    The description of the AWS Health event provided by the service, such as Amazon EC2.

    " } }, - "MetricNamespace": { - "target": "com.amazonaws.applicationinsights#MetricNamespace", + "CodeDeployDeploymentId": { + "target": "com.amazonaws.applicationinsights#CodeDeployDeploymentId", "traits": { - "smithy.api#documentation": "

    The namespace of the observation metric.

    " + "smithy.api#documentation": "

    The deployment ID of the CodeDeploy-based observation related to the detected problem.

    " } }, - "Ec2State": { - "target": "com.amazonaws.applicationinsights#Ec2State", + "CodeDeployDeploymentGroup": { + "target": "com.amazonaws.applicationinsights#CodeDeployDeploymentGroup", "traits": { - "smithy.api#documentation": "

    \n The state of the instance, such as STOPPING or TERMINATING.\n

    " + "smithy.api#documentation": "

    \n The deployment group to which the CodeDeploy deployment belongs.\n

    " } }, - "CloudWatchEventId": { - "target": "com.amazonaws.applicationinsights#CloudWatchEventId", + "CodeDeployState": { + "target": "com.amazonaws.applicationinsights#CodeDeployState", "traits": { - "smithy.api#documentation": "

    The ID of the CloudWatch Event-based observation related to the detected problem.

    " + "smithy.api#documentation": "

    \n The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. \n

    " } }, - "XRayThrottlePercent": { - "target": "com.amazonaws.applicationinsights#XRayThrottlePercent", + "CodeDeployApplication": { + "target": "com.amazonaws.applicationinsights#CodeDeployApplication", "traits": { - "smithy.api#documentation": "

    \n The X-Ray request throttle percentage for this node.\n

    " + "smithy.api#documentation": "

    \n The CodeDeploy application to which the deployment belongs.\n

    " } }, - "StartTime": { - "target": "com.amazonaws.applicationinsights#StartTime", + "CodeDeployInstanceGroupId": { + "target": "com.amazonaws.applicationinsights#CodeDeployInstanceGroupId", "traits": { - "smithy.api#documentation": "

    The time when the observation was first detected, in epoch seconds.

    " + "smithy.api#documentation": "

    \n The instance group to which the CodeDeploy instance belongs. \n

    " } }, - "Value": { - "target": "com.amazonaws.applicationinsights#Value", + "Ec2State": { + "target": "com.amazonaws.applicationinsights#Ec2State", "traits": { - "smithy.api#documentation": "

    The value of the source observation metric.

    " + "smithy.api#documentation": "

    \n The state of the instance, such as STOPPING or TERMINATING.\n

    " } }, - "XRayNodeType": { - "target": "com.amazonaws.applicationinsights#XRayNodeType", + "RdsEventCategories": { + "target": "com.amazonaws.applicationinsights#RdsEventCategories", "traits": { - "smithy.api#documentation": "

    \n The type of the X-Ray node.

    " + "smithy.api#documentation": "

    \n The category of an RDS event.\n

    " } }, - "SourceARN": { - "target": "com.amazonaws.applicationinsights#SourceARN", + "RdsEventMessage": { + "target": "com.amazonaws.applicationinsights#RdsEventMessage", "traits": { - "smithy.api#documentation": "

    The source resource ARN of the observation.

    " + "smithy.api#documentation": "

    \n The message of an RDS event.\n

    " } }, - "LogText": { - "target": "com.amazonaws.applicationinsights#LogText", + "S3EventName": { + "target": "com.amazonaws.applicationinsights#S3EventName", "traits": { - "smithy.api#documentation": "

    The log text of the observation.

    " + "smithy.api#documentation": "

    \n The name of the S3 CloudWatch Event-based observation.\n

    " } }, - "Id": { - "target": "com.amazonaws.applicationinsights#ObservationId", + "StatesExecutionArn": { + "target": "com.amazonaws.applicationinsights#StatesExecutionArn", "traits": { - "smithy.api#documentation": "

    The ID of the observation type.

    " + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the step function execution-based observation.\n

    " } }, - "HealthEventDescription": { - "target": "com.amazonaws.applicationinsights#HealthEventDescription", + "StatesArn": { + "target": "com.amazonaws.applicationinsights#StatesArn", "traits": { - "smithy.api#documentation": "

    The description of the AWS Health event provided by the service, such as Amazon EC2.

    " + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the step function-based observation.\n

    " } }, - "HealthEventTypeCode": { - "target": "com.amazonaws.applicationinsights#HealthEventTypeCode", + "StatesStatus": { + "target": "com.amazonaws.applicationinsights#StatesStatus", "traits": { - "smithy.api#documentation": "

    The type of the AWS Health event, for example,\n AWS_EC2_POWER_CONNECTIVITY_ISSUE.

    " + "smithy.api#documentation": "

    \n The status of the step function-related observation.\n

    " } }, - "XRayNodeName": { - "target": "com.amazonaws.applicationinsights#XRayNodeName", + "StatesInput": { + "target": "com.amazonaws.applicationinsights#StatesInput", "traits": { - "smithy.api#documentation": "

    \n The name of the X-Ray node.\n

    " + "smithy.api#documentation": "

    \n The input to the step function-based observation.\n

    " } }, - "EndTime": { - "target": "com.amazonaws.applicationinsights#EndTime", + "EbsEvent": { + "target": "com.amazonaws.applicationinsights#EbsEvent", "traits": { - "smithy.api#documentation": "

    The time when the observation ended, in epoch seconds.

    " + "smithy.api#documentation": "

    \n The type of EBS CloudWatch event, such as createVolume, deleteVolume or attachVolume.\n

    " } }, - "Unit": { - "target": "com.amazonaws.applicationinsights#Unit", + "EbsResult": { + "target": "com.amazonaws.applicationinsights#EbsResult", "traits": { - "smithy.api#documentation": "

    The unit of the source observation metric.

    " + "smithy.api#documentation": "

    \n The result of an EBS CloudWatch event, such as failed or succeeded.\n

    " } }, - "CodeDeployApplication": { - "target": "com.amazonaws.applicationinsights#CodeDeployApplication", + "EbsCause": { + "target": "com.amazonaws.applicationinsights#EbsCause", "traits": { - "smithy.api#documentation": "

    \n The CodeDeploy application to which the deployment belongs.\n

    " + "smithy.api#documentation": "

    \n The cause of an EBS CloudWatch event.\n

    " } }, - "LogFilter": { - "target": "com.amazonaws.applicationinsights#LogFilter", + "EbsRequestId": { + "target": "com.amazonaws.applicationinsights#EbsRequestId", "traits": { - "smithy.api#documentation": "

    The log filter of the observation.

    " + "smithy.api#documentation": "

    \n The request ID of an EBS CloudWatch event.\n

    " } }, - "CodeDeployInstanceGroupId": { - "target": "com.amazonaws.applicationinsights#CodeDeployInstanceGroupId", + "XRayFaultPercent": { + "target": "com.amazonaws.applicationinsights#XRayFaultPercent", "traits": { - "smithy.api#documentation": "

    \n The instance group to which the CodeDeploy instance belongs. \n

    " + "smithy.api#documentation": "

    \n The X-Ray request fault percentage for this node.\n

    " } }, - "CloudWatchEventSource": { - "target": "com.amazonaws.applicationinsights#CloudWatchEventSource", + "XRayThrottlePercent": { + "target": "com.amazonaws.applicationinsights#XRayThrottlePercent", + "traits": { + "smithy.api#documentation": "

    \n The X-Ray request throttle percentage for this node.\n

    " + } + }, + "XRayErrorPercent": { + "target": "com.amazonaws.applicationinsights#XRayErrorPercent", + "traits": { + "smithy.api#documentation": "

    \n The X-Ray request error percentage for this node.\n

    " + } + }, + "XRayRequestCount": { + "target": "com.amazonaws.applicationinsights#XRayRequestCount", + "traits": { + "smithy.api#documentation": "

    \n The X-Ray request count for this node.\n

    " + } + }, + "XRayRequestAverageLatency": { + "target": "com.amazonaws.applicationinsights#XRayRequestAverageLatency", "traits": { - "smithy.api#documentation": "

    The source of the CloudWatch Event.

    " + "smithy.api#documentation": "

    \n The X-Ray node request average latency for this node.\n

    " } }, - "LogGroup": { - "target": "com.amazonaws.applicationinsights#LogGroup", + "XRayNodeName": { + "target": "com.amazonaws.applicationinsights#XRayNodeName", "traits": { - "smithy.api#documentation": "

    The log group name.

    " + "smithy.api#documentation": "

    \n The name of the X-Ray node.\n

    " } }, - "CodeDeployDeploymentGroup": { - "target": "com.amazonaws.applicationinsights#CodeDeployDeploymentGroup", + "XRayNodeType": { + "target": "com.amazonaws.applicationinsights#XRayNodeType", "traits": { - "smithy.api#documentation": "

    \n The deployment group to which the CodeDeploy deployment belongs.\n

    " + "smithy.api#documentation": "

    \n The type of the X-Ray node.

    " } } }, @@ -2128,31 +2278,52 @@ "smithy.api#length": { "min": 20, "max": 300 - } + }, + "smithy.api#pattern": "^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$" + } + }, + "com.amazonaws.applicationinsights#OsType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WINDOWS" + }, + { + "value": "LINUX" + } + ] } }, "com.amazonaws.applicationinsights#PaginationToken": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": ".+" + } }, "com.amazonaws.applicationinsights#Problem": { "type": "structure", "members": { - "Title": { - "target": "com.amazonaws.applicationinsights#Title", + "Id": { + "target": "com.amazonaws.applicationinsights#ProblemId", "traits": { - "smithy.api#documentation": "

    The name of the problem.

    " + "smithy.api#documentation": "

    The ID of the problem.

    " } }, - "SeverityLevel": { - "target": "com.amazonaws.applicationinsights#SeverityLevel", + "Title": { + "target": "com.amazonaws.applicationinsights#Title", "traits": { - "smithy.api#documentation": "

    A measure of the level of impact of the problem.

    " + "smithy.api#documentation": "

    The name of the problem.

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "Insights": { + "target": "com.amazonaws.applicationinsights#Insights", "traits": { - "smithy.api#documentation": "

    The name of the resource group affected by the problem.

    " + "smithy.api#documentation": "

    A detailed analysis of the problem using machine learning.

    " } }, "Status": { @@ -2161,40 +2332,40 @@ "smithy.api#documentation": "

    The status of the problem.

    " } }, - "EndTime": { - "target": "com.amazonaws.applicationinsights#EndTime", + "AffectedResource": { + "target": "com.amazonaws.applicationinsights#AffectedResource", "traits": { - "smithy.api#documentation": "

    The time when the problem ended, in epoch seconds.

    " + "smithy.api#documentation": "

    The resource affected by the problem.

    " } }, - "Id": { - "target": "com.amazonaws.applicationinsights#ProblemId", + "StartTime": { + "target": "com.amazonaws.applicationinsights#StartTime", "traits": { - "smithy.api#documentation": "

    The ID of the problem.

    " + "smithy.api#documentation": "

    The time when the problem started, in epoch seconds.

    " } }, - "Insights": { - "target": "com.amazonaws.applicationinsights#Insights", + "EndTime": { + "target": "com.amazonaws.applicationinsights#EndTime", "traits": { - "smithy.api#documentation": "

    A detailed analysis of the problem using machine learning.

    " + "smithy.api#documentation": "

    The time when the problem ended, in epoch seconds.

    " } }, - "Feedback": { - "target": "com.amazonaws.applicationinsights#Feedback", + "SeverityLevel": { + "target": "com.amazonaws.applicationinsights#SeverityLevel", "traits": { - "smithy.api#documentation": "

    Feedback provided by the user about the problem.

    " + "smithy.api#documentation": "

    A measure of the level of impact of the problem.

    " } }, - "StartTime": { - "target": "com.amazonaws.applicationinsights#StartTime", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The time when the problem started, in epoch seconds.

    " + "smithy.api#documentation": "

    The name of the resource group affected by the problem.

    " } }, - "AffectedResource": { - "target": "com.amazonaws.applicationinsights#AffectedResource", + "Feedback": { + "target": "com.amazonaws.applicationinsights#Feedback", "traits": { - "smithy.api#documentation": "

    The resource affected by the problem.

    " + "smithy.api#documentation": "

    Feedback provided by the user about the problem.

    " } } }, @@ -2218,6 +2389,12 @@ "target": "com.amazonaws.applicationinsights#Problem" } }, + "com.amazonaws.applicationinsights#RdsEventCategories": { + "type": "string" + }, + "com.amazonaws.applicationinsights#RdsEventMessage": { + "type": "string" + }, "com.amazonaws.applicationinsights#RelatedObservations": { "type": "structure", "members": { @@ -2247,7 +2424,8 @@ "smithy.api#length": { "min": 1, "max": 1011 - } + }, + "smithy.api#pattern": "^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$" } }, "com.amazonaws.applicationinsights#ResourceGroupName": { @@ -2293,6 +2471,16 @@ } }, "com.amazonaws.applicationinsights#ResourceType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "[0-9a-zA-Z:_]*" + } + }, + "com.amazonaws.applicationinsights#S3EventName": { "type": "string" }, "com.amazonaws.applicationinsights#SeverityLevel": { @@ -2320,6 +2508,18 @@ "com.amazonaws.applicationinsights#StartTime": { "type": "timestamp" }, + "com.amazonaws.applicationinsights#StatesArn": { + "type": "string" + }, + "com.amazonaws.applicationinsights#StatesExecutionArn": { + "type": "string" + }, + "com.amazonaws.applicationinsights#StatesInput": { + "type": "string" + }, + "com.amazonaws.applicationinsights#StatesStatus": { + "type": "string" + }, "com.amazonaws.applicationinsights#Status": { "type": "string", "traits": { @@ -2339,17 +2539,17 @@ "com.amazonaws.applicationinsights#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.applicationinsights#TagValue", + "Key": { + "target": "com.amazonaws.applicationinsights#TagKey", "traits": { - "smithy.api#documentation": "

    The optional part of a key-value pair that defines a tag. The maximum length of a tag\n value is 256 characters. The minimum length is 0 characters. If you don't want an\n application to have a specific tag value, don't specify a value for this parameter.

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

    One part of a key-value pair that defines a tag. The maximum length of a tag key is\n 128 characters. The minimum length is 1 character.

    ", "smithy.api#required": {} } }, - "Key": { - "target": "com.amazonaws.applicationinsights#TagKey", + "Value": { + "target": "com.amazonaws.applicationinsights#TagValue", "traits": { - "smithy.api#documentation": "

    One part of a key-value pair that defines a tag. The maximum length of a tag key is\n 128 characters. The minimum length is 1 character.

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

    The optional part of a key-value pair that defines a tag. The maximum length of a tag\n value is 256 characters. The minimum length is 0 characters. If you don't want an\n application to have a specific tag value, don't specify a value for this parameter.

    ", "smithy.api#required": {} } } @@ -2364,7 +2564,8 @@ "smithy.api#length": { "min": 1, "max": 128 - } + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" } }, "com.amazonaws.applicationinsights#TagKeyList": { @@ -2417,17 +2618,17 @@ "com.amazonaws.applicationinsights#TagResourceRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.applicationinsights#TagList", + "ResourceARN": { + "target": "com.amazonaws.applicationinsights#AmazonResourceName", "traits": { - "smithy.api#documentation": "

    A list of tags that to add to the application. A tag consists of a required\n tag key (Key) and an associated tag value (Value). The maximum\n length of a tag key is 128 characters. The maximum length of a tag value is 256\n characters.

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

    The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

    ", "smithy.api#required": {} } }, - "ResourceARN": { - "target": "com.amazonaws.applicationinsights#AmazonResourceName", + "Tags": { + "target": "com.amazonaws.applicationinsights#TagList", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

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

    A list of tags that to add to the application. A tag consists of a required\n tag key (Key) and an associated tag value (Value). The maximum\n length of a tag key is 128 characters. The maximum length of a tag value is 256\n characters.

    ", "smithy.api#required": {} } } @@ -2443,7 +2644,8 @@ "smithy.api#length": { "min": 0, "max": 256 - } + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" } }, "com.amazonaws.applicationinsights#TagsAlreadyExistException": { @@ -2463,6 +2665,9 @@ "type": "string", "traits": { "smithy.api#enum": [ + { + "value": "CUSTOM" + }, { "value": "DEFAULT" }, @@ -2472,11 +2677,29 @@ { "value": "DOT_NET_WORKER" }, + { + "value": "DOT_NET_WEB_TIER" + }, { "value": "DOT_NET_WEB" }, { "value": "SQL_SERVER" + }, + { + "value": "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP" + }, + { + "value": "MYSQL" + }, + { + "value": "POSTGRESQL" + }, + { + "value": "JAVA_JMX" + }, + { + "value": "ORACLE" } ], "smithy.api#length": { @@ -2579,12 +2802,25 @@ "com.amazonaws.applicationinsights#UpdateApplicationRequest": { "type": "structure", "members": { + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "traits": { + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} + } + }, "OpsCenterEnabled": { "target": "com.amazonaws.applicationinsights#OpsCenterEnabled", "traits": { "smithy.api#documentation": "

    \n When set to true, creates opsItems for any problems detected on an application.\n

    " } }, + "CWEMonitorEnabled": { + "target": "com.amazonaws.applicationinsights#CWEMonitorEnabled", + "traits": { + "smithy.api#documentation": "

    \n Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.\n

    " + } + }, "OpsItemSNSTopicArn": { "target": "com.amazonaws.applicationinsights#OpsItemSNSTopicArn", "traits": { @@ -2596,19 +2832,6 @@ "traits": { "smithy.api#documentation": "

    \n Disassociates the SNS topic from the opsItem created for detected problems.

    " } - }, - "CWEMonitorEnabled": { - "target": "com.amazonaws.applicationinsights#CWEMonitorEnabled", - "traits": { - "smithy.api#documentation": "

    \n Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.\n

    " - } - }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", - "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} - } } } }, @@ -2675,6 +2898,13 @@ "com.amazonaws.applicationinsights#UpdateComponentConfigurationRequest": { "type": "structure", "members": { + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "traits": { + "smithy.api#documentation": "

    The name of the resource group.

    ", + "smithy.api#required": {} + } + }, "ComponentName": { "target": "com.amazonaws.applicationinsights#ComponentName", "traits": { @@ -2688,23 +2918,16 @@ "smithy.api#documentation": "

    Indicates whether the application component is monitored.

    " } }, - "ComponentConfiguration": { - "target": "com.amazonaws.applicationinsights#ComponentConfiguration", - "traits": { - "smithy.api#documentation": "

    The configuration settings of the component. The value is the escaped JSON of the configuration. For\n more information about the JSON format, see Working with JSON.\n You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete\n format of the component configuration file, see Component Configuration.

    " - } - }, "Tier": { "target": "com.amazonaws.applicationinsights#Tier", "traits": { "smithy.api#documentation": "

    The tier of the application component. Supported tiers include DOT_NET_WORKER,\n DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "ComponentConfiguration": { + "target": "com.amazonaws.applicationinsights#ComponentConfiguration", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The configuration settings of the component. The value is the escaped JSON of the configuration. For\n more information about the JSON format, see Working with JSON.\n You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete\n format of the component configuration file, see Component Configuration.

    " } } } @@ -2716,30 +2939,30 @@ "com.amazonaws.applicationinsights#UpdateComponentRequest": { "type": "structure", "members": { - "ComponentName": { - "target": "com.amazonaws.applicationinsights#ComponentName", + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

    The name of the component.

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

    The name of the resource group.

    ", "smithy.api#required": {} } }, - "ResourceList": { - "target": "com.amazonaws.applicationinsights#ResourceList", + "ComponentName": { + "target": "com.amazonaws.applicationinsights#CustomComponentName", "traits": { - "smithy.api#documentation": "

    The list of resource ARNs that belong to the component.

    " + "smithy.api#documentation": "

    The name of the component.

    ", + "smithy.api#required": {} } }, "NewComponentName": { - "target": "com.amazonaws.applicationinsights#NewComponentName", + "target": "com.amazonaws.applicationinsights#CustomComponentName", "traits": { "smithy.api#documentation": "

    The new name of the component.

    " } }, - "ResourceGroupName": { - "target": "com.amazonaws.applicationinsights#ResourceGroupName", + "ResourceList": { + "target": "com.amazonaws.applicationinsights#ResourceList", "traits": { - "smithy.api#documentation": "

    The name of the resource group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The list of resource ARNs that belong to the component.

    " } } } @@ -2784,16 +3007,11 @@ "smithy.api#required": {} } }, - "Rank": { - "target": "com.amazonaws.applicationinsights#LogPatternRank", - "traits": { - "smithy.api#documentation": "

    Rank of the log pattern.

    " - } - }, - "Pattern": { - "target": "com.amazonaws.applicationinsights#LogPatternRegex", + "PatternSetName": { + "target": "com.amazonaws.applicationinsights#LogPatternSetName", "traits": { - "smithy.api#documentation": "

    The log pattern.

    " + "smithy.api#documentation": "

    The name of the log pattern set.

    ", + "smithy.api#required": {} } }, "PatternName": { @@ -2803,11 +3021,16 @@ "smithy.api#required": {} } }, - "PatternSetName": { - "target": "com.amazonaws.applicationinsights#LogPatternSetName", + "Pattern": { + "target": "com.amazonaws.applicationinsights#LogPatternRegex", "traits": { - "smithy.api#documentation": "

    The name of the log pattern set.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

    " + } + }, + "Rank": { + "target": "com.amazonaws.applicationinsights#LogPatternRank", + "traits": { + "smithy.api#documentation": "

    Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank.\n Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.\n

    " } } } @@ -2815,17 +3038,17 @@ "com.amazonaws.applicationinsights#UpdateLogPatternResponse": { "type": "structure", "members": { - "LogPattern": { - "target": "com.amazonaws.applicationinsights#LogPattern", - "traits": { - "smithy.api#documentation": "

    The successfully created log pattern.

    " - } - }, "ResourceGroupName": { "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { "smithy.api#documentation": "

    The name of the resource group.

    " } + }, + "LogPattern": { + "target": "com.amazonaws.applicationinsights#LogPattern", + "traits": { + "smithy.api#documentation": "

    The successfully created log pattern.

    " + } } } }, @@ -2848,6 +3071,15 @@ "smithy.api#box": {} } }, + "com.amazonaws.applicationinsights#WorkloadMetaData": { + "type": "map", + "key": { + "target": "com.amazonaws.applicationinsights#MetaDataKey" + }, + "value": { + "target": "com.amazonaws.applicationinsights#MetaDataValue" + } + }, "com.amazonaws.applicationinsights#XRayErrorPercent": { "type": "integer", "traits": { diff --git a/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json b/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json index 6fc466b7be7c6..b50c760da320f 100644 --- a/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json +++ b/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json @@ -286,7 +286,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Attaches one or more target groups to the specified Auto Scaling group.

    \n

    To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from\n the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

    \n

    With Application Load Balancers and Network Load Balancers, instances are registered\n as targets with a target group. With Classic Load Balancers, instances are registered\n with the load balancer. For more information, see Attaching a load\n balancer to your Auto Scaling group in the\n Amazon EC2 Auto Scaling User Guide.

    " + "smithy.api#documentation": "

    Attaches one or more target groups to the specified Auto Scaling group.

    \n

    This operation is used with the following load balancer types:

    \n
      \n
    • \n

      Application Load Balancer - Operates at the application layer (layer 7) and\n supports HTTP and HTTPS.

      \n
    • \n
    • \n

      Network Load Balancer - Operates at the transport layer (layer 4) and\n supports TCP, TLS, and UDP.

      \n
    • \n
    • \n

      Gateway Load Balancer - Operates at the network layer (layer 3).

      \n
    • \n
    \n

    To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from\n the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

    \n

    For more information, see Elastic Load Balancing and\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

    " } }, "com.amazonaws.autoscaling#AttachLoadBalancerTargetGroupsResultType": { @@ -306,7 +306,7 @@ "TargetGroupARNs": { "target": "com.amazonaws.autoscaling#TargetGroupARNs", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target\n groups.

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

    The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target\n groups. To get the ARN of a target group, use the Elastic Load Balancing DescribeTargetGroups API operation.

    ", "smithy.api#required": {} } } @@ -329,7 +329,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

    To attach an Application Load Balancer or a Network Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead.

    \n
    \n

    Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling\n registers the running instances with these Classic Load Balancers.

    \n

    To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling\n group, call the DetachLoadBalancers API.

    \n

    For more information, see Attaching a load\n balancer to your Auto Scaling group in the\n Amazon EC2 Auto Scaling User Guide.

    " + "smithy.api#documentation": "\n

    To attach an Application Load Balancer, Network Load Balancer, or Gateway Load\n Balancer, use the AttachLoadBalancerTargetGroups API operation\n instead.

    \n
    \n

    Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling\n registers the running instances with these Classic Load Balancers.

    \n

    To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling\n group, call the DetachLoadBalancers API.

    \n

    For more information, see Elastic Load Balancing and\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

    " } }, "com.amazonaws.autoscaling#AttachLoadBalancersResultType": { @@ -1263,7 +1263,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

    An embedded object that specifies a mixed instances policy. The required parameters\n must be specified. If optional parameters are unspecified, their default values are\n used.

    \n

    The policy includes parameters that not only define the distribution of On-Demand\n Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the\n Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also\n the parameters that specify the instance configuration information—the launch template\n and instance types. The policy can also include a weight for each instance type and\n different launch templates for individual instance types. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

    \n

    Conditional: You must specify either a launch template (LaunchTemplate or\n MixedInstancesPolicy) or a launch configuration\n (LaunchConfigurationName or InstanceId).

    " + "smithy.api#documentation": "

    An embedded object that specifies a mixed instances policy. The required parameters\n must be specified. If optional parameters are unspecified, their default values are\n used.

    \n

    The policy includes parameters that not only define the distribution of On-Demand\n Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the\n Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also\n the parameters that specify the instance configuration information—the launch template\n and instance types. The policy can also include a weight for each instance type and\n different launch templates for individual instance types. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

    " } }, "InstanceId": { @@ -1307,13 +1307,13 @@ "LoadBalancerNames": { "target": "com.amazonaws.autoscaling#LoadBalancerNames", "traits": { - "smithy.api#documentation": "

    A list of Classic Load Balancers associated with this Auto Scaling group. For\n Application Load Balancers and Network Load Balancers, specify\n TargetGroupARNs instead.

    " + "smithy.api#documentation": "

    A list of Classic Load Balancers associated with this Auto Scaling group. For\n Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify\n the TargetGroupARNs property instead.

    " } }, "TargetGroupARNs": { "target": "com.amazonaws.autoscaling#TargetGroupARNs", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group.\n Instances are registered as targets in a target group, and traffic is routed to the\n target group. For more information, see Elastic Load\n Balancing and Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

    " + "smithy.api#documentation": "

    The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group.\n Instances are registered as targets in a target group, and traffic is routed to the\n target group. For more information, see Elastic Load Balancing and\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

    " } }, "HealthCheckType": { @@ -1513,7 +1513,7 @@ "PlacementTenancy": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen64", "traits": { - "smithy.api#documentation": "

    The tenancy of the instance. An instance with dedicated tenancy runs on\n isolated, single-tenant hardware and can only be launched into a VPC.

    \n

    To launch dedicated instances into a shared tenancy VPC (a VPC with the instance\n placement tenancy attribute set to default), you must set the value of this\n parameter to dedicated.

    \n

    If you specify PlacementTenancy, you must specify at least one subnet for\n VPCZoneIdentifier when you create your group.

    \n

    For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the\n Amazon EC2 Auto Scaling User Guide.

    \n

    Valid Values: default | dedicated\n

    " + "smithy.api#documentation": "

    The tenancy of the instance. An instance with dedicated tenancy runs on\n isolated, single-tenant hardware and can only be launched into a VPC.

    \n

    To launch dedicated instances into a shared tenancy VPC (a VPC with the instance\n placement tenancy attribute set to default), you must set the value of this\n parameter to dedicated.

    \n

    If you specify PlacementTenancy, you must specify at least one subnet for\n VPCZoneIdentifier when you create your group.

    \n

    For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the\n Amazon EC2 Auto Scaling User Guide.

    \n

    Valid Values: default | dedicated\n

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

    Describes the load balancers for the specified Auto Scaling group.

    \n

    This operation describes only Classic Load Balancers. If you have Application Load\n Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

    " + "smithy.api#documentation": "

    Describes the load balancers for the specified Auto Scaling group.

    \n

    This operation describes only Classic Load Balancers. If you have Application Load\n Balancers, Network Load Balancers, or Gateway Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

    " } }, "com.amazonaws.autoscaling#DescribeLoadBalancersRequest": { @@ -2752,7 +2752,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

    \n

    This operation detaches only Classic Load Balancers. If you have Application Load\n Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

    \n

    When you detach a load balancer, it enters the Removing state while\n deregistering the instances in the group. When all instances are deregistered, then you\n can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

    " + "smithy.api#documentation": "

    Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

    \n

    This operation detaches only Classic Load Balancers. If you have Application Load\n Balancers, Network Load Balancers, or Gateway Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

    \n

    When you detach a load balancer, it enters the Removing state while\n deregistering the instances in the group. When all instances are deregistered, then you\n can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

    " } }, "com.amazonaws.autoscaling#DetachLoadBalancersResultType": { @@ -3479,19 +3479,19 @@ "SpotAllocationStrategy": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

    Indicates how to allocate instances across Spot Instance pools. If the allocation\n strategy is lowest-price, the Auto Scaling group launches instances using the Spot\n pools with the lowest price, and evenly allocates your instances across the number of\n Spot pools that you specify. If the allocation strategy is\n capacity-optimized, the Auto Scaling group launches instances using Spot pools\n that are optimally chosen based on the available Spot capacity. Defaults to\n lowest-price if not specified.

    " + "smithy.api#documentation": "

    Indicates how to allocate instances across Spot Instance pools. If the allocation\n strategy is capacity-optimized (recommended), the Auto Scaling group launches\n instances using Spot pools that are optimally chosen based on the available Spot\n capacity. If the allocation strategy is lowest-price, the Auto Scaling group\n launches instances using the Spot pools with the lowest price, and evenly allocates your\n instances across the number of Spot pools that you specify. Defaults to\n lowest-price if not specified.

    " } }, "SpotInstancePools": { "target": "com.amazonaws.autoscaling#SpotInstancePools", "traits": { - "smithy.api#documentation": "

    The number of Spot Instance pools across which to allocate your Spot Instances. The\n Spot pools are determined from the different instance types in the overrides. Defaults\n to 2 if not specified. Valid only when the Spot allocation strategy is\n lowest-price.

    \n

    Valid Range: Minimum value of 1. Maximum value of 20.

    " + "smithy.api#documentation": "

    The number of Spot Instance pools across which to allocate your Spot Instances. The\n Spot pools are determined from the different instance types in the overrides. Valid only\n when the Spot allocation strategy is lowest-price. Value must be in the\n range of 1 to 20. Defaults to 2 if not specified.

    " } }, "SpotMaxPrice": { "target": "com.amazonaws.autoscaling#MixedInstanceSpotPrice", "traits": { - "smithy.api#documentation": "

    The maximum price per unit hour that you are willing to pay for a Spot Instance. If\n you leave the value of this parameter blank (which is the default), the maximum Spot\n price is set at the On-Demand price. To remove a value that you previously set, include\n the parameter but leave the value blank.

    " + "smithy.api#documentation": "

    The maximum price per unit hour that you are willing to pay for a Spot Instance. If\n you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the\n maximum Spot price. To remove a value that you previously set, include the property but\n specify an empty string (\"\") for the value.

    " } } }, @@ -3773,7 +3773,7 @@ "WeightedCapacity": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen32", "traits": { - "smithy.api#documentation": "

    The number of capacity units provided by the specified instance type in terms of\n virtual CPUs, memory, storage, throughput, or other relative performance characteristic.\n When a Spot or On-Demand Instance is provisioned, the capacity units count toward the\n desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally\n fulfilled, even if this results in an overage. For example, if there are 2 units\n remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the\n desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

    \n

    Valid Range: Minimum value of 1. Maximum value of 999.

    " + "smithy.api#documentation": "

    The number of capacity units provided by the specified instance type in terms of\n virtual CPUs, memory, storage, throughput, or other relative performance characteristic.\n When a Spot or On-Demand Instance is provisioned, the capacity units count toward the\n desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally\n fulfilled, even if this results in an overage. For example, if there are 2 units\n remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the\n desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.\n Value must be in the range of 1 to 999.

    " } }, "LaunchTemplateSpecification": { @@ -3793,13 +3793,13 @@ "LaunchTemplateId": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", "traits": { - "smithy.api#documentation": "

    The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created\n using the Amazon EC2 CreateLaunchTemplate API. You must specify either a\n LaunchTemplateId or a LaunchTemplateName.

    " + "smithy.api#documentation": "

    The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created\n using the Amazon EC2 CreateLaunchTemplate API.

    \n

    Conditional: You must specify either a LaunchTemplateId or a\n LaunchTemplateName.

    " } }, "LaunchTemplateName": { "target": "com.amazonaws.autoscaling#LaunchTemplateName", "traits": { - "smithy.api#documentation": "

    The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created\n using the Amazon EC2 CreateLaunchTemplate API. You must specify either a\n LaunchTemplateId or a LaunchTemplateName.

    " + "smithy.api#documentation": "

    The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created\n using the Amazon EC2 CreateLaunchTemplate API.

    \n

    Conditional: You must specify either a LaunchTemplateId or a\n LaunchTemplateName.

    " } }, "Version": { @@ -4059,12 +4059,12 @@ "State": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", "traits": { - "smithy.api#documentation": "

    One of the following load balancer states:

    \n
      \n
    • \n

      \n Adding - The instances in the group are being registered with the\n load balancer.

      \n
    • \n
    • \n

      \n Added - All instances in the group are registered with the load\n balancer.

      \n
    • \n
    • \n

      \n InService - At least one instance in the group passed an ELB\n health check.

      \n
    • \n
    • \n

      \n Removing - The instances in the group are being deregistered from\n the load balancer. If connection draining is enabled, Elastic Load Balancing\n waits for in-flight requests to complete before deregistering the\n instances.

      \n
    • \n
    • \n

      \n Removed - All instances in the group are deregistered from the\n load balancer.

      \n
    • \n
    " + "smithy.api#documentation": "

    One of the following load balancer states:

    \n
      \n
    • \n

      \n Adding - The instances in the group are being registered with the\n load balancer.

      \n
    • \n
    • \n

      \n Added - All instances in the group are registered with the load\n balancer.

      \n
    • \n
    • \n

      \n InService - At least one instance in the group passed an ELB\n health check.

      \n
    • \n
    • \n

      \n Removing - The instances in the group are being deregistered from\n the load balancer. If connection draining is enabled, Elastic Load Balancing waits for in-flight\n requests to complete before deregistering the instances.

      \n
    • \n
    • \n

      \n Removed - All instances in the group are deregistered from the\n load balancer.

      \n
    • \n
    " } } }, "traits": { - "smithy.api#documentation": "

    Describes the state of a Classic Load Balancer.

    \n

    If you specify a load balancer when creating the Auto Scaling group, the state of the load\n balancer is InService.

    \n

    If you attach a load balancer to an existing Auto Scaling group, the initial state is\n Adding. The state transitions to Added after all instances\n in the group are registered with the load balancer. If Elastic Load Balancing health\n checks are enabled for the load balancer, the state transitions to\n InService after at least one instance in the group passes the health\n check. If EC2 health checks are enabled instead, the load balancer remains in the\n Added state.

    " + "smithy.api#documentation": "

    Describes the state of a Classic Load Balancer.

    \n

    If you specify a load balancer when creating the Auto Scaling group, the state of the load\n balancer is InService.

    \n

    If you attach a load balancer to an existing Auto Scaling group, the initial state is\n Adding. The state transitions to Added after all instances\n in the group are registered with the load balancer. If Elastic Load Balancing health checks are enabled\n for the load balancer, the state transitions to InService after at least\n one instance in the group passes the health check. If EC2 health checks are enabled\n instead, the load balancer remains in the Added state.

    " } }, "com.amazonaws.autoscaling#LoadBalancerStates": { @@ -4085,12 +4085,12 @@ "State": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", "traits": { - "smithy.api#documentation": "

    The state of the target group.

    \n
      \n
    • \n

      \n Adding - The Auto Scaling instances are being registered with the target\n group.

      \n
    • \n
    • \n

      \n Added - All Auto Scaling instances are registered with the target\n group.

      \n
    • \n
    • \n

      \n InService - At least one Auto Scaling instance passed an ELB health\n check.

      \n
    • \n
    • \n

      \n Removing - The Auto Scaling instances are being deregistered from the\n target group. If connection draining is enabled, Elastic Load Balancing waits\n for in-flight requests to complete before deregistering the instances.

      \n
    • \n
    • \n

      \n Removed - All Auto Scaling instances are deregistered from the target\n group.

      \n
    • \n
    " + "smithy.api#documentation": "

    The state of the target group.

    \n
      \n
    • \n

      \n Adding - The Auto Scaling instances are being registered with the target\n group.

      \n
    • \n
    • \n

      \n Added - All Auto Scaling instances are registered with the target\n group.

      \n
    • \n
    • \n

      \n InService - At least one Auto Scaling instance passed an ELB health\n check.

      \n
    • \n
    • \n

      \n Removing - The Auto Scaling instances are being deregistered from the\n target group. If connection draining is enabled, Elastic Load Balancing waits for in-flight\n requests to complete before deregistering the instances.

      \n
    • \n
    • \n

      \n Removed - All Auto Scaling instances are deregistered from the target\n group.

      \n
    • \n
    " } } }, "traits": { - "smithy.api#documentation": "

    Describes the state of a target group.

    \n

    If you attach a target group to an existing Auto Scaling group, the initial state is\n Adding. The state transitions to Added after all Auto Scaling\n instances are registered with the target group. If Elastic Load Balancing health checks\n are enabled, the state transitions to InService after at least one Auto Scaling\n instance passes the health check. If EC2 health checks are enabled instead, the target\n group remains in the Added state.

    " + "smithy.api#documentation": "

    Describes the state of a target group.

    \n

    If you attach a target group to an existing Auto Scaling group, the initial state is\n Adding. The state transitions to Added after all Auto Scaling\n instances are registered with the target group. If Elastic Load Balancing health checks are enabled, the\n state transitions to InService after at least one Auto Scaling instance passes the\n health check. If EC2 health checks are enabled instead, the target group remains in the\n Added state.

    " } }, "com.amazonaws.autoscaling#LoadBalancerTargetGroupStates": { diff --git a/codegen/sdk-codegen/aws-models/batch.2016-08-10.json b/codegen/sdk-codegen/aws-models/batch.2016-08-10.json index 3b26f236cba54..c96fb9e03b71c 100644 --- a/codegen/sdk-codegen/aws-models/batch.2016-08-10.json +++ b/codegen/sdk-codegen/aws-models/batch.2016-08-10.json @@ -102,7 +102,7 @@ "name": "batch" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

    AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for\n developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the\n undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar\n to users of traditional batch computing software. This service can efficiently provision resources in response to\n jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results\n quickly.

    \n

    As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing\n workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution\n based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch\n computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces\n operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and\n engineers to run their batch jobs in the AWS Cloud.

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

    AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for\n developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the\n undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to\n users of traditional batch computing software. This service can efficiently provision resources in response to jobs\n submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

    \n

    As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing\n workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution\n based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing\n software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational\n complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run\n their batch jobs in the AWS Cloud.

    ", "smithy.api#title": "AWS Batch", "smithy.api#xmlNamespace": { "uri": "http://batch.amazonaws.com/doc/2016-08-10/" @@ -176,16 +176,16 @@ "com.amazonaws.batch#ArrayPropertiesSummary": { "type": "structure", "members": { - "index": { + "size": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The job index within the array that is associated with this job. This parameter is returned for children of\n array jobs.

    " + "smithy.api#documentation": "

    The size of the array job. This parameter is returned for parent array jobs.

    " } }, - "size": { + "index": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The size of the array job. This parameter is returned for parent array jobs.

    " + "smithy.api#documentation": "

    The job index within the array that is associated with this job. This parameter is returned for children of\n array jobs.

    " } } }, @@ -196,16 +196,16 @@ "com.amazonaws.batch#AttemptContainerDetail": { "type": "structure", "members": { - "taskArn": { + "containerInstanceArn": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a\n task ARN when they reach the STARTING status.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

    " } }, - "containerInstanceArn": { + "taskArn": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a task\n ARN when they reach the STARTING status.

    " } }, "exitCode": { @@ -240,28 +240,28 @@ "com.amazonaws.batch#AttemptDetail": { "type": "structure", "members": { - "statusReason": { - "target": "com.amazonaws.batch#String", + "container": { + "target": "com.amazonaws.batch#AttemptContainerDetail", "traits": { - "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job\n attempt.

    " + "smithy.api#documentation": "

    Details about the container in this job attempt.

    " } }, - "stoppedAt": { + "startedAt": { "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the attempt was stopped (when the attempt transitioned from the\n RUNNING state to a terminal state, such as SUCCEEDED or\n FAILED).

    " + "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the attempt was started (when the attempt transitioned from the\n STARTING state to the RUNNING state).

    " } }, - "container": { - "target": "com.amazonaws.batch#AttemptContainerDetail", + "stoppedAt": { + "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    Details about the container in this job attempt.

    " + "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the attempt was stopped (when the attempt transitioned from the\n RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

    " } }, - "startedAt": { - "target": "com.amazonaws.batch#Long", + "statusReason": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the attempt was started (when the attempt transitioned from the\n STARTING state to the RUNNING state).

    " + "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job attempt.

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

    Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or\n RUNNABLE state are cancelled. Jobs that have progressed to STARTING or\n RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled);\n these jobs must be terminated with the TerminateJob operation.

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

    Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or\n RUNNABLE state are cancelled. Jobs that have progressed to STARTING or\n RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these\n jobs must be terminated with the TerminateJob operation.

    ", "smithy.api#http": { "method": "POST", "uri": "/v1/canceljob", @@ -401,17 +401,17 @@ "com.amazonaws.batch#CancelJobRequest": { "type": "structure", "members": { - "reason": { + "jobId": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    A message to attach to the job that explains the reason for canceling it. This message is returned by future\n DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity\n logs.

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

    The AWS Batch job ID of the job to cancel.

    ", "smithy.api#required": {} } }, - "jobId": { + "reason": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The AWS Batch job ID of the job to cancel.

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

    A message to attach to the job that explains the reason for canceling it. This message is returned by future\n DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity\n logs.

    ", "smithy.api#required": {} } } @@ -429,7 +429,7 @@ } }, "traits": { - "smithy.api#documentation": "

    These errors are usually caused by a client action, such as using an action or resource on behalf of a user\n that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

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

    These errors are usually caused by a client action, such as using an action or resource on behalf of a user that\n doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

    ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -437,16 +437,11 @@ "com.amazonaws.batch#ComputeEnvironmentDetail": { "type": "structure", "members": { - "statusReason": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the compute\n environment.

    " - } - }, - "serviceRole": { + "computeEnvironmentName": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The service role associated with the compute environment that allows AWS Batch to make calls to AWS API\n operations on your behalf.

    " + "smithy.api#documentation": "

    The name of the compute environment.

    ", + "smithy.api#required": {} } }, "computeEnvironmentArn": { @@ -456,18 +451,6 @@ "smithy.api#required": {} } }, - "state": { - "target": "com.amazonaws.batch#CEState", - "traits": { - "smithy.api#documentation": "

    The state of the compute environment. The valid values are ENABLED or\n DISABLED.

    \n

    If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated\n job queue on the compute resources within the environment. If the compute environment is managed, then it can\n scale its instances out or in automatically, based on the job queue demand.

    \n

    If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the\n environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed\n compute environments in the DISABLED state do not scale out. However, they scale in to\n minvCpus value after instances become idle.

    " - } - }, - "computeResources": { - "target": "com.amazonaws.batch#ComputeResource", - "traits": { - "smithy.api#documentation": "

    The compute resources defined for the compute environment.

    " - } - }, "ecsClusterArn": { "target": "com.amazonaws.batch#String", "traits": { @@ -481,23 +464,40 @@ "smithy.api#documentation": "

    The tags applied to the compute environment.

    " } }, + "type": { + "target": "com.amazonaws.batch#CEType", + "traits": { + "smithy.api#documentation": "

    The type of the compute environment.

    " + } + }, + "state": { + "target": "com.amazonaws.batch#CEState", + "traits": { + "smithy.api#documentation": "

    The state of the compute environment. The valid values are ENABLED or DISABLED.

    \n

    If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated\n job queue on the compute resources within the environment. If the compute environment is managed, then it can scale\n its instances out or in automatically, based on the job queue demand.

    \n

    If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the\n environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed\n compute environments in the DISABLED state do not scale out. However, they scale in to\n minvCpus value after instances become idle.

    " + } + }, "status": { "target": "com.amazonaws.batch#CEStatus", "traits": { - "smithy.api#documentation": "

    The current status of the compute environment (for example, CREATING or\n VALID).

    " + "smithy.api#documentation": "

    The current status of the compute environment (for example, CREATING or VALID).

    " } }, - "type": { - "target": "com.amazonaws.batch#CEType", + "statusReason": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The type of the compute environment.

    " + "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the compute\n environment.

    " } }, - "computeEnvironmentName": { + "computeResources": { + "target": "com.amazonaws.batch#ComputeResource", + "traits": { + "smithy.api#documentation": "

    The compute resources defined for the compute environment.

    " + } + }, + "serviceRole": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name of the compute environment.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The service role associated with the compute environment that allows AWS Batch to make calls to AWS API\n operations on your behalf.

    " } } }, @@ -514,17 +514,17 @@ "com.amazonaws.batch#ComputeEnvironmentOrder": { "type": "structure", "members": { - "computeEnvironment": { - "target": "com.amazonaws.batch#String", + "order": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the compute environment.

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

    The order of the compute environment.

    ", "smithy.api#required": {} } }, - "order": { - "target": "com.amazonaws.batch#Integer", + "computeEnvironment": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The order of the compute environment.

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

    The Amazon Resource Name (ARN) of the compute environment.

    ", "smithy.api#required": {} } } @@ -542,12 +542,6 @@ "com.amazonaws.batch#ComputeResource": { "type": "structure", "members": { - "imageId": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

    " - } - }, "type": { "target": "com.amazonaws.batch#CRType", "traits": { @@ -555,23 +549,23 @@ "smithy.api#required": {} } }, - "spotIamFleetRole": { - "target": "com.amazonaws.batch#String", + "allocationStrategy": { + "target": "com.amazonaws.batch#CRAllocationStrategy", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment.\n This role is required if the allocation\n strategy set to BEST_FIT or if the allocation strategy is not specified. For more\n information, see Amazon EC2 Spot\n Fleet Role in the AWS Batch User Guide.

    " + "smithy.api#documentation": "

    The allocation strategy to use for the compute resource in case not enough instances of the best fitting\n instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If this is\n not specified, the default is BEST_FIT, which will use only the best fitting instance type, waiting for\n additional capacity if it's not available. This allocation strategy keeps costs lower but can limit scaling. If you\n are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified.\n BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the\n requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU.\n SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select\n additional instance types that are large enough to meet the requirements of the jobs in the queue, with a preference\n for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in the\n AWS Batch User Guide.

    " } }, - "instanceRole": { - "target": "com.amazonaws.batch#String", + "minvCpus": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name\n or full Amazon Resource Name (ARN) of an instance profile. For example,\n \n ecsInstanceRole\n or\n arn:aws:iam:::instance-profile/ecsInstanceRole\n .\n For more information, see Amazon ECS Instance\n Role in the AWS Batch User Guide.

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

    The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is\n DISABLED).

    ", "smithy.api#required": {} } }, - "instanceTypes": { - "target": "com.amazonaws.batch#StringList", + "maxvCpus": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The instances types that may be launched. You can specify instance families to launch any instance type within\n those families (for example, c5 or p3), or you can specify specific sizes within a\n family (such as c5.8xlarge). You can also choose optimal to pick instance types (from\n the C, M, and R instance families) on the fly that match the demand of your job queues.

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

    The maximum number of Amazon EC2 vCPUs that an environment can reach.

    ", "smithy.api#required": {} } }, @@ -581,29 +575,33 @@ "smithy.api#documentation": "

    The desired number of Amazon EC2 vCPUS in the compute environment.

    " } }, - "securityGroupIds": { + "instanceTypes": { "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security\n groups must be specified, either in securityGroupIds or using a launch template referenced in\n launchTemplate. If security groups are specified using both securityGroupIds and\n launchTemplate, the values in securityGroupIds will be used.

    " + "smithy.api#documentation": "

    The instances types that may be launched. You can specify instance families to launch any instance type within\n those families (for example, c5 or p3), or you can specify specific sizes within a family\n (such as c5.8xlarge). You can also choose optimal to pick instance types (from the C, M,\n and R instance families) on the fly that match the demand of your job queues.

    ", + "smithy.api#required": {} } }, - "minvCpus": { - "target": "com.amazonaws.batch#Integer", + "imageId": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is\n DISABLED).

    ", - "smithy.api#required": {} + "smithy.api#deprecated": { + "message": "This field is deprecated, use ec2Configuration[].imageIdOverride instead." + }, + "smithy.api#documentation": "

    The Amazon Machine Image (AMI) ID used for instances launched in the compute\n environment. This parameter is overridden by\n the imageIdOverride member of the Ec2Configuration structure.

    " } }, - "bidPercentage": { - "target": "com.amazonaws.batch#Integer", + "subnets": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that\n instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price\n must be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price\n and never more than your maximum percentage. If you leave this field empty, the default value is 100% of the\n On-Demand price.

    " + "smithy.api#documentation": "

    The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the Amazon\n VPC User Guide.

    ", + "smithy.api#required": {} } }, - "allocationStrategy": { - "target": "com.amazonaws.batch#CRAllocationStrategy", + "securityGroupIds": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The allocation strategy to use for the compute resource in case not enough instances of the best fitting\n instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If\n this is not specified, the default is BEST_FIT, which will use only the best fitting instance type,\n waiting for additional capacity if it's not available. This allocation strategy keeps costs lower but can limit\n scaling. If you are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified.\n BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the\n requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU.\n SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select\n additional instance types that are large enough to meet the requirements of the jobs in the queue, with a\n preference for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in\n the AWS Batch User Guide.

    " + "smithy.api#documentation": "

    The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security\n groups must be specified, either in securityGroupIds or using a launch template referenced in\n launchTemplate. If security groups are specified using both securityGroupIds and\n launchTemplate, the values in securityGroupIds will be used.

    " } }, "ec2KeyPair": { @@ -612,36 +610,47 @@ "smithy.api#documentation": "

    The Amazon EC2 key pair that is used for instances launched in the compute environment.

    " } }, + "instanceRole": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name\n or full Amazon Resource Name (ARN) of an instance profile. For example,\n \n ecsInstanceRole\n or\n arn:aws:iam:::instance-profile/ecsInstanceRole\n .\n For more information, see Amazon ECS Instance\n Role in the AWS Batch User Guide.

    ", + "smithy.api#required": {} + } + }, "tags": { "target": "com.amazonaws.batch#TagsMap", "traits": { - "smithy.api#documentation": "

    Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch,\n these take the form of \"String1\": \"String2\", where String1 is the tag key and String2 is the tag value—for\n example, { \"Name\": \"AWS Batch Instance - C4OnDemand\"\n }. These tags can not be updated or removed\n after the compute environment has been created; any changes require creating a new compute environment and\n removing the old compute environment. These tags are not seen when using the AWS Batch ListTagsForResource API\n operation.

    " + "smithy.api#documentation": "

    Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, these\n take the form of \"String1\": \"String2\", where String1 is the tag key and String2 is the tag value—for example, {\n \"Name\": \"AWS Batch Instance - C4OnDemand\" }.\n These tags can not be updated or removed after the compute environment has been created; any changes require creating\n a new compute environment and removing the old compute environment. These tags are not seen when using the AWS Batch\n ListTagsForResource API operation.

    " } }, "placementGroup": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node\n parallel jobs to your compute environment, you should consider creating a cluster placement group and associate it\n with your compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a\n single Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide\n for Linux Instances.

    " + "smithy.api#documentation": "

    The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node parallel\n jobs to your compute environment, you should consider creating a cluster placement group and associate it with your\n compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a single\n Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide for\n Linux Instances.

    " } }, - "subnets": { - "target": "com.amazonaws.batch#StringList", + "bidPercentage": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the\n Amazon VPC User Guide.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that\n instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price must\n be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price and\n never more than your maximum percentage. If you leave this field empty, the default value is 100% of the On-Demand\n price.

    " + } + }, + "spotIamFleetRole": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment.\n This role is required if the allocation\n strategy set to BEST_FIT or if the allocation strategy is not specified. For more\n information, see Amazon EC2 Spot Fleet\n Role in the AWS Batch User Guide.

    " } }, "launchTemplate": { "target": "com.amazonaws.batch#LaunchTemplateSpecification", "traits": { - "smithy.api#documentation": "

    The launch template to use for your compute resources. Any other compute resource parameters that you specify\n in a CreateComputeEnvironment API operation override the same parameters in the launch template.\n You must specify either the launch template ID or launch template name in the request, but not both. For more\n information, see Launch Template\n Support in the AWS Batch User Guide.

    " + "smithy.api#documentation": "

    The launch template to use for your compute resources. Any other compute resource parameters that you specify in\n a CreateComputeEnvironment API operation override the same parameters in the launch template. You\n must specify either the launch template ID or launch template name in the request, but not both. For more\n information, see Launch Template\n Support in the AWS Batch User Guide.

    " } }, - "maxvCpus": { - "target": "com.amazonaws.batch#Integer", + "ec2Configuration": { + "target": "com.amazonaws.batch#Ec2ConfigurationList", "traits": { - "smithy.api#documentation": "

    The maximum number of Amazon EC2 vCPUs that an environment can reach.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Provides additional details used to selecting the AMI to use for instances in a compute environment.

    " } } }, @@ -678,22 +687,10 @@ "com.amazonaws.batch#ContainerDetail": { "type": "structure", "members": { - "resourceRequirements": { - "target": "com.amazonaws.batch#ResourceRequirements", - "traits": { - "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. Currently, the only supported resource is\n GPU.

    " - } - }, - "privileged": { - "target": "com.amazonaws.batch#Boolean", - "traits": { - "smithy.api#documentation": "

    When this parameter is true, the container is given elevated privileges on the host container instance\n (similar to the root user).

    " - } - }, - "executionRoleArn": { + "image": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

    " + "smithy.api#documentation": "

    The image used to start the container.

    " } }, "vcpus": { @@ -702,28 +699,28 @@ "smithy.api#documentation": "

    The number of VCPUs allocated for the job. This is a required parameter.

    " } }, - "readonlyRootFilesystem": { - "target": "com.amazonaws.batch#Boolean", + "memory": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    When this parameter is true, the container is given read-only access to its root file system.

    " + "smithy.api#documentation": "

    The number of MiB of memory reserved for the job. This is a required parameter.

    " } }, - "ulimits": { - "target": "com.amazonaws.batch#Ulimits", + "command": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    A list of ulimit values to set in the container.

    " + "smithy.api#documentation": "

    The command that is passed to the container.

    " } }, - "logConfiguration": { - "target": "com.amazonaws.batch#LogConfiguration", + "jobRoleArn": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The log configuration specification for the container.

    \n

    This parameter maps to LogConfig in the Create a container section of the\n Docker Remote API and the --log-driver option to docker\n run. By default, containers use the same logging driver that the Docker daemon uses. However the\n container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter\n in the container definition. To use a different logging driver for a container, the log system must be configured\n properly on the container instance (or on a different log server for remote logging options). For more information\n on the options for different supported log drivers, see Configure logging drivers in the Docker\n documentation.

    \n \n

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the\n Amazon ECS container agent.

    \n
    \n

    This parameter requires version 1.18 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\"\n

    \n \n

    The Amazon ECS container agent running on a container instance must register the logging drivers available on\n that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed\n on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the\n Amazon Elastic Container Service Developer Guide.

    \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the job upon execution.

    " } }, - "mountPoints": { - "target": "com.amazonaws.batch#MountPoints", + "executionRoleArn": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The mount points for data volumes in your container.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

    " } }, "volumes": { @@ -732,40 +729,46 @@ "smithy.api#documentation": "

    A list of volumes associated with the job.

    " } }, - "linuxParameters": { - "target": "com.amazonaws.batch#LinuxParameters", + "environment": { + "target": "com.amazonaws.batch#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

    Linux-specific modifications that are applied to the container, such as details for device mappings.

    " + "smithy.api#documentation": "

    The environment variables to pass to a container.

    \n \n

    Environment variables must not start with AWS_BATCH; this naming\n convention is reserved for variables that are set by the AWS Batch service.

    \n
    " } }, - "containerInstanceArn": { - "target": "com.amazonaws.batch#String", + "mountPoints": { + "target": "com.amazonaws.batch#MountPoints", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the container instance on which the container is running.

    " + "smithy.api#documentation": "

    The mount points for data volumes in your container.

    " } }, - "user": { - "target": "com.amazonaws.batch#String", + "readonlyRootFilesystem": { + "target": "com.amazonaws.batch#Boolean", "traits": { - "smithy.api#documentation": "

    The user name to use inside the container.

    " + "smithy.api#documentation": "

    When this parameter is true, the container is given read-only access to its root file system.

    " } }, - "networkInterfaces": { - "target": "com.amazonaws.batch#NetworkInterfaceList", + "ulimits": { + "target": "com.amazonaws.batch#Ulimits", "traits": { - "smithy.api#documentation": "

    The network interfaces associated with the job.

    " + "smithy.api#documentation": "

    A list of ulimit values to set in the container.

    " } }, - "memory": { - "target": "com.amazonaws.batch#Integer", + "privileged": { + "target": "com.amazonaws.batch#Boolean", "traits": { - "smithy.api#documentation": "

    The number of MiB of memory reserved for the job. This is a required parameter.

    " + "smithy.api#documentation": "

    When this parameter is true, the container is given elevated privileges on the host container instance (similar\n to the root user).

    " } }, - "image": { + "user": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The image used to start the container.

    " + "smithy.api#documentation": "

    The user name to use inside the container.

    " + } + }, + "exitCode": { + "target": "com.amazonaws.batch#Integer", + "traits": { + "smithy.api#documentation": "

    The exit code to return upon completion.

    " } }, "reason": { @@ -774,22 +777,22 @@ "smithy.api#documentation": "

    A short (255 max characters) human-readable string to provide additional details about a running or stopped\n container.

    " } }, - "exitCode": { - "target": "com.amazonaws.batch#Integer", + "containerInstanceArn": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The exit code to return upon completion.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the container instance on which the container is running.

    " } }, - "jobRoleArn": { + "taskArn": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the job upon execution.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a\n task ARN when they reach the STARTING status.

    " } }, - "taskArn": { + "logStreamName": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a\n task ARN when they reach the STARTING status.

    " + "smithy.api#documentation": "

    The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is\n /aws/batch/job. Each container attempt receives a log stream name when they reach the\n RUNNING status.

    " } }, "instanceType": { @@ -798,28 +801,34 @@ "smithy.api#documentation": "

    The instance type of the underlying host infrastructure of a multi-node parallel job.

    " } }, - "logStreamName": { - "target": "com.amazonaws.batch#String", + "networkInterfaces": { + "target": "com.amazonaws.batch#NetworkInterfaceList", "traits": { - "smithy.api#documentation": "

    The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is\n /aws/batch/job. Each container attempt receives a log stream name when they reach the\n RUNNING status.

    " + "smithy.api#documentation": "

    The network interfaces associated with the job.

    " } }, - "command": { - "target": "com.amazonaws.batch#StringList", + "resourceRequirements": { + "target": "com.amazonaws.batch#ResourceRequirements", "traits": { - "smithy.api#documentation": "

    The command that is passed to the container.

    " + "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. Currently, the only supported resource is\n GPU.

    " } }, - "secrets": { - "target": "com.amazonaws.batch#SecretList", + "linuxParameters": { + "target": "com.amazonaws.batch#LinuxParameters", "traits": { - "smithy.api#documentation": "

    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the\n Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    Linux-specific modifications that are applied to the container, such as details for device mappings.

    " } }, - "environment": { - "target": "com.amazonaws.batch#EnvironmentVariables", + "logConfiguration": { + "target": "com.amazonaws.batch#LogConfiguration", "traits": { - "smithy.api#documentation": "

    The environment variables to pass to a container.

    \n \n

    Environment variables must not start with AWS_BATCH; this naming\n convention is reserved for variables that are set by the AWS Batch service.

    \n
    " + "smithy.api#documentation": "

    The log configuration specification for the container.

    \n

    This parameter maps to LogConfig in the Create a container section of the\n Docker Remote API and the --log-driver option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However the container may use a\n different logging driver than the Docker daemon by specifying a log driver with this parameter in the container\n definition. To use a different logging driver for a container, the log system must be configured properly on the\n container instance (or on a different log server for remote logging options). For more information on the options for\n different supported log drivers, see Configure\n logging drivers in the Docker documentation.

    \n \n

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS\n container agent.

    \n
    \n

    This parameter requires version 1.18 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\"\n

    \n \n

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that\n instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that\n instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the\n Amazon Elastic Container Service Developer Guide.

    \n
    " + } + }, + "secrets": { + "target": "com.amazonaws.batch#SecretList", + "traits": { + "smithy.api#documentation": "

    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the\n Amazon Elastic Container Service Developer Guide.

    " } } }, @@ -830,22 +839,22 @@ "com.amazonaws.batch#ContainerOverrides": { "type": "structure", "members": { - "memory": { + "vcpus": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The number of MiB of memory reserved for the job. This value overrides the value set in the job\n definition.

    " + "smithy.api#documentation": "

    The number of vCPUs to reserve for the container. This value overrides the value set in the job\n definition.

    " } }, - "resourceRequirements": { - "target": "com.amazonaws.batch#ResourceRequirements", + "memory": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. This value overrides the value set in the job\n definition. Currently, the only supported resource is GPU.

    " + "smithy.api#documentation": "

    The number of MiB of memory reserved for the job. This value overrides the value set in the job\n definition.

    " } }, - "environment": { - "target": "com.amazonaws.batch#EnvironmentVariables", + "command": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The environment variables to send to the container. You can add new environment variables, which are added to\n the container at launch, or you can override the existing environment variables from the Docker image or the job\n definition.

    \n \n

    Environment variables must not start with AWS_BATCH; this naming\n convention is reserved for variables that are set by the AWS Batch service.

    \n
    " + "smithy.api#documentation": "

    The command to send to the container that overrides the default command from the Docker image or the job\n definition.

    " } }, "instanceType": { @@ -854,16 +863,16 @@ "smithy.api#documentation": "

    The instance type to use for a multi-node parallel job. This parameter is not valid for single-node container\n jobs.

    " } }, - "command": { - "target": "com.amazonaws.batch#StringList", + "environment": { + "target": "com.amazonaws.batch#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

    The command to send to the container that overrides the default command from the Docker image or the job\n definition.

    " + "smithy.api#documentation": "

    The environment variables to send to the container. You can add new environment variables, which are added to\n the container at launch, or you can override the existing environment variables from the Docker image or the job\n definition.

    \n \n

    Environment variables must not start with AWS_BATCH; this naming\n convention is reserved for variables that are set by the AWS Batch service.

    \n
    " } }, - "vcpus": { - "target": "com.amazonaws.batch#Integer", + "resourceRequirements": { + "target": "com.amazonaws.batch#ResourceRequirements", "traits": { - "smithy.api#documentation": "

    The number of vCPUs to reserve for the container. This value overrides the value set in the job\n definition.

    " + "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. This value overrides the value set in the job\n definition. Currently, the only supported resource is GPU.

    " } } }, @@ -874,28 +883,34 @@ "com.amazonaws.batch#ContainerProperties": { "type": "structure", "members": { - "ulimits": { - "target": "com.amazonaws.batch#Ulimits", + "image": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    A list of ulimits to set in the container. This parameter maps to Ulimits in the\n Create a container section of the Docker Remote API and the --ulimit option to docker run.

    " + "smithy.api#documentation": "

    The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker\n Hub registry are available by default. Other repositories are specified with\n \n repository-url/image:tag\n .\n Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons,\n periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of\n the Docker Remote API and the IMAGE parameter of docker\n run.

    \n
      \n
    • \n

      Images in Amazon ECR repositories use the full registry and repository URI (for example,\n 012345678910.dkr.ecr..amazonaws.com/).

      \n
    • \n
    • \n

      Images in official repositories on Docker Hub use a single name (for example, ubuntu or\n mongo).

      \n
    • \n
    • \n

      Images in other repositories on Docker Hub are qualified with an organization name (for example,\n amazon/amazon-ecs-agent).

      \n
    • \n
    • \n

      Images in other online repositories are qualified further by a domain name (for example,\n quay.io/assemblyline/ubuntu).

      \n
    • \n
    " } }, - "resourceRequirements": { - "target": "com.amazonaws.batch#ResourceRequirements", + "vcpus": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. Currently, the only supported resource is\n GPU.

    " + "smithy.api#documentation": "

    The number of vCPUs reserved for the container. This parameter maps to CpuShares in the\n Create a container section of the Docker Remote API and the --cpu-shares option to\n docker run. Each vCPU is equivalent to 1,024 CPU shares. You must\n specify at least one vCPU. This is required\n but can be specified in several places for multi-node parallel (MNP) jobs; it must be specified for each node at\n least once.

    " } }, - "privileged": { - "target": "com.amazonaws.batch#Boolean", + "memory": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    When this parameter is true, the container is given elevated privileges on the host container instance\n (similar to the root user). This parameter maps to Privileged in the\n Create a container section of the Docker Remote API and the --privileged option to\n docker run.

    " + "smithy.api#documentation": "

    The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory\n specified here, the container is killed. This parameter maps to Memory in the\n Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a\n job. This is required but can be specified in\n several places for multi-node parallel (MNP) jobs; it must be specified for each node at least\n once.

    \n \n

    If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a\n particular instance type, see Memory\n Management in the AWS Batch User Guide.

    \n
    " } }, - "readonlyRootFilesystem": { - "target": "com.amazonaws.batch#Boolean", + "command": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    When this parameter is true, the container is given read-only access to its root file system. This parameter\n maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and\n the --read-only option to docker run.

    " + "smithy.api#documentation": "

    The command that is passed to the container. This parameter maps to Cmd in the\n Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

    " + } + }, + "jobRoleArn": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

    " } }, "executionRoleArn": { @@ -904,46 +919,46 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

    " } }, - "mountPoints": { - "target": "com.amazonaws.batch#MountPoints", + "volumes": { + "target": "com.amazonaws.batch#Volumes", "traits": { - "smithy.api#documentation": "

    The mount points for data volumes in your container. This parameter maps to Volumes in the\n Create a container section of the Docker Remote API and the --volume option to docker run.

    " + "smithy.api#documentation": "

    A list of data volumes used in a job.

    " } }, - "linuxParameters": { - "target": "com.amazonaws.batch#LinuxParameters", + "environment": { + "target": "com.amazonaws.batch#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

    Linux-specific modifications that are applied to the container, such as details for device mappings.

    " + "smithy.api#documentation": "

    The environment variables to pass to a container. This parameter maps to Env in the\n Create a container section of the Docker Remote API and the --env option to docker run.

    \n \n

    We do not recommend using plaintext environment variables for sensitive information, such as credential\n data.

    \n
    \n \n

    Environment variables must not start with AWS_BATCH; this naming\n convention is reserved for variables that are set by the AWS Batch service.

    \n
    " } }, - "user": { - "target": "com.amazonaws.batch#String", + "mountPoints": { + "target": "com.amazonaws.batch#MountPoints", "traits": { - "smithy.api#documentation": "

    The user name to use inside the container. This parameter maps to User in the\n Create a container section of the Docker Remote API and the --user option to docker run.

    " + "smithy.api#documentation": "

    The mount points for data volumes in your container. This parameter maps to Volumes in the\n Create a container section of the Docker Remote API and the --volume option to docker run.

    " } }, - "memory": { - "target": "com.amazonaws.batch#Integer", + "readonlyRootFilesystem": { + "target": "com.amazonaws.batch#Boolean", "traits": { - "smithy.api#documentation": "

    The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory\n specified here, the container is killed. This parameter maps to Memory in the\n Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job. This is required but can be specified\n in several places for multi-node parallel (MNP) jobs; it must be specified for each node at least\n once.

    \n \n

    If you are trying to maximize your resource utilization by providing your jobs as much memory as possible\n for a particular instance type, see Memory\n Management in the AWS Batch User Guide.

    \n
    " + "smithy.api#documentation": "

    When this parameter is true, the container is given read-only access to its root file system. This parameter\n maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and\n the --read-only option to docker run.

    " } }, - "image": { - "target": "com.amazonaws.batch#String", + "privileged": { + "target": "com.amazonaws.batch#Boolean", "traits": { - "smithy.api#documentation": "

    The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker\n Hub registry are available by default. Other repositories are specified with\n \n repository-url/image:tag\n .\n Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons,\n periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section\n of the Docker Remote API and the IMAGE parameter of docker\n run.

    \n
      \n
    • \n

      Images in Amazon ECR repositories use the full registry and repository URI (for example,\n 012345678910.dkr.ecr..amazonaws.com/).

      \n
    • \n
    • \n

      Images in official repositories on Docker Hub use a single name (for example, ubuntu or\n mongo).

      \n
    • \n
    • \n

      Images in other repositories on Docker Hub are qualified with an organization name (for example,\n amazon/amazon-ecs-agent).

      \n
    • \n
    • \n

      Images in other online repositories are qualified further by a domain name (for example,\n quay.io/assemblyline/ubuntu).

      \n
    • \n
    " + "smithy.api#documentation": "

    When this parameter is true, the container is given elevated privileges on the host container instance (similar\n to the root user). This parameter maps to Privileged in the\n Create a container section of the Docker Remote API and the --privileged option to\n docker run.

    " } }, - "jobRoleArn": { - "target": "com.amazonaws.batch#String", + "ulimits": { + "target": "com.amazonaws.batch#Ulimits", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

    " + "smithy.api#documentation": "

    A list of ulimits to set in the container. This parameter maps to Ulimits in the\n Create a container section of the Docker Remote API and the --ulimit option to docker run.

    " } }, - "volumes": { - "target": "com.amazonaws.batch#Volumes", + "user": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    A list of data volumes used in a job.

    " + "smithy.api#documentation": "

    The user name to use inside the container. This parameter maps to User in the\n Create a container section of the Docker Remote API and the --user option to docker run.

    " } }, "instanceType": { @@ -952,28 +967,22 @@ "smithy.api#documentation": "

    The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job\n must use the same instance type. This parameter is not valid for single-node container jobs.

    " } }, - "logConfiguration": { - "target": "com.amazonaws.batch#LogConfiguration", - "traits": { - "smithy.api#documentation": "

    The log configuration specification for the container.

    \n

    This parameter maps to LogConfig in the Create a container section of the\n Docker Remote API and the --log-driver option to docker\n run. By default, containers use the same logging driver that the Docker daemon uses. However the\n container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter\n in the container definition. To use a different logging driver for a container, the log system must be configured\n properly on the container instance (or on a different log server for remote logging options). For more information\n on the options for different supported log drivers, see Configure logging drivers in the Docker\n documentation.

    \n \n

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    \n
    \n

    This parameter requires version 1.18 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\" \n

    \n \n

    The Amazon ECS container agent running on a container instance must register the logging drivers available on\n that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed\n on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the\n Amazon Elastic Container Service Developer Guide.

    \n
    " - } - }, - "command": { - "target": "com.amazonaws.batch#StringList", + "resourceRequirements": { + "target": "com.amazonaws.batch#ResourceRequirements", "traits": { - "smithy.api#documentation": "

    The command that is passed to the container. This parameter maps to Cmd in the\n Create a container section of the Docker Remote API and the COMMAND parameter to\n docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

    " + "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. Currently, the only supported resource is\n GPU.

    " } }, - "vcpus": { - "target": "com.amazonaws.batch#Integer", + "linuxParameters": { + "target": "com.amazonaws.batch#LinuxParameters", "traits": { - "smithy.api#documentation": "

    The number of vCPUs reserved for the container. This parameter maps to CpuShares in the\n Create a container section of the Docker Remote API and the --cpu-shares option to\n docker run. Each vCPU is equivalent to 1,024 CPU shares. You must\n specify at least one vCPU. This is required\n but can be specified in several places for multi-node parallel (MNP) jobs; it must be specified for each node at\n least once.

    " + "smithy.api#documentation": "

    Linux-specific modifications that are applied to the container, such as details for device mappings.

    " } }, - "environment": { - "target": "com.amazonaws.batch#EnvironmentVariables", + "logConfiguration": { + "target": "com.amazonaws.batch#LogConfiguration", "traits": { - "smithy.api#documentation": "

    The environment variables to pass to a container. This parameter maps to Env in the\n Create a container section of the Docker Remote API and the --env option to docker run.

    \n \n

    We do not recommend using plaintext environment variables for sensitive information, such as credential\n data.

    \n
    \n \n

    Environment variables must not start with AWS_BATCH; this naming\n convention is reserved for variables that are set by the AWS Batch service.

    \n
    " + "smithy.api#documentation": "

    The log configuration specification for the container.

    \n

    This parameter maps to LogConfig in the Create a container section of the\n Docker Remote API and the --log-driver option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However the container may use a\n different logging driver than the Docker daemon by specifying a log driver with this parameter in the container\n definition. To use a different logging driver for a container, the log system must be configured properly on the\n container instance (or on a different log server for remote logging options). For more information on the options for\n different supported log drivers, see Configure\n logging drivers in the Docker documentation.

    \n \n

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    \n
    \n

    This parameter requires version 1.18 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\" \n

    \n \n

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that\n instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that\n instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the\n Amazon Elastic Container Service Developer Guide.

    \n
    " } }, "secrets": { @@ -990,16 +999,16 @@ "com.amazonaws.batch#ContainerSummary": { "type": "structure", "members": { - "reason": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    A short (255 max characters) human-readable string to provide additional details about a running or stopped\n container.

    " - } - }, "exitCode": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The exit code to return upon completion.

    " + "smithy.api#documentation": "

    The exit code to return upon completion.

    " + } + }, + "reason": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    A short (255 max characters) human-readable string to provide additional details about a running or stopped\n container.

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

    Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute\n environments.

    \n

    In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources\n within the environment. This is based on the compute resource specification that you define or the launch template that you\n specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances\n in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch\n when the Spot Instance price is below a specified percentage of the On-Demand price.

    \n \n

    Multi-node parallel jobs are not supported on Spot Instances.

    \n
    \n

    In an unmanaged compute environment, you can manage your own compute resources. This provides more compute\n resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS\n container instance AMI specification. For more information, see Container Instance AMIs in the\n Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the\n DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it.\n Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon\n ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

    \n \n

    AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer\n version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating\n system (including updates and security patches) and any additional application software or utilities that you\n install on the compute resources. To use a new AMI for your AWS Batch jobs:

    \n
      \n
    1. \n

      Create a new compute environment with the new AMI.

      \n
    2. \n
    3. \n

      Add the compute environment to an existing job queue.

      \n
    4. \n
    5. \n

      Remove the old compute environment from your job queue.

      \n
    6. \n
    7. \n

      Delete the old compute environment.

      \n
    8. \n
    \n
    ", + "smithy.api#documentation": "

    Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute\n environments.

    \n

    In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources\n within the environment. This is based on the compute resource specification that you define or the launch template that you\n specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in\n your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the\n Spot Instance price is below a specified percentage of the On-Demand price.

    \n \n

    Multi-node parallel jobs are not supported on Spot Instances.

    \n
    \n

    In an unmanaged compute environment, you can manage your own compute resources. This provides more compute\n resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS\n container instance AMI specification. For more information, see Container Instance AMIs in the\n Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the\n DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then,\n manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS\n Container Instance in the Amazon Elastic Container Service Developer Guide.

    \n \n

    AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer\n version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating\n system (including updates and security patches) and any additional application software or utilities that you\n install on the compute resources. To use a new AMI for your AWS Batch jobs:

    \n
      \n
    1. \n

      Create a new compute environment with the new AMI.

      \n
    2. \n
    3. \n

      Add the compute environment to an existing job queue.

      \n
    4. \n
    5. \n

      Remove the old compute environment from your job queue.

      \n
    6. \n
    7. \n

      Delete the old compute environment.

      \n
    8. \n
    \n
    ", "smithy.api#http": { "method": "POST", "uri": "/v1/createcomputeenvironment", @@ -1035,12 +1044,6 @@ "com.amazonaws.batch#CreateComputeEnvironmentRequest": { "type": "structure", "members": { - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", - "traits": { - "smithy.api#documentation": "

    The tags that you apply to the compute environment to help you categorize and organize your resources. Each\n tag consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    \n \n

    These tags can be updated or removed using the TagResource and UntagResource API operations. These tags do not\n propagate to the underlying compute resources.

    " - } - }, "computeEnvironmentName": { "target": "com.amazonaws.batch#String", "traits": { @@ -1055,6 +1058,12 @@ "smithy.api#required": {} } }, + "state": { + "target": "com.amazonaws.batch#CEState", + "traits": { + "smithy.api#documentation": "

    The state of the compute environment. If the state is ENABLED, then the compute environment accepts\n jobs from a queue and can scale out automatically based on queues.

    " + } + }, "computeResources": { "target": "com.amazonaws.batch#ComputeResource", "traits": { @@ -1064,14 +1073,14 @@ "serviceRole": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your\n behalf.

    \n

    If your specified role has a path other than /, then you must either specify the full role ARN\n (this is recommended) or prefix the role name with the path.

    \n \n

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role\n path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the\n service-role path prefix. Because of this, we recommend that you specify the full ARN of your\n service role when you create compute environments.

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

    The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your\n behalf.

    \n

    If your specified role has a path other than /, then you must either specify the full role ARN\n (this is recommended) or prefix the role name with the path.

    \n \n

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role path\n prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the\n service-role path prefix. Because of this, we recommend that you specify the full ARN of your service\n role when you create compute environments.

    \n
    ", "smithy.api#required": {} } }, - "state": { - "target": "com.amazonaws.batch#CEState", + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", "traits": { - "smithy.api#documentation": "

    The state of the compute environment. If the state is ENABLED, then the compute environment\n accepts jobs from a queue and can scale out automatically based on queues.

    " + "smithy.api#documentation": "

    The tags that you apply to the compute environment to help you categorize and organize your resources. Each tag\n consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    \n \n

    These tags can be updated or removed using the TagResource and UntagResource API operations. These tags do not\n propagate to the underlying compute resources.

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

    Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to\n the queue and assign an order of preference for the compute environments.

    \n

    You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs\n onto its associated compute environments. For example, if a compute environment is associated with more than one\n job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute\n environment.

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

    Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the\n queue and assign an order of preference for the compute environments.

    \n

    You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs\n onto its associated compute environments. For example, if a compute environment is associated with more than one job\n queue, the job queue with a higher priority is given preference for scheduling jobs to that compute\n environment.

    ", "smithy.api#http": { "method": "POST", "uri": "/v1/createjobqueue", @@ -1121,37 +1130,37 @@ "com.amazonaws.batch#CreateJobQueueRequest": { "type": "structure", "members": { - "state": { - "target": "com.amazonaws.batch#JQState", + "jobQueueName": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs. If the\n job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already in the queue can\n finish.

    " + "smithy.api#documentation": "

    The name of the job queue.

    ", + "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", + "state": { + "target": "com.amazonaws.batch#JQState", "traits": { - "smithy.api#documentation": "

    The tags that you apply to the job queue to help you categorize and organize your resources. Each tag consists\n of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    " + "smithy.api#documentation": "

    The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs. If the\n job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already in the queue can\n finish.

    " } }, "priority": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The priority of the job queue. Job queues with a higher priority (or a higher integer value for the\n priority parameter) are evaluated first when associated with the same compute environment. Priority\n is determined in descending order, for example, a job queue with a priority value of 10 is given\n scheduling preference over a job queue with a priority value of 1.

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

    The priority of the job queue. Job queues with a higher priority (or a higher integer value for the\n priority parameter) are evaluated first when associated with the same compute environment. Priority is\n determined in descending order, for example, a job queue with a priority value of 10 is given scheduling\n preference over a job queue with a priority value of 1.

    ", "smithy.api#required": {} } }, - "jobQueueName": { - "target": "com.amazonaws.batch#String", + "computeEnvironmentOrder": { + "target": "com.amazonaws.batch#ComputeEnvironmentOrders", "traits": { - "smithy.api#documentation": "

    The name of the job queue.

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

    The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler\n uses this parameter to determine which compute environment should execute a given job. Compute environments must be\n in the VALID state before you can associate them with a job queue. You can associate up to three compute\n environments with a job queue.

    ", "smithy.api#required": {} } }, - "computeEnvironmentOrder": { - "target": "com.amazonaws.batch#ComputeEnvironmentOrders", + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", "traits": { - "smithy.api#documentation": "

    The set of compute environments mapped to a job queue and their order relative to each other. The job\n scheduler uses this parameter to determine which compute environment should execute a given job. Compute\n environments must be in the VALID state before you can associate them with a job queue. You can\n associate up to three compute environments with a job queue.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The tags that you apply to the job queue to help you categorize and organize your resources. Each tag consists\n of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    " } } } @@ -1288,7 +1297,7 @@ "jobDefinition": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to\n deregister.

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

    The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to deregister.

    ", "smithy.api#required": {} } } @@ -1331,22 +1340,22 @@ "com.amazonaws.batch#DescribeComputeEnvironmentsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.batch#String", + "computeEnvironments": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a previous paginated DescribeComputeEnvironments\n request where maxResults was used and the results exceeded the value of that parameter. Pagination\n continues from the end of the previous results that returned the nextToken value. This value is\n null when there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.

    " } }, "maxResults": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The maximum number of cluster results returned by DescribeComputeEnvironments in paginated\n output. When this parameter is used, DescribeComputeEnvironments only returns maxResults\n results in a single page along with a nextToken response element. The remaining results of the\n initial request can be seen by sending another DescribeComputeEnvironments request with the returned\n nextToken value. This value can be between 1 and 100. If this\n parameter is not used, then DescribeComputeEnvironments returns up to 100 results\n and a nextToken value if applicable.

    " + "smithy.api#documentation": "

    The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output.\n When this parameter is used, DescribeComputeEnvironments only returns maxResults results in\n a single page along with a nextToken response element. The remaining results of the initial request can\n be seen by sending another DescribeComputeEnvironments request with the returned nextToken\n value. This value can be between 1 and 100. If this parameter is not used, then\n DescribeComputeEnvironments returns up to 100 results and a nextToken\n value if applicable.

    " } }, - "computeEnvironments": { - "target": "com.amazonaws.batch#StringList", + "nextToken": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.

    " + "smithy.api#documentation": "

    The nextToken value returned from a previous paginated DescribeComputeEnvironments\n request where maxResults was used and the results exceeded the value of that parameter. Pagination\n continues from the end of the previous results that returned the nextToken value. This value is\n null when there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } } } @@ -1354,17 +1363,17 @@ "com.amazonaws.batch#DescribeComputeEnvironmentsResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future DescribeComputeEnvironments request. When\n the results of a DescribeJobDefinitions request exceed maxResults, this value can be\n used to retrieve the next page of results. This value is null when there are no more results to\n return.

    " - } - }, "computeEnvironments": { "target": "com.amazonaws.batch#ComputeEnvironmentDetailList", "traits": { "smithy.api#documentation": "

    The list of compute environments.

    " } + }, + "nextToken": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future DescribeComputeEnvironments request. When\n the results of a DescribeJobDefinitions request exceed maxResults, this value can be used\n to retrieve the next page of results. This value is null when there are no more results to\n return.

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

    Describes a list of job definitions. You can specify a status (such as ACTIVE) to\n only return job definitions that match that status.

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

    Describes a list of job definitions. You can specify a status (such as ACTIVE) to only\n return job definitions that match that status.

    ", "smithy.api#http": { "method": "POST", "uri": "/v1/describejobdefinitions", @@ -1401,16 +1410,16 @@ "com.amazonaws.batch#DescribeJobDefinitionsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.batch#String", + "jobDefinitions": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a previous paginated DescribeJobDefinitions\n request where maxResults was used and the results exceeded the value of that parameter. Pagination\n continues from the end of the previous results that returned the nextToken value. This value is\n null when there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

    " } }, "maxResults": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The maximum number of results returned by DescribeJobDefinitions in paginated output. When this\n parameter is used, DescribeJobDefinitions only returns maxResults results in a single\n page along with a nextToken response element. The remaining results of the initial request can be\n seen by sending another DescribeJobDefinitions request with the returned nextToken\n value. This value can be between 1 and 100. If this parameter is not used, then\n DescribeJobDefinitions returns up to 100 results and a nextToken\n value if applicable.

    " + "smithy.api#documentation": "

    The maximum number of results returned by DescribeJobDefinitions in paginated output. When this\n parameter is used, DescribeJobDefinitions only returns maxResults results in a single page\n along with a nextToken response element. The remaining results of the initial request can be seen by\n sending another DescribeJobDefinitions request with the returned nextToken value. This\n value can be between 1 and 100. If this parameter is not used, then\n DescribeJobDefinitions returns up to 100 results and a nextToken value\n if applicable.

    " } }, "jobDefinitionName": { @@ -1425,10 +1434,10 @@ "smithy.api#documentation": "

    The status with which to filter job definitions.

    " } }, - "jobDefinitions": { - "target": "com.amazonaws.batch#StringList", + "nextToken": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

    " + "smithy.api#documentation": "

    The nextToken value returned from a previous paginated DescribeJobDefinitions request\n where maxResults was used and the results exceeded the value of that parameter. Pagination continues\n from the end of the previous results that returned the nextToken value. This value is null\n when there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } } } @@ -1436,17 +1445,17 @@ "com.amazonaws.batch#DescribeJobDefinitionsResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future DescribeJobDefinitions request. When the\n results of a DescribeJobDefinitions request exceed maxResults, this value can be used to\n retrieve the next page of results. This value is null when there are no more results to\n return.

    " - } - }, "jobDefinitions": { "target": "com.amazonaws.batch#JobDefinitionList", "traits": { "smithy.api#documentation": "

    The list of job definitions.

    " } + }, + "nextToken": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future DescribeJobDefinitions request. When the\n results of a DescribeJobDefinitions request exceed maxResults, this value can be used to\n retrieve the next page of results. This value is null when there are no more results to return.

    " + } } } }, @@ -1483,22 +1492,22 @@ "com.amazonaws.batch#DescribeJobQueuesRequest": { "type": "structure", "members": { + "jobQueues": { + "target": "com.amazonaws.batch#StringList", + "traits": { + "smithy.api#documentation": "

    A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

    " + } + }, "maxResults": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The maximum number of results returned by DescribeJobQueues in paginated output. When this\n parameter is used, DescribeJobQueues only returns maxResults results in a single page\n along with a nextToken response element. The remaining results of the initial request can be seen by\n sending another DescribeJobQueues request with the returned nextToken value. This value\n can be between 1 and 100. If this parameter is not used, then\n DescribeJobQueues returns up to 100 results and a nextToken value if\n applicable.

    " + "smithy.api#documentation": "

    The maximum number of results returned by DescribeJobQueues in paginated output. When this\n parameter is used, DescribeJobQueues only returns maxResults results in a single page along\n with a nextToken response element. The remaining results of the initial request can be seen by sending\n another DescribeJobQueues request with the returned nextToken value. This value can be\n between 1 and 100. If this parameter is not used, then DescribeJobQueues\n returns up to 100 results and a nextToken value if applicable.

    " } }, "nextToken": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a previous paginated DescribeJobQueues request\n where maxResults was used and the results exceeded the value of that parameter. Pagination continues\n from the end of the previous results that returned the nextToken value. This value is\n null when there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " - } - }, - "jobQueues": { - "target": "com.amazonaws.batch#StringList", - "traits": { - "smithy.api#documentation": "

    A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

    " + "smithy.api#documentation": "

    The nextToken value returned from a previous paginated DescribeJobQueues request where\n maxResults was used and the results exceeded the value of that parameter. Pagination continues from the\n end of the previous results that returned the nextToken value. This value is null when\n there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } } } @@ -1515,7 +1524,7 @@ "nextToken": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future DescribeJobQueues request. When the\n results of a DescribeJobQueues request exceed maxResults, this value can be used to\n retrieve the next page of results. This value is null when there are no more results to\n return.

    " + "smithy.api#documentation": "

    The nextToken value to include in a future DescribeJobQueues request. When the results\n of a DescribeJobQueues request exceed maxResults, this value can be used to retrieve the\n next page of results. This value is null when there are no more results to return.

    " } } } @@ -1571,23 +1580,23 @@ "com.amazonaws.batch#Device": { "type": "structure", "members": { - "permissions": { - "target": "com.amazonaws.batch#DeviceCgroupPermissions", + "hostPath": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The explicit permissions to provide to the container for the device. By default, the container has permissions\n for read, write, and mknod for the device.

    " + "smithy.api#documentation": "

    The path for the device on the host container instance.

    ", + "smithy.api#required": {} } }, "containerPath": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The path inside the container at which to expose the host device. By default the hostPath value\n is used.

    " + "smithy.api#documentation": "

    The path inside the container at which to expose the host device. By default the hostPath value is\n used.

    " } }, - "hostPath": { - "target": "com.amazonaws.batch#String", + "permissions": { + "target": "com.amazonaws.batch#DeviceCgroupPermissions", "traits": { - "smithy.api#documentation": "

    The path for the device on the host container instance.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The explicit permissions to provide to the container for the device. By default, the container has permissions\n for read, write, and mknod for the device.

    " } } }, @@ -1626,6 +1635,33 @@ "target": "com.amazonaws.batch#Device" } }, + "com.amazonaws.batch#Ec2Configuration": { + "type": "structure", + "members": { + "imageType": { + "target": "com.amazonaws.batch#ImageType", + "traits": { + "smithy.api#documentation": "

    The image type to match with the instance type to pick an AMI. If the imageIdOverride parameter is\n not specified, then a recent Amazon ECS-optimized AMI will be used.

    \n
    \n
    ECS_AL2
    \n
    \n

    \n Amazon Linux\n 2− Default for all AWS Graviton-based instance\n families (for example,\n C6g, M6g, R6g, and T4g) and can be used for all non-GPU\n instance types.

    \n
    \n
    ECS_AL2_NVIDIA
    \n
    \n

    \n Amazon Linux\n 2 (GPU)−Default for all GPU instance\n families (for example\n P4 and G4) and can be used for all non-AWS Graviton-based instance types.

    \n
    \n
    ECS_AL1
    \n
    \n

    \n Amazon\n Linux−Default for all non-GPU, non-AWS-Graviton instance\n families. Amazon Linux is\n reaching the end-of-life of standard support. For more information, see Amazon Linux AMI.

    \n
    \n
    ", + "smithy.api#required": {} + } + }, + "imageIdOverride": { + "target": "com.amazonaws.batch#ImageIdOverride", + "traits": { + "smithy.api#documentation": "

    The AMI ID used for instances launched in the compute environment that match the image type. This setting\n overrides the imageId set in the computeResource object.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Provides information used to select Amazon Machine Images (AMIs) for instances in the compute environment. If\n the Ec2Configuration is not specified, the default is ECS_AL1.

    " + } + }, + "com.amazonaws.batch#Ec2ConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.batch#Ec2Configuration" + } + }, "com.amazonaws.batch#EnvironmentVariables": { "type": "list", "member": { @@ -1635,17 +1671,10 @@ "com.amazonaws.batch#EvaluateOnExit": { "type": "structure", "members": { - "onExitCode": { + "onStatusReason": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a\n job. The patten can be up to 512 characters long, can contain only numbers, and can optionally end with an asterisk\n (*) so that only the start of the string needs to be an exact match.

    " - } - }, - "action": { - "target": "com.amazonaws.batch#RetryAction", - "traits": { - "smithy.api#documentation": "

    Specifies the action to take if all of the specified conditions (onStatusReason,\n onReason, and onExitCode) are met.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Contains a glob pattern to match against the StatusReason returned for a job. The patten can be up\n to 512 characters long, can contain letters, numbers, periods (.), colons (:), and whitespace (spaces, tabs). and can\n optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.

    " } }, "onReason": { @@ -1654,10 +1683,17 @@ "smithy.api#documentation": "

    Contains a glob pattern to match against the Reason returned for a job. The patten can be up to 512\n characters long, can contain letters, numbers, periods (.), colons (:), and whitespace (spaces, tabs), and can\n optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.

    " } }, - "onStatusReason": { + "onExitCode": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    Contains a glob pattern to match against the StatusReason returned for a job. The patten can be up\n to 512 characters long, can contain letters, numbers, periods (.), colons (:), and whitespace (spaces, tabs). and can\n optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.

    " + "smithy.api#documentation": "

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a\n job. The patten can be up to 512 characters long, can contain only numbers, and can optionally end with an asterisk\n (*) so that only the start of the string needs to be an exact match.

    " + } + }, + "action": { + "target": "com.amazonaws.batch#RetryAction", + "traits": { + "smithy.api#documentation": "

    Specifies the action to take if all of the specified conditions (onStatusReason,\n onReason, and onExitCode) are met.

    ", + "smithy.api#required": {} } } }, @@ -1677,12 +1713,30 @@ "sourcePath": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The path on the host container instance that is presented to the container. If this parameter is empty, then\n the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data\n volume persists at the specified location on the host container instance until you delete it manually. If the\n source path location does not exist on the host container instance, the Docker daemon creates it. If the location\n does exist, the contents of the source path folder are exported.

    " + "smithy.api#documentation": "

    The path on the host container instance that is presented to the container. If this parameter is empty, then the\n Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume\n persists at the specified location on the host container instance until you delete it manually. If the source path\n location does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the\n contents of the source path folder are exported.

    " } } }, "traits": { - "smithy.api#documentation": "

    Determine whether your data volume persists on the host container instance and where it is stored. If this\n parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not\n guaranteed to persist after the containers associated with it stop running.

    " + "smithy.api#documentation": "

    Determine whether your data volume persists on the host container instance and where it is stored. If this\n parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed\n to persist after the containers associated with it stop running.

    " + } + }, + "com.amazonaws.batch#ImageIdOverride": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.batch#ImageType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } } }, "com.amazonaws.batch#Integer": { @@ -1737,16 +1791,17 @@ "com.amazonaws.batch#JobDefinition": { "type": "structure", "members": { - "retryStrategy": { - "target": "com.amazonaws.batch#RetryStrategy", + "jobDefinitionName": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The retry strategy to use for failed jobs that are submitted with this job definition.

    " + "smithy.api#documentation": "

    The name of the job definition.

    ", + "smithy.api#required": {} } }, - "type": { + "jobDefinitionArn": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The type of job definition.

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

    The Amazon Resource Name (ARN) for the job definition.

    ", "smithy.api#required": {} } }, @@ -1757,54 +1812,53 @@ "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", + "status": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The tags applied to the job definition.

    " + "smithy.api#documentation": "

    The status of the job definition.

    " } }, - "status": { + "type": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The status of the job definition.

    " + "smithy.api#documentation": "

    The type of job definition.

    ", + "smithy.api#required": {} } }, - "nodeProperties": { - "target": "com.amazonaws.batch#NodeProperties", + "parameters": { + "target": "com.amazonaws.batch#ParametersMap", "traits": { - "smithy.api#documentation": "

    An object with various properties specific to multi-node parallel jobs.

    " + "smithy.api#documentation": "

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are\n specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding\n parameter defaults from the job definition. For more information about specifying parameters, see Job Definition Parameters\n in the AWS Batch User Guide.

    " } }, - "timeout": { - "target": "com.amazonaws.batch#JobTimeout", + "retryStrategy": { + "target": "com.amazonaws.batch#RetryStrategy", "traits": { - "smithy.api#documentation": "

    The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout\n duration after which AWS Batch terminates your jobs if they have not finished.

    " + "smithy.api#documentation": "

    The retry strategy to use for failed jobs that are submitted with this job definition.

    " } }, - "parameters": { - "target": "com.amazonaws.batch#ParametersMap", + "containerProperties": { + "target": "com.amazonaws.batch#ContainerProperties", "traits": { - "smithy.api#documentation": "

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are\n specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding\n parameter defaults from the job definition. For more information about specifying parameters, see Job Definition\n Parameters in the AWS Batch User Guide.

    " + "smithy.api#documentation": "

    An object with various properties specific to container-based jobs.

    " } }, - "jobDefinitionArn": { - "target": "com.amazonaws.batch#String", + "timeout": { + "target": "com.amazonaws.batch#JobTimeout", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the job definition.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout\n duration after which AWS Batch terminates your jobs if they have not finished.

    " } }, - "jobDefinitionName": { - "target": "com.amazonaws.batch#String", + "nodeProperties": { + "target": "com.amazonaws.batch#NodeProperties", "traits": { - "smithy.api#documentation": "

    The name of the job definition.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    An object with various properties specific to multi-node parallel jobs.

    " } }, - "containerProperties": { - "target": "com.amazonaws.batch#ContainerProperties", + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", "traits": { - "smithy.api#documentation": "

    An object with various properties specific to container-based jobs.

    " + "smithy.api#documentation": "

    The tags applied to the job definition.

    " } } }, @@ -1862,68 +1916,56 @@ "com.amazonaws.batch#JobDetail": { "type": "structure", "members": { - "nodeProperties": { - "target": "com.amazonaws.batch#NodeProperties", - "traits": { - "smithy.api#documentation": "

    An object representing the node properties of a multi-node parallel job.

    " - } - }, - "startedAt": { - "target": "com.amazonaws.batch#Long", - "traits": { - "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the job was started (when the job transitioned from the\n STARTING state to the RUNNING state). This parameter is not provided for\n child jobs of array jobs or multi-node parallel jobs.

    ", - "smithy.api#required": {} - } - }, "jobArn": { "target": "com.amazonaws.batch#String", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the job.

    " } }, - "jobQueue": { + "jobName": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the job queue with which the job is associated.

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

    The name of the job.

    ", "smithy.api#required": {} } }, - "container": { - "target": "com.amazonaws.batch#ContainerDetail", + "jobId": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    An object representing the details of the container that is associated with the job.

    " + "smithy.api#documentation": "

    The ID for the job.

    ", + "smithy.api#required": {} } }, - "jobDefinition": { + "jobQueue": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The job definition that is used by this job.

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

    The Amazon Resource Name (ARN) of the job queue with which the job is associated.

    ", "smithy.api#required": {} } }, - "jobId": { - "target": "com.amazonaws.batch#String", + "status": { + "target": "com.amazonaws.batch#JobStatus", "traits": { - "smithy.api#documentation": "

    The ID for the job.

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

    The current status for the job.

    \n \n

    If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status in\n the troubleshooting section of the AWS Batch User Guide.

    \n
    ", "smithy.api#required": {} } }, - "parameters": { - "target": "com.amazonaws.batch#ParametersMap", + "attempts": { + "target": "com.amazonaws.batch#AttemptDetails", "traits": { - "smithy.api#documentation": "

    Additional parameters passed to the job that replace parameter substitution placeholders or override any\n corresponding parameter defaults from the job definition.

    " + "smithy.api#documentation": "

    A list of job attempts associated with this job.

    " } }, - "nodeDetails": { - "target": "com.amazonaws.batch#NodeDetails", + "statusReason": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    An object representing the details of a node that is associated with a multi-node parallel job.

    " + "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job.

    " } }, - "dependsOn": { - "target": "com.amazonaws.batch#JobDependencyList", + "createdAt": { + "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    A list of job IDs on which this job depends.

    " + "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the job was created. For non-array jobs and parent array jobs,\n this is when the job entered the SUBMITTED state (at the time SubmitJob was called).\n For array child jobs, this is when the child job was spawned by its parent and entered the PENDING\n state.

    " } }, "retryStrategy": { @@ -1932,54 +1974,54 @@ "smithy.api#documentation": "

    The retry strategy to use for this job if an attempt fails.

    " } }, - "createdAt": { + "startedAt": { "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the job was created. For non-array jobs and parent array jobs,\n this is when the job entered the SUBMITTED state (at the time SubmitJob\n was called). For array child jobs, this is when the child job was spawned by its parent and entered the\n PENDING state.

    " - } - }, - "status": { - "target": "com.amazonaws.batch#JobStatus", - "traits": { - "smithy.api#documentation": "

    The current status for the job.

    \n \n

    If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status\n in the troubleshooting section of the AWS Batch User Guide.

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

    The Unix timestamp (in milliseconds) for when the job was started (when the job transitioned from the\n STARTING state to the RUNNING\n state). This parameter is not provided for\n child jobs of array jobs or multi-node parallel jobs.

    ", "smithy.api#required": {} } }, - "attempts": { - "target": "com.amazonaws.batch#AttemptDetails", + "stoppedAt": { + "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    A list of job attempts associated with this job.

    " + "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the job was stopped (when the job transitioned from the\n RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

    " } }, - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", + "dependsOn": { + "target": "com.amazonaws.batch#JobDependencyList", "traits": { - "smithy.api#documentation": "

    The tags applied to the job.

    " + "smithy.api#documentation": "

    A list of job IDs on which this job depends.

    " } }, - "jobName": { + "jobDefinition": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name of the job.

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

    The job definition that is used by this job.

    ", "smithy.api#required": {} } }, - "statusReason": { - "target": "com.amazonaws.batch#String", + "parameters": { + "target": "com.amazonaws.batch#ParametersMap", "traits": { - "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job.

    " + "smithy.api#documentation": "

    Additional parameters passed to the job that replace parameter substitution placeholders or override any\n corresponding parameter defaults from the job definition.

    " } }, - "timeout": { - "target": "com.amazonaws.batch#JobTimeout", + "container": { + "target": "com.amazonaws.batch#ContainerDetail", "traits": { - "smithy.api#documentation": "

    The timeout configuration for the job.

    " + "smithy.api#documentation": "

    An object representing the details of the container that is associated with the job.

    " } }, - "stoppedAt": { - "target": "com.amazonaws.batch#Long", + "nodeDetails": { + "target": "com.amazonaws.batch#NodeDetails", "traits": { - "smithy.api#documentation": "

    The Unix timestamp (in milliseconds) for when the job was stopped (when the job transitioned from the\n RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

    " + "smithy.api#documentation": "

    An object representing the details of a node that is associated with a multi-node parallel job.

    " + } + }, + "nodeProperties": { + "target": "com.amazonaws.batch#NodeProperties", + "traits": { + "smithy.api#documentation": "

    An object representing the node properties of a multi-node parallel job.

    " } }, "arrayProperties": { @@ -1987,6 +2029,18 @@ "traits": { "smithy.api#documentation": "

    The array properties of the job, if it is an array job.

    " } + }, + "timeout": { + "target": "com.amazonaws.batch#JobTimeout", + "traits": { + "smithy.api#documentation": "

    The timeout configuration for the job.

    " + } + }, + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", + "traits": { + "smithy.api#documentation": "

    The tags applied to the job.

    " + } } }, "traits": { @@ -2002,17 +2056,11 @@ "com.amazonaws.batch#JobQueueDetail": { "type": "structure", "members": { - "computeEnvironmentOrder": { - "target": "com.amazonaws.batch#ComputeEnvironmentOrders", - "traits": { - "smithy.api#documentation": "

    The compute environments that are attached to the job queue and the order in which job placement is preferred.\n Compute environments are selected for job placement in ascending order.

    ", - "smithy.api#required": {} - } - }, - "statusReason": { + "jobQueueName": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job queue.

    " + "smithy.api#documentation": "

    The name of the job queue.

    ", + "smithy.api#required": {} } }, "jobQueueArn": { @@ -2022,13 +2070,6 @@ "smithy.api#required": {} } }, - "jobQueueName": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    The name of the job queue.

    ", - "smithy.api#required": {} - } - }, "state": { "target": "com.amazonaws.batch#JQState", "traits": { @@ -2036,6 +2077,18 @@ "smithy.api#required": {} } }, + "status": { + "target": "com.amazonaws.batch#JQStatus", + "traits": { + "smithy.api#documentation": "

    The status of the job queue (for example, CREATING or VALID).

    " + } + }, + "statusReason": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job queue.

    " + } + }, "priority": { "target": "com.amazonaws.batch#Integer", "traits": { @@ -2043,16 +2096,17 @@ "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", + "computeEnvironmentOrder": { + "target": "com.amazonaws.batch#ComputeEnvironmentOrders", "traits": { - "smithy.api#documentation": "

    The tags applied to the job queue.

    " + "smithy.api#documentation": "

    The compute environments that are attached to the job queue and the order in which job placement is preferred.\n Compute environments are selected for job placement in ascending order.

    ", + "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.batch#JQStatus", + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", "traits": { - "smithy.api#documentation": "

    The status of the job queue (for example, CREATING or VALID).

    " + "smithy.api#documentation": "

    The tags applied to the job queue.

    " } } }, @@ -2104,16 +2158,10 @@ "com.amazonaws.batch#JobSummary": { "type": "structure", "members": { - "nodeProperties": { - "target": "com.amazonaws.batch#NodePropertiesSummary", - "traits": { - "smithy.api#documentation": "

    The node properties for a single node in a job summary list.

    " - } - }, - "startedAt": { - "target": "com.amazonaws.batch#Long", + "jobArn": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the job was started (when the job transitioned from the STARTING\n state to the RUNNING state).

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the job.

    " } }, "jobId": { @@ -2123,53 +2171,59 @@ "smithy.api#required": {} } }, - "container": { - "target": "com.amazonaws.batch#ContainerSummary", + "jobName": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    An object representing the details of the container that is associated with the job.

    " + "smithy.api#documentation": "

    The name of the job.

    ", + "smithy.api#required": {} } }, - "stoppedAt": { + "createdAt": { "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the job was stopped (when the job transitioned from the RUNNING state\n to a terminal state, such as SUCCEEDED or FAILED).

    " + "smithy.api#documentation": "

    The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the job\n entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs,\n this is when the child job was spawned by its parent and entered the PENDING state.

    " } }, - "arrayProperties": { - "target": "com.amazonaws.batch#ArrayPropertiesSummary", + "status": { + "target": "com.amazonaws.batch#JobStatus", "traits": { - "smithy.api#documentation": "

    The array properties of the job, if it is an array job.

    " + "smithy.api#documentation": "

    The current status for the job.

    " } }, - "createdAt": { + "statusReason": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job.

    " + } + }, + "startedAt": { "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the\n job entered the SUBMITTED state (at the time SubmitJob was called). For array child\n jobs, this is when the child job was spawned by its parent and entered the PENDING state.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the job was started (when the job transitioned from the STARTING state\n to the RUNNING state).

    " } }, - "statusReason": { - "target": "com.amazonaws.batch#String", + "stoppedAt": { + "target": "com.amazonaws.batch#Long", "traits": { - "smithy.api#documentation": "

    A short, human-readable string to provide additional details about the current status of the job.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the job was stopped (when the job transitioned from the RUNNING state\n to a terminal state, such as SUCCEEDED or FAILED).

    " } }, - "status": { - "target": "com.amazonaws.batch#JobStatus", + "container": { + "target": "com.amazonaws.batch#ContainerSummary", "traits": { - "smithy.api#documentation": "

    The current status for the job.

    " + "smithy.api#documentation": "

    An object representing the details of the container that is associated with the job.

    " } }, - "jobName": { - "target": "com.amazonaws.batch#String", + "arrayProperties": { + "target": "com.amazonaws.batch#ArrayPropertiesSummary", "traits": { - "smithy.api#documentation": "

    The name of the job.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The array properties of the job, if it is an array job.

    " } }, - "jobArn": { - "target": "com.amazonaws.batch#String", + "nodeProperties": { + "target": "com.amazonaws.batch#NodePropertiesSummary", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the job.

    " + "smithy.api#documentation": "

    The node properties for a single node in a job summary list.

    " } } }, @@ -2203,7 +2257,7 @@ "name": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name of the key-value pair. For environment variables, this is the name of the environment\n variable.

    " + "smithy.api#documentation": "

    The name of the key-value pair. For environment variables, this is the name of the environment variable.

    " } }, "value": { @@ -2220,10 +2274,10 @@ "com.amazonaws.batch#LaunchTemplateSpecification": { "type": "structure", "members": { - "version": { + "launchTemplateId": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The version number of the launch template, $Latest, or $Default.

    \n

    If the value is $Latest, the latest version of the launch template is used. If the value is\n $Default, the default version of the launch template is used.

    \n

    Default: $Default.

    " + "smithy.api#documentation": "

    The ID of the launch template.

    " } }, "launchTemplateName": { @@ -2232,54 +2286,54 @@ "smithy.api#documentation": "

    The name of the launch template.

    " } }, - "launchTemplateId": { + "version": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The ID of the launch template.

    " + "smithy.api#documentation": "

    The version number of the launch template, $Latest, or $Default.

    \n

    If the value is $Latest, the latest version of the launch template is used. If the value is\n $Default, the default version of the launch template is used.

    \n

    Default: $Default.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object representing a launch template associated with a compute resource. You must specify either the\n launch template ID or launch template name in the request, but not both.

    " + "smithy.api#documentation": "

    An object representing a launch template associated with a compute resource. You must specify either the launch\n template ID or launch template name in the request, but not both.

    " } }, "com.amazonaws.batch#LinuxParameters": { "type": "structure", "members": { - "tmpfs": { - "target": "com.amazonaws.batch#TmpfsList", + "devices": { + "target": "com.amazonaws.batch#DevicesList", "traits": { - "smithy.api#documentation": "

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the\n --tmpfs option to docker run.

    " + "smithy.api#documentation": "

    Any host devices to expose to the container. This parameter maps to Devices in the\n Create a container section of the Docker Remote API and the --device option to docker run.

    " } }, - "sharedMemorySize": { - "target": "com.amazonaws.batch#Integer", + "initProcessEnabled": { + "target": "com.amazonaws.batch#Boolean", "traits": { - "smithy.api#documentation": "

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the\n --shm-size option to docker run.

    " + "smithy.api#documentation": "

    If true, run an init process inside the container that forwards signals and reaps processes. This\n parameter maps to the --init option to docker run.\n This parameter requires version 1.25 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\"\n

    " } }, - "devices": { - "target": "com.amazonaws.batch#DevicesList", + "sharedMemorySize": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    Any host devices to expose to the container. This parameter maps to Devices in the\n Create a container section of the Docker Remote API and the --device option to docker run.

    " + "smithy.api#documentation": "

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the\n --shm-size option to docker run.

    " } }, - "swappiness": { - "target": "com.amazonaws.batch#Integer", + "tmpfs": { + "target": "com.amazonaws.batch#TmpfsList", "traits": { - "smithy.api#documentation": "

    This allows you to tune a container's memory swappiness behavior. A swappiness value of\n 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of\n 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between\n 0 and 100. If the swappiness parameter is not specified, a default value\n of 60 is used. If a value is not specified for maxSwap then this parameter is ignored.\n This parameter maps to the --memory-swappiness option to docker\n run.

    " + "smithy.api#documentation": "

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the\n --tmpfs option to docker run.

    " } }, "maxSwap": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the\n --memory-swap option to docker run where the value\n would be the sum of the container memory plus the maxSwap value. For more information,\n see \n --memory-swap details in the Docker\n documentation.

    \n

    If a maxSwap value of 0 is specified, the container will not use swap. Accepted\n values are 0 or any positive integer. If the maxSwap parameter is omitted, the container\n will use the swap configuration for the container instance it is running on. A maxSwap value must be\n set for the swappiness parameter to be used.

    " + "smithy.api#documentation": "

    The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the\n --memory-swap option to docker run where the value would be\n the sum of the container memory plus the maxSwap\n value. For more information,\n see \n --memory-swap details in the Docker\n documentation.

    \n

    If a maxSwap value of 0 is specified, the container will not use swap. Accepted values\n are 0 or any positive integer. If the maxSwap parameter is omitted, the container will use\n the swap configuration for the container instance it is running on. A maxSwap value must be set for the\n swappiness parameter to be used.

    " } }, - "initProcessEnabled": { - "target": "com.amazonaws.batch#Boolean", + "swappiness": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    If true, run an init process inside the container that forwards signals and reaps processes. This\n parameter maps to the --init option to docker run.\n This parameter requires version 1.25 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\"\n

    " + "smithy.api#documentation": "

    This allows you to tune a container's memory swappiness behavior. A swappiness value of\n 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of\n 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between\n 0 and 100. If the swappiness parameter is not specified, a default value of\n 60 is used. If a value is not specified for maxSwap then this parameter is ignored. This\n parameter maps to the --memory-swappiness option to docker\n run.

    " } } }, @@ -2320,40 +2374,40 @@ "com.amazonaws.batch#ListJobsRequest": { "type": "structure", "members": { - "nextToken": { + "jobQueue": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a previous paginated ListJobs request where\n maxResults was used and the results exceeded the value of that parameter. Pagination continues from\n the end of the previous results that returned the nextToken value. This value is null\n when there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

    " } }, "arrayJobId": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within\n the specified array.

    " + "smithy.api#documentation": "

    The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the\n specified array.

    " } }, "multiNodeJobId": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists\n all nodes that are associated with the specified job.

    " + "smithy.api#documentation": "

    The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists all\n nodes that are associated with the specified job.

    " } }, - "maxResults": { - "target": "com.amazonaws.batch#Integer", + "jobStatus": { + "target": "com.amazonaws.batch#JobStatus", "traits": { - "smithy.api#documentation": "

    The maximum number of results returned by ListJobs in paginated output. When this parameter is\n used, ListJobs only returns maxResults results in a single page along with a\n nextToken response element. The remaining results of the initial request can be seen by sending\n another ListJobs request with the returned nextToken value. This value can be between\n 1 and 100. If this parameter is not used, then ListJobs returns up to\n 100 results and a nextToken value if applicable.

    " + "smithy.api#documentation": "

    The job status with which to filter jobs in the specified queue. If you do not specify a status, only\n RUNNING jobs are returned.

    " } }, - "jobQueue": { - "target": "com.amazonaws.batch#String", + "maxResults": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

    " + "smithy.api#documentation": "

    The maximum number of results returned by ListJobs in paginated output. When this parameter is\n used, ListJobs only returns maxResults results in a single page along with a\n nextToken response element. The remaining results of the initial request can be seen by sending another\n ListJobs request with the returned nextToken value. This value can be between\n 1 and 100. If this parameter is not used, then ListJobs returns up to\n 100 results and a nextToken value if applicable.

    " } }, - "jobStatus": { - "target": "com.amazonaws.batch#JobStatus", + "nextToken": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The job status with which to filter jobs in the specified queue. If you do not specify a status, only\n RUNNING jobs are returned.

    " + "smithy.api#documentation": "

    The nextToken value returned from a previous paginated ListJobs request where\n maxResults was used and the results exceeded the value of that parameter. Pagination continues from the\n end of the previous results that returned the nextToken value. This value is null when\n there are no more results to return.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } } } @@ -2371,7 +2425,7 @@ "nextToken": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future ListJobs request. When the results of a\n ListJobs request exceed maxResults, this value can be used to retrieve the next page\n of results. This value is null when there are no more results to return.

    " + "smithy.api#documentation": "

    The nextToken value to include in a future ListJobs request. When the results of a\n ListJobs request exceed maxResults, this value can be used to retrieve the next page of\n results. This value is null when there are no more results to return.

    " } } } @@ -2428,16 +2482,10 @@ "com.amazonaws.batch#LogConfiguration": { "type": "structure", "members": { - "secretOptions": { - "target": "com.amazonaws.batch#SecretList", - "traits": { - "smithy.api#documentation": "

    The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the\n AWS Batch User Guide.

    " - } - }, "logDriver": { "target": "com.amazonaws.batch#LogDriver", "traits": { - "smithy.api#documentation": "

    The log driver to use for the container. The valid values listed for this parameter are log drivers that the\n Amazon ECS container agent can communicate with by default.

    \n

    The supported log drivers are awslogs, fluentd, gelf,\n json-file, journald, logentries, syslog, and\n splunk.

    \n \n
    \n
    awslogs
    \n
    \n

    Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs Log Driver in the\n AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.

    \n
    \n
    fluentd
    \n
    \n

    Specifies the Fluentd logging driver. For more information, including usage and options, see Fluentd logging driver in the Docker\n documentation.

    \n
    \n
    gelf
    \n
    \n

    Specifies the Graylog Extended Format (GELF) logging driver. For more information, including usage and\n options, see Graylog Extended Format logging\n driver in the Docker documentation.

    \n
    \n
    journald
    \n
    \n

    Specifies the journald logging driver. For more information, including usage and options, see Journald logging driver in the Docker\n documentation.

    \n
    \n
    json-file
    \n
    \n

    Specifies the JSON file logging driver. For more information, including usage and options, see JSON File logging driver in the Docker\n documentation.

    \n
    \n
    splunk
    \n
    \n

    Specifies the Splunk logging driver. For more information, including usage and options, see Splunk logging driver in the Docker\n documentation.

    \n
    \n
    syslog
    \n
    \n

    Specifies the syslog logging driver. For more information, including usage and options, see Syslog logging driver in the Docker\n documentation.

    \n
    \n
    \n \n \n

    If you have a custom driver that is not listed earlier that you would like to work with the Amazon ECS container\n agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that\n driver. We encourage you to submit pull requests for changes that you would like to have included. However,\n Amazon Web Services does not currently support running modified copies of this software.

    \n
    \n

    This parameter requires version 1.18 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\" \n

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

    The log driver to use for the container. The valid values listed for this parameter are log drivers that the\n Amazon ECS container agent can communicate with by default.

    \n

    The supported log drivers are awslogs, fluentd, gelf,\n json-file, journald, logentries, syslog, and\n splunk.

    \n \n
    \n
    awslogs
    \n
    \n

    Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs Log Driver in the\n AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.

    \n
    \n
    fluentd
    \n
    \n

    Specifies the Fluentd logging driver. For more information, including usage and options, see Fluentd logging driver in the Docker\n documentation.

    \n
    \n
    gelf
    \n
    \n

    Specifies the Graylog Extended Format (GELF) logging driver. For more information, including usage and\n options, see Graylog Extended Format logging\n driver in the Docker documentation.

    \n
    \n
    journald
    \n
    \n

    Specifies the journald logging driver. For more information, including usage and options, see Journald logging driver in the Docker\n documentation.

    \n
    \n
    json-file
    \n
    \n

    Specifies the JSON file logging driver. For more information, including usage and options, see JSON File logging driver in the Docker\n documentation.

    \n
    \n
    splunk
    \n
    \n

    Specifies the Splunk logging driver. For more information, including usage and options, see Splunk logging driver in the Docker\n documentation.

    \n
    \n
    syslog
    \n
    \n

    Specifies the syslog logging driver. For more information, including usage and options, see Syslog logging driver in the Docker\n documentation.

    \n
    \n
    \n \n \n

    If you have a custom driver that is not listed earlier that you would like to work with the Amazon ECS container\n agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests\n for changes that you would like to have included. However, Amazon Web Services does not currently support running modified\n copies of this software.

    \n
    \n

    This parameter requires version 1.18 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\" \n

    ", "smithy.api#required": {} } }, @@ -2446,6 +2494,12 @@ "traits": { "smithy.api#documentation": "

    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your\n container instance. To check the Docker Remote API version on your container instance, log into your\n container instance and run the following command: sudo docker version | grep \"Server API version\" \n

    " } + }, + "secretOptions": { + "target": "com.amazonaws.batch#SecretList", + "traits": { + "smithy.api#documentation": "

    The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the\n AWS Batch User Guide.

    " + } } }, "traits": { @@ -2534,12 +2588,6 @@ "com.amazonaws.batch#NetworkInterface": { "type": "structure", "members": { - "privateIpv4Address": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    The private IPv4 address for the network interface.

    " - } - }, "attachmentId": { "target": "com.amazonaws.batch#String", "traits": { @@ -2551,6 +2599,12 @@ "traits": { "smithy.api#documentation": "

    The private IPv6 address for the network interface.

    " } + }, + "privateIpv4Address": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The private IPv4 address for the network interface.

    " + } } }, "traits": { @@ -2566,16 +2620,16 @@ "com.amazonaws.batch#NodeDetails": { "type": "structure", "members": { - "isMainNode": { - "target": "com.amazonaws.batch#Boolean", + "nodeIndex": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    Specifies whether the current node is the main node for a multi-node parallel job.

    " + "smithy.api#documentation": "

    The node index for the node. Node index numbering begins at zero. This index is also available on the node with\n the AWS_BATCH_JOB_NODE_INDEX environment variable.

    " } }, - "nodeIndex": { - "target": "com.amazonaws.batch#Integer", + "isMainNode": { + "target": "com.amazonaws.batch#Boolean", "traits": { - "smithy.api#documentation": "

    The node index for the node. Node index numbering begins at zero. This index is also available on the node\n with the AWS_BATCH_JOB_NODE_INDEX environment variable.

    " + "smithy.api#documentation": "

    Specifies whether the current node is the main node for a multi-node parallel job.

    " } } }, @@ -2586,16 +2640,16 @@ "com.amazonaws.batch#NodeOverrides": { "type": "structure", "members": { - "nodePropertyOverrides": { - "target": "com.amazonaws.batch#NodePropertyOverrides", + "numNodes": { + "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The node property overrides for the job.

    " + "smithy.api#documentation": "

    The number of nodes to use with a multi-node parallel job. This value overrides the number of nodes that are\n specified in the job definition. To use this override:

    \n
      \n
    • \n

      There must be at least one node range in your job definition that has an open upper boundary (such as\n : or n:).

      \n
    • \n
    • \n

      The lower boundary of the node range specified in the job definition must be fewer than the number of nodes\n specified in the override.

      \n
    • \n
    • \n

      The main node index specified in the job definition must be fewer than the number of nodes specified in the\n override.

      \n
    • \n
    " } }, - "numNodes": { - "target": "com.amazonaws.batch#Integer", + "nodePropertyOverrides": { + "target": "com.amazonaws.batch#NodePropertyOverrides", "traits": { - "smithy.api#documentation": "

    The number of nodes to use with a multi-node parallel job. This value overrides the number of nodes that are\n specified in the job definition. To use this override:

    \n
      \n
    • \n

      There must be at least one node range in your job definition that has an open upper boundary (such as\n : or n:).

      \n
    • \n
    • \n

      The lower boundary of the node range specified in the job definition must be fewer than the number of\n nodes specified in the override.

      \n
    • \n
    • \n

      The main node index specified in the job definition must be fewer than the number of nodes specified in\n the override.

      \n
    • \n
    " + "smithy.api#documentation": "

    The node property overrides for the job.

    " } } }, @@ -2606,13 +2660,6 @@ "com.amazonaws.batch#NodeProperties": { "type": "structure", "members": { - "nodeRangeProperties": { - "target": "com.amazonaws.batch#NodeRangeProperties", - "traits": { - "smithy.api#documentation": "

    A list of node ranges and their properties associated with a multi-node parallel job.

    ", - "smithy.api#required": {} - } - }, "numNodes": { "target": "com.amazonaws.batch#Integer", "traits": { @@ -2626,6 +2673,13 @@ "smithy.api#documentation": "

    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer\n than the number of nodes.

    ", "smithy.api#required": {} } + }, + "nodeRangeProperties": { + "target": "com.amazonaws.batch#NodeRangeProperties", + "traits": { + "smithy.api#documentation": "

    A list of node ranges and their properties associated with a multi-node parallel job.

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -2635,12 +2689,6 @@ "com.amazonaws.batch#NodePropertiesSummary": { "type": "structure", "members": { - "nodeIndex": { - "target": "com.amazonaws.batch#Integer", - "traits": { - "smithy.api#documentation": "

    The node index for the node. Node index numbering begins at zero. This index is also available on the node\n with the AWS_BATCH_JOB_NODE_INDEX environment variable.

    " - } - }, "isMainNode": { "target": "com.amazonaws.batch#Boolean", "traits": { @@ -2652,6 +2700,12 @@ "traits": { "smithy.api#documentation": "

    The number of nodes associated with a multi-node parallel job.

    " } + }, + "nodeIndex": { + "target": "com.amazonaws.batch#Integer", + "traits": { + "smithy.api#documentation": "

    The node index for the node. Node index numbering begins at zero. This index is also available on the node with\n the AWS_BATCH_JOB_NODE_INDEX environment variable.

    " + } } }, "traits": { @@ -2661,18 +2715,18 @@ "com.amazonaws.batch#NodePropertyOverride": { "type": "structure", "members": { - "containerOverrides": { - "target": "com.amazonaws.batch#ContainerOverrides", - "traits": { - "smithy.api#documentation": "

    The overrides that should be sent to a node range.

    " - } - }, "targetNodes": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The range of nodes, using node index values, with which to override. A range of 0:3 indicates\n nodes with index values of 0 through 3. If the starting range value is omitted\n (:n), then 0 is used to start the range. If the ending range value is omitted\n (n:), then the highest possible node index is used to end the range.

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

    The range of nodes, using node index values, with which to override. A range of 0:3 indicates nodes\n with index values of 0 through 3. If the starting range value is omitted (:n),\n then 0 is used to start the range. If the ending range value is omitted (n:), then the\n highest possible node index is used to end the range.

    ", "smithy.api#required": {} } + }, + "containerOverrides": { + "target": "com.amazonaws.batch#ContainerOverrides", + "traits": { + "smithy.api#documentation": "

    The overrides that should be sent to a node range.

    " + } } }, "traits": { @@ -2694,18 +2748,18 @@ "com.amazonaws.batch#NodeRangeProperty": { "type": "structure", "members": { - "container": { - "target": "com.amazonaws.batch#ContainerProperties", - "traits": { - "smithy.api#documentation": "

    The container details for the node range.

    " - } - }, "targetNodes": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of\n 0 through 3. If the starting range value is omitted (:n), then\n 0 is used to start the range. If the ending range value is omitted (n:), then the\n highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes\n (0:n). You may nest node ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the\n 0:10 properties.

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

    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of\n 0 through 3. If the starting range value is omitted (:n), then 0\n is used to start the range. If the ending range value is omitted (n:), then the highest possible node\n index is used to end the range. Your accumulative node ranges must account for all nodes (0:n). You may nest node\n ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10 properties.

    ", "smithy.api#required": {} } + }, + "container": { + "target": "com.amazonaws.batch#ContainerProperties", + "traits": { + "smithy.api#documentation": "

    The container details for the node range.

    " + } } }, "traits": { @@ -2749,16 +2803,11 @@ "com.amazonaws.batch#RegisterJobDefinitionRequest": { "type": "structure", "members": { - "timeout": { - "target": "com.amazonaws.batch#JobTimeout", - "traits": { - "smithy.api#documentation": "

    The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates\n your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value\n for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob\n operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the\n Amazon Elastic Container Service Developer Guide.

    " - } - }, - "parameters": { - "target": "com.amazonaws.batch#ParametersMap", + "jobDefinitionName": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    Default parameter substitution placeholders to set in the job definition. Parameters are specified as a\n key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter\n defaults from the job definition.

    " + "smithy.api#documentation": "

    The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and\n underscores are allowed.

    ", + "smithy.api#required": {} } }, "type": { @@ -2768,22 +2817,22 @@ "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", + "parameters": { + "target": "com.amazonaws.batch#ParametersMap", "traits": { - "smithy.api#documentation": "

    The tags that you apply to the job definition to help you categorize and organize your resources. Each tag\n consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    " + "smithy.api#documentation": "

    Default parameter substitution placeholders to set in the job definition. Parameters are specified as a\n key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults\n from the job definition.

    " } }, - "nodeProperties": { - "target": "com.amazonaws.batch#NodeProperties", + "containerProperties": { + "target": "com.amazonaws.batch#ContainerProperties", "traits": { - "smithy.api#documentation": "

    An object with various properties specific to multi-node parallel jobs. If you specify node properties for a\n job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the\n AWS Batch User Guide. If the job definition's type parameter is\n container, then you must specify either containerProperties or\n nodeProperties.

    " + "smithy.api#documentation": "

    An object with various properties specific to single-node container-based jobs. If the job definition's\n type parameter is container, then you must specify either containerProperties\n or nodeProperties.

    " } }, - "containerProperties": { - "target": "com.amazonaws.batch#ContainerProperties", + "nodeProperties": { + "target": "com.amazonaws.batch#NodeProperties", "traits": { - "smithy.api#documentation": "

    An object with various properties specific to single-node container-based jobs. If the job definition's\n type parameter is container, then you must specify either\n containerProperties or nodeProperties.

    " + "smithy.api#documentation": "

    An object with various properties specific to multi-node parallel jobs. If you specify node properties for a\n job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the\n AWS Batch User Guide. If the job definition's type parameter is\n container, then you must specify either containerProperties or\n nodeProperties.

    " } }, "retryStrategy": { @@ -2792,11 +2841,16 @@ "smithy.api#documentation": "

    The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that\n is specified during a SubmitJob operation overrides the retry strategy defined here. If a job is\n terminated due to a timeout, it is not retried.

    " } }, - "jobDefinitionName": { - "target": "com.amazonaws.batch#String", + "timeout": { + "target": "com.amazonaws.batch#JobTimeout", "traits": { - "smithy.api#documentation": "

    The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and\n underscores are allowed.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates\n your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value\n for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob\n operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the\n Amazon Elastic Container Service Developer Guide.

    " + } + }, + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", + "traits": { + "smithy.api#documentation": "

    The tags that you apply to the job definition to help you categorize and organize your resources. Each tag\n consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    " } } } @@ -2830,17 +2884,17 @@ "com.amazonaws.batch#ResourceRequirement": { "type": "structure", "members": { - "type": { - "target": "com.amazonaws.batch#ResourceType", + "value": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The type of resource to assign to a container. Currently, the only supported resource type is\n GPU.

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

    The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a\n job should not exceed the number of available GPUs on the compute resource that the job is launched on.

    ", "smithy.api#required": {} } }, - "value": { - "target": "com.amazonaws.batch#String", + "type": { + "target": "com.amazonaws.batch#ResourceType", "traits": { - "smithy.api#documentation": "

    The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a\n job should not exceed the number of available GPUs on the compute resource that the job is launched on.

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

    The type of resource to assign to a container. Currently, the only supported resource type is\n GPU.

    ", "smithy.api#required": {} } } @@ -2887,7 +2941,7 @@ "attempts": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10\n attempts. If the value of attempts is greater than one, the job is retried on failure the same number\n of attempts as the value.

    " + "smithy.api#documentation": "

    The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10\n attempts. If the value of attempts is greater than one, the job is retried on failure the same number of\n attempts as the value.

    " } }, "evaluateOnExit": { @@ -2904,23 +2958,23 @@ "com.amazonaws.batch#Secret": { "type": "structure", "members": { - "valueFrom": { + "name": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the\n full ARN of the parameter in the AWS Systems Manager Parameter Store.

    \n \n

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you are launching, then you can\n use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full\n ARN must be specified.

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

    The name of the secret.

    ", "smithy.api#required": {} } }, - "name": { + "valueFrom": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name of the secret.

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

    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the\n full ARN of the parameter in the AWS Systems Manager Parameter Store.

    \n \n

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you are launching, then you can\n use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN\n must be specified.

    \n
    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    An object representing the secret to expose to your container. Secrets can be exposed to a container in the\n following ways:

    \n
      \n
    • \n

      To inject sensitive data into your containers as environment variables, use the secrets\n container definition parameter.

      \n
    • \n
    • \n

      To reference sensitive information in the log configuration of a container, use the\n secretOptions container definition parameter.

      \n
    • \n
    \n

    For more information, see Specifying Sensitive Data in the\n Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    An object representing the secret to expose to your container. Secrets can be exposed to a container in the\n following ways:

    \n
      \n
    • \n

      To inject sensitive data into your containers as environment variables, use the secrets container\n definition parameter.

      \n
    • \n
    • \n

      To reference sensitive information in the log configuration of a container, use the secretOptions\n container definition parameter.

      \n
    • \n
    \n

    For more information, see Specifying Sensitive Data in the\n Amazon Elastic Container Service Developer Guide.

    " } }, "com.amazonaws.batch#SecretList": { @@ -2979,37 +3033,49 @@ "com.amazonaws.batch#SubmitJobRequest": { "type": "structure", "members": { - "jobQueue": { + "jobName": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the\n queue.

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

    The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase),\n numbers, hyphens, and underscores are allowed.

    ", "smithy.api#required": {} } }, - "jobName": { + "jobQueue": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and\n lowercase), numbers, hyphens, and underscores are allowed.

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

    The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the\n queue.

    ", "smithy.api#required": {} } }, + "arrayProperties": { + "target": "com.amazonaws.batch#ArrayProperties", + "traits": { + "smithy.api#documentation": "

    The array properties for the submitted job, such as the size of the array. The array size can be between 2 and\n 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the\n AWS Batch User Guide.

    " + } + }, + "dependsOn": { + "target": "com.amazonaws.batch#JobDependencyList", + "traits": { + "smithy.api#documentation": "

    A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a\n SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job\n completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a job\n ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each\n dependency to complete before it can begin.

    " + } + }, "jobDefinition": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The job definition used by this job. This value can be one of name, name:revision,\n or the Amazon Resource Name (ARN) for the job definition. If\n name is specified without a revision then the latest active revision is\n used.

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

    The job definition used by this job. This value can be one of name, name:revision, or\n the Amazon Resource Name (ARN) for the job definition. If\n name is specified without a revision then the latest active revision is used.

    ", "smithy.api#required": {} } }, - "timeout": { - "target": "com.amazonaws.batch#JobTimeout", + "parameters": { + "target": "com.amazonaws.batch#ParametersMap", "traits": { - "smithy.api#documentation": "

    The timeout configuration for this SubmitJob operation. You can specify a timeout duration\n after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is\n not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout\n configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as\n the parent job. For more information, see Job Timeouts in the\n Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job\n definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request\n override any corresponding parameter defaults from the job definition.

    " } }, - "parameters": { - "target": "com.amazonaws.batch#ParametersMap", + "containerOverrides": { + "target": "com.amazonaws.batch#ContainerOverrides", "traits": { - "smithy.api#documentation": "

    Additional parameters passed to the job that replace parameter substitution placeholders that are set in the\n job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob\n request override any corresponding parameter defaults from the job definition.

    " + "smithy.api#documentation": "

    A list of container overrides in JSON format that specify the name of a container in the specified job\n definition and the overrides it should receive. You can override the default command for a container (that is\n specified in the job definition or the Docker image) with a command override. You can also override\n existing environment variables (that are specified in the job definition or Docker image) on a container or add new\n environment variables to it with an environment override.

    " } }, "nodeOverrides": { @@ -3021,31 +3087,19 @@ "retryStrategy": { "target": "com.amazonaws.batch#RetryStrategy", "traits": { - "smithy.api#documentation": "

    The retry strategy to use for failed jobs from this SubmitJob operation. When a retry\n strategy is specified here, it overrides the retry strategy defined in the job definition.

    " + "smithy.api#documentation": "

    The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy\n is specified here, it overrides the retry strategy defined in the job definition.

    " } }, - "arrayProperties": { - "target": "com.amazonaws.batch#ArrayProperties", + "timeout": { + "target": "com.amazonaws.batch#JobTimeout", "traits": { - "smithy.api#documentation": "

    The array properties for the submitted job, such as the size of the array. The array size can be between 2 and\n 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the\n AWS Batch User Guide.

    " + "smithy.api#documentation": "

    The timeout configuration for this SubmitJob operation. You can specify a timeout duration\n after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is\n not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration\n specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job.\n For more information, see Job\n Timeouts in the Amazon Elastic Container Service Developer Guide.

    " } }, "tags": { "target": "com.amazonaws.batch#TagrisTagsMap", "traits": { - "smithy.api#documentation": "

    The tags that you apply to the job request to help you categorize and organize your resources. Each tag\n consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    " - } - }, - "containerOverrides": { - "target": "com.amazonaws.batch#ContainerOverrides", - "traits": { - "smithy.api#documentation": "

    A list of container overrides in JSON format that specify the name of a container in the specified job\n definition and the overrides it should receive. You can override the default command for a container (that is\n specified in the job definition or the Docker image) with a command override. You can also override\n existing environment variables (that are specified in the job definition or Docker image) on a container or add\n new environment variables to it with an environment override.

    " - } - }, - "dependsOn": { - "target": "com.amazonaws.batch#JobDependencyList", - "traits": { - "smithy.api#documentation": "

    A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a\n SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job\n completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a\n job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of\n each dependency to complete before it can begin.

    " + "smithy.api#documentation": "

    The tags that you apply to the job request to help you categorize and organize your resources. Each tag consists\n of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    " } } } @@ -3053,6 +3107,12 @@ "com.amazonaws.batch#SubmitJobResponse": { "type": "structure", "members": { + "jobArn": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the job.

    " + } + }, "jobName": { "target": "com.amazonaws.batch#String", "traits": { @@ -3066,12 +3126,6 @@ "smithy.api#documentation": "

    The unique identifier for the job.

    ", "smithy.api#required": {} } - }, - "jobArn": { - "target": "com.amazonaws.batch#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the job.

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

    Associates the specified tags to a resource with the specified resourceArn. If existing tags on a\n resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags\n associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job\n queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

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

    Associates the specified tags to a resource with the specified resourceArn. If existing tags on a\n resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags\n associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job\n queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

    ", "smithy.api#http": { "method": "POST", "uri": "/v1/tags/{resourceArn}", @@ -3124,13 +3178,6 @@ "com.amazonaws.batch#TagResourceRequest": { "type": "structure", "members": { - "tags": { - "target": "com.amazonaws.batch#TagrisTagsMap", - "traits": { - "smithy.api#documentation": "

    The tags that you apply to the resource to help you categorize and organize your resources. Each tag consists\n of a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    ", - "smithy.api#required": {} - } - }, "resourceArn": { "target": "com.amazonaws.batch#String", "traits": { @@ -3138,6 +3185,13 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "tags": { + "target": "com.amazonaws.batch#TagrisTagsMap", + "traits": { + "smithy.api#documentation": "

    The tags that you apply to the resource to help you categorize and organize your resources. Each tag consists of\n a key and an optional value. For more information, see Tagging AWS Resources in AWS General\n Reference.

    ", + "smithy.api#required": {} + } } } }, @@ -3229,10 +3283,11 @@ "com.amazonaws.batch#Tmpfs": { "type": "structure", "members": { - "mountOptions": { - "target": "com.amazonaws.batch#StringList", + "containerPath": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The list of tmpfs volume mount options.

    \n

    Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" |\n \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" |\n \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" |\n \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" |\n \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" |\n \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" |\n \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" |\n \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"

    " + "smithy.api#documentation": "

    The absolute file path in the container where the tmpfs volume is to be mounted.

    ", + "smithy.api#required": {} } }, "size": { @@ -3242,11 +3297,10 @@ "smithy.api#required": {} } }, - "containerPath": { - "target": "com.amazonaws.batch#String", + "mountOptions": { + "target": "com.amazonaws.batch#StringList", "traits": { - "smithy.api#documentation": "

    The absolute file path in the container where the tmpfs volume is to be mounted.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The list of tmpfs volume mount options.

    \n

    Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" |\n \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" |\n \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" |\n \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" |\n \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" |\n \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" |\n \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" |\n \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"

    " } } }, @@ -3263,10 +3317,10 @@ "com.amazonaws.batch#Ulimit": { "type": "structure", "members": { - "softLimit": { + "hardLimit": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The soft limit for the ulimit type.

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

    The hard limit for the ulimit type.

    ", "smithy.api#required": {} } }, @@ -3277,10 +3331,10 @@ "smithy.api#required": {} } }, - "hardLimit": { + "softLimit": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The hard limit for the ulimit type.

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

    The soft limit for the ulimit type.

    ", "smithy.api#required": {} } } @@ -3373,10 +3427,11 @@ "com.amazonaws.batch#UpdateComputeEnvironmentRequest": { "type": "structure", "members": { - "serviceRole": { + "computeEnvironment": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your\n behalf.

    \n

    If your specified role has a path other than /, then you must either specify the full role ARN\n (this is recommended) or prefix the role name with the path.

    \n \n

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role\n path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the\n service-role path prefix. Because of this, we recommend that you specify the full ARN of your\n service role when you create compute environments.

    \n
    " + "smithy.api#documentation": "

    The name or full Amazon Resource Name (ARN) of the compute environment to update.

    ", + "smithy.api#required": {} } }, "state": { @@ -3391,11 +3446,10 @@ "smithy.api#documentation": "

    Details of the compute resources managed by the compute environment. Required for a managed compute\n environment.

    " } }, - "computeEnvironment": { + "serviceRole": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name or full Amazon Resource Name (ARN) of the compute environment to update.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your\n behalf.

    \n

    If your specified role has a path other than /, then you must either specify the full role ARN\n (this is recommended) or prefix the role name with the path.

    \n \n

    Depending on how you created your AWS Batch service role, its ARN may contain the service-role path\n prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the\n service-role path prefix. Because of this, we recommend that you specify the full ARN of your service\n role when you create compute environments.

    \n
    " } } } @@ -3403,16 +3457,16 @@ "com.amazonaws.batch#UpdateComputeEnvironmentResponse": { "type": "structure", "members": { - "computeEnvironmentArn": { + "computeEnvironmentName": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the compute environment.

    " + "smithy.api#documentation": "

    The name of the compute environment.

    " } }, - "computeEnvironmentName": { + "computeEnvironmentArn": { "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The name of the compute environment.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the compute environment.

    " } } } @@ -3445,29 +3499,29 @@ "com.amazonaws.batch#UpdateJobQueueRequest": { "type": "structure", "members": { - "state": { - "target": "com.amazonaws.batch#JQState", + "jobQueue": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    Describes the queue's ability to accept new jobs. If the job queue state is ENABLED, it is able to\n accept jobs. If the job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already\n in the queue can finish.

    " + "smithy.api#documentation": "

    The name or the Amazon Resource Name (ARN) of the job queue.

    ", + "smithy.api#required": {} } }, - "computeEnvironmentOrder": { - "target": "com.amazonaws.batch#ComputeEnvironmentOrders", + "state": { + "target": "com.amazonaws.batch#JQState", "traits": { - "smithy.api#documentation": "

    Details the set of compute environments mapped to a job queue and their order relative to each other. This is\n one of the parameters used by the job scheduler to determine which compute environment should execute a given\n job.

    " + "smithy.api#documentation": "

    Describes the queue's ability to accept new jobs. If the job queue state is ENABLED, it is able to\n accept jobs. If the job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already\n in the queue can finish.

    " } }, "priority": { "target": "com.amazonaws.batch#Integer", "traits": { - "smithy.api#documentation": "

    The priority of the job queue. Job queues with a higher priority (or a higher integer value for the\n priority parameter) are evaluated first when associated with the same compute environment. Priority\n is determined in descending order, for example, a job queue with a priority value of 10 is given\n scheduling preference over a job queue with a priority value of 1.

    " + "smithy.api#documentation": "

    The priority of the job queue. Job queues with a higher priority (or a higher integer value for the\n priority parameter) are evaluated first when associated with the same compute environment. Priority is\n determined in descending order, for example, a job queue with a priority value of 10 is given scheduling\n preference over a job queue with a priority value of 1.

    " } }, - "jobQueue": { - "target": "com.amazonaws.batch#String", + "computeEnvironmentOrder": { + "target": "com.amazonaws.batch#ComputeEnvironmentOrders", "traits": { - "smithy.api#documentation": "

    The name or the Amazon Resource Name (ARN) of the job queue.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Details the set of compute environments mapped to a job queue and their order relative to each other. This is\n one of the parameters used by the job scheduler to determine which compute environment should execute a given\n job.

    " } } } @@ -3492,16 +3546,16 @@ "com.amazonaws.batch#Volume": { "type": "structure", "members": { - "name": { - "target": "com.amazonaws.batch#String", + "host": { + "target": "com.amazonaws.batch#Host", "traits": { - "smithy.api#documentation": "

    The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are\n allowed. This name is referenced in the sourceVolume\n parameter of container definition mountPoints.

    " + "smithy.api#documentation": "

    The contents of the host parameter determine whether your data volume persists on the host\n container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path\n for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop\n running.

    " } }, - "host": { - "target": "com.amazonaws.batch#Host", + "name": { + "target": "com.amazonaws.batch#String", "traits": { - "smithy.api#documentation": "

    The contents of the host parameter determine whether your data volume persists on the host\n container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host\n path for your data volume. However, the data is not guaranteed to persist after the containers associated with it\n stop running.

    " + "smithy.api#documentation": "

    The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are\n allowed. This name is referenced in the sourceVolume\n parameter of container definition mountPoints.

    " } } }, diff --git a/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json b/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json index f7a2b7ff52d69..303e09b411145 100644 --- a/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json +++ b/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json @@ -38,17 +38,17 @@ "com.amazonaws.cloudformation#AccountGateResult": { "type": "structure", "members": { - "StatusReason": { - "target": "com.amazonaws.cloudformation#AccountGateStatusReason", - "traits": { - "smithy.api#documentation": "

    The reason for the account gate status assigned to this account and Region for the\n stack set operation.

    " - } - }, "Status": { "target": "com.amazonaws.cloudformation#AccountGateStatus", "traits": { "smithy.api#documentation": "

    The status of the account gate function.

    \n
      \n
    • \n

      \n SUCCEEDED: The account gate function has determined that the\n account and Region passes any requirements for a stack set operation to occur. AWS\n CloudFormation proceeds with the stack operation in that account and Region.\n

      \n
    • \n
    • \n

      \n FAILED: The account gate function has determined that the account\n and Region does not meet the requirements for a stack set operation to occur. AWS\n CloudFormation cancels the stack set operation in that account and Region, and sets\n the stack set operation result status for that account and Region to\n FAILED.

      \n
    • \n
    • \n

      \n SKIPPED: AWS CloudFormation has skipped calling the account gate\n function for this account and Region, for one of the following reasons:

      \n
        \n
      • \n

        An account gate function has not been specified for the account and\n Region. AWS CloudFormation proceeds with the stack set operation in this\n account and Region.

        \n
      • \n
      • \n

        The AWSCloudFormationStackSetExecutionRole of the stack set\n adminstration account lacks permissions to invoke the function. AWS\n CloudFormation proceeds with the stack set operation in this account and\n Region.

        \n
      • \n
      • \n

        Either no action is necessary, or no action is possible, on the stack.\n AWS CloudFormation skips the stack set operation in this account and\n Region.

        \n
      • \n
      \n
    • \n
    " } + }, + "StatusReason": { + "target": "com.amazonaws.cloudformation#AccountGateStatusReason", + "traits": { + "smithy.api#documentation": "

    The reason for the account gate status assigned to this account and Region for the\n stack set operation.

    " + } } }, "traits": { @@ -134,17 +134,17 @@ "com.amazonaws.cloudformation#AutoDeployment": { "type": "structure", "members": { - "RetainStacksOnAccountRemoval": { - "target": "com.amazonaws.cloudformation#RetainStacksOnAccountRemovalNullable", - "traits": { - "smithy.api#documentation": "

    If set to true, stack resources are retained when an account is removed from a target organization or OU. If set to false, stack resources are deleted. Specify only if Enabled is set to True.

    " - } - }, "Enabled": { "target": "com.amazonaws.cloudformation#AutoDeploymentNullable", "traits": { "smithy.api#documentation": "

    If set to true, StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.

    " } + }, + "RetainStacksOnAccountRemoval": { + "target": "com.amazonaws.cloudformation#RetainStacksOnAccountRemovalNullable", + "traits": { + "smithy.api#documentation": "

    If set to true, stack resources are retained when an account is removed from a target organization or OU. If set to false, stack resources are deleted. Specify only if Enabled is set to True.

    " + } } }, "traits": { @@ -203,18 +203,18 @@ "com.amazonaws.cloudformation#CancelUpdateStackInput": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

    A unique identifier for this CancelUpdateStack request. Specify this\n token if you plan to retry requests so that AWS CloudFormation knows that you're not\n attempting to cancel an update on a stack with the same name. You might retry\n CancelUpdateStack requests to ensure that AWS CloudFormation successfully\n received them.

    " - } - }, "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { "smithy.api#documentation": "

    The name or the unique stack ID that is associated with the stack.

    ", "smithy.api#required": {} } + }, + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    A unique identifier for this CancelUpdateStack request. Specify this\n token if you plan to retry requests so that AWS CloudFormation knows that you're not\n attempting to cancel an update on a stack with the same name. You might retry\n CancelUpdateStack requests to ensure that AWS CloudFormation successfully\n received them.

    " + } } }, "traits": { @@ -392,40 +392,40 @@ "com.amazonaws.cloudformation#ChangeSetSummary": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    Descriptive information about the change set.

    " + "smithy.api#documentation": "

    The ID of the stack with which the change set is associated.

    " } }, - "Status": { - "target": "com.amazonaws.cloudformation#ChangeSetStatus", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    The state of the change set, such as CREATE_IN_PROGRESS,\n CREATE_COMPLETE, or FAILED.

    " + "smithy.api#documentation": "

    The name of the stack with which the change set is associated.

    " } }, - "ChangeSetName": { - "target": "com.amazonaws.cloudformation#ChangeSetName", + "ChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    The name of the change set.

    " + "smithy.api#documentation": "

    The ID of the change set.

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "ChangeSetName": { + "target": "com.amazonaws.cloudformation#ChangeSetName", "traits": { - "smithy.api#documentation": "

    The name of the stack with which the change set is associated.

    " + "smithy.api#documentation": "

    The name of the change set.

    " } }, - "CreationTime": { - "target": "com.amazonaws.cloudformation#CreationTime", + "ExecutionStatus": { + "target": "com.amazonaws.cloudformation#ExecutionStatus", "traits": { - "smithy.api#documentation": "

    The start time when the change set was created, in UTC.

    " + "smithy.api#documentation": "

    If the change set execution status is AVAILABLE, you can execute the\n change set. If you can’t execute the change set, the status indicates why. For example, a\n change set might be in an UNAVAILABLE state because AWS CloudFormation is\n still creating it or in an OBSOLETE state because the stack was already\n updated.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "Status": { + "target": "com.amazonaws.cloudformation#ChangeSetStatus", "traits": { - "smithy.api#documentation": "

    The ID of the stack with which the change set is associated.

    " + "smithy.api#documentation": "

    The state of the change set, such as CREATE_IN_PROGRESS,\n CREATE_COMPLETE, or FAILED.

    " } }, "StatusReason": { @@ -434,34 +434,34 @@ "smithy.api#documentation": "

    A description of the change set's status. For example, if your change set is in the\n FAILED state, AWS CloudFormation shows the error message.

    " } }, - "ParentChangeSetId": { - "target": "com.amazonaws.cloudformation#ChangeSetId", + "CreationTime": { + "target": "com.amazonaws.cloudformation#CreationTime", "traits": { - "smithy.api#documentation": "

    The parent change set ID.

    " + "smithy.api#documentation": "

    The start time when the change set was created, in UTC.

    " } }, - "ExecutionStatus": { - "target": "com.amazonaws.cloudformation#ExecutionStatus", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    If the change set execution status is AVAILABLE, you can execute the\n change set. If you can’t execute the change set, the status indicates why. For example, a\n change set might be in an UNAVAILABLE state because AWS CloudFormation is\n still creating it or in an OBSOLETE state because the stack was already\n updated.

    " + "smithy.api#documentation": "

    Descriptive information about the change set.

    " } }, - "ChangeSetId": { - "target": "com.amazonaws.cloudformation#ChangeSetId", + "IncludeNestedStacks": { + "target": "com.amazonaws.cloudformation#IncludeNestedStacks", "traits": { - "smithy.api#documentation": "

    The ID of the change set.

    " + "smithy.api#documentation": "

    Specifies the current setting of IncludeNestedStacks for the change\n set.

    " } }, - "RootChangeSetId": { + "ParentChangeSetId": { "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    The root change set ID.

    " + "smithy.api#documentation": "

    The parent change set ID.

    " } }, - "IncludeNestedStacks": { - "target": "com.amazonaws.cloudformation#IncludeNestedStacks", + "RootChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    Specifies the current setting of IncludeNestedStacks for the change\n set.

    " + "smithy.api#documentation": "

    The root change set ID.

    " } } }, @@ -759,18 +759,6 @@ "com.amazonaws.cloudformation#ContinueUpdateRollbackInput": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

    A unique identifier for this ContinueUpdateRollback request. Specify\n this token if you plan to retry requests so that AWS CloudFormation knows that you're not\n attempting to continue the rollback to a stack with the same name. You might retry\n ContinueUpdateRollback requests to ensure that AWS CloudFormation\n successfully received them.

    " - } - }, - "ResourcesToSkip": { - "target": "com.amazonaws.cloudformation#ResourcesToSkip", - "traits": { - "smithy.api#documentation": "

    A list of the logical IDs of the resources that AWS CloudFormation skips during the\n continue update rollback operation. You can specify only resources that are in the\n UPDATE_FAILED state because a rollback failed. You can't specify resources\n that are in the UPDATE_FAILED state for other reasons, for example, because an\n update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

    \n \n

    Specify this property to skip rolling back resources that AWS CloudFormation can't\n successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the\n status of the specified resources to UPDATE_COMPLETE and continues to roll\n back the stack. After the rollback is complete, the state of the skipped resources will\n be inconsistent with the state of the resources in the stack template. Before performing\n another stack update, you must update the stack or resources to be consistent with each\n other. If you don't, subsequent stack updates might fail, and the stack will become\n unrecoverable.

    \n
    \n

    Specify the minimum number of resources required to successfully roll back your\n stack. For example, a failed resource update might cause dependent resources to fail. In\n this case, it might not be necessary to skip the dependent resources.

    \n

    To skip resources that are part of nested stacks, use the following format:\n NestedStackName.ResourceLogicalID. If you want to specify the logical ID of\n a stack resource (Type: AWS::CloudFormation::Stack) in the\n ResourcesToSkip list, then its corresponding embedded stack must be in one\n of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or\n DELETE_FAILED.

    \n \n

    Don't confuse a child stack's name with its corresponding logical ID defined in\n the parent stack. For an example of a continue update rollback operation with nested\n stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

    \n
    " - } - }, "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { @@ -783,6 +771,18 @@ "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's\n credentials to make calls on your behalf. AWS CloudFormation always uses this role for all\n future operations on the stack. As long as users have permission to operate on the stack,\n AWS CloudFormation uses this role even if the users don't have permission to pass it.\n Ensure that the role grants least privilege.

    \n

    If you don't specify a value, AWS CloudFormation uses the role that was previously\n associated with the stack. If no role is available, AWS CloudFormation uses a temporary\n session that is generated from your user credentials.

    " } + }, + "ResourcesToSkip": { + "target": "com.amazonaws.cloudformation#ResourcesToSkip", + "traits": { + "smithy.api#documentation": "

    A list of the logical IDs of the resources that AWS CloudFormation skips during the\n continue update rollback operation. You can specify only resources that are in the\n UPDATE_FAILED state because a rollback failed. You can't specify resources\n that are in the UPDATE_FAILED state for other reasons, for example, because an\n update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

    \n \n

    Specify this property to skip rolling back resources that AWS CloudFormation can't\n successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the\n status of the specified resources to UPDATE_COMPLETE and continues to roll\n back the stack. After the rollback is complete, the state of the skipped resources will\n be inconsistent with the state of the resources in the stack template. Before performing\n another stack update, you must update the stack or resources to be consistent with each\n other. If you don't, subsequent stack updates might fail, and the stack will become\n unrecoverable.

    \n
    \n

    Specify the minimum number of resources required to successfully roll back your\n stack. For example, a failed resource update might cause dependent resources to fail. In\n this case, it might not be necessary to skip the dependent resources.

    \n

    To skip resources that are part of nested stacks, use the following format:\n NestedStackName.ResourceLogicalID. If you want to specify the logical ID of\n a stack resource (Type: AWS::CloudFormation::Stack) in the\n ResourcesToSkip list, then its corresponding embedded stack must be in one\n of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or\n DELETE_FAILED.

    \n \n

    Don't confuse a child stack's name with its corresponding logical ID defined in\n the parent stack. For an example of a continue update rollback operation with nested\n stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

    \n
    " + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    A unique identifier for this ContinueUpdateRollback request. Specify\n this token if you plan to retry requests so that AWS CloudFormation knows that you're not\n attempting to continue the rollback to a stack with the same name. You might retry\n ContinueUpdateRollback requests to ensure that AWS CloudFormation\n successfully received them.

    " + } } }, "traits": { @@ -822,29 +822,23 @@ "com.amazonaws.cloudformation#CreateChangeSetInput": { "type": "structure", "members": { - "RollbackConfiguration": { - "target": "com.amazonaws.cloudformation#RollbackConfiguration", - "traits": { - "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " - } - }, - "ChangeSetName": { - "target": "com.amazonaws.cloudformation#ChangeSetName", + "StackName": { + "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { - "smithy.api#documentation": "

    The name of the change set. The name must be unique among all change sets that are\n associated with the specified stack.

    \n

    A change set name can contain only alphanumeric, case sensitive characters and\n hyphens. It must start with an alphabetic character and cannot exceed 128\n characters.

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

    The name or the unique ID of the stack for which you are creating a change set. AWS\n CloudFormation generates the change set by comparing this stack's information with the\n information that you submit, such as a modified template or different parameter input\n values.

    ", "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "TemplateBody": { + "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates\n these tags to resources in the stack. You can specify a maximum of 50 tags.

    " + "smithy.api#documentation": "

    A structure that contains the body of the revised template, with a minimum length of\n 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by\n comparing this template with the template of the stack that you specified.

    \n

    Conditional: You must specify only TemplateBody or\n TemplateURL.

    " } }, - "NotificationARNs": { - "target": "com.amazonaws.cloudformation#NotificationARNs", + "TemplateURL": { + "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS)\n topics that AWS CloudFormation associates with the stack. To remove all associated\n notification topics, specify an empty list.

    " + "smithy.api#documentation": "

    The location of the file that contains the revised template. The URL must point to a\n template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation\n generates the change set by comparing this template with the stack that you\n specified.

    \n

    Conditional: You must specify only TemplateBody or\n TemplateURL.

    " } }, "UsePreviousTemplate": { @@ -853,28 +847,22 @@ "smithy.api#documentation": "

    Whether to reuse the template that is associated with the stack to create the change\n set.

    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", - "traits": { - "smithy.api#documentation": "

    A description to help you identify this change set.

    " - } - }, "Parameters": { "target": "com.amazonaws.cloudformation#Parameters", "traits": { "smithy.api#documentation": "

    A list of Parameter structures that specify input parameters for the\n change set. For more information, see the Parameter data type.

    " } }, - "ResourceTypes": { - "target": "com.amazonaws.cloudformation#ResourceTypes", + "Capabilities": { + "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

    The template resource types that you have permissions to work with if you execute\n this change set, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

    \n

    If the list of resource types doesn't include a resource type that you're updating,\n the stack update fails. By default, AWS CloudFormation grants permissions to all resource\n types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in\n IAM policies for AWS CloudFormation. For more information, see Controlling Access with\n AWS Identity and Access Management in the AWS CloudFormation User\n Guide.

    " + "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to create the stack.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one\n of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some template contain macros. Macros perform custom processing on templates; this\n can include simple actions like find-and-replace operations, all the way to extensive\n transformations of entire templates. Because of this, users typically create a change\n set from the processed template, so that they can review the changes resulting from\n the macros before actually creating the stack. If your stack template contains one or\n more macros, and you choose to create a stack directly from the processed template,\n without first reviewing the resulting changes in a change set, you must acknowledge\n this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

      \n \n

      This capacity does not apply to creating change sets, and specifying it when\n creating change sets has no effect.

      \n

      If you want to create\n a stack from a stack template that contains macros and nested\n stacks, you must create or update the stack directly from the template using the\n CreateStack or UpdateStack action, and\n specifying this capability.

      \n
      \n

      For more information on macros, see Using AWS CloudFormation Macros to\n Perform Custom Processing on Templates.

      \n
    • \n
    " } }, - "ClientToken": { - "target": "com.amazonaws.cloudformation#ClientToken", + "ResourceTypes": { + "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

    A unique identifier for this CreateChangeSet request. Specify this token\n if you plan to retry requests so that AWS CloudFormation knows that you're not attempting\n to create another change set with the same name. You might retry\n CreateChangeSet requests to ensure that AWS CloudFormation successfully\n received them.

    " + "smithy.api#documentation": "

    The template resource types that you have permissions to work with if you execute\n this change set, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

    \n

    If the list of resource types doesn't include a resource type that you're updating,\n the stack update fails. By default, AWS CloudFormation grants permissions to all resource\n types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in\n IAM policies for AWS CloudFormation. For more information, see Controlling Access with\n AWS Identity and Access Management in the AWS CloudFormation User\n Guide.

    " } }, "RoleARN": { @@ -883,41 +871,47 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the\n role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all\n future operations on the stack. As long as users have permission to operate on the stack,\n AWS CloudFormation uses this role even if the users don't have permission to pass it.\n Ensure that the role grants least privilege.

    \n

    If you don't specify a value, AWS CloudFormation uses the role that was previously\n associated with the stack. If no role is available, AWS CloudFormation uses a temporary\n session that is generated from your user credentials.

    " } }, - "ChangeSetType": { - "target": "com.amazonaws.cloudformation#ChangeSetType", + "RollbackConfiguration": { + "target": "com.amazonaws.cloudformation#RollbackConfiguration", "traits": { - "smithy.api#documentation": "

    The type of change set operation. To create a change set for a new stack, specify\n CREATE. To create a change set for an existing stack, specify\n UPDATE. To create a change set for an import operation, specify\n IMPORT.

    \n

    If you create a change set for a new stack, AWS Cloudformation creates a stack with a\n unique stack ID, but no template or resources. The stack will be in the \n REVIEW_IN_PROGRESS\n state until you execute the change\n set.

    \n

    By default, AWS CloudFormation specifies UPDATE. You can't use the\n UPDATE type to create a change set for a new stack or the\n CREATE type to create a change set for an existing stack.

    " + "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackNameOrId", + "NotificationARNs": { + "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

    The name or the unique ID of the stack for which you are creating a change set. AWS\n CloudFormation generates the change set by comparing this stack's information with the\n information that you submit, such as a modified template or different parameter input\n values.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS)\n topics that AWS CloudFormation associates with the stack. To remove all associated\n notification topics, specify an empty list.

    " } }, - "Capabilities": { - "target": "com.amazonaws.cloudformation#Capabilities", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to create the stack.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one\n of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some template contain macros. Macros perform custom processing on templates; this\n can include simple actions like find-and-replace operations, all the way to extensive\n transformations of entire templates. Because of this, users typically create a change\n set from the processed template, so that they can review the changes resulting from\n the macros before actually creating the stack. If your stack template contains one or\n more macros, and you choose to create a stack directly from the processed template,\n without first reviewing the resulting changes in a change set, you must acknowledge\n this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

      \n \n

      This capacity does not apply to creating change sets, and specifying it when\n creating change sets has no effect.

      \n

      If you want to create\n a stack from a stack template that contains macros and nested\n stacks, you must create or update the stack directly from the template using the\n CreateStack or UpdateStack action, and\n specifying this capability.

      \n
      \n

      For more information on macros, see Using AWS CloudFormation Macros to\n Perform Custom Processing on Templates.

      \n
    • \n
    " + "smithy.api#documentation": "

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates\n these tags to resources in the stack. You can specify a maximum of 50 tags.

    " } }, - "TemplateBody": { - "target": "com.amazonaws.cloudformation#TemplateBody", + "ChangeSetName": { + "target": "com.amazonaws.cloudformation#ChangeSetName", "traits": { - "smithy.api#documentation": "

    A structure that contains the body of the revised template, with a minimum length of\n 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by\n comparing this template with the template of the stack that you specified.

    \n

    Conditional: You must specify only TemplateBody or\n TemplateURL.

    " + "smithy.api#documentation": "

    The name of the change set. The name must be unique among all change sets that are\n associated with the specified stack.

    \n

    A change set name can contain only alphanumeric, case sensitive characters and\n hyphens. It must start with an alphabetic character and cannot exceed 128\n characters.

    ", + "smithy.api#required": {} } }, - "TemplateURL": { - "target": "com.amazonaws.cloudformation#TemplateURL", + "ClientToken": { + "target": "com.amazonaws.cloudformation#ClientToken", "traits": { - "smithy.api#documentation": "

    The location of the file that contains the revised template. The URL must point to a\n template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation\n generates the change set by comparing this template with the stack that you\n specified.

    \n

    Conditional: You must specify only TemplateBody or\n TemplateURL.

    " + "smithy.api#documentation": "

    A unique identifier for this CreateChangeSet request. Specify this token\n if you plan to retry requests so that AWS CloudFormation knows that you're not attempting\n to create another change set with the same name. You might retry\n CreateChangeSet requests to ensure that AWS CloudFormation successfully\n received them.

    " } }, - "IncludeNestedStacks": { - "target": "com.amazonaws.cloudformation#IncludeNestedStacks", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    Creates a change set for the all nested stacks specified in the template. The default\n behavior of this action is set to False. To include nested sets in a change\n set, specify True.

    " + "smithy.api#documentation": "

    A description to help you identify this change set.

    " + } + }, + "ChangeSetType": { + "target": "com.amazonaws.cloudformation#ChangeSetType", + "traits": { + "smithy.api#documentation": "

    The type of change set operation. To create a change set for a new stack, specify\n CREATE. To create a change set for an existing stack, specify\n UPDATE. To create a change set for an import operation, specify\n IMPORT.

    \n

    If you create a change set for a new stack, AWS Cloudformation creates a stack with a\n unique stack ID, but no template or resources. The stack will be in the \n REVIEW_IN_PROGRESS\n state until you execute the change\n set.

    \n

    By default, AWS CloudFormation specifies UPDATE. You can't use the\n UPDATE type to create a change set for a new stack or the\n CREATE type to create a change set for an existing stack.

    " } }, "ResourcesToImport": { @@ -925,6 +919,12 @@ "traits": { "smithy.api#documentation": "

    The resources to import into your stack.

    " } + }, + "IncludeNestedStacks": { + "target": "com.amazonaws.cloudformation#IncludeNestedStacks", + "traits": { + "smithy.api#documentation": "

    Creates a change set for the all nested stacks specified in the template. The default\n behavior of this action is set to False. To include nested sets in a change\n set, specify True.

    " + } } }, "traits": { @@ -934,17 +934,17 @@ "com.amazonaws.cloudformation#CreateChangeSetOutput": { "type": "structure", "members": { - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", - "traits": { - "smithy.api#documentation": "

    The unique ID of the stack.

    " - } - }, "Id": { "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the change set.

    " } + }, + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", + "traits": { + "smithy.api#documentation": "

    The unique ID of the stack.

    " + } } }, "traits": { @@ -980,22 +980,23 @@ "com.amazonaws.cloudformation#CreateStackInput": { "type": "structure", "members": { - "TemplateBody": { - "target": "com.amazonaws.cloudformation#TemplateBody", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

    " + "smithy.api#documentation": "

    The name that is associated with the stack. The name must be unique in the Region in\n which you are creating the stack.

    \n \n

    A stack name can contain only alphanumeric characters (case sensitive) and\n hyphens. It must start with an alphabetic character and cannot be longer than 128\n characters.

    \n
    ", + "smithy.api#required": {} } }, - "StackPolicyBody": { - "target": "com.amazonaws.cloudformation#StackPolicyBody", + "TemplateBody": { + "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

    Structure containing the stack policy body. For more information, go to Prevent Updates\n to Stack Resources in the AWS CloudFormation User Guide.\n You can specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

    " + "smithy.api#documentation": "

    Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

    " } }, - "ResourceTypes": { - "target": "com.amazonaws.cloudformation#ResourceTypes", + "TemplateURL": { + "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

    The template resource types that you have permissions to work with for this create\n stack action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance. Use the following syntax to describe template\n resource types: AWS::* (for all AWS resource), Custom::* (for all\n custom resources), Custom::logical_ID\n (for a specific custom resource),\n AWS::service_name::* (for all resources of a\n particular AWS service), and\n AWS::service_name::resource_logical_ID\n (for a specific AWS resource).

    \n

    If the list of resource types doesn't include a resource that you're creating, the\n stack creation fails. By default, AWS CloudFormation grants permissions to all resource\n types. AWS Identity and Access Management (IAM) uses this parameter for AWS\n CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

    " + "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to\n the Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

    " } }, "Parameters": { @@ -1004,83 +1005,82 @@ "smithy.api#documentation": "

    A list of Parameter structures that specify input parameters for the\n stack. For more information, see the Parameter data\n type.

    " } }, - "EnableTerminationProtection": { - "target": "com.amazonaws.cloudformation#EnableTerminationProtection", + "DisableRollback": { + "target": "com.amazonaws.cloudformation#DisableRollback", "traits": { - "smithy.api#documentation": "

    Whether to enable termination protection on the specified stack. If a user attempts\n to delete a stack with termination protection enabled, the operation fails and the stack\n remains unchanged. For more information, see Protecting a Stack From Being\n Deleted in the AWS CloudFormation User Guide. Termination protection is\n disabled on stacks by default.

    \n

    For nested stacks,\n termination protection is set on the root stack and cannot be changed directly on the\n nested stack.

    " + "smithy.api#documentation": "

    Set to true to disable rollback of the stack if stack creation failed.\n You can specify either DisableRollback or OnFailure, but not\n both.

    \n

    Default: false\n

    " } }, - "OnFailure": { - "target": "com.amazonaws.cloudformation#OnFailure", - "traits": { - "smithy.api#documentation": "

    Determines what action will be taken if stack creation fails. This must be one of:\n DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or\n DisableRollback, but not both.

    \n

    Default: ROLLBACK\n

    " + "RollbackConfiguration": { + "target": "com.amazonaws.cloudformation#RollbackConfiguration", + "traits": { + "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " } }, - "DisableRollback": { - "target": "com.amazonaws.cloudformation#DisableRollback", + "TimeoutInMinutes": { + "target": "com.amazonaws.cloudformation#TimeoutMinutes", "traits": { - "smithy.api#documentation": "

    Set to true to disable rollback of the stack if stack creation failed.\n You can specify either DisableRollback or OnFailure, but not\n both.

    \n

    Default: false\n

    " + "smithy.api#documentation": "

    The amount of time that can pass before the stack status becomes CREATE_FAILED; if\n DisableRollback is not set or is set to false, the stack will\n be rolled back.

    " } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "NotificationARNs": { + "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates\n these tags to the resources created in the stack. A maximum number of 50 tags can be\n specified.

    " + "smithy.api#documentation": "

    The Simple Notification Service (SNS) topic ARNs to publish stack related events. You\n can find your SNS topic ARNs using the SNS console or your Command Line Interface\n (CLI).

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "Capabilities": { + "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

    The name that is associated with the stack. The name must be unique in the Region in\n which you are creating the stack.

    \n \n

    A stack name can contain only alphanumeric characters (case sensitive) and\n hyphens. It must start with an alphabetic character and cannot be longer than 128\n characters.

    \n
    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to create the stack.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one\n of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some template contain macros. Macros perform custom processing on templates; this\n can include simple actions like find-and-replace operations, all the way to extensive\n transformations of entire templates. Because of this, users typically create a change\n set from the processed template, so that they can review the changes resulting from\n the macros before actually creating the stack. If your stack template contains one or\n more macros, and you choose to create a stack directly from the processed template,\n without first reviewing the resulting changes in a change set, you must acknowledge\n this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

      \n

      If you want to create a stack\n from a stack template that contains macros and nested stacks,\n you must create the stack directly from the template using this capability.

      \n \n

      You should only create stacks directly from a stack template that contains\n macros if you know what processing the macro performs.

      \n

      Each macro relies on an underlying Lambda service function for processing stack\n templates. Be aware that the Lambda function owner can update the function\n operation without AWS CloudFormation being notified.

      \n
      \n

      For more information, see Using\n AWS CloudFormation Macros to Perform Custom Processing on\n Templates.

      \n
    • \n
    " } }, - "TimeoutInMinutes": { - "target": "com.amazonaws.cloudformation#TimeoutMinutes", + "ResourceTypes": { + "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

    The amount of time that can pass before the stack status becomes CREATE_FAILED; if\n DisableRollback is not set or is set to false, the stack will\n be rolled back.

    " + "smithy.api#documentation": "

    The template resource types that you have permissions to work with for this create\n stack action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance. Use the following syntax to describe template\n resource types: AWS::* (for all AWS resource), Custom::* (for all\n custom resources), Custom::logical_ID\n (for a specific custom resource),\n AWS::service_name::* (for all resources of a\n particular AWS service), and\n AWS::service_name::resource_logical_ID\n (for a specific AWS resource).

    \n

    If the list of resource types doesn't include a resource that you're creating, the\n stack creation fails. By default, AWS CloudFormation grants permissions to all resource\n types. AWS Identity and Access Management (IAM) uses this parameter for AWS\n CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

    " } }, - "RollbackConfiguration": { - "target": "com.amazonaws.cloudformation#RollbackConfiguration", + "RoleARN": { + "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's\n credentials to make calls on your behalf. AWS CloudFormation always uses this role for all\n future operations on the stack. As long as users have permission to operate on the stack,\n AWS CloudFormation uses this role even if the users don't have permission to pass it.\n Ensure that the role grants least privilege.

    \n

    If you don't specify a value, AWS CloudFormation uses the role that was previously\n associated with the stack. If no role is available, AWS CloudFormation uses a temporary\n session that is generated from your user credentials.

    " } }, - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "OnFailure": { + "target": "com.amazonaws.cloudformation#OnFailure", "traits": { - "smithy.api#documentation": "

    A unique identifier for this CreateStack request. Specify this token if\n you plan to retry requests so that AWS CloudFormation knows that you're not attempting to\n create a stack with the same name. You might retry CreateStack requests to\n ensure that AWS CloudFormation successfully received them.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " + "smithy.api#documentation": "

    Determines what action will be taken if stack creation fails. This must be one of:\n DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or\n DisableRollback, but not both.

    \n

    Default: ROLLBACK\n

    " } }, - "NotificationARNs": { - "target": "com.amazonaws.cloudformation#NotificationARNs", + "StackPolicyBody": { + "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

    The Simple Notification Service (SNS) topic ARNs to publish stack related events. You\n can find your SNS topic ARNs using the SNS console or your Command Line Interface\n (CLI).

    " + "smithy.api#documentation": "

    Structure containing the stack policy body. For more information, go to Prevent Updates\n to Stack Resources in the AWS CloudFormation User Guide.\n You can specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

    " } }, - "Capabilities": { - "target": "com.amazonaws.cloudformation#Capabilities", + "StackPolicyURL": { + "target": "com.amazonaws.cloudformation#StackPolicyURL", "traits": { - "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to create the stack.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one\n of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some template contain macros. Macros perform custom processing on templates; this\n can include simple actions like find-and-replace operations, all the way to extensive\n transformations of entire templates. Because of this, users typically create a change\n set from the processed template, so that they can review the changes resulting from\n the macros before actually creating the stack. If your stack template contains one or\n more macros, and you choose to create a stack directly from the processed template,\n without first reviewing the resulting changes in a change set, you must acknowledge\n this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

      \n

      If you want to create a stack\n from a stack template that contains macros and nested stacks,\n you must create the stack directly from the template using this capability.

      \n \n

      You should only create stacks directly from a stack template that contains\n macros if you know what processing the macro performs.

      \n

      Each macro relies on an underlying Lambda service function for processing stack\n templates. Be aware that the Lambda function owner can update the function\n operation without AWS CloudFormation being notified.

      \n
      \n

      For more information, see Using\n AWS CloudFormation Macros to Perform Custom Processing on\n Templates.

      \n
    • \n
    " + "smithy.api#documentation": "

    Location of a file containing the stack policy. The URL must point to a policy\n (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can\n specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

    " } }, - "TemplateURL": { - "target": "com.amazonaws.cloudformation#TemplateURL", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to\n the Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

    " + "smithy.api#documentation": "

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates\n these tags to the resources created in the stack. A maximum number of 50 tags can be\n specified.

    " } }, - "StackPolicyURL": { - "target": "com.amazonaws.cloudformation#StackPolicyURL", + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    Location of a file containing the stack policy. The URL must point to a policy\n (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can\n specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

    " + "smithy.api#documentation": "

    A unique identifier for this CreateStack request. Specify this token if\n you plan to retry requests so that AWS CloudFormation knows that you're not attempting to\n create a stack with the same name. You might retry CreateStack requests to\n ensure that AWS CloudFormation successfully received them.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " } }, - "RoleARN": { - "target": "com.amazonaws.cloudformation#RoleARN", + "EnableTerminationProtection": { + "target": "com.amazonaws.cloudformation#EnableTerminationProtection", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's\n credentials to make calls on your behalf. AWS CloudFormation always uses this role for all\n future operations on the stack. As long as users have permission to operate on the stack,\n AWS CloudFormation uses this role even if the users don't have permission to pass it.\n Ensure that the role grants least privilege.

    \n

    If you don't specify a value, AWS CloudFormation uses the role that was previously\n associated with the stack. If no role is available, AWS CloudFormation uses a temporary\n session that is generated from your user credentials.

    " + "smithy.api#documentation": "

    Whether to enable termination protection on the specified stack. If a user attempts\n to delete a stack with termination protection enabled, the operation fails and the stack\n remains unchanged. For more information, see Protecting a Stack From Being\n Deleted in the AWS CloudFormation User Guide. Termination protection is\n disabled on stacks by default.

    \n

    For nested stacks,\n termination protection is set on the root stack and cannot be changed directly on the\n nested stack.

    " } } }, @@ -1123,6 +1123,25 @@ "com.amazonaws.cloudformation#CreateStackInstancesInput": { "type": "structure", "members": { + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetName", + "traits": { + "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to create stack instances\n from.

    ", + "smithy.api#required": {} + } + }, + "Accounts": { + "target": "com.amazonaws.cloudformation#AccountList", + "traits": { + "smithy.api#documentation": "

    [Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the\n specified Region(s) for.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " + } + }, + "DeploymentTargets": { + "target": "com.amazonaws.cloudformation#DeploymentTargets", + "traits": { + "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " + } + }, "Regions": { "target": "com.amazonaws.cloudformation#RegionList", "traits": { @@ -1142,31 +1161,12 @@ "smithy.api#documentation": "

    Preferences for how AWS CloudFormation performs this stack set operation.

    " } }, - "Accounts": { - "target": "com.amazonaws.cloudformation#AccountList", - "traits": { - "smithy.api#documentation": "

    [Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the\n specified Region(s) for.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " - } - }, "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { "smithy.api#documentation": "

    The unique identifier for this stack set operation.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.

    \n

    Repeating this stack set operation with a new operation ID retries all stack\n instances whose status is OUTDATED.

    ", "smithy.api#idempotencyToken": {} } - }, - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetName", - "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to create stack instances\n from.

    ", - "smithy.api#required": {} - } - }, - "DeploymentTargets": { - "target": "com.amazonaws.cloudformation#DeploymentTargets", - "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " - } } } }, @@ -1221,16 +1221,23 @@ "com.amazonaws.cloudformation#CreateStackSetInput": { "type": "structure", "members": { - "TemplateBody": { - "target": "com.amazonaws.cloudformation#TemplateBody", + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetName", "traits": { - "smithy.api#documentation": "

    The structure that contains the template body, with a minimum length of 1 byte and a\n maximum length of 51,200 bytes. For more information, see Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify either the TemplateBody or the TemplateURL parameter,\n but not both.

    " + "smithy.api#documentation": "

    The name to associate with the stack set. The name must be unique in the Region where\n you create your stack set.

    \n \n

    A stack name can contain only alphanumeric characters (case-sensitive) and\n hyphens. It must start with an alphabetic character and can't be longer than 128\n characters.

    \n
    ", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    The key-value pairs to associate with this stack set and the stacks created from it.\n AWS CloudFormation also propagates these tags to supported resources that are created in\n the stacks. A maximum number of 50 tags can be specified.

    \n

    If you specify tags as part of a CreateStackSet action, AWS\n CloudFormation checks to see if you have the required IAM permission to tag resources. If\n you don't, the entire CreateStackSet action fails with an access\n denied error, and the stack set is not created.

    " + "smithy.api#documentation": "

    A description of the stack set. You can use the description to identify the stack\n set's purpose or other important information.

    " + } + }, + "TemplateBody": { + "target": "com.amazonaws.cloudformation#TemplateBody", + "traits": { + "smithy.api#documentation": "

    The structure that contains the template body, with a minimum length of 1 byte and a\n maximum length of 51,200 bytes. For more information, see Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify either the TemplateBody or the TemplateURL parameter,\n but not both.

    " } }, "TemplateURL": { @@ -1245,28 +1252,22 @@ "smithy.api#documentation": "

    The input parameters for the stack set template.

    " } }, - "PermissionModel": { - "target": "com.amazonaws.cloudformation#PermissionModels", - "traits": { - "smithy.api#documentation": "

    Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

    \n
      \n
    • \n

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      \n
    • \n
    • \n

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      \n
    • \n
    " - } - }, "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack set template contains\n certain capabilities in order for AWS CloudFormation to create the stack set and related stack\n instances.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stack sets, you must explicitly acknowledge this by specifying\n one of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some templates contain macros. If your stack template contains one or more macros,\n and you choose to create a stack directly from the processed template, without first\n reviewing the resulting changes in a change set, you must acknowledge this\n capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on\n Templates.

      \n \n

      Stack sets do not currently support macros in stack templates. (This includes\n the AWS::Include and AWS::Serverless\n transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this\n capability, if you include a macro in your template the stack set operation will\n fail.

      \n
      \n
    • \n
    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    A description of the stack set. You can use the description to identify the stack\n set's purpose or other important information.

    " + "smithy.api#documentation": "

    The key-value pairs to associate with this stack set and the stacks created from it.\n AWS CloudFormation also propagates these tags to supported resources that are created in\n the stacks. A maximum number of 50 tags can be specified.

    \n

    If you specify tags as part of a CreateStackSet action, AWS\n CloudFormation checks to see if you have the required IAM permission to tag resources. If\n you don't, the entire CreateStackSet action fails with an access\n denied error, and the stack set is not created.

    " } }, - "AutoDeployment": { - "target": "com.amazonaws.cloudformation#AutoDeployment", + "AdministrationRoleARN": { + "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

    Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

    " + "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

    \n

    Specify an IAM role only if you are using customized administrator roles to control\n which users or groups can manage specific stack sets within the same administrator account.\n For more information, see Prerequisites:\n Granting Permissions for Stack Set Operations in the\n AWS CloudFormation User Guide.

    " } }, "ExecutionRoleName": { @@ -1275,24 +1276,23 @@ "smithy.api#documentation": "

    The name of the IAM execution role to use to create the stack set. If you do not specify\n an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role\n for the stack set operation.

    \n

    Specify an IAM role only if you are using customized execution roles to control which\n stack resources users and groups can include in their stack sets.\n \n

    " } }, - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "PermissionModel": { + "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { - "smithy.api#documentation": "

    A unique identifier for this CreateStackSet request. Specify this token\n if you plan to retry requests so that AWS CloudFormation knows that you're not attempting\n to create another stack set with the same name. You might retry CreateStackSet\n requests to ensure that AWS CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.\n

    ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

    Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

    \n
      \n
    • \n

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      \n
    • \n
    • \n

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      \n
    • \n
    " } }, - "AdministrationRoleARN": { - "target": "com.amazonaws.cloudformation#RoleARN", + "AutoDeployment": { + "target": "com.amazonaws.cloudformation#AutoDeployment", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

    \n

    Specify an IAM role only if you are using customized administrator roles to control\n which users or groups can manage specific stack sets within the same administrator account.\n For more information, see Prerequisites:\n Granting Permissions for Stack Set Operations in the\n AWS CloudFormation User Guide.

    " + "smithy.api#documentation": "

    Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

    " } }, - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetName", + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    The name to associate with the stack set. The name must be unique in the Region where\n you create your stack set.

    \n \n

    A stack name can contain only alphanumeric characters (case-sensitive) and\n hyphens. It must start with an alphabetic character and can't be longer than 128\n characters.

    \n
    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A unique identifier for this CreateStackSet request. Specify this token\n if you plan to retry requests so that AWS CloudFormation knows that you're not attempting\n to create another stack set with the same name. You might retry CreateStackSet\n requests to ensure that AWS CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.\n

    ", + "smithy.api#idempotencyToken": {} } } } @@ -1344,18 +1344,18 @@ "com.amazonaws.cloudformation#DeleteChangeSetInput": { "type": "structure", "members": { - "StackName": { - "target": "com.amazonaws.cloudformation#StackNameOrId", - "traits": { - "smithy.api#documentation": "

    If you specified the name of a change set to delete, specify the stack name or ID\n (ARN) that is associated with it.

    " - } - }, "ChangeSetName": { "target": "com.amazonaws.cloudformation#ChangeSetNameOrId", "traits": { "smithy.api#documentation": "

    The name or Amazon Resource Name (ARN) of the change set that you want to\n delete.

    ", "smithy.api#required": {} } + }, + "StackName": { + "target": "com.amazonaws.cloudformation#StackNameOrId", + "traits": { + "smithy.api#documentation": "

    If you specified the name of a change set to delete, specify the stack name or ID\n (ARN) that is associated with it.

    " + } } }, "traits": { @@ -1386,6 +1386,13 @@ "com.amazonaws.cloudformation#DeleteStackInput": { "type": "structure", "members": { + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", + "traits": { + "smithy.api#documentation": "

    The name or the unique stack ID that is associated with the stack.

    ", + "smithy.api#required": {} + } + }, "RetainResources": { "target": "com.amazonaws.cloudformation#RetainResources", "traits": { @@ -1403,13 +1410,6 @@ "traits": { "smithy.api#documentation": "

    A unique identifier for this DeleteStack request. Specify this token if\n you plan to retry requests so that AWS CloudFormation knows that you're not attempting to\n delete a stack with the same name. You might retry DeleteStack requests to\n ensure that AWS CloudFormation successfully received them.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " } - }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", - "traits": { - "smithy.api#documentation": "

    The name or the unique stack ID that is associated with the stack.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -1448,50 +1448,50 @@ "com.amazonaws.cloudformation#DeleteStackInstancesInput": { "type": "structure", "members": { - "Regions": { - "target": "com.amazonaws.cloudformation#RegionList", + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetName", "traits": { - "smithy.api#documentation": "

    The Regions where you want to delete stack set instances.

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

    The name or unique ID of the stack set that you want to delete stack instances\n for.

    ", "smithy.api#required": {} } }, - "OperationId": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "Accounts": { + "target": "com.amazonaws.cloudformation#AccountList", "traits": { - "smithy.api#documentation": "

    The unique identifier for this stack set operation.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You can retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    Repeating this stack set operation with a new operation ID retries all stack\n instances whose status is OUTDATED.

    ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

    [Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " } }, - "OperationPreferences": { - "target": "com.amazonaws.cloudformation#StackSetOperationPreferences", + "DeploymentTargets": { + "target": "com.amazonaws.cloudformation#DeploymentTargets", "traits": { - "smithy.api#documentation": "

    Preferences for how AWS CloudFormation performs this stack set operation.

    " + "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " } }, - "Accounts": { - "target": "com.amazonaws.cloudformation#AccountList", + "Regions": { + "target": "com.amazonaws.cloudformation#RegionList", "traits": { - "smithy.api#documentation": "

    [Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " + "smithy.api#documentation": "

    The Regions where you want to delete stack set instances.

    ", + "smithy.api#required": {} } }, - "RetainStacks": { - "target": "com.amazonaws.cloudformation#RetainStacks", + "OperationPreferences": { + "target": "com.amazonaws.cloudformation#StackSetOperationPreferences", "traits": { - "smithy.api#documentation": "

    Removes the stack instances from the specified stack set, but doesn't delete the\n stacks. You can't reassociate a retained stack or add an existing, saved stack to a new\n stack set.

    \n

    For more information, see Stack set operation options.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Preferences for how AWS CloudFormation performs this stack set operation.

    " } }, - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetName", + "RetainStacks": { + "target": "com.amazonaws.cloudformation#RetainStacks", "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to delete stack instances\n for.

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

    Removes the stack instances from the specified stack set, but doesn't delete the\n stacks. You can't reassociate a retained stack or add an existing, saved stack to a new\n stack set.

    \n

    For more information, see Stack set operation options.

    ", "smithy.api#required": {} } }, - "DeploymentTargets": { - "target": "com.amazonaws.cloudformation#DeploymentTargets", + "OperationId": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " + "smithy.api#documentation": "

    The unique identifier for this stack set operation.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You can retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    Repeating this stack set operation with a new operation ID retries all stack\n instances whose status is OUTDATED.

    ", + "smithy.api#idempotencyToken": {} } } } @@ -1549,21 +1549,21 @@ "com.amazonaws.cloudformation#DeploymentTargets": { "type": "structure", "members": { - "OrganizationalUnitIds": { - "target": "com.amazonaws.cloudformation#OrganizationalUnitIdList", - "traits": { - "smithy.api#documentation": "

    The organization root ID or organizational unit (OU) IDs to which StackSets deploys.

    " - } - }, "Accounts": { "target": "com.amazonaws.cloudformation#AccountList", "traits": { "smithy.api#documentation": "

    The names of one or more AWS accounts for which you want to deploy stack set updates.

    " } + }, + "OrganizationalUnitIds": { + "target": "com.amazonaws.cloudformation#OrganizationalUnitIdList", + "traits": { + "smithy.api#documentation": "

    The organization root ID or organizational unit (OU) IDs to which StackSets deploys.

    " + } } }, "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts to which StackSets deploys. StackSets does not deploy stack instances to the organization master account, even if the master account is in your organization or in an OU in your organization.

    \n

    For update operations, you can specify either Accounts or OrganizationalUnitIds. For create and delete operations, specify OrganizationalUnitIds.

    " + "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts to which StackSets deploys. StackSets does not deploy stack instances to the organization management account, even if the organization management account is in your organization or in an OU in your organization.

    \n

    For update operations, you can specify either Accounts or OrganizationalUnitIds. For create and delete operations, specify OrganizationalUnitIds.

    " } }, "com.amazonaws.cloudformation#DeprecatedStatus": { @@ -1603,10 +1603,10 @@ "com.amazonaws.cloudformation#DeregisterTypeInput": { "type": "structure", "members": { - "VersionId": { - "target": "com.amazonaws.cloudformation#TypeVersionId", + "Arn": { + "target": "com.amazonaws.cloudformation#PrivateTypeArn", "traits": { - "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, "Type": { @@ -1621,10 +1621,10 @@ "smithy.api#documentation": "

    The name of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, - "Arn": { - "target": "com.amazonaws.cloudformation#PrivateTypeArn", + "VersionId": { + "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " + "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    " } } } @@ -1667,17 +1667,17 @@ "com.amazonaws.cloudformation#DescribeAccountLimitsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the output exceeds 1 MB in size, a string that identifies the next page of limits.\n If no additional page exists, this value is null.

    " - } - }, "AccountLimits": { "target": "com.amazonaws.cloudformation#AccountLimitList", "traits": { "smithy.api#documentation": "

    An account limit structure that contain a list of AWS CloudFormation account limits\n and their values.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the output exceeds 1 MB in size, a string that identifies the next page of limits.\n If no additional page exists, this value is null.

    " + } } }, "traits": { @@ -1711,17 +1711,17 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    A string (provided by the DescribeChangeSet response output) that\n identifies the next page of information that you want to retrieve.

    " - } - }, "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { "smithy.api#documentation": "

    If you specified the name of a change set, specify the stack name or ID (ARN) of the\n change set you want to describe.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    A string (provided by the DescribeChangeSet response output) that\n identifies the next page of information that you want to retrieve.

    " + } } }, "traits": { @@ -1731,118 +1731,118 @@ "com.amazonaws.cloudformation#DescribeChangeSetOutput": { "type": "structure", "members": { - "Changes": { - "target": "com.amazonaws.cloudformation#Changes", + "ChangeSetName": { + "target": "com.amazonaws.cloudformation#ChangeSetName", "traits": { - "smithy.api#documentation": "

    A list of Change structures that describes the resources AWS\n CloudFormation changes if you execute the change set.

    " + "smithy.api#documentation": "

    The name of the change set.

    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "ChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    Information about the change set.

    " + "smithy.api#documentation": "

    The ARN of the change set.

    " } }, - "Status": { - "target": "com.amazonaws.cloudformation#ChangeSetStatus", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    The current status of the change set, such as CREATE_IN_PROGRESS,\n CREATE_COMPLETE, or FAILED.

    " + "smithy.api#documentation": "

    The ARN of the stack that is associated with the change set.

    " } }, - "NotificationARNs": { - "target": "com.amazonaws.cloudformation#NotificationARNs", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be\n associated with the stack if you execute the change set.

    " + "smithy.api#documentation": "

    The name of the stack that is associated with the change set.

    " } }, - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    If the output exceeds 1 MB, a string that identifies the next page of changes. If\n there is no additional page, this value is null.

    " + "smithy.api#documentation": "

    Information about the change set.

    " } }, - "IncludeNestedStacks": { - "target": "com.amazonaws.cloudformation#IncludeNestedStacks", + "Parameters": { + "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

    Verifies if IncludeNestedStacks is set to True.

    " + "smithy.api#documentation": "

    A list of Parameter structures that describes the input parameters and\n their values used to create the change set. For more information, see the Parameter data type.

    " } }, - "Capabilities": { - "target": "com.amazonaws.cloudformation#Capabilities", + "CreationTime": { + "target": "com.amazonaws.cloudformation#CreationTime", "traits": { - "smithy.api#documentation": "

    If you execute the change set, the list of capabilities that were explicitly\n acknowledged when the change set was created.

    " + "smithy.api#documentation": "

    The start time when the change set was created, in UTC.

    " } }, - "ChangeSetName": { - "target": "com.amazonaws.cloudformation#ChangeSetName", + "ExecutionStatus": { + "target": "com.amazonaws.cloudformation#ExecutionStatus", "traits": { - "smithy.api#documentation": "

    The name of the change set.

    " + "smithy.api#documentation": "

    If the change set execution status is AVAILABLE, you can execute the\n change set. If you can’t execute the change set, the status indicates why. For example, a\n change set might be in an UNAVAILABLE state because AWS CloudFormation is\n still creating it or in an OBSOLETE state because the stack was already\n updated.

    " } }, - "Parameters": { - "target": "com.amazonaws.cloudformation#Parameters", + "Status": { + "target": "com.amazonaws.cloudformation#ChangeSetStatus", "traits": { - "smithy.api#documentation": "

    A list of Parameter structures that describes the input parameters and\n their values used to create the change set. For more information, see the Parameter data type.

    " + "smithy.api#documentation": "

    The current status of the change set, such as CREATE_IN_PROGRESS,\n CREATE_COMPLETE, or FAILED.

    " } }, - "RollbackConfiguration": { - "target": "com.amazonaws.cloudformation#RollbackConfiguration", + "StatusReason": { + "target": "com.amazonaws.cloudformation#ChangeSetStatusReason", "traits": { - "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " + "smithy.api#documentation": "

    A description of the change set's status. For example, if your attempt to create a\n change set failed, AWS CloudFormation shows the error message.

    " } }, - "ExecutionStatus": { - "target": "com.amazonaws.cloudformation#ExecutionStatus", + "NotificationARNs": { + "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

    If the change set execution status is AVAILABLE, you can execute the\n change set. If you can’t execute the change set, the status indicates why. For example, a\n change set might be in an UNAVAILABLE state because AWS CloudFormation is\n still creating it or in an OBSOLETE state because the stack was already\n updated.

    " + "smithy.api#documentation": "

    The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be\n associated with the stack if you execute the change set.

    " } }, - "ParentChangeSetId": { - "target": "com.amazonaws.cloudformation#ChangeSetId", + "RollbackConfiguration": { + "target": "com.amazonaws.cloudformation#RollbackConfiguration", "traits": { - "smithy.api#documentation": "

    Specifies the change set ID of the parent change set in the current nested change set hierarchy.

    " + "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " } }, - "ChangeSetId": { - "target": "com.amazonaws.cloudformation#ChangeSetId", + "Capabilities": { + "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

    The ARN of the change set.

    " + "smithy.api#documentation": "

    If you execute the change set, the list of capabilities that were explicitly\n acknowledged when the change set was created.

    " } }, - "RootChangeSetId": { - "target": "com.amazonaws.cloudformation#ChangeSetId", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    Specifies the change set ID of the root change set in the current nested change set hierarchy.

    " + "smithy.api#documentation": "

    If you execute the change set, the tags that will be associated with the\n stack.

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "Changes": { + "target": "com.amazonaws.cloudformation#Changes", "traits": { - "smithy.api#documentation": "

    The name of the stack that is associated with the change set.

    " + "smithy.api#documentation": "

    A list of Change structures that describes the resources AWS\n CloudFormation changes if you execute the change set.

    " } }, - "StatusReason": { - "target": "com.amazonaws.cloudformation#ChangeSetStatusReason", + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

    A description of the change set's status. For example, if your attempt to create a\n change set failed, AWS CloudFormation shows the error message.

    " + "smithy.api#documentation": "

    If the output exceeds 1 MB, a string that identifies the next page of changes. If\n there is no additional page, this value is null.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "IncludeNestedStacks": { + "target": "com.amazonaws.cloudformation#IncludeNestedStacks", "traits": { - "smithy.api#documentation": "

    The ARN of the stack that is associated with the change set.

    " + "smithy.api#documentation": "

    Verifies if IncludeNestedStacks is set to True.

    " } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "ParentChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    If you execute the change set, the tags that will be associated with the\n stack.

    " + "smithy.api#documentation": "

    Specifies the change set ID of the parent change set in the current nested change set hierarchy.

    " } }, - "CreationTime": { - "target": "com.amazonaws.cloudformation#CreationTime", + "RootChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    The start time when the change set was created, in UTC.

    " + "smithy.api#documentation": "

    Specifies the change set ID of the root change set in the current nested change set hierarchy.

    " } } }, @@ -1877,16 +1877,11 @@ "com.amazonaws.cloudformation#DescribeStackDriftDetectionStatusOutput": { "type": "structure", "members": { - "DriftedStackResourceCount": { - "target": "com.amazonaws.cloudformation#BoxedInteger", - "traits": { - "smithy.api#documentation": "

    Total number of stack resources that have drifted. This is NULL until the drift\n detection operation reaches a status of DETECTION_COMPLETE. This value will be\n 0 for stacks whose drift status is IN_SYNC.

    " - } - }, - "DetectionStatusReason": { - "target": "com.amazonaws.cloudformation#StackDriftDetectionStatusReason", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    The reason the stack drift detection operation has its current status.

    " + "smithy.api#documentation": "

    The ID of the stack.

    ", + "smithy.api#required": {} } }, "StackDriftDetectionId": { @@ -1896,11 +1891,10 @@ "smithy.api#required": {} } }, - "Timestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "StackDriftStatus": { + "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

    Time at which the stack drift detection operation was initiated.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Status of the stack's actual configuration compared to its expected configuration.

    \n
      \n
    • \n

      \n DRIFTED: The stack differs from its expected template\n configuration. A stack is considered to have drifted if one or more of its resources\n have drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its\n expected template configuration.

      \n
    • \n
    • \n

      \n IN_SYNC: The stack's actual configuration matches its expected\n template configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " } }, "DetectionStatus": { @@ -1910,16 +1904,22 @@ "smithy.api#required": {} } }, - "StackDriftStatus": { - "target": "com.amazonaws.cloudformation#StackDriftStatus", + "DetectionStatusReason": { + "target": "com.amazonaws.cloudformation#StackDriftDetectionStatusReason", "traits": { - "smithy.api#documentation": "

    Status of the stack's actual configuration compared to its expected configuration.

    \n
      \n
    • \n

      \n DRIFTED: The stack differs from its expected template\n configuration. A stack is considered to have drifted if one or more of its resources\n have drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its\n expected template configuration.

      \n
    • \n
    • \n

      \n IN_SYNC: The stack's actual configuration matches its expected\n template configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " + "smithy.api#documentation": "

    The reason the stack drift detection operation has its current status.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "DriftedStackResourceCount": { + "target": "com.amazonaws.cloudformation#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The ID of the stack.

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

    Total number of stack resources that have drifted. This is NULL until the drift\n detection operation reaches a status of DETECTION_COMPLETE. This value will be\n 0 for stacks whose drift status is IN_SYNC.

    " + } + }, + "Timestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", + "traits": { + "smithy.api#documentation": "

    Time at which the stack drift detection operation was initiated.

    ", "smithy.api#required": {} } } @@ -1965,17 +1965,17 @@ "com.amazonaws.cloudformation#DescribeStackEventsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the output exceeds 1 MB in size, a string that identifies the next page of events.\n If no additional page exists, this value is null.

    " - } - }, "StackEvents": { "target": "com.amazonaws.cloudformation#StackEvents", "traits": { "smithy.api#documentation": "

    A list of StackEvents structures.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the output exceeds 1 MB in size, a string that identifies the next page of events.\n If no additional page exists, this value is null.

    " + } } }, "traits": { @@ -2005,13 +2005,6 @@ "com.amazonaws.cloudformation#DescribeStackInstanceInput": { "type": "structure", "members": { - "StackInstanceRegion": { - "target": "com.amazonaws.cloudformation#Region", - "traits": { - "smithy.api#documentation": "

    The name of a Region that's associated with this stack instance.

    ", - "smithy.api#required": {} - } - }, "StackSetName": { "target": "com.amazonaws.cloudformation#StackSetName", "traits": { @@ -2025,6 +2018,13 @@ "smithy.api#documentation": "

    The ID of an AWS account that's associated with this stack instance.

    ", "smithy.api#required": {} } + }, + "StackInstanceRegion": { + "target": "com.amazonaws.cloudformation#Region", + "traits": { + "smithy.api#documentation": "

    The name of a Region that's associated with this stack instance.

    ", + "smithy.api#required": {} + } } } }, @@ -2078,18 +2078,18 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    A string that identifies the next page of stack resource drift results.

    " - } - }, "StackResourceDriftStatusFilters": { "target": "com.amazonaws.cloudformation#StackResourceDriftStatusFilters", "traits": { "smithy.api#documentation": "

    The resource drift status values to use as filters for the resource drift results\n returned.

    \n
      \n
    • \n

      \n DELETED: The resource differs from its expected template\n configuration in that the resource has been deleted.

      \n
    • \n
    • \n

      \n MODIFIED: One or more resource properties differ from their\n expected template values.

      \n
    • \n
    • \n

      \n IN_SYNC: The resources's actual configuration matches its expected\n template configuration.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation does not currently return this value.

      \n
    • \n
    " } }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    A string that identifies the next page of stack resource drift results.

    " + } + }, "MaxResults": { "target": "com.amazonaws.cloudformation#BoxedMaxResults", "traits": { @@ -2167,12 +2167,6 @@ "com.amazonaws.cloudformation#DescribeStackResourcesInput": { "type": "structure", "members": { - "PhysicalResourceId": { - "target": "com.amazonaws.cloudformation#PhysicalResourceId", - "traits": { - "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    \n

    For example, for an Amazon Elastic Compute Cloud (EC2) instance,\n PhysicalResourceId corresponds to the InstanceId. You can pass\n the EC2 InstanceId to DescribeStackResources to find which stack\n the instance belongs to and what other resources are part of the stack.

    \n

    Required: Conditional. If you do not specify PhysicalResourceId, you\n must specify StackName.

    \n

    Default: There is no default value.

    " - } - }, "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { @@ -2184,6 +2178,12 @@ "traits": { "smithy.api#documentation": "

    The logical name of the resource as specified in the template.

    \n

    Default: There is no default value.

    " } + }, + "PhysicalResourceId": { + "target": "com.amazonaws.cloudformation#PhysicalResourceId", + "traits": { + "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    \n

    For example, for an Amazon Elastic Compute Cloud (EC2) instance,\n PhysicalResourceId corresponds to the InstanceId. You can pass\n the EC2 InstanceId to DescribeStackResources to find which stack\n the instance belongs to and what other resources are part of the stack.

    \n

    Required: Conditional. If you do not specify PhysicalResourceId, you\n must specify StackName.

    \n

    Default: There is no default value.

    " + } } }, "traits": { @@ -2334,17 +2334,17 @@ "com.amazonaws.cloudformation#DescribeStacksOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the output exceeds 1 MB in size, a string that identifies the next page of stacks.\n If no additional page exists, this value is null.

    " - } - }, "Stacks": { "target": "com.amazonaws.cloudformation#Stacks", "traits": { "smithy.api#documentation": "

    A list of stack structures.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the output exceeds 1 MB in size, a string that identifies the next page of stacks.\n If no additional page exists, this value is null.

    " + } } }, "traits": { @@ -2375,10 +2375,10 @@ "com.amazonaws.cloudformation#DescribeTypeInput": { "type": "structure", "members": { - "VersionId": { - "target": "com.amazonaws.cloudformation#TypeVersionId", + "Type": { + "target": "com.amazonaws.cloudformation#RegistryType", "traits": { - "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    \n

    If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version.

    " + "smithy.api#documentation": "

    The kind of type.

    \n

    Currently the only valid value is RESOURCE.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, "TypeName": { @@ -2393,10 +2393,10 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, - "Type": { - "target": "com.amazonaws.cloudformation#RegistryType", + "VersionId": { + "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

    The kind of type.

    \n

    Currently the only valid value is RESOURCE.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " + "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    \n

    If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version.

    " } } } @@ -2404,28 +2404,16 @@ "com.amazonaws.cloudformation#DescribeTypeOutput": { "type": "structure", "members": { - "Schema": { - "target": "com.amazonaws.cloudformation#TypeSchema", - "traits": { - "smithy.api#documentation": "

    The schema that defines the type.

    \n

    For more information on type schemas, see Resource Provider Schema in the CloudFormation CLI User Guide.

    " - } - }, "Arn": { "target": "com.amazonaws.cloudformation#TypeArn", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type.

    " } }, - "DocumentationUrl": { - "target": "com.amazonaws.cloudformation#OptionalSecureUrl", - "traits": { - "smithy.api#documentation": "

    The URL of a page providing detailed documentation for this type.

    " - } - }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "Type": { + "target": "com.amazonaws.cloudformation#RegistryType", "traits": { - "smithy.api#documentation": "

    The description of the registered type.

    " + "smithy.api#documentation": "

    The kind of type.

    \n

    Currently the only valid value is RESOURCE.

    " } }, "TypeName": { @@ -2434,52 +2422,46 @@ "smithy.api#documentation": "

    The name of the registered type.

    " } }, - "DeprecatedStatus": { - "target": "com.amazonaws.cloudformation#DeprecatedStatus", - "traits": { - "smithy.api#documentation": "

    The deprecation status of the type.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n LIVE: The type is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

      \n
    • \n
    • \n

      \n DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

      \n
    • \n
    " - } - }, "DefaultVersionId": { "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { "smithy.api#documentation": "

    The ID of the default version of the type. The default version is used when the type version is not specified.

    \n

    To set the default version of a type, use \n SetTypeDefaultVersion\n .

    " } }, - "ProvisioningType": { - "target": "com.amazonaws.cloudformation#ProvisioningType", - "traits": { - "smithy.api#documentation": "

    The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

      \n
    • \n
    • \n

      \n IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

      \n
    • \n
    • \n

      \n NON_PROVISIONABLE: The type does not include all of the following handlers, and therefore cannot actually be provisioned.

      \n
        \n
      • \n

        create

        \n
      • \n
      • \n

        read

        \n
      • \n
      • \n

        delete

        \n
      • \n
      \n
    • \n
    " - } - }, "IsDefaultVersion": { "target": "com.amazonaws.cloudformation#IsDefaultVersion", "traits": { "smithy.api#documentation": "

    Whether the specified type version is set as the default version.

    " } }, - "LoggingConfig": { - "target": "com.amazonaws.cloudformation#LoggingConfig", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    Contains logging configuration information for a type.

    " + "smithy.api#documentation": "

    The description of the registered type.

    " } }, - "Visibility": { - "target": "com.amazonaws.cloudformation#Visibility", + "Schema": { + "target": "com.amazonaws.cloudformation#TypeSchema", "traits": { - "smithy.api#documentation": "

    The scope at which the type is visible and usable in CloudFormation operations.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you register as PRIVATE.

      \n
    • \n
    • \n

      \n PUBLIC: The type is publically visible and usable within any Amazon account.

      \n
    • \n
    " + "smithy.api#documentation": "

    The schema that defines the type.

    \n

    For more information on type schemas, see Resource Provider Schema in the CloudFormation CLI User Guide.

    " } }, - "LastUpdated": { - "target": "com.amazonaws.cloudformation#Timestamp", + "ProvisioningType": { + "target": "com.amazonaws.cloudformation#ProvisioningType", "traits": { - "smithy.api#documentation": "

    When the specified type version was registered.

    " + "smithy.api#documentation": "

    The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

      \n
    • \n
    • \n

      \n IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

      \n
    • \n
    • \n

      \n NON_PROVISIONABLE: The type does not include all of the following handlers, and therefore cannot actually be provisioned.

      \n
        \n
      • \n

        create

        \n
      • \n
      • \n

        read

        \n
      • \n
      • \n

        delete

        \n
      • \n
      \n
    • \n
    " } }, - "Type": { - "target": "com.amazonaws.cloudformation#RegistryType", + "DeprecatedStatus": { + "target": "com.amazonaws.cloudformation#DeprecatedStatus", "traits": { - "smithy.api#documentation": "

    The kind of type.

    \n

    Currently the only valid value is RESOURCE.

    " + "smithy.api#documentation": "

    The deprecation status of the type.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n LIVE: The type is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

      \n
    • \n
    • \n

      \n DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

      \n
    • \n
    " + } + }, + "LoggingConfig": { + "target": "com.amazonaws.cloudformation#LoggingConfig", + "traits": { + "smithy.api#documentation": "

    Contains logging configuration information for a type.

    " } }, "ExecutionRoleArn": { @@ -2488,12 +2470,30 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM execution role used to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an\n \n IAM execution\n role\n that includes the necessary permissions to call those\n AWS APIs, and provision that execution role in your account. CloudFormation then\n assumes that execution role to provide your resource type with the appropriate\n credentials.

    " } }, + "Visibility": { + "target": "com.amazonaws.cloudformation#Visibility", + "traits": { + "smithy.api#documentation": "

    The scope at which the type is visible and usable in CloudFormation operations.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you register as PRIVATE.

      \n
    • \n
    • \n

      \n PUBLIC: The type is publically visible and usable within any Amazon account.

      \n
    • \n
    " + } + }, "SourceUrl": { "target": "com.amazonaws.cloudformation#OptionalSecureUrl", "traits": { "smithy.api#documentation": "

    The URL of the source code for the type.

    " } }, + "DocumentationUrl": { + "target": "com.amazonaws.cloudformation#OptionalSecureUrl", + "traits": { + "smithy.api#documentation": "

    The URL of a page providing detailed documentation for this type.

    " + } + }, + "LastUpdated": { + "target": "com.amazonaws.cloudformation#Timestamp", + "traits": { + "smithy.api#documentation": "

    When the specified type version was registered.

    " + } + }, "TimeCreated": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { @@ -2535,18 +2535,6 @@ "com.amazonaws.cloudformation#DescribeTypeRegistrationOutput": { "type": "structure", "members": { - "TypeVersionArn": { - "target": "com.amazonaws.cloudformation#TypeArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of this specific version of the type being registered.

    \n

    For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

    " - } - }, - "TypeArn": { - "target": "com.amazonaws.cloudformation#TypeArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type being registered.

    \n

    For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

    " - } - }, "ProgressStatus": { "target": "com.amazonaws.cloudformation#RegistrationStatus", "traits": { @@ -2558,6 +2546,18 @@ "traits": { "smithy.api#documentation": "

    The description of the type registration request.

    " } + }, + "TypeArn": { + "target": "com.amazonaws.cloudformation#TypeArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type being registered.

    \n

    For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

    " + } + }, + "TypeVersionArn": { + "target": "com.amazonaws.cloudformation#TypeArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of this specific version of the type being registered.

    \n

    For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

    " + } } } }, @@ -2585,18 +2585,18 @@ "com.amazonaws.cloudformation#DetectStackDriftInput": { "type": "structure", "members": { - "LogicalResourceIds": { - "target": "com.amazonaws.cloudformation#LogicalResourceIds", - "traits": { - "smithy.api#documentation": "

    The logical names of any resources you want to use as filters.

    " - } - }, "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { "smithy.api#documentation": "

    The name of the stack for which you want to detect drift.

    ", "smithy.api#required": {} } + }, + "LogicalResourceIds": { + "target": "com.amazonaws.cloudformation#LogicalResourceIds", + "traits": { + "smithy.api#documentation": "

    The logical names of any resources you want to use as filters.

    " + } } } }, @@ -2627,17 +2627,17 @@ "com.amazonaws.cloudformation#DetectStackResourceDriftInput": { "type": "structure", "members": { - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", + "StackName": { + "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { - "smithy.api#documentation": "

    The logical name of the resource for which to return drift information.

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

    The name of the stack to which the resource belongs.

    ", "smithy.api#required": {} } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackNameOrId", + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", "traits": { - "smithy.api#documentation": "

    The name of the stack to which the resource belongs.

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

    The logical name of the resource for which to return drift information.

    ", "smithy.api#required": {} } } @@ -2688,15 +2688,15 @@ "smithy.api#required": {} } }, + "OperationPreferences": { + "target": "com.amazonaws.cloudformation#StackSetOperationPreferences" + }, "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { "smithy.api#documentation": "

    \n The ID of the stack set operation.\n

    ", "smithy.api#idempotencyToken": {} } - }, - "OperationPreferences": { - "target": "com.amazonaws.cloudformation#StackSetOperationPreferences" } } }, @@ -2774,10 +2774,10 @@ "com.amazonaws.cloudformation#EstimateTemplateCostInput": { "type": "structure", "members": { - "Parameters": { - "target": "com.amazonaws.cloudformation#Parameters", + "TemplateBody": { + "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

    A list of Parameter structures that specify input parameters.

    " + "smithy.api#documentation": "

    Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. (For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.)

    \n

    Conditional: You must pass TemplateBody or TemplateURL. If\n both are passed, only TemplateBody is used.

    " } }, "TemplateURL": { @@ -2786,10 +2786,10 @@ "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template that\n is located in an Amazon S3 bucket. For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

    " } }, - "TemplateBody": { - "target": "com.amazonaws.cloudformation#TemplateBody", + "Parameters": { + "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

    Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. (For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.)

    \n

    Conditional: You must pass TemplateBody or TemplateURL. If\n both are passed, only TemplateBody is used.

    " + "smithy.api#documentation": "

    A list of Parameter structures that specify input parameters.

    " } } }, @@ -2858,12 +2858,6 @@ "com.amazonaws.cloudformation#ExecuteChangeSetInput": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

    A unique identifier for this ExecuteChangeSet request. Specify this\n token if you plan to retry requests so that AWS CloudFormation knows that you're not\n attempting to execute a change set to update a stack with the same name. You might retry\n ExecuteChangeSet requests to ensure that AWS CloudFormation successfully\n received them.

    " - } - }, "ChangeSetName": { "target": "com.amazonaws.cloudformation#ChangeSetNameOrId", "traits": { @@ -2876,6 +2870,12 @@ "traits": { "smithy.api#documentation": "

    If you specified the name of a change set, specify the stack name or ID (ARN) that is\n associated with the change set you want to execute.

    " } + }, + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    A unique identifier for this ExecuteChangeSet request. Specify this\n token if you plan to retry requests so that AWS CloudFormation knows that you're not\n attempting to execute a change set to update a stack with the same name. You might retry\n ExecuteChangeSet requests to ensure that AWS CloudFormation successfully\n received them.

    " + } } }, "traits": { @@ -2933,6 +2933,12 @@ "com.amazonaws.cloudformation#Export": { "type": "structure", "members": { + "ExportingStackId": { + "target": "com.amazonaws.cloudformation#StackId", + "traits": { + "smithy.api#documentation": "

    The stack that contains the exported output name and value.

    " + } + }, "Name": { "target": "com.amazonaws.cloudformation#ExportName", "traits": { @@ -2944,12 +2950,6 @@ "traits": { "smithy.api#documentation": "

    The value of the exported output, such as a resource physical ID. This value is\n defined in the Export field in the associated stack's Outputs\n section.

    " } - }, - "ExportingStackId": { - "target": "com.amazonaws.cloudformation#StackId", - "traits": { - "smithy.api#documentation": "

    The stack that contains the exported output name and value.

    " - } } }, "traits": { @@ -3062,17 +3062,17 @@ "smithy.api#documentation": "

    The name or the unique stack ID that is associated with the stack, which are not\n always interchangeable:

    \n
      \n
    • \n

      Running stacks: You can specify either the stack's name or its unique stack\n ID.

      \n
    • \n
    • \n

      Deleted stacks: You must specify the unique stack ID.

      \n
    • \n
    \n

    Default: There is no default value.

    " } }, - "TemplateStage": { - "target": "com.amazonaws.cloudformation#TemplateStage", - "traits": { - "smithy.api#documentation": "

    For templates that include transforms, the stage of the template that AWS\n CloudFormation returns. To get the user-submitted template, specify Original.\n To get the template after AWS CloudFormation has processed all transforms, specify\n Processed.

    \n

    If the template doesn't include transforms, Original and\n Processed return the same template. By default, AWS CloudFormation\n specifies Original.

    " - } - }, "ChangeSetName": { "target": "com.amazonaws.cloudformation#ChangeSetNameOrId", "traits": { "smithy.api#documentation": "

    The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation\n returns the associated template. If you specify a name, you must also specify the\n StackName.

    " } + }, + "TemplateStage": { + "target": "com.amazonaws.cloudformation#TemplateStage", + "traits": { + "smithy.api#documentation": "

    For templates that include transforms, the stage of the template that AWS\n CloudFormation returns. To get the user-submitted template, specify Original.\n To get the template after AWS CloudFormation has processed all transforms, specify\n Processed.

    \n

    If the template doesn't include transforms, Original and\n Processed return the same template. By default, AWS CloudFormation\n specifies Original.

    " + } } }, "traits": { @@ -3119,18 +3119,6 @@ "com.amazonaws.cloudformation#GetTemplateSummaryInput": { "type": "structure", "members": { - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetNameOrId", - "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set from which the stack was created.

    \n

    Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

    " - } - }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackNameOrId", - "traits": { - "smithy.api#documentation": "

    The name or the stack ID that is associated with the stack, which are not always\n interchangeable. For running stacks, you can specify either the stack's name or its unique\n stack ID. For deleted stack, you must specify the unique stack ID.

    \n

    Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

    " - } - }, "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { @@ -3142,6 +3130,18 @@ "traits": { "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about\n templates, see Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

    " } + }, + "StackName": { + "target": "com.amazonaws.cloudformation#StackNameOrId", + "traits": { + "smithy.api#documentation": "

    The name or the stack ID that is associated with the stack, which are not always\n interchangeable. For running stacks, you can specify either the stack's name or its unique\n stack ID. For deleted stack, you must specify the unique stack ID.

    \n

    Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

    " + } + }, + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetNameOrId", + "traits": { + "smithy.api#documentation": "

    The name or unique ID of the stack set from which the stack was created.

    \n

    Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

    " + } } }, "traits": { @@ -3151,10 +3151,16 @@ "com.amazonaws.cloudformation#GetTemplateSummaryOutput": { "type": "structure", "members": { - "Metadata": { - "target": "com.amazonaws.cloudformation#Metadata", + "Parameters": { + "target": "com.amazonaws.cloudformation#ParameterDeclarations", "traits": { - "smithy.api#documentation": "

    The value that is defined for the Metadata property of the\n template.

    " + "smithy.api#documentation": "

    A list of parameter declarations that describe various properties for each\n parameter.

    " + } + }, + "Description": { + "target": "com.amazonaws.cloudformation#Description", + "traits": { + "smithy.api#documentation": "

    The value that is defined in the Description property of the\n template.

    " } }, "Capabilities": { @@ -3163,46 +3169,40 @@ "smithy.api#documentation": "

    The capabilities found within the template. If your template contains IAM resources,\n you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when\n you use the CreateStack or UpdateStack actions with\n your template; otherwise, those actions return an InsufficientCapabilities error.

    \n

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

    " } }, - "Version": { - "target": "com.amazonaws.cloudformation#Version", + "CapabilitiesReason": { + "target": "com.amazonaws.cloudformation#CapabilitiesReason", "traits": { - "smithy.api#documentation": "

    The AWS template format version, which identifies the capabilities of the\n template.

    " + "smithy.api#documentation": "

    The list of resources that generated the values in the Capabilities\n response element.

    " } }, - "DeclaredTransforms": { - "target": "com.amazonaws.cloudformation#TransformsList", + "ResourceTypes": { + "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

    A list of the transforms that are declared in the template.

    " + "smithy.api#documentation": "

    A list of all the template resource types that are defined in the template, such as\n AWS::EC2::Instance, AWS::Dynamo::Table, and\n Custom::MyCustomInstance.

    " } }, - "ResourceIdentifierSummaries": { - "target": "com.amazonaws.cloudformation#ResourceIdentifierSummaries", + "Version": { + "target": "com.amazonaws.cloudformation#Version", "traits": { - "smithy.api#documentation": "

    A list of resource identifier summaries that describe the target resources of an import\n operation and the properties you can provide during the import to identify the target\n resources. For example, BucketName is a possible identifier property for an\n AWS::S3::Bucket resource.

    " + "smithy.api#documentation": "

    The AWS template format version, which identifies the capabilities of the\n template.

    " } }, - "CapabilitiesReason": { - "target": "com.amazonaws.cloudformation#CapabilitiesReason", + "Metadata": { + "target": "com.amazonaws.cloudformation#Metadata", "traits": { - "smithy.api#documentation": "

    The list of resources that generated the values in the Capabilities\n response element.

    " + "smithy.api#documentation": "

    The value that is defined for the Metadata property of the\n template.

    " } }, - "Parameters": { - "target": "com.amazonaws.cloudformation#ParameterDeclarations", + "DeclaredTransforms": { + "target": "com.amazonaws.cloudformation#TransformsList", "traits": { - "smithy.api#documentation": "

    A list of parameter declarations that describe various properties for each\n parameter.

    " + "smithy.api#documentation": "

    A list of the transforms that are declared in the template.

    " } }, - "ResourceTypes": { - "target": "com.amazonaws.cloudformation#ResourceTypes", + "ResourceIdentifierSummaries": { + "target": "com.amazonaws.cloudformation#ResourceIdentifierSummaries", "traits": { - "smithy.api#documentation": "

    A list of all the template resource types that are defined in the template, such as\n AWS::EC2::Instance, AWS::Dynamo::Table, and\n Custom::MyCustomInstance.

    " - } - }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", - "traits": { - "smithy.api#documentation": "

    The value that is defined in the Description property of the\n template.

    " + "smithy.api#documentation": "

    A list of resource identifier summaries that describe the target resources of an import\n operation and the properties you can provide during the import to identify the target\n resources. For example, BucketName is a possible identifier property for an\n AWS::S3::Bucket resource.

    " } } }, @@ -3476,17 +3476,17 @@ "com.amazonaws.cloudformation#ListExportsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the output exceeds 100 exported output values, a string that identifies the next\n page of exports. If there is no additional page, this value is null.

    " - } - }, "Exports": { "target": "com.amazonaws.cloudformation#Exports", "traits": { "smithy.api#documentation": "

    The output for the ListExports action.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the output exceeds 100 exported output values, a string that identifies the next\n page of exports. If there is no additional page, this value is null.

    " + } } } }, @@ -3510,35 +3510,35 @@ "com.amazonaws.cloudformation#ListImportsInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    A string (provided by the ListImports response output) that\n identifies the next page of stacks that are importing the specified exported output value.\n

    " - } - }, "ExportName": { "target": "com.amazonaws.cloudformation#ExportName", "traits": { "smithy.api#documentation": "

    The name of the exported output value. AWS CloudFormation returns the stack names\n that are importing this value.

    ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    A string (provided by the ListImports response output) that\n identifies the next page of stacks that are importing the specified exported output value.\n

    " + } } } }, "com.amazonaws.cloudformation#ListImportsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    A string that identifies the next page of exports. If there is no additional page,\n this value is null.

    " - } - }, "Imports": { "target": "com.amazonaws.cloudformation#Imports", "traits": { "smithy.api#documentation": "

    A list of stack names that are importing the specified exported output value.\n

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    A string that identifies the next page of exports. If there is no additional page,\n this value is null.

    " + } } } }, @@ -3575,24 +3575,12 @@ "smithy.api#required": {} } }, - "StackInstanceRegion": { - "target": "com.amazonaws.cloudformation#Region", - "traits": { - "smithy.api#documentation": "

    The name of the Region where you want to list stack instances.

    " - } - }, "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { "smithy.api#documentation": "

    If the previous request didn't return all of the remaining results, the response's\n NextToken parameter value is set to a token. To retrieve the next set of\n results, call ListStackInstances again and assign that token to the request\n object's NextToken parameter. If there are no remaining results, the previous\n response object's NextToken parameter is set to null.

    " } }, - "StackInstanceAccount": { - "target": "com.amazonaws.cloudformation#Account", - "traits": { - "smithy.api#documentation": "

    The name of the AWS account that you want to list stack instances for.

    " - } - }, "MaxResults": { "target": "com.amazonaws.cloudformation#MaxResults", "traits": { @@ -3604,23 +3592,35 @@ "traits": { "smithy.api#documentation": "

    The status that stack instances are filtered by.

    " } + }, + "StackInstanceAccount": { + "target": "com.amazonaws.cloudformation#Account", + "traits": { + "smithy.api#documentation": "

    The name of the AWS account that you want to list stack instances for.

    " + } + }, + "StackInstanceRegion": { + "target": "com.amazonaws.cloudformation#Region", + "traits": { + "smithy.api#documentation": "

    The name of the Region where you want to list stack instances.

    " + } } } }, "com.amazonaws.cloudformation#ListStackInstancesOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the request doesn't return all of the remaining results, NextToken is\n set to a token. To retrieve the next set of results, call ListStackInstances\n again and assign that token to the request object's NextToken parameter. If\n the request returns all results, NextToken is set to\n null.

    " - } - }, "Summaries": { "target": "com.amazonaws.cloudformation#StackInstanceSummaries", "traits": { "smithy.api#documentation": "

    A list of StackInstanceSummary structures that contain information about\n the specified stack instances.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the request doesn't return all of the remaining results, NextToken is\n set to a token. To retrieve the next set of results, call ListStackInstances\n again and assign that token to the request object's NextToken parameter. If\n the request returns all results, NextToken is set to\n null.

    " + } } } }, @@ -3644,18 +3644,18 @@ "com.amazonaws.cloudformation#ListStackResourcesInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    A string that identifies the next page of stack resources that you want to\n retrieve.

    " - } - }, "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { "smithy.api#documentation": "

    The name or the unique stack ID that is associated with the stack, which are not\n always interchangeable:

    \n
      \n
    • \n

      Running stacks: You can specify either the stack's name or its unique stack\n ID.

      \n
    • \n
    • \n

      Deleted stacks: You must specify the unique stack ID.

      \n
    • \n
    \n

    Default: There is no default value.

    ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    A string that identifies the next page of stack resources that you want to\n retrieve.

    " + } } }, "traits": { @@ -3711,10 +3711,11 @@ "com.amazonaws.cloudformation#ListStackSetOperationResultsInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetName", "traits": { - "smithy.api#documentation": "

    If the previous request didn't return all of the remaining results, the response\n object's NextToken parameter value is set to a token. To retrieve the next set\n of results, call ListStackSetOperationResults again and assign that token to\n the request object's NextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to\n null.

    " + "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to get operation results\n for.

    ", + "smithy.api#required": {} } }, "OperationId": { @@ -3724,17 +3725,16 @@ "smithy.api#required": {} } }, - "MaxResults": { - "target": "com.amazonaws.cloudformation#MaxResults", + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of\n available results exceeds this maximum, the response includes a NextToken\n value that you can assign to the NextToken request parameter to get the next\n set of results.

    " + "smithy.api#documentation": "

    If the previous request didn't return all of the remaining results, the response\n object's NextToken parameter value is set to a token. To retrieve the next set\n of results, call ListStackSetOperationResults again and assign that token to\n the request object's NextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to\n null.

    " } }, - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetName", + "MaxResults": { + "target": "com.amazonaws.cloudformation#MaxResults", "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to get operation results\n for.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of\n available results exceeds this maximum, the response includes a NextToken\n value that you can assign to the NextToken request parameter to get the next\n set of results.

    " } } } @@ -3742,17 +3742,17 @@ "com.amazonaws.cloudformation#ListStackSetOperationResultsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the request doesn't return all results, NextToken is set to a token.\n To retrieve the next set of results, call ListOperationResults again and\n assign that token to the request object's NextToken parameter. If there are no\n remaining results, NextToken is set to null.

    " - } - }, "Summaries": { "target": "com.amazonaws.cloudformation#StackSetOperationResultSummaries", "traits": { "smithy.api#documentation": "

    A list of StackSetOperationResultSummary structures that contain\n information about the specified operation results, for accounts and Regions that are\n included in the operation.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the request doesn't return all results, NextToken is set to a token.\n To retrieve the next set of results, call ListOperationResults again and\n assign that token to the request object's NextToken parameter. If there are no\n remaining results, NextToken is set to null.

    " + } } } }, @@ -3782,6 +3782,13 @@ "com.amazonaws.cloudformation#ListStackSetOperationsInput": { "type": "structure", "members": { + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetName", + "traits": { + "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to get operation summaries\n for.

    ", + "smithy.api#required": {} + } + }, "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { @@ -3793,30 +3800,23 @@ "traits": { "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of\n available results exceeds this maximum, the response includes a NextToken\n value that you can assign to the NextToken request parameter to get the next\n set of results.

    " } - }, - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetName", - "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to get operation summaries\n for.

    ", - "smithy.api#required": {} - } } } }, "com.amazonaws.cloudformation#ListStackSetOperationsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the request doesn't return all results, NextToken is set to a token.\n To retrieve the next set of results, call ListOperationResults again and\n assign that token to the request object's NextToken parameter. If there are no\n remaining results, NextToken is set to null.

    " - } - }, "Summaries": { "target": "com.amazonaws.cloudformation#StackSetOperationSummaries", "traits": { "smithy.api#documentation": "

    A list of StackSetOperationSummary structures that contain summary\n information about operations for the specified stack set.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the request doesn't return all results, NextToken is set to a token.\n To retrieve the next set of results, call ListOperationResults again and\n assign that token to the request object's NextToken parameter. If there are no\n remaining results, NextToken is set to null.

    " + } } } }, @@ -3841,10 +3841,10 @@ "com.amazonaws.cloudformation#ListStackSetsInput": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.cloudformation#StackSetStatus", + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

    The status of the stack sets that you want to get summary information\n about.

    " + "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the\n response object's NextToken parameter value is set to a token. To retrieve the\n next set of results, call ListStackSets again and assign that token to the\n request object's NextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to\n null.

    " } }, "MaxResults": { @@ -3853,10 +3853,10 @@ "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of\n available results exceeds this maximum, the response includes a NextToken\n value that you can assign to the NextToken request parameter to get the next\n set of results.

    " } }, - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", + "Status": { + "target": "com.amazonaws.cloudformation#StackSetStatus", "traits": { - "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the\n response object's NextToken parameter value is set to a token. To retrieve the\n next set of results, call ListStackSets again and assign that token to the\n request object's NextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to\n null.

    " + "smithy.api#documentation": "

    The status of the stack sets that you want to get summary information\n about.

    " } } } @@ -3967,16 +3967,16 @@ "smithy.api#documentation": "

    The kind of type.

    \n

    Currently the only valid value is RESOURCE.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", + "TypeName": { + "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    " + "smithy.api#documentation": "

    The name of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, - "MaxResults": { - "target": "com.amazonaws.cloudformation#MaxResults", + "TypeArn": { + "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, "RegistrationStatusFilter": { @@ -3985,16 +3985,16 @@ "smithy.api#documentation": "

    The current status of the type registration request.

    \n

    The default is IN_PROGRESS.

    " } }, - "TypeArn": { - "target": "com.amazonaws.cloudformation#TypeArn", + "MaxResults": { + "target": "com.amazonaws.cloudformation#MaxResults", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " + "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

    " } }, - "TypeName": { - "target": "com.amazonaws.cloudformation#TypeName", + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

    The name of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " + "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    " } } } @@ -4002,17 +4002,17 @@ "com.amazonaws.cloudformation#ListTypeRegistrationsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

    " - } - }, "RegistrationTokenList": { "target": "com.amazonaws.cloudformation#RegistrationTokenList", "traits": { "smithy.api#documentation": "

    A list of type registration tokens.

    \n

    Use \n DescribeTypeRegistration\n to return detailed information about a type registration request.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

    " + } } } }, @@ -4042,30 +4042,12 @@ "com.amazonaws.cloudformation#ListTypeVersionsInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", - "traits": { - "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    " - } - }, "Type": { "target": "com.amazonaws.cloudformation#RegistryType", "traits": { "smithy.api#documentation": "

    The kind of the type.

    \n

    Currently the only valid value is RESOURCE.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, - "MaxResults": { - "target": "com.amazonaws.cloudformation#MaxResults", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

    " - } - }, - "DeprecatedStatus": { - "target": "com.amazonaws.cloudformation#DeprecatedStatus", - "traits": { - "smithy.api#documentation": "

    The deprecation status of the type versions that you want to get summary information about.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n LIVE: The type version is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

      \n
    • \n
    • \n

      \n DEPRECATED: The type version has been deregistered and can no longer be used in CloudFormation operations.

      \n
    • \n
    \n

    The default is LIVE.

    " - } - }, "TypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { @@ -4077,6 +4059,24 @@ "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type for which you want version summary information.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } + }, + "MaxResults": { + "target": "com.amazonaws.cloudformation#MaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    " + } + }, + "DeprecatedStatus": { + "target": "com.amazonaws.cloudformation#DeprecatedStatus", + "traits": { + "smithy.api#documentation": "

    The deprecation status of the type versions that you want to get summary information about.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n LIVE: The type version is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

      \n
    • \n
    • \n

      \n DEPRECATED: The type version has been deregistered and can no longer be used in CloudFormation operations.

      \n
    • \n
    \n

    The default is LIVE.

    " + } } } }, @@ -4123,10 +4123,10 @@ "com.amazonaws.cloudformation#ListTypesInput": { "type": "structure", "members": { - "DeprecatedStatus": { - "target": "com.amazonaws.cloudformation#DeprecatedStatus", + "Visibility": { + "target": "com.amazonaws.cloudformation#Visibility", "traits": { - "smithy.api#documentation": "

    The deprecation status of the types that you want to get summary information about.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n LIVE: The type is registered for use in CloudFormation operations.

      \n
    • \n
    • \n

      \n DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

      \n
    • \n
    " + "smithy.api#documentation": "

    The scope at which the type is visible and usable in CloudFormation operations.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you create as PRIVATE.

      \n
    • \n
    • \n

      \n PUBLIC: The type is publically visible and usable within any Amazon account.

      \n
    • \n
    \n

    The default is PRIVATE.

    " } }, "ProvisioningType": { @@ -4135,10 +4135,16 @@ "smithy.api#documentation": "

    The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

      \n
    • \n
    • \n

      \n IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

      \n
    • \n
    • \n

      \n NON_PROVISIONABLE: The type does not include create, read, and delete handlers, and therefore cannot actually be provisioned.

      \n
    • \n
    " } }, - "NextToken": { - "target": "com.amazonaws.cloudformation#NextToken", + "DeprecatedStatus": { + "target": "com.amazonaws.cloudformation#DeprecatedStatus", "traits": { - "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    " + "smithy.api#documentation": "

    The deprecation status of the types that you want to get summary information about.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n LIVE: The type is registered for use in CloudFormation operations.

      \n
    • \n
    • \n

      \n DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

      \n
    • \n
    " + } + }, + "Type": { + "target": "com.amazonaws.cloudformation#RegistryType", + "traits": { + "smithy.api#documentation": "

    The type of extension.

    " } }, "MaxResults": { @@ -4147,10 +4153,10 @@ "smithy.api#documentation": "

    The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

    " } }, - "Visibility": { - "target": "com.amazonaws.cloudformation#Visibility", + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

    The scope at which the type is visible and usable in CloudFormation operations.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you create as PRIVATE.

      \n
    • \n
    • \n

      \n PUBLIC: The type is publically visible and usable within any Amazon account.

      \n
    • \n
    \n

    The default is PRIVATE.

    " + "smithy.api#documentation": "

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    " } } } @@ -4185,25 +4191,28 @@ "com.amazonaws.cloudformation#LoggingConfig": { "type": "structure", "members": { - "LogGroupName": { - "target": "com.amazonaws.cloudformation#LogGroupName", - "traits": { - "smithy.api#documentation": "

    The Amazon CloudWatch log group to which CloudFormation sends error logging information when invoking the type's handlers.

    ", - "smithy.api#required": {} - } - }, "LogRoleArn": { "target": "com.amazonaws.cloudformation#RoleARN2", "traits": { "smithy.api#documentation": "

    The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.

    ", "smithy.api#required": {} } + }, + "LogGroupName": { + "target": "com.amazonaws.cloudformation#LogGroupName", + "traits": { + "smithy.api#documentation": "

    The Amazon CloudWatch log group to which CloudFormation sends error logging information when invoking the type's handlers.

    ", + "smithy.api#required": {} + } } }, "traits": { "smithy.api#documentation": "

    Contains logging configuration information for a type.

    " } }, + "com.amazonaws.cloudformation#LogicalIdHierarchy": { + "type": "string" + }, "com.amazonaws.cloudformation#LogicalResourceId": { "type": "string" }, @@ -4251,6 +4260,26 @@ "com.amazonaws.cloudformation#Metadata": { "type": "string" }, + "com.amazonaws.cloudformation#ModuleInfo": { + "type": "structure", + "members": { + "TypeHierarchy": { + "target": "com.amazonaws.cloudformation#TypeHierarchy", + "traits": { + "smithy.api#documentation": "

    A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by /.

    \n

    In the following example, the resource was created from a module of type AWS::First::Example::MODULE, that is nested inside a parent module of type AWS::Second::Example::MODULE.

    \n

    \n AWS::First::Example::MODULE/AWS::Second::Example::MODULE\n

    " + } + }, + "LogicalIdHierarchy": { + "target": "com.amazonaws.cloudformation#LogicalIdHierarchy", + "traits": { + "smithy.api#documentation": "

    A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by /.

    \n

    In the following example, the resource was created from a module, moduleA, that is nested inside a parent module, moduleB.

    \n

    \n moduleA/moduleB\n

    \n

    For more information, see Referencing resources in a module in the CloudFormation User Guide.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    \n

    For more information on modules, see Using modules to encapsulate and reuse resource configurations in the CloudFormation User Guide.

    " + } + }, "com.amazonaws.cloudformation#MonitoringTimeInMinutes": { "type": "integer", "traits": { @@ -4428,6 +4457,12 @@ "smithy.api#documentation": "

    The key associated with the output.

    " } }, + "OutputValue": { + "target": "com.amazonaws.cloudformation#OutputValue", + "traits": { + "smithy.api#documentation": "

    The value associated with the output.

    " + } + }, "Description": { "target": "com.amazonaws.cloudformation#Description", "traits": { @@ -4439,12 +4474,6 @@ "traits": { "smithy.api#documentation": "

    The name of the export associated with the output.

    " } - }, - "OutputValue": { - "target": "com.amazonaws.cloudformation#OutputValue", - "traits": { - "smithy.api#documentation": "

    The value associated with the output.

    " - } } }, "traits": { @@ -4466,10 +4495,10 @@ "com.amazonaws.cloudformation#Parameter": { "type": "structure", "members": { - "UsePreviousValue": { - "target": "com.amazonaws.cloudformation#UsePreviousValue", + "ParameterKey": { + "target": "com.amazonaws.cloudformation#ParameterKey", "traits": { - "smithy.api#documentation": "

    During a stack update, use the existing parameter value that the stack is using for a\n given parameter key. If you specify true, do not specify a parameter\n value.

    " + "smithy.api#documentation": "

    The key associated with the parameter. If you don't specify a key and value for a\n particular parameter, AWS CloudFormation uses the default value that is specified in your\n template.

    " } }, "ParameterValue": { @@ -4478,16 +4507,16 @@ "smithy.api#documentation": "

    The input value associated with the parameter.

    " } }, - "ResolvedValue": { - "target": "com.amazonaws.cloudformation#ParameterValue", + "UsePreviousValue": { + "target": "com.amazonaws.cloudformation#UsePreviousValue", "traits": { - "smithy.api#documentation": "

    Read-only. The value that corresponds to a Systems Manager parameter key. This field\n is returned only for \n SSM parameter types in the template.

    " + "smithy.api#documentation": "

    During a stack update, use the existing parameter value that the stack is using for a\n given parameter key. If you specify true, do not specify a parameter\n value.

    " } }, - "ParameterKey": { - "target": "com.amazonaws.cloudformation#ParameterKey", + "ResolvedValue": { + "target": "com.amazonaws.cloudformation#ParameterValue", "traits": { - "smithy.api#documentation": "

    The key associated with the parameter. If you don't specify a key and value for a\n particular parameter, AWS CloudFormation uses the default value that is specified in your\n template.

    " + "smithy.api#documentation": "

    Read-only. The value that corresponds to a Systems Manager parameter key. This field\n is returned only for \n SSM parameter types in the template.

    " } } }, @@ -4512,12 +4541,6 @@ "com.amazonaws.cloudformation#ParameterDeclaration": { "type": "structure", "members": { - "ParameterConstraints": { - "target": "com.amazonaws.cloudformation#ParameterConstraints", - "traits": { - "smithy.api#documentation": "

    The criteria that AWS CloudFormation uses to validate parameter values.

    " - } - }, "ParameterKey": { "target": "com.amazonaws.cloudformation#ParameterKey", "traits": { @@ -4530,6 +4553,12 @@ "smithy.api#documentation": "

    The default value of the parameter.

    " } }, + "ParameterType": { + "target": "com.amazonaws.cloudformation#ParameterType", + "traits": { + "smithy.api#documentation": "

    The type of parameter.

    " + } + }, "NoEcho": { "target": "com.amazonaws.cloudformation#NoEcho", "traits": { @@ -4542,10 +4571,10 @@ "smithy.api#documentation": "

    The description that is associate with the parameter.

    " } }, - "ParameterType": { - "target": "com.amazonaws.cloudformation#ParameterType", + "ParameterConstraints": { + "target": "com.amazonaws.cloudformation#ParameterConstraints", "traits": { - "smithy.api#documentation": "

    The type of parameter.

    " + "smithy.api#documentation": "

    The criteria that AWS CloudFormation uses to validate parameter values.

    " } } }, @@ -4647,10 +4676,10 @@ "smithy.api#required": {} } }, - "DifferenceType": { - "target": "com.amazonaws.cloudformation#DifferenceType", + "ExpectedValue": { + "target": "com.amazonaws.cloudformation#PropertyValue", "traits": { - "smithy.api#documentation": "

    The type of property difference.

    \n
      \n
    • \n

      \n ADD: A value has been added to a resource property that is an\n array or list data type.

      \n
    • \n
    • \n

      \n REMOVE: The property has been removed from the current resource\n configuration.

      \n
    • \n
    • \n

      \n NOT_EQUAL: The current property value differs from its expected\n value (as defined in the stack template and any values specified as template\n parameters).

      \n
    • \n
    ", + "smithy.api#documentation": "

    The expected property value of the resource property, as defined in the stack\n template and any values specified as template parameters.

    ", "smithy.api#required": {} } }, @@ -4661,10 +4690,10 @@ "smithy.api#required": {} } }, - "ExpectedValue": { - "target": "com.amazonaws.cloudformation#PropertyValue", + "DifferenceType": { + "target": "com.amazonaws.cloudformation#DifferenceType", "traits": { - "smithy.api#documentation": "

    The expected property value of the resource property, as defined in the stack\n template and any values specified as template parameters.

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

    The type of property difference.

    \n
      \n
    • \n

      \n ADD: A value has been added to a resource property that is an\n array or list data type.

      \n
    • \n
    • \n

      \n REMOVE: The property has been removed from the current resource\n configuration.

      \n
    • \n
    • \n

      \n NOT_EQUAL: The current property value differs from its expected\n value (as defined in the stack template and any values specified as template\n parameters).

      \n
    • \n
    ", "smithy.api#required": {} } } @@ -4731,23 +4760,24 @@ "com.amazonaws.cloudformation#RecordHandlerProgressInput": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "BearerToken": { + "target": "com.amazonaws.cloudformation#ClientToken", "traits": { - "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " + "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    ", + "smithy.api#required": {} } }, - "CurrentOperationStatus": { + "OperationStatus": { "target": "com.amazonaws.cloudformation#OperationStatus", "traits": { - "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " + "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    ", + "smithy.api#required": {} } }, - "BearerToken": { - "target": "com.amazonaws.cloudformation#ClientToken", + "CurrentOperationStatus": { + "target": "com.amazonaws.cloudformation#OperationStatus", "traits": { - "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " } }, "StatusMessage": { @@ -4756,23 +4786,22 @@ "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " } }, - "ResourceModel": { - "target": "com.amazonaws.cloudformation#ResourceModel", + "ErrorCode": { + "target": "com.amazonaws.cloudformation#HandlerErrorCode", "traits": { "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " } }, - "ErrorCode": { - "target": "com.amazonaws.cloudformation#HandlerErrorCode", + "ResourceModel": { + "target": "com.amazonaws.cloudformation#ResourceModel", "traits": { "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " } }, - "OperationStatus": { - "target": "com.amazonaws.cloudformation#OperationStatus", + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Reserved for use by the CloudFormation CLI.

    " } } } @@ -4814,6 +4843,12 @@ "com.amazonaws.cloudformation#RegisterTypeInput": { "type": "structure", "members": { + "Type": { + "target": "com.amazonaws.cloudformation#RegistryType", + "traits": { + "smithy.api#documentation": "

    The kind of type.

    \n

    Currently, the only valid value is RESOURCE.

    " + } + }, "TypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { @@ -4828,10 +4863,10 @@ "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.cloudformation#RegistryType", + "LoggingConfig": { + "target": "com.amazonaws.cloudformation#LoggingConfig", "traits": { - "smithy.api#documentation": "

    The kind of type.

    \n

    Currently, the only valid value is RESOURCE.

    " + "smithy.api#documentation": "

    Specifies logging configuration information for a type.

    " } }, "ExecutionRoleArn": { @@ -4845,12 +4880,6 @@ "traits": { "smithy.api#documentation": "

    A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of a type from the same registeration request, even if the request is submitted multiple times.

    " } - }, - "LoggingConfig": { - "target": "com.amazonaws.cloudformation#LoggingConfig", - "traits": { - "smithy.api#documentation": "

    Specifies logging configuration information for a type.

    " - } } } }, @@ -4903,6 +4932,9 @@ "smithy.api#enum": [ { "value": "RESOURCE" + }, + { + "value": "MODULE" } ] } @@ -4989,10 +5021,16 @@ "com.amazonaws.cloudformation#ResourceChange": { "type": "structure", "members": { - "Replacement": { - "target": "com.amazonaws.cloudformation#Replacement", + "Action": { + "target": "com.amazonaws.cloudformation#ChangeAction", "traits": { - "smithy.api#documentation": "

    For the Modify action, indicates whether AWS CloudFormation will replace\n the resource by creating a new one and deleting the old one. This value depends on the\n value of the RequiresRecreation property in the\n ResourceTargetDefinition structure. For example, if the\n RequiresRecreation field is Always and the\n Evaluation field is Static, Replacement is\n True. If the RequiresRecreation field is Always\n and the Evaluation field is Dynamic, Replacement is\n Conditionally.

    \n

    If you have multiple changes with different RequiresRecreation values,\n the Replacement value depends on the change with the most impact. A\n RequiresRecreation value of Always has the most impact,\n followed by Conditionally, and then Never.

    " + "smithy.api#documentation": "

    The action that AWS CloudFormation takes on the resource, such as Add\n (adds a new resource), Modify (changes a resource), Remove\n (deletes a resource), Import (imports a resource), or Dynamic\n (exact action for the resource cannot be determined).

    " + } + }, + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

    The resource's logical ID, which is defined in the stack's template.

    " } }, "PhysicalResourceId": { @@ -5001,16 +5039,16 @@ "smithy.api#documentation": "

    The resource's physical ID (resource name). Resources that you are adding don't have\n physical IDs because they haven't been created.

    " } }, - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", + "ResourceType": { + "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

    The resource's logical ID, which is defined in the stack's template.

    " + "smithy.api#documentation": "

    The type of AWS CloudFormation resource, such as\n AWS::S3::Bucket.

    " } }, - "Action": { - "target": "com.amazonaws.cloudformation#ChangeAction", + "Replacement": { + "target": "com.amazonaws.cloudformation#Replacement", "traits": { - "smithy.api#documentation": "

    The action that AWS CloudFormation takes on the resource, such as Add\n (adds a new resource), Modify (changes a resource), Remove\n (deletes a resource), Import (imports a resource), or Dynamic\n (exact action for the resource cannot be determined).

    " + "smithy.api#documentation": "

    For the Modify action, indicates whether AWS CloudFormation will replace\n the resource by creating a new one and deleting the old one. This value depends on the\n value of the RequiresRecreation property in the\n ResourceTargetDefinition structure. For example, if the\n RequiresRecreation field is Always and the\n Evaluation field is Static, Replacement is\n True. If the RequiresRecreation field is Always\n and the Evaluation field is Dynamic, Replacement is\n Conditionally.

    \n

    If you have multiple changes with different RequiresRecreation values,\n the Replacement value depends on the change with the most impact. A\n RequiresRecreation value of Always has the most impact,\n followed by Conditionally, and then Never.

    " } }, "Scope": { @@ -5025,17 +5063,17 @@ "smithy.api#documentation": "

    For the Modify action, a list of ResourceChangeDetail\n structures that describes the changes that AWS CloudFormation will make to the resource.\n

    " } }, - "ResourceType": { - "target": "com.amazonaws.cloudformation#ResourceType", - "traits": { - "smithy.api#documentation": "

    The type of AWS CloudFormation resource, such as\n AWS::S3::Bucket.

    " - } - }, "ChangeSetId": { "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { "smithy.api#documentation": "

    The change set ID of the nested change set.

    " } + }, + "ModuleInfo": { + "target": "com.amazonaws.cloudformation#ModuleInfo", + "traits": { + "smithy.api#documentation": "

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    " + } } }, "traits": { @@ -5045,10 +5083,10 @@ "com.amazonaws.cloudformation#ResourceChangeDetail": { "type": "structure", "members": { - "ChangeSource": { - "target": "com.amazonaws.cloudformation#ChangeSource", + "Target": { + "target": "com.amazonaws.cloudformation#ResourceTargetDefinition", "traits": { - "smithy.api#documentation": "

    The group to which the CausingEntity value belongs. There are five\n entity groups:

    \n
      \n
    • \n

      \n ResourceReference entities are Ref intrinsic functions that\n refer to resources in the template, such as { \"Ref\" : \"MyEC2InstanceResource\"\n }.

      \n
    • \n
    • \n

      \n ParameterReference entities are Ref intrinsic functions\n that get template parameter values, such as { \"Ref\" : \"MyPasswordParameter\"\n }.

      \n
    • \n
    • \n

      \n ResourceAttribute entities are Fn::GetAtt intrinsic\n functions that get resource attribute values, such as { \"Fn::GetAtt\" : [\n \"MyEC2InstanceResource\", \"PublicDnsName\" ] }.

      \n
    • \n
    • \n

      \n DirectModification entities are changes that are made directly to the\n template.

      \n
    • \n
    • \n

      \n Automatic entities are AWS::CloudFormation::Stack resource\n types, which are also known as nested stacks. If you made no changes to the\n AWS::CloudFormation::Stack resource, AWS CloudFormation sets the\n ChangeSource to Automatic because the nested stack's\n template might have changed. Changes to a nested stack's template aren't visible to\n AWS CloudFormation until you run an update on the parent stack.

      \n
    • \n
    " + "smithy.api#documentation": "

    A ResourceTargetDefinition structure that describes the field that AWS\n CloudFormation will change and whether the resource will be recreated.

    " } }, "Evaluation": { @@ -5057,10 +5095,10 @@ "smithy.api#documentation": "

    Indicates whether AWS CloudFormation can determine the target value, and whether the\n target value will change before you execute a change set.

    \n

    For Static evaluations, AWS CloudFormation can determine that the target\n value will change, and its value. For example, if you directly modify the\n InstanceType property of an EC2 instance, AWS CloudFormation knows that\n this property value will change, and its value, so this is a Static\n evaluation.

    \n

    For Dynamic evaluations, cannot determine the target value because it\n depends on the result of an intrinsic function, such as a Ref or\n Fn::GetAtt intrinsic function, when the stack is updated. For example, if\n your template includes a reference to a resource that is conditionally recreated, the value\n of the reference (the physical ID of the resource) might change, depending on if the\n resource is recreated. If the resource is recreated, it will have a new physical ID, so all\n references to that resource will also be updated.

    " } }, - "Target": { - "target": "com.amazonaws.cloudformation#ResourceTargetDefinition", + "ChangeSource": { + "target": "com.amazonaws.cloudformation#ChangeSource", "traits": { - "smithy.api#documentation": "

    A ResourceTargetDefinition structure that describes the field that AWS\n CloudFormation will change and whether the resource will be recreated.

    " + "smithy.api#documentation": "

    The group to which the CausingEntity value belongs. There are five\n entity groups:

    \n
      \n
    • \n

      \n ResourceReference entities are Ref intrinsic functions that\n refer to resources in the template, such as { \"Ref\" : \"MyEC2InstanceResource\"\n }.

      \n
    • \n
    • \n

      \n ParameterReference entities are Ref intrinsic functions\n that get template parameter values, such as { \"Ref\" : \"MyPasswordParameter\"\n }.

      \n
    • \n
    • \n

      \n ResourceAttribute entities are Fn::GetAtt intrinsic\n functions that get resource attribute values, such as { \"Fn::GetAtt\" : [\n \"MyEC2InstanceResource\", \"PublicDnsName\" ] }.

      \n
    • \n
    • \n

      \n DirectModification entities are changes that are made directly to the\n template.

      \n
    • \n
    • \n

      \n Automatic entities are AWS::CloudFormation::Stack resource\n types, which are also known as nested stacks. If you made no changes to the\n AWS::CloudFormation::Stack resource, AWS CloudFormation sets the\n ChangeSource to Automatic because the nested stack's\n template might have changed. Changes to a nested stack's template aren't visible to\n AWS CloudFormation until you run an update on the parent stack.

      \n
    • \n
    " } }, "CausingEntity": { @@ -5128,17 +5166,17 @@ "smithy.api#documentation": "

    The template resource type of the target resources, such as\n AWS::S3::Bucket.

    " } }, - "ResourceIdentifiers": { - "target": "com.amazonaws.cloudformation#ResourceIdentifiers", - "traits": { - "smithy.api#documentation": "

    The resource properties you can provide during the import to identify your target\n resources. For example, BucketName is a possible identifier property for\n AWS::S3::Bucket resources.

    " - } - }, "LogicalResourceIds": { "target": "com.amazonaws.cloudformation#LogicalResourceIds", "traits": { "smithy.api#documentation": "

    The logical IDs of the target resources of the specified ResourceType, as\n defined in the import template.

    " } + }, + "ResourceIdentifiers": { + "target": "com.amazonaws.cloudformation#ResourceIdentifiers", + "traits": { + "smithy.api#documentation": "

    The resource properties you can provide during the import to identify your target\n resources. For example, BucketName is a possible identifier property for\n AWS::S3::Bucket resources.

    " + } } }, "traits": { @@ -5264,12 +5302,6 @@ "com.amazonaws.cloudformation#ResourceTargetDefinition": { "type": "structure", "members": { - "RequiresRecreation": { - "target": "com.amazonaws.cloudformation#RequiresRecreation", - "traits": { - "smithy.api#documentation": "

    If the Attribute value is Properties, indicates whether a\n change to this property causes the resource to be recreated. The value can be\n Never, Always, or Conditionally. To determine the\n conditions for a Conditionally recreation, see the update behavior for that\n property in the AWS CloudFormation User Guide.

    " - } - }, "Attribute": { "target": "com.amazonaws.cloudformation#ResourceAttribute", "traits": { @@ -5281,6 +5313,12 @@ "traits": { "smithy.api#documentation": "

    If the Attribute value is Properties, the name of the\n property. For all other attributes, the value is null.

    " } + }, + "RequiresRecreation": { + "target": "com.amazonaws.cloudformation#RequiresRecreation", + "traits": { + "smithy.api#documentation": "

    If the Attribute value is Properties, indicates whether a\n change to this property causes the resource to be recreated. The value can be\n Never, Always, or Conditionally. To determine the\n conditions for a Conditionally recreation, see the update behavior for that\n property in the AWS CloudFormation User Guide.

    " + } } }, "traits": { @@ -5290,13 +5328,6 @@ "com.amazonaws.cloudformation#ResourceToImport": { "type": "structure", "members": { - "ResourceIdentifier": { - "target": "com.amazonaws.cloudformation#ResourceIdentifierProperties", - "traits": { - "smithy.api#documentation": "

    A key-value pair that identifies the target resource. The key is an identifier property\n (for example, BucketName for AWS::S3::Bucket resources) and the\n value is the actual property value (for example, MyS3Bucket).

    ", - "smithy.api#required": {} - } - }, "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { @@ -5310,6 +5341,13 @@ "smithy.api#documentation": "

    The logical ID of the target resource as specified in the template.

    ", "smithy.api#required": {} } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.cloudformation#ResourceIdentifierProperties", + "traits": { + "smithy.api#documentation": "

    A key-value pair that identifies the target resource. The key is an identifier property\n (for example, BucketName for AWS::S3::Bucket resources) and the\n value is the actual property value (for example, MyS3Bucket).

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -5536,17 +5574,17 @@ "smithy.api#documentation": "

    The kind of type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } }, - "VersionId": { - "target": "com.amazonaws.cloudformation#TypeVersionId", - "traits": { - "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    " - } - }, "TypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { "smithy.api#documentation": "

    The name of the type.

    \n

    Conditional: You must specify either TypeName and Type, or Arn.

    " } + }, + "VersionId": { + "target": "com.amazonaws.cloudformation#TypeVersionId", + "traits": { + "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    " + } } } }, @@ -5573,6 +5611,13 @@ "smithy.api#required": {} } }, + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

    The logical ID of the resource that you want to signal. The logical ID is the name of\n the resource that given in the template.

    ", + "smithy.api#required": {} + } + }, "UniqueId": { "target": "com.amazonaws.cloudformation#ResourceSignalUniqueId", "traits": { @@ -5586,13 +5631,6 @@ "smithy.api#documentation": "

    The status of the signal, which is either success or failure. A failure signal causes\n AWS CloudFormation to immediately fail the stack creation or update.

    ", "smithy.api#required": {} } - }, - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", - "traits": { - "smithy.api#documentation": "

    The logical ID of the resource that you want to signal. The logical ID is the name of\n the resource that given in the template.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -5602,6 +5640,12 @@ "com.amazonaws.cloudformation#Stack": { "type": "structure", "members": { + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", + "traits": { + "smithy.api#documentation": "

    Unique identifier of the stack.

    " + } + }, "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { @@ -5609,16 +5653,16 @@ "smithy.api#required": {} } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "ChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

    Unique identifier of the stack.

    " + "smithy.api#documentation": "

    The unique ID of the change set.

    " } }, - "Outputs": { - "target": "com.amazonaws.cloudformation#Outputs", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    A list of output structures.

    " + "smithy.api#documentation": "

    A user-defined description associated with the stack.

    " } }, "Parameters": { @@ -5627,52 +5671,36 @@ "smithy.api#documentation": "

    A list of Parameter structures.

    " } }, - "DriftInformation": { - "target": "com.amazonaws.cloudformation#StackDriftInformation", - "traits": { - "smithy.api#documentation": "

    Information on whether a stack's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " - } - }, - "RoleARN": { - "target": "com.amazonaws.cloudformation#RoleARN", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that is associated with the stack. During a stack operation, AWS CloudFormation uses this\n role's credentials to make calls on your behalf.

    " - } - }, - "ParentId": { - "target": "com.amazonaws.cloudformation#StackId", - "traits": { - "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n direct parent of this stack. For the first level of nested stacks, the root stack is also\n the parent stack.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " - } - }, - "NotificationARNs": { - "target": "com.amazonaws.cloudformation#NotificationARNs", + "CreationTime": { + "target": "com.amazonaws.cloudformation#CreationTime", "traits": { - "smithy.api#documentation": "

    SNS topic ARNs to which stack related events are published.

    " + "smithy.api#documentation": "

    The time at which the stack was created.

    ", + "smithy.api#required": {} } }, - "ChangeSetId": { - "target": "com.amazonaws.cloudformation#ChangeSetId", + "DeletionTime": { + "target": "com.amazonaws.cloudformation#DeletionTime", "traits": { - "smithy.api#documentation": "

    The unique ID of the change set.

    " + "smithy.api#documentation": "

    The time the stack was deleted.

    " } }, - "Capabilities": { - "target": "com.amazonaws.cloudformation#Capabilities", + "LastUpdatedTime": { + "target": "com.amazonaws.cloudformation#LastUpdatedTime", "traits": { - "smithy.api#documentation": "

    The capabilities allowed in the stack.

    " + "smithy.api#documentation": "

    The time the stack was last updated. This field will only be returned if the stack\n has been updated at least once.

    " } }, - "TimeoutInMinutes": { - "target": "com.amazonaws.cloudformation#TimeoutMinutes", + "RollbackConfiguration": { + "target": "com.amazonaws.cloudformation#RollbackConfiguration", "traits": { - "smithy.api#documentation": "

    The amount of time within which stack creation should complete.

    " + "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " } }, - "LastUpdatedTime": { - "target": "com.amazonaws.cloudformation#LastUpdatedTime", + "StackStatus": { + "target": "com.amazonaws.cloudformation#StackStatus", "traits": { - "smithy.api#documentation": "

    The time the stack was last updated. This field will only be returned if the stack\n has been updated at least once.

    " + "smithy.api#documentation": "

    Current status of the stack.

    ", + "smithy.api#required": {} } }, "StackStatusReason": { @@ -5687,42 +5715,40 @@ "smithy.api#documentation": "

    Boolean to enable or disable rollback on stack creation failures:

    \n
      \n
    • \n

      \n true: disable rollback

      \n
    • \n
    • \n

      \n false: enable rollback

      \n
    • \n
    " } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "NotificationARNs": { + "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

    A list of Tags that specify information about the stack.

    " + "smithy.api#documentation": "

    SNS topic ARNs to which stack related events are published.

    " } }, - "CreationTime": { - "target": "com.amazonaws.cloudformation#CreationTime", + "TimeoutInMinutes": { + "target": "com.amazonaws.cloudformation#TimeoutMinutes", "traits": { - "smithy.api#documentation": "

    The time at which the stack was created.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The amount of time within which stack creation should complete.

    " } }, - "StackStatus": { - "target": "com.amazonaws.cloudformation#StackStatus", + "Capabilities": { + "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

    Current status of the stack.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The capabilities allowed in the stack.

    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "Outputs": { + "target": "com.amazonaws.cloudformation#Outputs", "traits": { - "smithy.api#documentation": "

    A user-defined description associated with the stack.

    " + "smithy.api#documentation": "

    A list of output structures.

    " } }, - "DeletionTime": { - "target": "com.amazonaws.cloudformation#DeletionTime", + "RoleARN": { + "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

    The time the stack was deleted.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that is associated with the stack. During a stack operation, AWS CloudFormation uses this\n role's credentials to make calls on your behalf.

    " } }, - "RollbackConfiguration": { - "target": "com.amazonaws.cloudformation#RollbackConfiguration", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " + "smithy.api#documentation": "

    A list of Tags that specify information about the stack.

    " } }, "EnableTerminationProtection": { @@ -5731,11 +5757,23 @@ "smithy.api#documentation": "

    Whether termination protection is enabled for the stack.

    \n

    For nested stacks,\n termination protection is set on the root stack and cannot be changed directly on the\n nested stack. For more information, see Protecting a Stack From Being\n Deleted in the AWS CloudFormation User Guide.

    " } }, + "ParentId": { + "target": "com.amazonaws.cloudformation#StackId", + "traits": { + "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n direct parent of this stack. For the first level of nested stacks, the root stack is also\n the parent stack.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " + } + }, "RootId": { "target": "com.amazonaws.cloudformation#StackId", "traits": { "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n top-level stack to which the nested stack ultimately belongs.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " } + }, + "DriftInformation": { + "target": "com.amazonaws.cloudformation#StackDriftInformation", + "traits": { + "smithy.api#documentation": "

    Information on whether a stack's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " + } } }, "traits": { @@ -5841,23 +5879,31 @@ "com.amazonaws.cloudformation#StackEvent": { "type": "structure", "members": { - "Timestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    Time the status was updated.

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

    The unique ID name of the instance of the stack.

    ", "smithy.api#required": {} } }, - "ResourceStatusReason": { - "target": "com.amazonaws.cloudformation#ResourceStatusReason", + "EventId": { + "target": "com.amazonaws.cloudformation#EventId", "traits": { - "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " + "smithy.api#documentation": "

    The unique ID of this event.

    ", + "smithy.api#required": {} } }, - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    The token passed to the operation that generated this event.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " + "smithy.api#documentation": "

    The name associated with a stack.

    ", + "smithy.api#required": {} + } + }, + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    " } }, "PhysicalResourceId": { @@ -5866,16 +5912,16 @@ "smithy.api#documentation": "

    The name or unique identifier associated with the physical instance of the\n resource.

    " } }, - "ResourceProperties": { - "target": "com.amazonaws.cloudformation#ResourceProperties", + "ResourceType": { + "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

    BLOB of the properties used to create the resource.

    " + "smithy.api#documentation": "

    Type of resource. (For more information, go to AWS\n Resource Types Reference in the AWS CloudFormation User Guide.)

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "Timestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    The name associated with a stack.

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

    Time the status was updated.

    ", "smithy.api#required": {} } }, @@ -5885,30 +5931,22 @@ "smithy.api#documentation": "

    Current status of the resource.

    " } }, - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", - "traits": { - "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    " - } - }, - "ResourceType": { - "target": "com.amazonaws.cloudformation#ResourceType", + "ResourceStatusReason": { + "target": "com.amazonaws.cloudformation#ResourceStatusReason", "traits": { - "smithy.api#documentation": "

    Type of resource. (For more information, go to AWS\n Resource Types Reference in the AWS CloudFormation User Guide.)

    " + "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " } }, - "EventId": { - "target": "com.amazonaws.cloudformation#EventId", + "ResourceProperties": { + "target": "com.amazonaws.cloudformation#ResourceProperties", "traits": { - "smithy.api#documentation": "

    The unique ID of this event.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    BLOB of the properties used to create the resource.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    The unique ID name of the instance of the stack.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The token passed to the operation that generated this event.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " } } }, @@ -5928,16 +5966,22 @@ "com.amazonaws.cloudformation#StackInstance": { "type": "structure", "members": { - "ParameterOverrides": { - "target": "com.amazonaws.cloudformation#Parameters", + "StackSetId": { + "target": "com.amazonaws.cloudformation#StackSetId", "traits": { - "smithy.api#documentation": "

    A list of parameters from the stack set template whose values have been overridden in\n this stack instance.

    " + "smithy.api#documentation": "

    The name or unique ID of the stack set that the stack instance is associated\n with.

    " } }, - "StatusReason": { - "target": "com.amazonaws.cloudformation#Reason", + "Region": { + "target": "com.amazonaws.cloudformation#Region", "traits": { - "smithy.api#documentation": "

    The explanation for the specific status code that is assigned to this stack\n instance.

    " + "smithy.api#documentation": "

    The name of the AWS Region that the stack instance is associated with.

    " + } + }, + "Account": { + "target": "com.amazonaws.cloudformation#Account", + "traits": { + "smithy.api#documentation": "

    [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

    " } }, "StackId": { @@ -5946,16 +5990,16 @@ "smithy.api#documentation": "

    The ID of the stack instance.

    " } }, - "Status": { - "target": "com.amazonaws.cloudformation#StackInstanceStatus", + "ParameterOverrides": { + "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

    The status of the stack instance, in terms of its synchronization with its associated\n stack set.

    \n
      \n
    • \n

      \n INOPERABLE: A DeleteStackInstances operation has\n failed and left the stack in an unstable state. Stacks in this state are excluded\n from further UpdateStackSet operations. You might need to perform a\n DeleteStackInstances operation, with RetainStacks set to\n true, to delete the stack instance, and then delete the stack\n manually.

      \n
    • \n
    • \n

      \n OUTDATED: The stack isn't currently up to date with the stack set\n because:

      \n
        \n
      • \n

        The associated stack failed during a CreateStackSet or\n UpdateStackSet operation.

        \n
      • \n
      • \n

        The stack was part of a CreateStackSet or\n UpdateStackSet operation that failed or was stopped before the\n stack was created or updated.

        \n
      • \n
      \n
    • \n
    • \n

      \n CURRENT: The stack is currently up to date with the stack\n set.

      \n
    • \n
    " + "smithy.api#documentation": "

    A list of parameters from the stack set template whose values have been overridden in\n this stack instance.

    " } }, - "Region": { - "target": "com.amazonaws.cloudformation#Region", + "Status": { + "target": "com.amazonaws.cloudformation#StackInstanceStatus", "traits": { - "smithy.api#documentation": "

    The name of the AWS Region that the stack instance is associated with.

    " + "smithy.api#documentation": "

    The status of the stack instance, in terms of its synchronization with its associated\n stack set.

    \n
      \n
    • \n

      \n INOPERABLE: A DeleteStackInstances operation has\n failed and left the stack in an unstable state. Stacks in this state are excluded\n from further UpdateStackSet operations. You might need to perform a\n DeleteStackInstances operation, with RetainStacks set to\n true, to delete the stack instance, and then delete the stack\n manually.

      \n
    • \n
    • \n

      \n OUTDATED: The stack isn't currently up to date with the stack set\n because:

      \n
        \n
      • \n

        The associated stack failed during a CreateStackSet or\n UpdateStackSet operation.

        \n
      • \n
      • \n

        The stack was part of a CreateStackSet or\n UpdateStackSet operation that failed or was stopped before the\n stack was created or updated.

        \n
      • \n
      \n
    • \n
    • \n

      \n CURRENT: The stack is currently up to date with the stack\n set.

      \n
    • \n
    " } }, "StackInstanceStatus": { @@ -5964,6 +6008,12 @@ "smithy.api#documentation": "

    The detailed status of the stack instance.

    " } }, + "StatusReason": { + "target": "com.amazonaws.cloudformation#Reason", + "traits": { + "smithy.api#documentation": "

    The explanation for the specific status code that is assigned to this stack\n instance.

    " + } + }, "OrganizationalUnitId": { "target": "com.amazonaws.cloudformation#OrganizationalUnitId", "traits": { @@ -5976,18 +6026,6 @@ "smithy.api#documentation": "

    Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

    \n
      \n
    • \n

      \n DRIFTED: The stack differs from the expected template and parameter\n configuration of the stack set to which it belongs. A stack instance is considered to\n have drifted if one or more of the resources in the associated stack have\n drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from\n its expected stack set configuration.

      \n
    • \n
    • \n

      \n IN_SYNC: The stack instance's actual configuration matches its\n expected stack set configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " } }, - "StackSetId": { - "target": "com.amazonaws.cloudformation#StackSetId", - "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that the stack instance is associated\n with.

    " - } - }, - "Account": { - "target": "com.amazonaws.cloudformation#Account", - "traits": { - "smithy.api#documentation": "

    [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

    " - } - }, "LastDriftCheckTimestamp": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { @@ -6127,16 +6165,10 @@ "com.amazonaws.cloudformation#StackInstanceSummary": { "type": "structure", "members": { - "OrganizationalUnitId": { - "target": "com.amazonaws.cloudformation#OrganizationalUnitId", - "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    " - } - }, - "Status": { - "target": "com.amazonaws.cloudformation#StackInstanceStatus", + "StackSetId": { + "target": "com.amazonaws.cloudformation#StackSetId", "traits": { - "smithy.api#documentation": "

    The status of the stack instance, in terms of its synchronization with its associated\n stack set.

    \n
      \n
    • \n

      \n INOPERABLE: A DeleteStackInstances operation has\n failed and left the stack in an unstable state. Stacks in this state are excluded\n from further UpdateStackSet operations. You might need to perform a\n DeleteStackInstances operation, with RetainStacks set to\n true, to delete the stack instance, and then delete the stack\n manually.

      \n
    • \n
    • \n

      \n OUTDATED: The stack isn't currently up to date with the stack set\n because:

      \n
        \n
      • \n

        The associated stack failed during a CreateStackSet or\n UpdateStackSet operation.

        \n
      • \n
      • \n

        The stack was part of a CreateStackSet or\n UpdateStackSet operation that failed or was stopped before the\n stack was created or updated.

        \n
      • \n
      \n
    • \n
    • \n

      \n CURRENT: The stack is currently up to date with the stack\n set.

      \n
    • \n
    " + "smithy.api#documentation": "

    The name or unique ID of the stack set that the stack instance is associated\n with.

    " } }, "Region": { @@ -6145,22 +6177,28 @@ "smithy.api#documentation": "

    The name of the AWS Region that the stack instance is associated with.

    " } }, + "Account": { + "target": "com.amazonaws.cloudformation#Account", + "traits": { + "smithy.api#documentation": "

    [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

    " + } + }, "StackId": { "target": "com.amazonaws.cloudformation#StackId", "traits": { "smithy.api#documentation": "

    The ID of the stack instance.

    " } }, - "StatusReason": { - "target": "com.amazonaws.cloudformation#Reason", + "Status": { + "target": "com.amazonaws.cloudformation#StackInstanceStatus", "traits": { - "smithy.api#documentation": "

    The explanation for the specific status code assigned to this stack\n instance.

    " + "smithy.api#documentation": "

    The status of the stack instance, in terms of its synchronization with its associated\n stack set.

    \n
      \n
    • \n

      \n INOPERABLE: A DeleteStackInstances operation has\n failed and left the stack in an unstable state. Stacks in this state are excluded\n from further UpdateStackSet operations. You might need to perform a\n DeleteStackInstances operation, with RetainStacks set to\n true, to delete the stack instance, and then delete the stack\n manually.

      \n
    • \n
    • \n

      \n OUTDATED: The stack isn't currently up to date with the stack set\n because:

      \n
        \n
      • \n

        The associated stack failed during a CreateStackSet or\n UpdateStackSet operation.

        \n
      • \n
      • \n

        The stack was part of a CreateStackSet or\n UpdateStackSet operation that failed or was stopped before the\n stack was created or updated.

        \n
      • \n
      \n
    • \n
    • \n

      \n CURRENT: The stack is currently up to date with the stack\n set.

      \n
    • \n
    " } }, - "DriftStatus": { - "target": "com.amazonaws.cloudformation#StackDriftStatus", + "StatusReason": { + "target": "com.amazonaws.cloudformation#Reason", "traits": { - "smithy.api#documentation": "

    Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

    \n
      \n
    • \n

      \n DRIFTED: The stack differs from the expected template and parameter\n configuration of the stack set to which it belongs. A stack instance is considered to\n have drifted if one or more of the resources in the associated stack have\n drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from\n its expected stack set configuration.

      \n
    • \n
    • \n

      \n IN_SYNC: The stack instance's actual configuration matches its\n expected stack set configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " + "smithy.api#documentation": "

    The explanation for the specific status code assigned to this stack\n instance.

    " } }, "StackInstanceStatus": { @@ -6169,22 +6207,22 @@ "smithy.api#documentation": "

    The detailed status of the stack instance.

    " } }, - "LastDriftCheckTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "OrganizationalUnitId": { + "target": "com.amazonaws.cloudformation#OrganizationalUnitId", "traits": { - "smithy.api#documentation": "

    Most recent time when CloudFormation performed a drift detection operation on the stack\n instance. This value will be NULL for any stack instance on which drift\n detection has not yet been performed.

    " + "smithy.api#documentation": "

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    " } }, - "Account": { - "target": "com.amazonaws.cloudformation#Account", + "DriftStatus": { + "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

    [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

    " + "smithy.api#documentation": "

    Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

    \n
      \n
    • \n

      \n DRIFTED: The stack differs from the expected template and parameter\n configuration of the stack set to which it belongs. A stack instance is considered to\n have drifted if one or more of the resources in the associated stack have\n drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from\n its expected stack set configuration.

      \n
    • \n
    • \n

      \n IN_SYNC: The stack instance's actual configuration matches its\n expected stack set configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " } }, - "StackSetId": { - "target": "com.amazonaws.cloudformation#StackSetId", + "LastDriftCheckTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that the stack instance is associated\n with.

    " + "smithy.api#documentation": "

    Most recent time when CloudFormation performed a drift detection operation on the stack\n instance. This value will be NULL for any stack instance on which drift\n detection has not yet been performed.

    " } } }, @@ -6243,35 +6281,43 @@ "com.amazonaws.cloudformation#StackResource": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    User defined description associated with the resource.

    " + "smithy.api#documentation": "

    The name associated with the stack.

    " } }, - "ResourceStatusReason": { - "target": "com.amazonaws.cloudformation#ResourceStatusReason", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " + "smithy.api#documentation": "

    Unique identifier of the stack.

    " } }, - "Timestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", "traits": { - "smithy.api#documentation": "

    Time the status was updated.

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

    The logical name of the resource specified in the template.

    ", "smithy.api#required": {} } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "PhysicalResourceId": { + "target": "com.amazonaws.cloudformation#PhysicalResourceId", "traits": { - "smithy.api#documentation": "

    The name associated with the stack.

    " + "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "ResourceType": { + "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

    Unique identifier of the stack.

    " + "smithy.api#documentation": "

    Type of resource. (For more information, go to AWS\n Resource Types Reference in the AWS CloudFormation User Guide.)

    ", + "smithy.api#required": {} + } + }, + "Timestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", + "traits": { + "smithy.api#documentation": "

    Time the status was updated.

    ", + "smithy.api#required": {} } }, "ResourceStatus": { @@ -6281,18 +6327,16 @@ "smithy.api#required": {} } }, - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", + "ResourceStatusReason": { + "target": "com.amazonaws.cloudformation#ResourceStatusReason", "traits": { - "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " } }, - "ResourceType": { - "target": "com.amazonaws.cloudformation#ResourceType", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    Type of resource. (For more information, go to AWS\n Resource Types Reference in the AWS CloudFormation User Guide.)

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    User defined description associated with the resource.

    " } }, "DriftInformation": { @@ -6301,10 +6345,10 @@ "smithy.api#documentation": "

    Information about whether the resource's actual configuration differs, or has\n drifted, from its expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " } }, - "PhysicalResourceId": { - "target": "com.amazonaws.cloudformation#PhysicalResourceId", + "ModuleInfo": { + "target": "com.amazonaws.cloudformation#ModuleInfo", "traits": { - "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    " + "smithy.api#documentation": "

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    " } } }, @@ -6315,19 +6359,31 @@ "com.amazonaws.cloudformation#StackResourceDetail": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    User defined description associated with the resource.

    " + "smithy.api#documentation": "

    The name associated with the stack.

    " } }, - "LastUpdatedTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    Time the status was updated.

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

    Unique identifier of the stack.

    " + } + }, + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    ", "smithy.api#required": {} } }, + "PhysicalResourceId": { + "target": "com.amazonaws.cloudformation#PhysicalResourceId", + "traits": { + "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    " + } + }, "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { @@ -6335,10 +6391,11 @@ "smithy.api#required": {} } }, - "ResourceStatusReason": { - "target": "com.amazonaws.cloudformation#ResourceStatusReason", + "LastUpdatedTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " + "smithy.api#documentation": "

    Time the status was updated.

    ", + "smithy.api#required": {} } }, "ResourceStatus": { @@ -6348,41 +6405,34 @@ "smithy.api#required": {} } }, - "Metadata": { - "target": "com.amazonaws.cloudformation#Metadata", - "traits": { - "smithy.api#documentation": "

    The content of the Metadata attribute declared for the resource. For\n more information, see Metadata\n Attribute in the AWS CloudFormation User Guide.

    " - } - }, - "PhysicalResourceId": { - "target": "com.amazonaws.cloudformation#PhysicalResourceId", + "ResourceStatusReason": { + "target": "com.amazonaws.cloudformation#ResourceStatusReason", "traits": { - "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    " + "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " } }, - "DriftInformation": { - "target": "com.amazonaws.cloudformation#StackResourceDriftInformation", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    Information about whether the resource's actual configuration differs, or has\n drifted, from its expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " + "smithy.api#documentation": "

    User defined description associated with the resource.

    " } }, - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", + "Metadata": { + "target": "com.amazonaws.cloudformation#Metadata", "traits": { - "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The content of the Metadata attribute declared for the resource. For\n more information, see Metadata\n Attribute in the AWS CloudFormation User Guide.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "DriftInformation": { + "target": "com.amazonaws.cloudformation#StackResourceDriftInformation", "traits": { - "smithy.api#documentation": "

    Unique identifier of the stack.

    " + "smithy.api#documentation": "

    Information about whether the resource's actual configuration differs, or has\n drifted, from its expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "ModuleInfo": { + "target": "com.amazonaws.cloudformation#ModuleInfo", "traits": { - "smithy.api#documentation": "

    The name associated with the stack.

    " + "smithy.api#documentation": "

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    " } } }, @@ -6393,10 +6443,11 @@ "com.amazonaws.cloudformation#StackResourceDrift": { "type": "structure", "members": { - "PropertyDifferences": { - "target": "com.amazonaws.cloudformation#PropertyDifferences", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    A collection of the resource properties whose actual values differ from their\n expected values. These will be present only for resources whose\n StackResourceDriftStatus is MODIFIED.\n

    " + "smithy.api#documentation": "

    The ID of the stack.

    ", + "smithy.api#required": {} } }, "LogicalResourceId": { @@ -6406,57 +6457,62 @@ "smithy.api#required": {} } }, - "Timestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "PhysicalResourceId": { + "target": "com.amazonaws.cloudformation#PhysicalResourceId", "traits": { - "smithy.api#documentation": "

    Time at which AWS CloudFormation performed drift detection on the stack resource.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    " } }, - "ActualProperties": { - "target": "com.amazonaws.cloudformation#Properties", + "PhysicalResourceIdContext": { + "target": "com.amazonaws.cloudformation#PhysicalResourceIdContext", "traits": { - "smithy.api#documentation": "

    A JSON structure containing the actual property values of the stack\n resource.

    \n

    For resources whose StackResourceDriftStatus is DELETED,\n this structure will not be present.

    " + "smithy.api#documentation": "

    Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs are not enough\n to uniquely identify that resource. Each context key-value pair specifies a unique resource\n that contains the targeted resource.

    " } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "ResourceType": { + "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

    The ID of the stack.

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

    The type of the resource.

    ", "smithy.api#required": {} } }, - "StackResourceDriftStatus": { - "target": "com.amazonaws.cloudformation#StackResourceDriftStatus", + "ExpectedProperties": { + "target": "com.amazonaws.cloudformation#Properties", "traits": { - "smithy.api#documentation": "

    Status of the resource's actual configuration compared to its expected\n configuration

    \n
      \n
    • \n

      \n DELETED: The resource differs from its expected template\n configuration because the resource has been deleted.

      \n
    • \n
    • \n

      \n MODIFIED: One or more resource properties differ from their\n expected values (as defined in the stack template and any values specified as\n template parameters).

      \n
    • \n
    • \n

      \n IN_SYNC: The resources's actual configuration matches its expected\n template configuration.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation does not currently return this value.

      \n
    • \n
    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A JSON structure containing the expected property values of the stack resource, as\n defined in the stack template and any values specified as template parameters.

    \n

    For resources whose StackResourceDriftStatus is DELETED,\n this structure will not be present.

    " } }, - "PhysicalResourceId": { - "target": "com.amazonaws.cloudformation#PhysicalResourceId", + "ActualProperties": { + "target": "com.amazonaws.cloudformation#Properties", "traits": { - "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of a\n resource supported by AWS CloudFormation.

    " + "smithy.api#documentation": "

    A JSON structure containing the actual property values of the stack\n resource.

    \n

    For resources whose StackResourceDriftStatus is DELETED,\n this structure will not be present.

    " } }, - "ExpectedProperties": { - "target": "com.amazonaws.cloudformation#Properties", + "PropertyDifferences": { + "target": "com.amazonaws.cloudformation#PropertyDifferences", "traits": { - "smithy.api#documentation": "

    A JSON structure containing the expected property values of the stack resource, as\n defined in the stack template and any values specified as template parameters.

    \n

    For resources whose StackResourceDriftStatus is DELETED,\n this structure will not be present.

    " + "smithy.api#documentation": "

    A collection of the resource properties whose actual values differ from their\n expected values. These will be present only for resources whose\n StackResourceDriftStatus is MODIFIED.\n

    " } }, - "PhysicalResourceIdContext": { - "target": "com.amazonaws.cloudformation#PhysicalResourceIdContext", + "StackResourceDriftStatus": { + "target": "com.amazonaws.cloudformation#StackResourceDriftStatus", "traits": { - "smithy.api#documentation": "

    Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs are not enough\n to uniquely identify that resource. Each context key-value pair specifies a unique resource\n that contains the targeted resource.

    " + "smithy.api#documentation": "

    Status of the resource's actual configuration compared to its expected\n configuration

    \n
      \n
    • \n

      \n DELETED: The resource differs from its expected template\n configuration because the resource has been deleted.

      \n
    • \n
    • \n

      \n MODIFIED: One or more resource properties differ from their\n expected values (as defined in the stack template and any values specified as\n template parameters).

      \n
    • \n
    • \n

      \n IN_SYNC: The resources's actual configuration matches its expected\n template configuration.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation does not currently return this value.

      \n
    • \n
    ", + "smithy.api#required": {} } }, - "ResourceType": { - "target": "com.amazonaws.cloudformation#ResourceType", + "Timestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    The type of the resource.

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

    Time at which AWS CloudFormation performed drift detection on the stack resource.

    ", "smithy.api#required": {} } + }, + "ModuleInfo": { + "target": "com.amazonaws.cloudformation#ModuleInfo", + "traits": { + "smithy.api#documentation": "

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    " + } } }, "traits": { @@ -6466,18 +6522,18 @@ "com.amazonaws.cloudformation#StackResourceDriftInformation": { "type": "structure", "members": { - "LastCheckTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", - "traits": { - "smithy.api#documentation": "

    When AWS CloudFormation last checked if the resource had drifted from its expected\n configuration.

    " - } - }, "StackResourceDriftStatus": { "target": "com.amazonaws.cloudformation#StackResourceDriftStatus", "traits": { "smithy.api#documentation": "

    Status of the resource's actual configuration compared to its expected\n configuration

    \n
      \n
    • \n

      \n DELETED: The resource differs from its expected configuration in\n that it has been deleted.

      \n
    • \n
    • \n

      \n MODIFIED: The resource differs from its expected\n configuration.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from\n its expected configuration.

      \n

      Any resources that do not currently support drift detection have a status of\n NOT_CHECKED. For more information, see Resources that Support Drift Detection.

      \n
    • \n
    • \n

      \n IN_SYNC: The resources's actual configuration matches its expected\n configuration.

      \n
    • \n
    ", "smithy.api#required": {} } + }, + "LastCheckTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", + "traits": { + "smithy.api#documentation": "

    When AWS CloudFormation last checked if the resource had drifted from its expected\n configuration.

    " + } } }, "traits": { @@ -6555,12 +6611,26 @@ "com.amazonaws.cloudformation#StackResourceSummary": { "type": "structure", "members": { + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    ", + "smithy.api#required": {} + } + }, "PhysicalResourceId": { "target": "com.amazonaws.cloudformation#PhysicalResourceId", "traits": { "smithy.api#documentation": "

    The name or unique identifier that corresponds to a physical instance ID of the\n resource.

    " } }, + "ResourceType": { + "target": "com.amazonaws.cloudformation#ResourceType", + "traits": { + "smithy.api#documentation": "

    Type of resource. (For more information, go to AWS\n Resource Types Reference in the AWS CloudFormation User Guide.)

    ", + "smithy.api#required": {} + } + }, "LastUpdatedTimestamp": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { @@ -6581,25 +6651,17 @@ "smithy.api#documentation": "

    Success/failure message associated with the resource.

    " } }, - "ResourceType": { - "target": "com.amazonaws.cloudformation#ResourceType", - "traits": { - "smithy.api#documentation": "

    Type of resource. (For more information, go to AWS\n Resource Types Reference in the AWS CloudFormation User Guide.)

    ", - "smithy.api#required": {} - } - }, - "LogicalResourceId": { - "target": "com.amazonaws.cloudformation#LogicalResourceId", - "traits": { - "smithy.api#documentation": "

    The logical name of the resource specified in the template.

    ", - "smithy.api#required": {} - } - }, "DriftInformation": { "target": "com.amazonaws.cloudformation#StackResourceDriftInformationSummary", "traits": { "smithy.api#documentation": "

    Information about whether the resource's actual configuration differs, or has\n drifted, from its expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " } + }, + "ModuleInfo": { + "target": "com.amazonaws.cloudformation#ModuleInfo", + "traits": { + "smithy.api#documentation": "

    Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

    " + } } }, "traits": { @@ -6615,34 +6677,40 @@ "com.amazonaws.cloudformation#StackSet": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", - "traits": { - "smithy.api#documentation": "

    A description of the stack set that you specify when the stack set is created or\n updated.

    " - } - }, "StackSetName": { "target": "com.amazonaws.cloudformation#StackSetName", "traits": { "smithy.api#documentation": "

    The name that's associated with the stack set.

    " } }, + "StackSetId": { + "target": "com.amazonaws.cloudformation#StackSetId", + "traits": { + "smithy.api#documentation": "

    The ID of the stack set.

    " + } + }, + "Description": { + "target": "com.amazonaws.cloudformation#Description", + "traits": { + "smithy.api#documentation": "

    A description of the stack set that you specify when the stack set is created or\n updated.

    " + } + }, "Status": { "target": "com.amazonaws.cloudformation#StackSetStatus", "traits": { "smithy.api#documentation": "

    The status of the stack set.

    " } }, - "Parameters": { - "target": "com.amazonaws.cloudformation#Parameters", + "TemplateBody": { + "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

    A list of input parameters for a stack set.

    " + "smithy.api#documentation": "

    The structure that contains the body of the template that was used to create or\n update the stack set.

    " } }, - "StackSetARN": { - "target": "com.amazonaws.cloudformation#StackSetARN", + "Parameters": { + "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the stack set.

    " + "smithy.api#documentation": "

    A list of input parameters for a stack set.

    " } }, "Capabilities": { @@ -6651,16 +6719,22 @@ "smithy.api#documentation": "

    The capabilities that are allowed in the stack set. Some stack set templates might\n include resources that can affect permissions in your AWS account—for example, by creating\n new AWS Identity and Access Management (IAM) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.\n

    " } }, - "AdministrationRoleARN": { - "target": "com.amazonaws.cloudformation#RoleARN", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the IAM role used to create or update the stack\n set.

    \n

    Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack\n Set Operations in the AWS CloudFormation User Guide.

    " + "smithy.api#documentation": "

    A list of tags that specify information about the stack set. A maximum number of 50\n tags can be specified.

    " } }, - "StackSetId": { - "target": "com.amazonaws.cloudformation#StackSetId", + "StackSetARN": { + "target": "com.amazonaws.cloudformation#StackSetARN", "traits": { - "smithy.api#documentation": "

    The ID of the stack set.

    " + "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the stack set.

    " + } + }, + "AdministrationRoleARN": { + "target": "com.amazonaws.cloudformation#RoleARN", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the IAM role used to create or update the stack\n set.

    \n

    Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack\n Set Operations in the AWS CloudFormation User Guide.

    " } }, "ExecutionRoleName": { @@ -6669,16 +6743,16 @@ "smithy.api#documentation": "

    The name of the IAM execution role used to create or update the stack set.

    \n

    Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.\n

    " } }, - "AutoDeployment": { - "target": "com.amazonaws.cloudformation#AutoDeployment", + "StackSetDriftDetectionDetails": { + "target": "com.amazonaws.cloudformation#StackSetDriftDetectionDetails", "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

    " + "smithy.api#documentation": "

    Detailed information about the drift status of the stack set.

    \n

    For stack sets, contains information about the last completed drift\n operation performed on the stack set. Information about drift operations currently in\n progress is not included.

    " } }, - "OrganizationalUnitIds": { - "target": "com.amazonaws.cloudformation#OrganizationalUnitIdList", + "AutoDeployment": { + "target": "com.amazonaws.cloudformation#AutoDeployment", "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    " + "smithy.api#documentation": "

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

    " } }, "PermissionModel": { @@ -6687,22 +6761,10 @@ "smithy.api#documentation": "

    Describes how the IAM roles required for stack set operations are created.

    \n
      \n
    • \n

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      \n
    • \n
    • \n

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      \n
    • \n
    " } }, - "TemplateBody": { - "target": "com.amazonaws.cloudformation#TemplateBody", - "traits": { - "smithy.api#documentation": "

    The structure that contains the body of the template that was used to create or\n update the stack set.

    " - } - }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", - "traits": { - "smithy.api#documentation": "

    A list of tags that specify information about the stack set. A maximum number of 50\n tags can be specified.

    " - } - }, - "StackSetDriftDetectionDetails": { - "target": "com.amazonaws.cloudformation#StackSetDriftDetectionDetails", + "OrganizationalUnitIds": { + "target": "com.amazonaws.cloudformation#OrganizationalUnitIdList", "traits": { - "smithy.api#documentation": "

    Detailed information about the drift status of the stack set.

    \n

    For stack sets, contains information about the last completed drift\n operation performed on the stack set. Information about drift operations currently in\n progress is not included.

    " + "smithy.api#documentation": "

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    " } } }, @@ -6716,16 +6778,16 @@ "com.amazonaws.cloudformation#StackSetDriftDetectionDetails": { "type": "structure", "members": { - "InSyncStackInstancesCount": { - "target": "com.amazonaws.cloudformation#InSyncStackInstancesCount", + "DriftStatus": { + "target": "com.amazonaws.cloudformation#StackSetDriftStatus", "traits": { - "smithy.api#documentation": "

    The number of stack instances which match the expected template and parameter\n configuration of the stack set.

    " + "smithy.api#documentation": "

    Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

    \n
      \n
    • \n

      \n DRIFTED: One or more of the stack instances belonging to the stack\n set stack differs from the expected template and parameter configuration. A stack\n instance is considered to have drifted if one or more of the resources in the\n associated stack have drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked the stack set for drift.

      \n
    • \n
    • \n

      \n IN_SYNC: All of the stack instances belonging to the stack set stack\n match from the expected template and parameter configuration.

      \n
    • \n
    " } }, - "FailedStackInstancesCount": { - "target": "com.amazonaws.cloudformation#FailedStackInstancesCount", + "DriftDetectionStatus": { + "target": "com.amazonaws.cloudformation#StackSetDriftDetectionStatus", "traits": { - "smithy.api#documentation": "

    The number of stack instances for which the drift detection operation failed.

    " + "smithy.api#documentation": "

    The status of the stack set drift detection operation.

    \n
      \n
    • \n

      \n COMPLETED: The drift detection operation completed without failing on\n any stack instances.

      \n
    • \n
    • \n

      \n FAILED: The drift detection operation exceeded the specified failure\n tolerance.

      \n
    • \n
    • \n

      \n PARTIAL_SUCCESS: The drift detection operation completed without\n exceeding the failure tolerance for the operation.

      \n
    • \n
    • \n

      \n IN_PROGRESS: The drift detection operation is currently being\n performed.

      \n
    • \n
    • \n

      \n STOPPED: The user has cancelled the drift detection operation.

      \n
    • \n
    " } }, "LastDriftCheckTimestamp": { @@ -6734,16 +6796,10 @@ "smithy.api#documentation": "

    Most recent time when CloudFormation performed a drift detection operation on the stack\n set. This value will be NULL for any stack set on which drift detection has\n not yet been performed.

    " } }, - "InProgressStackInstancesCount": { - "target": "com.amazonaws.cloudformation#InProgressStackInstancesCount", - "traits": { - "smithy.api#documentation": "

    The number of stack instances that are currently being checked for drift.

    " - } - }, - "DriftStatus": { - "target": "com.amazonaws.cloudformation#StackSetDriftStatus", + "TotalStackInstancesCount": { + "target": "com.amazonaws.cloudformation#TotalStackInstancesCount", "traits": { - "smithy.api#documentation": "

    Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

    \n
      \n
    • \n

      \n DRIFTED: One or more of the stack instances belonging to the stack\n set stack differs from the expected template and parameter configuration. A stack\n instance is considered to have drifted if one or more of the resources in the\n associated stack have drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked the stack set for drift.

      \n
    • \n
    • \n

      \n IN_SYNC: All of the stack instances belonging to the stack set stack\n match from the expected template and parameter configuration.

      \n
    • \n
    " + "smithy.api#documentation": "

    The total number of stack instances belonging to this stack set.

    \n

    The total number of stack instances is equal to the total of:

    \n
      \n
    • \n

      Stack instances that match the stack set configuration.

      \n
    • \n
    • \n

      Stack instances that have drifted from the stack set configuration.

      \n
    • \n
    • \n

      Stack instances where the drift detection operation has failed.

      \n
    • \n
    • \n

      Stack instances currently being checked for drift.

      \n
    • \n
    " } }, "DriftedStackInstancesCount": { @@ -6752,16 +6808,22 @@ "smithy.api#documentation": "

    The number of stack instances that have drifted from the expected template and parameter\n configuration of the stack set. A stack instance is considered to have drifted if one or\n more of the resources in the associated stack do not match their expected\n configuration.

    " } }, - "TotalStackInstancesCount": { - "target": "com.amazonaws.cloudformation#TotalStackInstancesCount", + "InSyncStackInstancesCount": { + "target": "com.amazonaws.cloudformation#InSyncStackInstancesCount", "traits": { - "smithy.api#documentation": "

    The total number of stack instances belonging to this stack set.

    \n

    The total number of stack instances is equal to the total of:

    \n
      \n
    • \n

      Stack instances that match the stack set configuration.

      \n
    • \n
    • \n

      Stack instances that have drifted from the stack set configuration.

      \n
    • \n
    • \n

      Stack instances where the drift detection operation has failed.

      \n
    • \n
    • \n

      Stack instances currently being checked for drift.

      \n
    • \n
    " + "smithy.api#documentation": "

    The number of stack instances which match the expected template and parameter\n configuration of the stack set.

    " } }, - "DriftDetectionStatus": { - "target": "com.amazonaws.cloudformation#StackSetDriftDetectionStatus", + "InProgressStackInstancesCount": { + "target": "com.amazonaws.cloudformation#InProgressStackInstancesCount", "traits": { - "smithy.api#documentation": "

    The status of the stack set drift detection operation.

    \n
      \n
    • \n

      \n COMPLETED: The drift detection operation completed without failing on\n any stack instances.

      \n
    • \n
    • \n

      \n FAILED: The drift detection operation exceeded the specified failure\n tolerance.

      \n
    • \n
    • \n

      \n PARTIAL_SUCCESS: The drift detection operation completed without\n exceeding the failure tolerance for the operation.

      \n
    • \n
    • \n

      \n IN_PROGRESS: The drift detection operation is currently being\n performed.

      \n
    • \n
    • \n

      \n STOPPED: The user has cancelled the drift detection operation.

      \n
    • \n
    " + "smithy.api#documentation": "

    The number of stack instances that are currently being checked for drift.

    " + } + }, + "FailedStackInstancesCount": { + "target": "com.amazonaws.cloudformation#FailedStackInstancesCount", + "traits": { + "smithy.api#documentation": "

    The number of stack instances for which the drift detection operation failed.

    " } } }, @@ -6862,16 +6924,10 @@ "smithy.api#documentation": "

    The unique ID of a stack set operation.

    " } }, - "Status": { - "target": "com.amazonaws.cloudformation#StackSetOperationStatus", - "traits": { - "smithy.api#documentation": "

    The status of the operation.

    \n
      \n
    • \n

      \n FAILED: The operation exceeded the specified failure tolerance.\n The failure tolerance value that you've set for an operation is applied for each\n Region during stack create and update operations. If the number of failed stacks\n within a Region exceeds the failure tolerance, the status of the operation in the\n Region is set to FAILED. This in turn sets the status of the operation\n as a whole to FAILED, and AWS CloudFormation cancels the operation in\n any remaining Regions.

      \n
    • \n
    • \n

      \n QUEUED: [Service-managed permissions] For automatic deployments that\n require a sequence of operations, the operation is queued to be performed. For more information, see the stack set operation status codes in the AWS CloudFormation User Guide.

      \n
    • \n
    • \n

      \n RUNNING: The operation is currently being performed.

      \n
    • \n
    • \n

      \n STOPPED: The user has cancelled the operation.

      \n
    • \n
    • \n

      \n STOPPING: The operation is in the process of stopping, at user\n request.

      \n
    • \n
    • \n

      \n SUCCEEDED: The operation completed creating or updating all the\n specified stacks without exceeding the failure tolerance for the operation.

      \n
    • \n
    " - } - }, - "EndTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "StackSetId": { + "target": "com.amazonaws.cloudformation#StackSetId", "traits": { - "smithy.api#documentation": "

    The time at which the stack set operation ended, across all accounts and Regions\n specified. Note that this doesn't necessarily mean that the stack set operation was\n successful, or even attempted, in each account or Region.

    " + "smithy.api#documentation": "

    The ID of the stack set.

    " } }, "Action": { @@ -6880,22 +6936,22 @@ "smithy.api#documentation": "

    The type of stack set operation: CREATE, UPDATE, or\n DELETE. Create and delete operations affect only the specified stack set\n instances that are associated with the specified stack set. Update operations affect both\n the stack set itself, as well as all associated stack set\n instances.

    " } }, - "StackSetDriftDetectionDetails": { - "target": "com.amazonaws.cloudformation#StackSetDriftDetectionDetails", + "Status": { + "target": "com.amazonaws.cloudformation#StackSetOperationStatus", "traits": { - "smithy.api#documentation": "

    Detailed information about the drift status of the stack set. This includes information\n about drift operations currently being performed on the stack set.

    \n

    this information will only be present for stack set operations whose Action\n type is DETECT_DRIFT.

    \n

    For more information, see Detecting Unmanaged\n Changes in Stack Sets in the AWS CloudFormation User Guide.

    " + "smithy.api#documentation": "

    The status of the operation.

    \n
      \n
    • \n

      \n FAILED: The operation exceeded the specified failure tolerance.\n The failure tolerance value that you've set for an operation is applied for each\n Region during stack create and update operations. If the number of failed stacks\n within a Region exceeds the failure tolerance, the status of the operation in the\n Region is set to FAILED. This in turn sets the status of the operation\n as a whole to FAILED, and AWS CloudFormation cancels the operation in\n any remaining Regions.

      \n
    • \n
    • \n

      \n QUEUED: [Service-managed permissions] For automatic deployments that\n require a sequence of operations, the operation is queued to be performed. For more information, see the stack set operation status codes in the AWS CloudFormation User Guide.

      \n
    • \n
    • \n

      \n RUNNING: The operation is currently being performed.

      \n
    • \n
    • \n

      \n STOPPED: The user has cancelled the operation.

      \n
    • \n
    • \n

      \n STOPPING: The operation is in the process of stopping, at user\n request.

      \n
    • \n
    • \n

      \n SUCCEEDED: The operation completed creating or updating all the\n specified stacks without exceeding the failure tolerance for the operation.

      \n
    • \n
    " } }, - "CreationTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "OperationPreferences": { + "target": "com.amazonaws.cloudformation#StackSetOperationPreferences", "traits": { - "smithy.api#documentation": "

    The time at which the operation was initiated. Note that the creation times for the\n stack set operation might differ from the creation time of the individual stacks\n themselves. This is because AWS CloudFormation needs to perform preparatory work for the\n operation, such as dispatching the work to the requested Regions, before actually creating\n the first stacks.

    " + "smithy.api#documentation": "

    The preferences for how AWS CloudFormation performs this stack set\n operation.

    " } }, - "ExecutionRoleName": { - "target": "com.amazonaws.cloudformation#ExecutionRoleName", + "RetainStacks": { + "target": "com.amazonaws.cloudformation#RetainStacksNullable", "traits": { - "smithy.api#documentation": "

    The name of the IAM execution role used to create or update the stack set.

    \n

    Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.\n

    " + "smithy.api#documentation": "

    For stack set operations of action type DELETE, specifies whether to\n remove the stack instances from the specified stack set, but doesn't delete the stacks. You\n can't reassociate a retained stack, or add an existing, saved stack to a new stack\n set.

    " } }, "AdministrationRoleARN": { @@ -6904,28 +6960,34 @@ "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the IAM role used to perform this stack set\n operation.

    \n

    Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Define Permissions for Multiple\n Administrators in the AWS CloudFormation User Guide.

    " } }, - "StackSetId": { - "target": "com.amazonaws.cloudformation#StackSetId", + "ExecutionRoleName": { + "target": "com.amazonaws.cloudformation#ExecutionRoleName", "traits": { - "smithy.api#documentation": "

    The ID of the stack set.

    " + "smithy.api#documentation": "

    The name of the IAM execution role used to create or update the stack set.

    \n

    Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.\n

    " } }, - "DeploymentTargets": { - "target": "com.amazonaws.cloudformation#DeploymentTargets", + "CreationTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts affected by the stack operation.

    " + "smithy.api#documentation": "

    The time at which the operation was initiated. Note that the creation times for the\n stack set operation might differ from the creation time of the individual stacks\n themselves. This is because AWS CloudFormation needs to perform preparatory work for the\n operation, such as dispatching the work to the requested Regions, before actually creating\n the first stacks.

    " } }, - "OperationPreferences": { - "target": "com.amazonaws.cloudformation#StackSetOperationPreferences", + "EndTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    The preferences for how AWS CloudFormation performs this stack set\n operation.

    " + "smithy.api#documentation": "

    The time at which the stack set operation ended, across all accounts and Regions\n specified. Note that this doesn't necessarily mean that the stack set operation was\n successful, or even attempted, in each account or Region.

    " + } + }, + "DeploymentTargets": { + "target": "com.amazonaws.cloudformation#DeploymentTargets", + "traits": { + "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts affected by the stack operation.

    " } }, - "RetainStacks": { - "target": "com.amazonaws.cloudformation#RetainStacksNullable", + "StackSetDriftDetectionDetails": { + "target": "com.amazonaws.cloudformation#StackSetDriftDetectionDetails", "traits": { - "smithy.api#documentation": "

    For stack set operations of action type DELETE, specifies whether to\n remove the stack instances from the specified stack set, but doesn't delete the stacks. You\n can't reassociate a retained stack, or add an existing, saved stack to a new stack\n set.

    " + "smithy.api#documentation": "

    Detailed information about the drift status of the stack set. This includes information\n about drift operations currently being performed on the stack set.

    \n

    this information will only be present for stack set operations whose Action\n type is DETECT_DRIFT.

    \n

    For more information, see Detecting Unmanaged\n Changes in Stack Sets in the AWS CloudFormation User Guide.

    " } } }, @@ -6961,12 +7023,6 @@ "smithy.api#documentation": "

    The order of the Regions in where you want to perform the stack operation.

    " } }, - "MaxConcurrentPercentage": { - "target": "com.amazonaws.cloudformation#MaxConcurrentPercentage", - "traits": { - "smithy.api#documentation": "

    The maximum percentage of accounts in which to perform this operation at one\n time.

    \n

    When calculating the number of accounts based on the specified percentage, AWS\n CloudFormation rounds down to the next whole number. This is true except in cases where\n rounding down would result is zero. In this case, CloudFormation sets the number as one\n instead.

    \n

    Note that this setting lets you specify the maximum for\n operations. For large deployments, under certain circumstances the actual number of\n accounts acted upon concurrently may be lower due to service throttling.

    \n

    Conditional: You must specify either MaxConcurrentCount or\n MaxConcurrentPercentage, but not both.

    " - } - }, "FailureToleranceCount": { "target": "com.amazonaws.cloudformation#FailureToleranceCount", "traits": { @@ -6984,6 +7040,12 @@ "traits": { "smithy.api#documentation": "

    The maximum number of accounts in which to perform this operation at one time. This\n is dependent on the value of\n FailureToleranceCount. MaxConcurrentCount is at most one more\n than the FailureToleranceCount.

    \n

    Note that this setting lets you specify the maximum for\n operations. For large deployments, under certain circumstances the actual number of\n accounts acted upon concurrently may be lower due to service throttling.

    \n

    Conditional: You must specify either MaxConcurrentCount or\n MaxConcurrentPercentage, but not both.

    " } + }, + "MaxConcurrentPercentage": { + "target": "com.amazonaws.cloudformation#MaxConcurrentPercentage", + "traits": { + "smithy.api#documentation": "

    The maximum percentage of accounts in which to perform this operation at one\n time.

    \n

    When calculating the number of accounts based on the specified percentage, AWS\n CloudFormation rounds down to the next whole number. This is true except in cases where\n rounding down would result is zero. In this case, CloudFormation sets the number as one\n instead.

    \n

    Note that this setting lets you specify the maximum for\n operations. For large deployments, under certain circumstances the actual number of\n accounts acted upon concurrently may be lower due to service throttling.

    \n

    Conditional: You must specify either MaxConcurrentCount or\n MaxConcurrentPercentage, but not both.

    " + } } }, "traits": { @@ -7021,41 +7083,41 @@ "com.amazonaws.cloudformation#StackSetOperationResultSummary": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.cloudformation#StackSetOperationResultStatus", - "traits": { - "smithy.api#documentation": "

    The result status of the stack set operation for the given account in the given\n Region.

    \n
      \n
    • \n

      \n CANCELLED: The operation in the specified account and Region has\n been cancelled. This is either because a user has stopped the stack set operation, or\n because the failure tolerance of the stack set operation has been exceeded.

      \n
    • \n
    • \n

      \n FAILED: The operation in the specified account and Region failed.

      \n

      If the stack set operation fails in enough accounts within a Region, the\n failure tolerance for the stack set operation as a whole might be exceeded.\n

      \n
    • \n
    • \n

      \n RUNNING: The operation in the specified account and Region is\n currently in progress.

      \n
    • \n
    • \n

      \n PENDING: The operation in the specified account and Region has yet\n to start.

      \n
    • \n
    • \n

      \n SUCCEEDED: The operation in the specified account and Region\n completed successfully.

      \n
    • \n
    " - } - }, - "OrganizationalUnitId": { - "target": "com.amazonaws.cloudformation#OrganizationalUnitId", - "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    " - } - }, "Account": { "target": "com.amazonaws.cloudformation#Account", "traits": { "smithy.api#documentation": "

    [Self-managed permissions] The name of the AWS account for this operation result.

    " } }, - "AccountGateResult": { - "target": "com.amazonaws.cloudformation#AccountGateResult", - "traits": { - "smithy.api#documentation": "

    The results of the account gate function AWS CloudFormation invokes, if present,\n before proceeding with stack set operations in an account

    " - } - }, "Region": { "target": "com.amazonaws.cloudformation#Region", "traits": { "smithy.api#documentation": "

    The name of the AWS Region for this operation result.

    " } }, + "Status": { + "target": "com.amazonaws.cloudformation#StackSetOperationResultStatus", + "traits": { + "smithy.api#documentation": "

    The result status of the stack set operation for the given account in the given\n Region.

    \n
      \n
    • \n

      \n CANCELLED: The operation in the specified account and Region has\n been cancelled. This is either because a user has stopped the stack set operation, or\n because the failure tolerance of the stack set operation has been exceeded.

      \n
    • \n
    • \n

      \n FAILED: The operation in the specified account and Region failed.

      \n

      If the stack set operation fails in enough accounts within a Region, the\n failure tolerance for the stack set operation as a whole might be exceeded.\n

      \n
    • \n
    • \n

      \n RUNNING: The operation in the specified account and Region is\n currently in progress.

      \n
    • \n
    • \n

      \n PENDING: The operation in the specified account and Region has yet\n to start.

      \n
    • \n
    • \n

      \n SUCCEEDED: The operation in the specified account and Region\n completed successfully.

      \n
    • \n
    " + } + }, "StatusReason": { "target": "com.amazonaws.cloudformation#Reason", "traits": { "smithy.api#documentation": "

    The reason for the assigned result status.

    " } + }, + "AccountGateResult": { + "target": "com.amazonaws.cloudformation#AccountGateResult", + "traits": { + "smithy.api#documentation": "

    The results of the account gate function AWS CloudFormation invokes, if present,\n before proceeding with stack set operations in an account

    " + } + }, + "OrganizationalUnitId": { + "target": "com.amazonaws.cloudformation#OrganizationalUnitId", + "traits": { + "smithy.api#documentation": "

    [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

    " + } } }, "traits": { @@ -7102,16 +7164,16 @@ "smithy.api#documentation": "

    The unique ID of the stack set operation.

    " } }, - "Status": { - "target": "com.amazonaws.cloudformation#StackSetOperationStatus", + "Action": { + "target": "com.amazonaws.cloudformation#StackSetOperationAction", "traits": { - "smithy.api#documentation": "

    The overall status of the operation.

    \n
      \n
    • \n

      \n FAILED: The operation exceeded the specified failure tolerance.\n The failure tolerance value that you've set for an operation is applied for each\n Region during stack create and update operations. If the number of failed stacks\n within a Region exceeds the failure tolerance, the status of the operation in the\n Region is set to FAILED. This in turn sets the status of the operation\n as a whole to FAILED, and AWS CloudFormation cancels the operation in\n any remaining Regions.

      \n
    • \n
    • \n

      \n QUEUED: [Service-managed permissions] For automatic deployments that\n require a sequence of operations, the operation is queued to be performed. For more information, see the stack set operation status codes in the AWS CloudFormation User Guide.

      \n
    • \n
    • \n

      \n RUNNING: The operation is currently being performed.

      \n
    • \n
    • \n

      \n STOPPED: The user has cancelled the operation.

      \n
    • \n
    • \n

      \n STOPPING: The operation is in the process of stopping, at user\n request.

      \n
    • \n
    • \n

      \n SUCCEEDED: The operation completed creating or updating all the\n specified stacks without exceeding the failure tolerance for the operation.

      \n
    • \n
    " + "smithy.api#documentation": "

    The type of operation: CREATE, UPDATE, or\n DELETE. Create and delete operations affect only the specified stack\n instances that are associated with the specified stack set. Update operations affect both\n the stack set itself as well as all associated stack set\n instances.

    " } }, - "EndTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", + "Status": { + "target": "com.amazonaws.cloudformation#StackSetOperationStatus", "traits": { - "smithy.api#documentation": "

    The time at which the stack set operation ended, across all accounts and Regions\n specified. Note that this doesn't necessarily mean that the stack set operation was\n successful, or even attempted, in each account or Region.

    " + "smithy.api#documentation": "

    The overall status of the operation.

    \n
      \n
    • \n

      \n FAILED: The operation exceeded the specified failure tolerance.\n The failure tolerance value that you've set for an operation is applied for each\n Region during stack create and update operations. If the number of failed stacks\n within a Region exceeds the failure tolerance, the status of the operation in the\n Region is set to FAILED. This in turn sets the status of the operation\n as a whole to FAILED, and AWS CloudFormation cancels the operation in\n any remaining Regions.

      \n
    • \n
    • \n

      \n QUEUED: [Service-managed permissions] For automatic deployments that\n require a sequence of operations, the operation is queued to be performed. For more information, see the stack set operation status codes in the AWS CloudFormation User Guide.

      \n
    • \n
    • \n

      \n RUNNING: The operation is currently being performed.

      \n
    • \n
    • \n

      \n STOPPED: The user has cancelled the operation.

      \n
    • \n
    • \n

      \n STOPPING: The operation is in the process of stopping, at user\n request.

      \n
    • \n
    • \n

      \n SUCCEEDED: The operation completed creating or updating all the\n specified stacks without exceeding the failure tolerance for the operation.

      \n
    • \n
    " } }, "CreationTimestamp": { @@ -7120,10 +7182,10 @@ "smithy.api#documentation": "

    The time at which the operation was initiated. Note that the creation times for the\n stack set operation might differ from the creation time of the individual stacks\n themselves. This is because AWS CloudFormation needs to perform preparatory work for the\n operation, such as dispatching the work to the requested Regions, before actually creating\n the first stacks.

    " } }, - "Action": { - "target": "com.amazonaws.cloudformation#StackSetOperationAction", + "EndTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

    The type of operation: CREATE, UPDATE, or\n DELETE. Create and delete operations affect only the specified stack\n instances that are associated with the specified stack set. Update operations affect both\n the stack set itself as well as all associated stack set\n instances.

    " + "smithy.api#documentation": "

    The time at which the stack set operation ended, across all accounts and Regions\n specified. Note that this doesn't necessarily mean that the stack set operation was\n successful, or even attempted, in each account or Region.

    " } } }, @@ -7153,30 +7215,6 @@ "com.amazonaws.cloudformation#StackSetSummary": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", - "traits": { - "smithy.api#documentation": "

    A description of the stack set that you specify when the stack set is created or\n updated.

    " - } - }, - "AutoDeployment": { - "target": "com.amazonaws.cloudformation#AutoDeployment", - "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organizational unit (OU).

    " - } - }, - "LastDriftCheckTimestamp": { - "target": "com.amazonaws.cloudformation#Timestamp", - "traits": { - "smithy.api#documentation": "

    Most recent time when CloudFormation performed a drift detection operation on the stack\n set. This value will be NULL for any stack set on which drift detection has\n not yet been performed.

    " - } - }, - "DriftStatus": { - "target": "com.amazonaws.cloudformation#StackDriftStatus", - "traits": { - "smithy.api#documentation": "

    Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

    \n
      \n
    • \n

      \n DRIFTED: One or more of the stack instances belonging to the stack\n set stack differs from the expected template and parameter configuration. A stack\n instance is considered to have drifted if one or more of the resources in the\n associated stack have drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked the stack set for drift.

      \n
    • \n
    • \n

      \n IN_SYNC: All of the stack instances belonging to the stack set stack\n match from the expected template and parameter configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " - } - }, "StackSetName": { "target": "com.amazonaws.cloudformation#StackSetName", "traits": { @@ -7189,17 +7227,41 @@ "smithy.api#documentation": "

    The ID of the stack set.

    " } }, + "Description": { + "target": "com.amazonaws.cloudformation#Description", + "traits": { + "smithy.api#documentation": "

    A description of the stack set that you specify when the stack set is created or\n updated.

    " + } + }, "Status": { "target": "com.amazonaws.cloudformation#StackSetStatus", "traits": { "smithy.api#documentation": "

    The status of the stack set.

    " } }, + "AutoDeployment": { + "target": "com.amazonaws.cloudformation#AutoDeployment", + "traits": { + "smithy.api#documentation": "

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organizational unit (OU).

    " + } + }, "PermissionModel": { "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { "smithy.api#documentation": "

    Describes how the IAM roles required for stack set operations are created.

    \n
      \n
    • \n

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      \n
    • \n
    • \n

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      \n
    • \n
    " } + }, + "DriftStatus": { + "target": "com.amazonaws.cloudformation#StackDriftStatus", + "traits": { + "smithy.api#documentation": "

    Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

    \n
      \n
    • \n

      \n DRIFTED: One or more of the stack instances belonging to the stack\n set stack differs from the expected template and parameter configuration. A stack\n instance is considered to have drifted if one or more of the resources in the\n associated stack have drifted.

      \n
    • \n
    • \n

      \n NOT_CHECKED: AWS CloudFormation has not checked the stack set for drift.

      \n
    • \n
    • \n

      \n IN_SYNC: All of the stack instances belonging to the stack set stack\n match from the expected template and parameter configuration.

      \n
    • \n
    • \n

      \n UNKNOWN: This value is reserved for future use.

      \n
    • \n
    " + } + }, + "LastDriftCheckTimestamp": { + "target": "com.amazonaws.cloudformation#Timestamp", + "traits": { + "smithy.api#documentation": "

    Most recent time when CloudFormation performed a drift detection operation on the stack\n set. This value will be NULL for any stack set on which drift detection has\n not yet been performed.

    " + } } }, "traits": { @@ -7319,73 +7381,73 @@ "com.amazonaws.cloudformation#StackSummary": { "type": "structure", "members": { - "DriftInformation": { - "target": "com.amazonaws.cloudformation#StackDriftInformationSummary", + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    Summarizes information on whether a stack's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " + "smithy.api#documentation": "

    Unique stack identifier.

    " } }, - "StackStatusReason": { - "target": "com.amazonaws.cloudformation#StackStatusReason", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    Success/Failure message associated with the stack status.

    " + "smithy.api#documentation": "

    The name associated with the stack.

    ", + "smithy.api#required": {} } }, - "DeletionTime": { - "target": "com.amazonaws.cloudformation#DeletionTime", + "TemplateDescription": { + "target": "com.amazonaws.cloudformation#TemplateDescription", "traits": { - "smithy.api#documentation": "

    The time the stack was deleted.

    " + "smithy.api#documentation": "

    The template description of the template used to create the stack.

    " } }, - "StackStatus": { - "target": "com.amazonaws.cloudformation#StackStatus", + "CreationTime": { + "target": "com.amazonaws.cloudformation#CreationTime", "traits": { - "smithy.api#documentation": "

    The current status of the stack.

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

    The time the stack was created.

    ", "smithy.api#required": {} } }, - "ParentId": { - "target": "com.amazonaws.cloudformation#StackId", + "LastUpdatedTime": { + "target": "com.amazonaws.cloudformation#LastUpdatedTime", "traits": { - "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n direct parent of this stack. For the first level of nested stacks, the root stack is also\n the parent stack.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " + "smithy.api#documentation": "

    The time the stack was last updated. This field will only be returned if the stack\n has been updated at least once.

    " } }, - "RootId": { - "target": "com.amazonaws.cloudformation#StackId", + "DeletionTime": { + "target": "com.amazonaws.cloudformation#DeletionTime", "traits": { - "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n top-level stack to which the nested stack ultimately belongs.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " + "smithy.api#documentation": "

    The time the stack was deleted.

    " } }, - "TemplateDescription": { - "target": "com.amazonaws.cloudformation#TemplateDescription", + "StackStatus": { + "target": "com.amazonaws.cloudformation#StackStatus", "traits": { - "smithy.api#documentation": "

    The template description of the template used to create the stack.

    " + "smithy.api#documentation": "

    The current status of the stack.

    ", + "smithy.api#required": {} } }, - "StackId": { - "target": "com.amazonaws.cloudformation#StackId", + "StackStatusReason": { + "target": "com.amazonaws.cloudformation#StackStatusReason", "traits": { - "smithy.api#documentation": "

    Unique stack identifier.

    " + "smithy.api#documentation": "

    Success/Failure message associated with the stack status.

    " } }, - "LastUpdatedTime": { - "target": "com.amazonaws.cloudformation#LastUpdatedTime", + "ParentId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    The time the stack was last updated. This field will only be returned if the stack\n has been updated at least once.

    " + "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n direct parent of this stack. For the first level of nested stacks, the root stack is also\n the parent stack.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " } }, - "CreationTime": { - "target": "com.amazonaws.cloudformation#CreationTime", + "RootId": { + "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

    The time the stack was created.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    For nested stacks--stacks created as resources for another stack--the stack ID of the\n top-level stack to which the nested stack ultimately belongs.

    \n

    For more information, see Working with Nested Stacks in the\n AWS CloudFormation User Guide.

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "DriftInformation": { + "target": "com.amazonaws.cloudformation#StackDriftInformationSummary", "traits": { - "smithy.api#documentation": "

    The name associated with the stack.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Summarizes information on whether a stack's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration\n Changes to Stacks and Resources.

    " } } }, @@ -7476,17 +7538,17 @@ "com.amazonaws.cloudformation#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.cloudformation#TagValue", + "Key": { + "target": "com.amazonaws.cloudformation#TagKey", "traits": { - "smithy.api#documentation": "

    \n Required. A string containing the value for this tag. You can specify\n a maximum of 256 characters for a tag value.

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

    \n Required. A string used to identify this tag. You can specify a\n maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the\n reserved prefix: aws:.

    ", "smithy.api#required": {} } }, - "Key": { - "target": "com.amazonaws.cloudformation#TagKey", + "Value": { + "target": "com.amazonaws.cloudformation#TagValue", "traits": { - "smithy.api#documentation": "

    \n Required. A string used to identify this tag. You can specify a\n maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the\n reserved prefix: aws:.

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

    \n Required. A string containing the value for this tag. You can specify\n a maximum of 256 characters for a tag value.

    ", "smithy.api#required": {} } } @@ -7545,12 +7607,6 @@ "smithy.api#documentation": "

    The name associated with the parameter.

    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", - "traits": { - "smithy.api#documentation": "

    User defined description associated with the parameter.

    " - } - }, "DefaultValue": { "target": "com.amazonaws.cloudformation#ParameterValue", "traits": { @@ -7562,6 +7618,12 @@ "traits": { "smithy.api#documentation": "

    Flag indicating whether the parameter should be displayed as plain text in logs and\n UIs.

    " } + }, + "Description": { + "target": "com.amazonaws.cloudformation#Description", + "traits": { + "smithy.api#documentation": "

    User defined description associated with the parameter.

    " + } } }, "traits": { @@ -7653,14 +7715,17 @@ "smithy.api#pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+" } }, + "com.amazonaws.cloudformation#TypeHierarchy": { + "type": "string" + }, "com.amazonaws.cloudformation#TypeName": { "type": "string", "traits": { "smithy.api#length": { "min": 10, - "max": 196 + "max": 204 }, - "smithy.api#pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}" + "smithy.api#pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}" } }, "com.amazonaws.cloudformation#TypeNotFoundException": { @@ -7694,10 +7759,10 @@ "com.amazonaws.cloudformation#TypeSummary": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "Type": { + "target": "com.amazonaws.cloudformation#RegistryType", "traits": { - "smithy.api#documentation": "

    The description of the type.

    " + "smithy.api#documentation": "

    The kind of type.

    " } }, "TypeName": { @@ -7706,10 +7771,10 @@ "smithy.api#documentation": "

    The name of the type.

    " } }, - "Type": { - "target": "com.amazonaws.cloudformation#RegistryType", + "DefaultVersionId": { + "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

    The kind of type.

    " + "smithy.api#documentation": "

    The ID of the default version of the type. The default version is used when the type version is not specified.

    \n

    To set the default version of a type, use \n SetTypeDefaultVersion\n .

    " } }, "TypeArn": { @@ -7724,10 +7789,10 @@ "smithy.api#documentation": "

    When the current default version of the type was registered.

    " } }, - "DefaultVersionId": { - "target": "com.amazonaws.cloudformation#TypeVersionId", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    The ID of the default version of the type. The default version is used when the type version is not specified.

    \n

    To set the default version of a type, use \n SetTypeDefaultVersion\n .

    " + "smithy.api#documentation": "

    The description of the type.

    " } } }, @@ -7754,34 +7819,34 @@ "com.amazonaws.cloudformation#TypeVersionSummary": { "type": "structure", "members": { - "IsDefaultVersion": { - "target": "com.amazonaws.cloudformation#IsDefaultVersion", + "Type": { + "target": "com.amazonaws.cloudformation#RegistryType", "traits": { - "smithy.api#documentation": "

    Whether the specified type version is set as the default version.

    " + "smithy.api#documentation": "

    The kind of type.

    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "TypeName": { + "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

    The description of the type version.

    " + "smithy.api#documentation": "

    The name of the type.

    " } }, - "Arn": { - "target": "com.amazonaws.cloudformation#TypeArn", + "VersionId": { + "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type version.

    " + "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    " } }, - "TypeName": { - "target": "com.amazonaws.cloudformation#TypeName", + "IsDefaultVersion": { + "target": "com.amazonaws.cloudformation#IsDefaultVersion", "traits": { - "smithy.api#documentation": "

    The name of the type.

    " + "smithy.api#documentation": "

    Whether the specified type version is set as the default version.

    " } }, - "Type": { - "target": "com.amazonaws.cloudformation#RegistryType", + "Arn": { + "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

    The kind of type.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the type version.

    " } }, "TimeCreated": { @@ -7790,10 +7855,10 @@ "smithy.api#documentation": "

    When the version was registered.

    " } }, - "VersionId": { - "target": "com.amazonaws.cloudformation#TypeVersionId", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

    " + "smithy.api#documentation": "

    The description of the type version.

    " } } }, @@ -7824,16 +7889,11 @@ "com.amazonaws.cloudformation#UpdateStackInput": { "type": "structure", "members": { - "StackPolicyDuringUpdateBody": { - "target": "com.amazonaws.cloudformation#StackPolicyDuringUpdateBody", - "traits": { - "smithy.api#documentation": "

    Structure containing the temporary overriding stack policy body. You can specify\n either the StackPolicyDuringUpdateBody or the\n StackPolicyDuringUpdateURL parameter, but not both.

    \n

    If you want to update protected resources, specify a temporary overriding stack\n policy during this update. If you do not specify a stack policy, the current policy that is\n associated with the stack will be used.

    " - } - }, - "Parameters": { - "target": "com.amazonaws.cloudformation#Parameters", + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

    A list of Parameter structures that specify input parameters for the\n stack. For more information, see the Parameter data\n type.

    " + "smithy.api#documentation": "

    The name or unique stack ID of the stack to update.

    ", + "smithy.api#required": {} } }, "TemplateBody": { @@ -7842,53 +7902,46 @@ "smithy.api#documentation": "

    Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. (For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.)

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

    " } }, - "StackPolicyBody": { - "target": "com.amazonaws.cloudformation#StackPolicyBody", - "traits": { - "smithy.api#documentation": "

    Structure containing a new stack policy body. You can specify either the\n StackPolicyBody or the StackPolicyURL parameter, but not\n both.

    \n

    You might update the stack policy, for example, in order to protect a new resource\n that you created during a stack update. If you do not specify a stack policy, the current\n policy that is associated with the stack is unchanged.

    " - } - }, - "StackPolicyDuringUpdateURL": { - "target": "com.amazonaws.cloudformation#StackPolicyDuringUpdateURL", + "TemplateURL": { + "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

    Location of a file containing the temporary overriding stack policy. The URL must\n point to a policy (max size: 16KB) located in an S3 bucket in the same Region as the stack.\n You can specify either the StackPolicyDuringUpdateBody or the\n StackPolicyDuringUpdateURL parameter, but not both.

    \n

    If you want to update protected resources, specify a temporary overriding stack\n policy during this update. If you do not specify a stack policy, the current policy that is\n associated with the stack will be used.

    " + "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template that\n is located in an Amazon S3 bucket. For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

    " } }, - "StackName": { - "target": "com.amazonaws.cloudformation#StackName", + "UsePreviousTemplate": { + "target": "com.amazonaws.cloudformation#UsePreviousTemplate", "traits": { - "smithy.api#documentation": "

    The name or unique stack ID of the stack to update.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Reuse the existing template that is associated with the stack that you are\n updating.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

    " } }, - "StackPolicyURL": { - "target": "com.amazonaws.cloudformation#StackPolicyURL", + "StackPolicyDuringUpdateBody": { + "target": "com.amazonaws.cloudformation#StackPolicyDuringUpdateBody", "traits": { - "smithy.api#documentation": "

    Location of a file containing the updated stack policy. The URL must point to a\n policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can\n specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

    \n

    You might update the stack policy, for example, in order to protect a new resource\n that you created during a stack update. If you do not specify a stack policy, the current\n policy that is associated with the stack is unchanged.

    " + "smithy.api#documentation": "

    Structure containing the temporary overriding stack policy body. You can specify\n either the StackPolicyDuringUpdateBody or the\n StackPolicyDuringUpdateURL parameter, but not both.

    \n

    If you want to update protected resources, specify a temporary overriding stack\n policy during this update. If you do not specify a stack policy, the current policy that is\n associated with the stack will be used.

    " } }, - "NotificationARNs": { - "target": "com.amazonaws.cloudformation#NotificationARNs", + "StackPolicyDuringUpdateURL": { + "target": "com.amazonaws.cloudformation#StackPolicyDuringUpdateURL", "traits": { - "smithy.api#documentation": "

    Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS\n CloudFormation associates with the stack. Specify an empty list to remove all notification\n topics.

    " + "smithy.api#documentation": "

    Location of a file containing the temporary overriding stack policy. The URL must\n point to a policy (max size: 16KB) located in an S3 bucket in the same Region as the stack.\n You can specify either the StackPolicyDuringUpdateBody or the\n StackPolicyDuringUpdateURL parameter, but not both.

    \n

    If you want to update protected resources, specify a temporary overriding stack\n policy during this update. If you do not specify a stack policy, the current policy that is\n associated with the stack will be used.

    " } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "Parameters": { + "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates\n these tags to supported resources in the stack. You can specify a maximum number of 50\n tags.

    \n

    If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's\n tags. If you specify an empty value, AWS CloudFormation removes all associated\n tags.

    " + "smithy.api#documentation": "

    A list of Parameter structures that specify input parameters for the\n stack. For more information, see the Parameter data\n type.

    " } }, - "TemplateURL": { - "target": "com.amazonaws.cloudformation#TemplateURL", + "Capabilities": { + "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template that\n is located in an Amazon S3 bucket. For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

    " + "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to update the stack.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one\n of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some template contain macros. Macros perform custom processing on templates; this\n can include simple actions like find-and-replace operations, all the way to extensive\n transformations of entire templates. Because of this, users typically create a change\n set from the processed template, so that they can review the changes resulting from\n the macros before actually updating the stack. If your stack template contains one or\n more macros, and you choose to update a stack directly from the processed template,\n without first reviewing the resulting changes in a change set, you must acknowledge\n this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

      \n

      If you want to update a stack\n from a stack template that contains macros and nested stacks,\n you must update the stack directly from the template using this capability.

      \n \n

      You should only update stacks directly from a stack template that contains\n macros if you know what processing the macro performs.

      \n

      Each macro relies on an underlying Lambda service function for processing stack\n templates. Be aware that the Lambda function owner can update the function\n operation without AWS CloudFormation being notified.

      \n
      \n

      For more information, see Using\n AWS CloudFormation Macros to Perform Custom Processing on\n Templates.

      \n
    • \n
    " } }, - "ClientRequestToken": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "ResourceTypes": { + "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

    A unique identifier for this UpdateStack request. Specify this token if\n you plan to retry requests so that AWS CloudFormation knows that you're not attempting to\n update a stack with the same name. You might retry UpdateStack requests to\n ensure that AWS CloudFormation successfully received them.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " + "smithy.api#documentation": "

    The template resource types that you have permissions to work with for this update\n stack action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

    \n

    If the list of resource types doesn't include a resource that you're updating, the\n stack update fails. By default, AWS CloudFormation grants permissions to all resource\n types. AWS Identity and Access Management (IAM) uses this parameter for AWS\n CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

    " } }, "RoleARN": { @@ -7897,28 +7950,40 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role\n that AWS CloudFormation assumes to update the stack. AWS CloudFormation uses the role's\n credentials to make calls on your behalf. AWS CloudFormation always uses this role for all\n future operations on the stack. As long as users have permission to operate on the stack,\n AWS CloudFormation uses this role even if the users don't have permission to pass it.\n Ensure that the role grants least privilege.

    \n

    If you don't specify a value, AWS CloudFormation uses the role that was previously\n associated with the stack. If no role is available, AWS CloudFormation uses a temporary\n session that is generated from your user credentials.

    " } }, - "UsePreviousTemplate": { - "target": "com.amazonaws.cloudformation#UsePreviousTemplate", - "traits": { - "smithy.api#documentation": "

    Reuse the existing template that is associated with the stack that you are\n updating.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

    " - } - }, "RollbackConfiguration": { "target": "com.amazonaws.cloudformation#RollbackConfiguration", "traits": { "smithy.api#documentation": "

    The rollback triggers for AWS CloudFormation to monitor during stack creation and\n updating operations, and for the specified monitoring period afterwards.

    " } }, - "ResourceTypes": { - "target": "com.amazonaws.cloudformation#ResourceTypes", + "StackPolicyBody": { + "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

    The template resource types that you have permissions to work with for this update\n stack action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

    \n

    If the list of resource types doesn't include a resource that you're updating, the\n stack update fails. By default, AWS CloudFormation grants permissions to all resource\n types. AWS Identity and Access Management (IAM) uses this parameter for AWS\n CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

    " + "smithy.api#documentation": "

    Structure containing a new stack policy body. You can specify either the\n StackPolicyBody or the StackPolicyURL parameter, but not\n both.

    \n

    You might update the stack policy, for example, in order to protect a new resource\n that you created during a stack update. If you do not specify a stack policy, the current\n policy that is associated with the stack is unchanged.

    " } }, - "Capabilities": { - "target": "com.amazonaws.cloudformation#Capabilities", + "StackPolicyURL": { + "target": "com.amazonaws.cloudformation#StackPolicyURL", "traits": { - "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to update the stack.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one\n of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some template contain macros. Macros perform custom processing on templates; this\n can include simple actions like find-and-replace operations, all the way to extensive\n transformations of entire templates. Because of this, users typically create a change\n set from the processed template, so that they can review the changes resulting from\n the macros before actually updating the stack. If your stack template contains one or\n more macros, and you choose to update a stack directly from the processed template,\n without first reviewing the resulting changes in a change set, you must acknowledge\n this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

      \n

      If you want to update a stack\n from a stack template that contains macros and nested stacks,\n you must update the stack directly from the template using this capability.

      \n \n

      You should only update stacks directly from a stack template that contains\n macros if you know what processing the macro performs.

      \n

      Each macro relies on an underlying Lambda service function for processing stack\n templates. Be aware that the Lambda function owner can update the function\n operation without AWS CloudFormation being notified.

      \n
      \n

      For more information, see Using\n AWS CloudFormation Macros to Perform Custom Processing on\n Templates.

      \n
    • \n
    " + "smithy.api#documentation": "

    Location of a file containing the updated stack policy. The URL must point to a\n policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can\n specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

    \n

    You might update the stack policy, for example, in order to protect a new resource\n that you created during a stack update. If you do not specify a stack policy, the current\n policy that is associated with the stack is unchanged.

    " + } + }, + "NotificationARNs": { + "target": "com.amazonaws.cloudformation#NotificationARNs", + "traits": { + "smithy.api#documentation": "

    Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS\n CloudFormation associates with the stack. Specify an empty list to remove all notification\n topics.

    " + } + }, + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", + "traits": { + "smithy.api#documentation": "

    Key-value pairs to associate with this stack. AWS CloudFormation also propagates\n these tags to supported resources in the stack. You can specify a maximum number of 50\n tags.

    \n

    If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's\n tags. If you specify an empty value, AWS CloudFormation removes all associated\n tags.

    " + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    A unique identifier for this UpdateStack request. Specify this token if\n you plan to retry requests so that AWS CloudFormation knows that you're not attempting to\n update a stack with the same name. You might retry UpdateStack requests to\n ensure that AWS CloudFormation successfully received them.

    \n

    All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

    \n

    In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

    " } } }, @@ -7961,19 +8026,6 @@ "com.amazonaws.cloudformation#UpdateStackInstancesInput": { "type": "structure", "members": { - "Accounts": { - "target": "com.amazonaws.cloudformation#AccountList", - "traits": { - "smithy.api#documentation": "

    [Self-managed permissions] The names of one or more AWS accounts for which you want to update parameter values\n for stack instances. The overridden parameter values will be applied to all stack instances\n in the specified accounts and Regions.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " - } - }, - "OperationId": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

    The unique identifier for this stack set operation.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.\n

    ", - "smithy.api#idempotencyToken": {} - } - }, "StackSetName": { "target": "com.amazonaws.cloudformation#StackSetNameOrId", "traits": { @@ -7981,6 +8033,12 @@ "smithy.api#required": {} } }, + "Accounts": { + "target": "com.amazonaws.cloudformation#AccountList", + "traits": { + "smithy.api#documentation": "

    [Self-managed permissions] The names of one or more AWS accounts for which you want to update parameter values\n for stack instances. The overridden parameter values will be applied to all stack instances\n in the specified accounts and Regions.

    \n

    You can specify Accounts or DeploymentTargets, but not both.

    " + } + }, "DeploymentTargets": { "target": "com.amazonaws.cloudformation#DeploymentTargets", "traits": { @@ -8005,6 +8063,13 @@ "traits": { "smithy.api#documentation": "

    Preferences for how AWS CloudFormation performs this stack set operation.

    " } + }, + "OperationId": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    The unique identifier for this stack set operation.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, the SDK generates one automatically.\n

    ", + "smithy.api#idempotencyToken": {} + } } } }, @@ -8068,16 +8133,17 @@ "com.amazonaws.cloudformation#UpdateStackSetInput": { "type": "structure", "members": { - "Parameters": { - "target": "com.amazonaws.cloudformation#Parameters", + "StackSetName": { + "target": "com.amazonaws.cloudformation#StackSetName", "traits": { - "smithy.api#documentation": "

    A list of input parameters for the stack set template.

    " + "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to update.

    ", + "smithy.api#required": {} } }, - "UsePreviousTemplate": { - "target": "com.amazonaws.cloudformation#UsePreviousTemplate", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    Use the existing template that's associated with the stack set that you're\n updating.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

    " + "smithy.api#documentation": "

    A brief description of updates that you are making.

    " } }, "TemplateBody": { @@ -8086,16 +8152,22 @@ "smithy.api#documentation": "

    The structure that contains the template body, with a minimum length of 1 byte and a\n maximum length of 51,200 bytes. For more information, see Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

    " } }, - "DeploymentTargets": { - "target": "com.amazonaws.cloudformation#DeploymentTargets", + "TemplateURL": { + "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts in which to update associated stack instances.

    \n

    To update all the stack instances associated with this stack set, do not specify DeploymentTargets or Regions.

    \n

    If the stack set update includes changes to the template (that is, if TemplateBody or TemplateURL is specified), or the Parameters, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

    " + "smithy.api#documentation": "

    The location of the file that contains the template body. The URL must point to a\n template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more\n information, see Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

    " } }, - "Regions": { - "target": "com.amazonaws.cloudformation#RegionList", + "UsePreviousTemplate": { + "target": "com.amazonaws.cloudformation#UsePreviousTemplate", "traits": { - "smithy.api#documentation": "

    The Regions in which to update associated stack instances. If you specify Regions, you\n must also specify accounts in which to update stack set instances.

    \n

    To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

    \n

    If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, AWS CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

    " + "smithy.api#documentation": "

    Use the existing template that's associated with the stack set that you're\n updating.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

    " + } + }, + "Parameters": { + "target": "com.amazonaws.cloudformation#Parameters", + "traits": { + "smithy.api#documentation": "

    A list of input parameters for the stack set template.

    " } }, "Capabilities": { @@ -8104,16 +8176,16 @@ "smithy.api#documentation": "

    In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for AWS CloudFormation to update the stack set and its associated stack\n instances.

    \n
      \n
    • \n

      \n CAPABILITY_IAM and CAPABILITY_NAMED_IAM\n

      \n

      Some stack templates might include resources that can affect permissions in\n your AWS account; for example, by creating new AWS Identity and Access Management\n (IAM) users. For those stacks sets, you must explicitly acknowledge this by\n specifying one of these capabilities.

      \n

      The following IAM resources require you to specify either the\n CAPABILITY_IAM or CAPABILITY_NAMED_IAM\n capability.

      \n
        \n
      • \n

        If you have IAM resources, you can specify either capability.

        \n
      • \n
      • \n

        If you have IAM resources with custom names, you must\n specify CAPABILITY_NAMED_IAM.

        \n
      • \n
      • \n

        If you don't specify either of these capabilities, AWS CloudFormation returns an\n InsufficientCapabilities error.

        \n
      • \n
      \n

      If your stack template contains these resources, we recommend that you review\n all permissions associated with them and edit their permissions if\n necessary.

      \n \n

      For more information, see Acknowledging IAM\n Resources in AWS CloudFormation Templates.

      \n
    • \n
    • \n

      \n CAPABILITY_AUTO_EXPAND\n

      \n

      Some templates contain macros. If your stack template contains one or more macros,\n and you choose to update a stack directly from the processed template, without first\n reviewing the resulting changes in a change set, you must acknowledge this\n capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on\n Templates.

      \n \n

      Stack sets do not currently support macros in stack templates. (This includes\n the AWS::Include and AWS::Serverless\n transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this\n capability, if you include a macro in your template the stack set operation will\n fail.

      \n
      \n
    • \n
    " } }, - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "Tags": { + "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

    A brief description of updates that you are making.

    " + "smithy.api#documentation": "

    The key-value pairs to associate with this stack set and the stacks created from it.\n AWS CloudFormation also propagates these tags to supported resources that are created in\n the stacks. You can specify a maximum number of 50 tags.

    \n

    If you specify tags for this parameter, those tags replace any list of tags that are\n currently associated with this stack set. This means:

    \n
      \n
    • \n

      If you don't specify this parameter, AWS CloudFormation doesn't modify the\n stack's tags.

      \n
    • \n
    • \n

      If you specify any tags using this parameter, you must\n specify all the tags that you want associated with this stack\n set, even tags you've specifed before (for example, when creating the stack set or\n during a previous update of the stack set.). Any tags that you don't include in the\n updated list of tags are removed from the stack set, and therefore from the stacks\n and resources as well.

      \n
    • \n
    • \n

      If you specify an empty value, AWS CloudFormation removes all currently\n associated tags.

      \n
    • \n
    \n

    If you specify new tags as part of an UpdateStackSet action, AWS\n CloudFormation checks to see if you have the required IAM permission to tag resources. If\n you omit tags that are currently associated with the stack set from the list of tags you\n specify, AWS CloudFormation assumes that you want to remove those tags from the stack set,\n and checks to see if you have permission to untag resources. If you don't have the\n necessary permission(s), the entire UpdateStackSet action fails with an\n access denied error, and the stack set is not updated.

    " } }, - "AutoDeployment": { - "target": "com.amazonaws.cloudformation#AutoDeployment", + "OperationPreferences": { + "target": "com.amazonaws.cloudformation#StackSetOperationPreferences", "traits": { - "smithy.api#documentation": "

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

    \n

    If you specify AutoDeployment, do not specify DeploymentTargets or Regions.

    " + "smithy.api#documentation": "

    Preferences for how AWS CloudFormation performs this stack set operation.

    " } }, "AdministrationRoleARN": { @@ -8122,54 +8194,47 @@ "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

    \n

    Specify an IAM role only if you are using customized administrator roles to control\n which users or groups can manage specific stack sets within the same administrator account.\n For more information, see Granting\n Permissions for Stack Set Operations in the\n AWS CloudFormation User Guide.

    \n

    If you specified a customized administrator role when you created the stack set, you\n must specify a customized administrator role, even if it is the same customized\n administrator role used with this stack set previously.

    " } }, - "TemplateURL": { - "target": "com.amazonaws.cloudformation#TemplateURL", - "traits": { - "smithy.api#documentation": "

    The location of the file that contains the template body. The URL must point to a\n template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more\n information, see Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

    " - } - }, "ExecutionRoleName": { "target": "com.amazonaws.cloudformation#ExecutionRoleName", "traits": { "smithy.api#documentation": "

    The name of the IAM execution role to use to update the stack set. If you do not specify\n an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role\n for the stack set operation.

    \n

    Specify an IAM role only if you are using customized execution roles to control which\n stack resources users and groups can include in their stack sets.\n

    \n

    If you specify a customized execution role, AWS CloudFormation uses that role to update the stack.\n If you do not specify a customized execution role, AWS CloudFormation performs the update using the role\n previously associated with the stack set, so long as you have permissions to perform\n operations on the stack set.

    " } }, - "Accounts": { - "target": "com.amazonaws.cloudformation#AccountList", + "DeploymentTargets": { + "target": "com.amazonaws.cloudformation#DeploymentTargets", "traits": { - "smithy.api#documentation": "

    [Self-managed permissions] The accounts in which to update associated stack instances. If you specify accounts, you\n must also specify the Regions in which to update stack set instances.

    \n

    To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

    \n

    If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, AWS CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

    " + "smithy.api#documentation": "

    [Service-managed permissions] The AWS Organizations accounts in which to update associated stack instances.

    \n

    To update all the stack instances associated with this stack set, do not specify DeploymentTargets or Regions.

    \n

    If the stack set update includes changes to the template (that is, if TemplateBody or TemplateURL is specified), or the Parameters, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

    " } }, - "OperationPreferences": { - "target": "com.amazonaws.cloudformation#StackSetOperationPreferences", + "PermissionModel": { + "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { - "smithy.api#documentation": "

    Preferences for how AWS CloudFormation performs this stack set operation.

    " + "smithy.api#documentation": "

    Describes how the IAM roles required for stack set operations are created. You cannot modify PermissionModel if there are stack instances associated with your stack set.

    \n
      \n
    • \n

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      \n
    • \n
    • \n

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      \n
    • \n
    " } }, - "Tags": { - "target": "com.amazonaws.cloudformation#Tags", + "AutoDeployment": { + "target": "com.amazonaws.cloudformation#AutoDeployment", "traits": { - "smithy.api#documentation": "

    The key-value pairs to associate with this stack set and the stacks created from it.\n AWS CloudFormation also propagates these tags to supported resources that are created in\n the stacks. You can specify a maximum number of 50 tags.

    \n

    If you specify tags for this parameter, those tags replace any list of tags that are\n currently associated with this stack set. This means:

    \n
      \n
    • \n

      If you don't specify this parameter, AWS CloudFormation doesn't modify the\n stack's tags.

      \n
    • \n
    • \n

      If you specify any tags using this parameter, you must\n specify all the tags that you want associated with this stack\n set, even tags you've specifed before (for example, when creating the stack set or\n during a previous update of the stack set.). Any tags that you don't include in the\n updated list of tags are removed from the stack set, and therefore from the stacks\n and resources as well.

      \n
    • \n
    • \n

      If you specify an empty value, AWS CloudFormation removes all currently\n associated tags.

      \n
    • \n
    \n

    If you specify new tags as part of an UpdateStackSet action, AWS\n CloudFormation checks to see if you have the required IAM permission to tag resources. If\n you omit tags that are currently associated with the stack set from the list of tags you\n specify, AWS CloudFormation assumes that you want to remove those tags from the stack set,\n and checks to see if you have permission to untag resources. If you don't have the\n necessary permission(s), the entire UpdateStackSet action fails with an\n access denied error, and the stack set is not updated.

    " + "smithy.api#documentation": "

    [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

    \n

    If you specify AutoDeployment, do not specify DeploymentTargets or Regions.

    " } }, - "StackSetName": { - "target": "com.amazonaws.cloudformation#StackSetName", + "OperationId": { + "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    The name or unique ID of the stack set that you want to update.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The unique ID for this stack set operation.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, AWS CloudFormation generates one\n automatically.

    \n

    Repeating this stack set operation with a new operation ID retries all stack\n instances whose status is OUTDATED.

    ", + "smithy.api#idempotencyToken": {} } }, - "PermissionModel": { - "target": "com.amazonaws.cloudformation#PermissionModels", + "Accounts": { + "target": "com.amazonaws.cloudformation#AccountList", "traits": { - "smithy.api#documentation": "

    Describes how the IAM roles required for stack set operations are created. You cannot modify PermissionModel if there are stack instances associated with your stack set.

    \n
      \n
    • \n

      With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

      \n
    • \n
    • \n

      With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

      \n
    • \n
    " + "smithy.api#documentation": "

    [Self-managed permissions] The accounts in which to update associated stack instances. If you specify accounts, you\n must also specify the Regions in which to update stack set instances.

    \n

    To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

    \n

    If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, AWS CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

    " } }, - "OperationId": { - "target": "com.amazonaws.cloudformation#ClientRequestToken", + "Regions": { + "target": "com.amazonaws.cloudformation#RegionList", "traits": { - "smithy.api#documentation": "

    The unique ID for this stack set operation.

    \n

    The operation ID also functions as an idempotency token, to ensure that AWS\n CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that AWS\n CloudFormation successfully received them.

    \n

    If you don't specify an operation ID, AWS CloudFormation generates one\n automatically.

    \n

    Repeating this stack set operation with a new operation ID retries all stack\n instances whose status is OUTDATED.

    ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

    The Regions in which to update associated stack instances. If you specify Regions, you\n must also specify accounts in which to update stack set instances.

    \n

    To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

    \n

    If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, AWS CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

    " } } } @@ -8257,17 +8322,17 @@ "com.amazonaws.cloudformation#ValidateTemplateInput": { "type": "structure", "members": { - "TemplateURL": { - "target": "com.amazonaws.cloudformation#TemplateURL", - "traits": { - "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to\n Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

    " - } - }, "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { "smithy.api#documentation": "

    Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information, go to Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

    " } + }, + "TemplateURL": { + "target": "com.amazonaws.cloudformation#TemplateURL", + "traits": { + "smithy.api#documentation": "

    Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to\n Template Anatomy\n in the AWS CloudFormation User Guide.

    \n

    Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

    " + } } }, "traits": { @@ -8277,16 +8342,16 @@ "com.amazonaws.cloudformation#ValidateTemplateOutput": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudformation#Description", + "Parameters": { + "target": "com.amazonaws.cloudformation#TemplateParameters", "traits": { - "smithy.api#documentation": "

    The description found within the template.

    " + "smithy.api#documentation": "

    A list of TemplateParameter structures.

    " } }, - "DeclaredTransforms": { - "target": "com.amazonaws.cloudformation#TransformsList", + "Description": { + "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

    A list of the transforms that are declared in the template.

    " + "smithy.api#documentation": "

    The description found within the template.

    " } }, "Capabilities": { @@ -8301,10 +8366,10 @@ "smithy.api#documentation": "

    The list of resources that generated the values in the Capabilities\n response element.

    " } }, - "Parameters": { - "target": "com.amazonaws.cloudformation#TemplateParameters", + "DeclaredTransforms": { + "target": "com.amazonaws.cloudformation#TransformsList", "traits": { - "smithy.api#documentation": "

    A list of TemplateParameter structures.

    " + "smithy.api#documentation": "

    A list of the transforms that are declared in the template.

    " } } }, diff --git a/codegen/sdk-codegen/aws-models/cloudtrail.2013-11-01.json b/codegen/sdk-codegen/aws-models/cloudtrail.2013-11-01.json index 0e22eddbb2857..0eaad8671fb19 100644 --- a/codegen/sdk-codegen/aws-models/cloudtrail.2013-11-01.json +++ b/codegen/sdk-codegen/aws-models/cloudtrail.2013-11-01.json @@ -99,6 +99,69 @@ "smithy.api#documentation": "

    Returns the objects or data listed below if successful. Otherwise, returns an error.

    " } }, + "com.amazonaws.cloudtrail#AdvancedEventSelector": { + "type": "structure", + "members": { + "FieldSelectors": { + "target": "com.amazonaws.cloudtrail#AdvancedFieldSelectors", + "traits": { + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.cloudtrail#SelectorName", + "traits": { + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.cloudtrail#AdvancedEventSelectors": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudtrail#AdvancedEventSelector" + } + }, + "com.amazonaws.cloudtrail#AdvancedFieldSelector": { + "type": "structure", + "members": { + "Field": { + "target": "com.amazonaws.cloudtrail#SelectorField", + "traits": { + "smithy.api#required": {} + } + }, + "StartsWith": { + "target": "com.amazonaws.cloudtrail#Operator" + }, + "NotStartsWith": { + "target": "com.amazonaws.cloudtrail#Operator" + }, + "EndsWith": { + "target": "com.amazonaws.cloudtrail#Operator" + }, + "Equals": { + "target": "com.amazonaws.cloudtrail#Operator" + }, + "NotEndsWith": { + "target": "com.amazonaws.cloudtrail#Operator" + }, + "NotEquals": { + "target": "com.amazonaws.cloudtrail#Operator" + } + } + }, + "com.amazonaws.cloudtrail#AdvancedFieldSelectors": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudtrail#AdvancedFieldSelector" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.cloudtrail#Boolean": { "type": "boolean", "traits": { @@ -332,34 +395,22 @@ "com.amazonaws.cloudtrail#CreateTrailRequest": { "type": "structure", "members": { - "SnsTopicName": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

    " - } - }, - "IncludeGlobalServiceEvents": { - "target": "com.amazonaws.cloudtrail#Boolean", - "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " - } - }, - "CloudWatchLogsLogGroupArn": { + "KmsKeyId": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group \n to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

    " + "smithy.api#documentation": "

    Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The\n value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully\n specified ARN to a key, or a globally unique identifier.

    \n

    Examples:

    \n
      \n
    • \n

      alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

      \n
    • \n
    • \n

      12345678-1234-1234-1234-123456789012

      \n
    • \n
    " } }, - "IsOrganizationTrail": { + "IsMultiRegionTrail": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. \n The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in \n AWS Organizations.

    " + "smithy.api#documentation": "

    Specifies whether the trail is created in the current region or in all regions. The default is false, which creates a trail only in the region where you are signed in. As a best practice, consider\n creating trails that log events in all regions.

    " } }, - "IsMultiRegionTrail": { + "EnableLogFileValidation": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is created in the current region or in all regions. The default is false, which creates a trail only in the region where you are signed in. As a best practice, consider\n creating trails that log events in all regions.

    " + "smithy.api#documentation": "

    Specifies whether log file integrity validation is enabled. The default is false.

    \n \n

    When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.

    \n
    " } }, "S3KeyPrefix": { @@ -368,10 +419,10 @@ "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

    " } }, - "EnableLogFileValidation": { - "target": "com.amazonaws.cloudtrail#Boolean", + "CloudWatchLogsLogGroupArn": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether log file integrity validation is enabled. The default is false.

    \n \n

    When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.

    \n
    " + "smithy.api#documentation": "

    Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group \n to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

    " } }, "Name": { @@ -381,26 +432,38 @@ "smithy.api#required": {} } }, - "CloudWatchLogsRoleArn": { + "S3BucketName": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " + "smithy.api#documentation": "

    Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

    ", + "smithy.api#required": {} + } + }, + "SnsTopicName": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

    " } }, "TagsList": { "target": "com.amazonaws.cloudtrail#TagsList" }, - "KmsKeyId": { - "target": "com.amazonaws.cloudtrail#String", + "IsOrganizationTrail": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The\n value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully\n specified ARN to a key, or a globally unique identifier.

    \n

    Examples:

    \n
      \n
    • \n

      alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

      \n
    • \n
    • \n

      12345678-1234-1234-1234-123456789012

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. \n The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in \n AWS Organizations.

    " } }, - "S3BucketName": { + "CloudWatchLogsRoleArn": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " + } + }, + "IncludeGlobalServiceEvents": { + "target": "com.amazonaws.cloudtrail#Boolean", + "traits": { + "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " } } }, @@ -411,23 +474,16 @@ "com.amazonaws.cloudtrail#CreateTrailResponse": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

    \n

    \n arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n

    " - } - }, - "SnsTopicName": { - "target": "com.amazonaws.cloudtrail#String", + "IncludeGlobalServiceEvents": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#deprecated": {}, - "smithy.api#documentation": "

    This field is no longer in use. Use SnsTopicARN.

    " + "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " } }, - "CloudWatchLogsRoleArn": { + "KmsKeyId": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " + "smithy.api#documentation": "

    Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

    \n

    \n arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n

    " } }, "IsOrganizationTrail": { @@ -436,10 +492,10 @@ "smithy.api#documentation": "

    Specifies whether the trail is an organization trail.

    " } }, - "Name": { + "CloudWatchLogsRoleArn": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the name of the trail.

    " + "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " } }, "IsMultiRegionTrail": { @@ -448,10 +504,10 @@ "smithy.api#documentation": "

    Specifies whether the trail exists in one region or in all regions.

    " } }, - "S3KeyPrefix": { + "CloudWatchLogsLogGroupArn": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files.

    " + "smithy.api#documentation": "

    Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

    " } }, "TrailARN": { @@ -460,22 +516,23 @@ "smithy.api#documentation": "

    Specifies the ARN of the trail that was created. The format of a trail ARN\n is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    " } }, - "SnsTopicARN": { - "target": "com.amazonaws.cloudtrail#String", + "LogFileValidationEnabled": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

    \n

    \n arn:aws:sns:us-east-2:123456789012:MyTopic\n

    " + "smithy.api#documentation": "

    Specifies whether log file integrity validation is enabled.

    " } }, - "IncludeGlobalServiceEvents": { - "target": "com.amazonaws.cloudtrail#Boolean", + "SnsTopicName": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " + "smithy.api#deprecated": {}, + "smithy.api#documentation": "

    This field is no longer in use. Use SnsTopicARN.

    " } }, - "CloudWatchLogsLogGroupArn": { + "SnsTopicARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

    " + "smithy.api#documentation": "

    Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

    \n

    \n arn:aws:sns:us-east-2:123456789012:MyTopic\n

    " } }, "S3BucketName": { @@ -484,10 +541,16 @@ "smithy.api#documentation": "

    Specifies the name of the Amazon S3 bucket designated for publishing log files.

    " } }, - "LogFileValidationEnabled": { - "target": "com.amazonaws.cloudtrail#Boolean", + "Name": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether log file integrity validation is enabled.

    " + "smithy.api#documentation": "

    Specifies the name of the trail.

    " + } + }, + "S3KeyPrefix": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files.

    " } } }, @@ -498,17 +561,17 @@ "com.amazonaws.cloudtrail#DataResource": { "type": "structure", "members": { - "Values": { - "target": "com.amazonaws.cloudtrail#DataResourceValues", - "traits": { - "smithy.api#documentation": "

    An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.

    \n
      \n
    • \n

      To log data events for all objects in all S3 buckets in your AWS account, specify the \n prefix as arn:aws:s3:::.

      \n \n

      This will also enable logging of data event activity performed by any user or role in your AWS account, \n even if that activity is performed on a bucket that belongs to another AWS account.

      \n
      \n
    • \n
    • \n

      To log data events for all objects in an S3 bucket, specify the bucket and an empty\n object prefix such as arn:aws:s3:::bucket-1/. The trail logs data events for\n all objects in this S3 bucket.

      \n
    • \n
    • \n

      To log data events for specific objects, specify the S3 bucket and object prefix such\n as arn:aws:s3:::bucket-1/example-images. The trail logs data events for\n objects in this S3 bucket that match the prefix.

      \n
    • \n
    • \n

      To log data events for all functions in your AWS account, specify the prefix as\n arn:aws:lambda.

      \n \n

      This will also enable logging of Invoke activity performed by any user or role in your AWS account, \n even if that activity is performed on a function that belongs to another AWS account.

      \n
      \n
    • \n
    • \n

      To log data events for a specific Lambda function, specify the function ARN.

      \n \n

      Lambda function ARNs are exact. For example, if you specify a \n function ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld, data events will\n only be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld. They will\n not be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld2.

      \n
      \n
    • \n
    " - } - }, "Type": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    The resource type in which you want to log data events. You can specify AWS::S3::Object or\n AWS::Lambda::Function resources.

    " } + }, + "Values": { + "target": "com.amazonaws.cloudtrail#DataResourceValues", + "traits": { + "smithy.api#documentation": "

    An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.

    \n
      \n
    • \n

      To log data events for all objects in all S3 buckets in your AWS account, specify the \n prefix as arn:aws:s3:::.

      \n \n

      This will also enable logging of data event activity performed by any user or role in your AWS account, \n even if that activity is performed on a bucket that belongs to another AWS account.

      \n
      \n
    • \n
    • \n

      To log data events for all objects in an S3 bucket, specify the bucket and an empty\n object prefix such as arn:aws:s3:::bucket-1/. The trail logs data events for\n all objects in this S3 bucket.

      \n
    • \n
    • \n

      To log data events for specific objects, specify the S3 bucket and object prefix such\n as arn:aws:s3:::bucket-1/example-images. The trail logs data events for\n objects in this S3 bucket that match the prefix.

      \n
    • \n
    • \n

      To log data events for all functions in your AWS account, specify the prefix as\n arn:aws:lambda.

      \n \n

      This will also enable logging of Invoke activity performed by any user or role in your AWS account, \n even if that activity is performed on a function that belongs to another AWS account.

      \n
      \n
    • \n
    • \n

      To log data events for a specific Lambda function, specify the function ARN.

      \n \n

      Lambda function ARNs are exact. For example, if you specify a \n function ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld, data events will\n only be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld. They will\n not be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld2.

      \n
      \n
    • \n
    " + } } }, "traits": { @@ -615,17 +678,17 @@ "com.amazonaws.cloudtrail#DescribeTrailsRequest": { "type": "structure", "members": { - "includeShadowTrails": { - "target": "com.amazonaws.cloudtrail#Boolean", - "traits": { - "smithy.api#documentation": "

    Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region,\n or in the case of an organization trail, the replication of an organization trail in member accounts. If you do not include shadow trails, organization trails in a member account\n and region replication trails will not be returned. The default is true.

    " - } - }, "trailNameList": { "target": "com.amazonaws.cloudtrail#TrailNameList", "traits": { "smithy.api#documentation": "

    Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    \n \n

    If an empty list is specified, information for the trail in the current region is returned.

    \n
      \n
    • \n

      If an empty list is specified and IncludeShadowTrails is false, then\n information for all trails in the current region is returned.

      \n
    • \n
    • \n

      If an empty list is specified and IncludeShadowTrails is null or true, then information for all trails in the current region and any associated shadow trails in other regions is returned.

      \n
    • \n
    \n \n

    If one or more trail names are specified, information is returned only if the names match the names of trails belonging only to the current region. To return information about a trail in another region, you must specify its trail ARN.

    \n
    " } + }, + "includeShadowTrails": { + "target": "com.amazonaws.cloudtrail#Boolean", + "traits": { + "smithy.api#documentation": "

    Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region,\n or in the case of an organization trail, the replication of an organization trail in member accounts. If you do not include shadow trails, organization trails in a member account\n and region replication trails will not be returned. The default is true.

    " + } } }, "traits": { @@ -652,34 +715,16 @@ "com.amazonaws.cloudtrail#Event": { "type": "structure", "members": { - "ReadOnly": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Information about whether the event is a write event or a read event.

    " - } - }, - "Resources": { - "target": "com.amazonaws.cloudtrail#ResourceList", - "traits": { - "smithy.api#documentation": "

    A list of resources referenced by the event returned.

    " - } - }, - "EventName": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    The name of the event returned.

    " - } - }, "AccessKeyId": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    The AWS access key ID that was used to sign the request. If the request was made \n with temporary security credentials, this is the access key ID of the temporary credentials.

    " } }, - "EventId": { + "EventSource": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The CloudTrail ID of the event returned.

    " + "smithy.api#documentation": "

    The AWS service that the request was made to.

    " } }, "EventTime": { @@ -694,16 +739,34 @@ "smithy.api#documentation": "

    A user name or role name of the requester that called the API in the event returned.

    " } }, + "ReadOnly": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Information about whether the event is a write event or a read event.

    " + } + }, "CloudTrailEvent": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    A JSON string that contains a representation of the event returned.

    " } }, - "EventSource": { + "Resources": { + "target": "com.amazonaws.cloudtrail#ResourceList", + "traits": { + "smithy.api#documentation": "

    A list of resources referenced by the event returned.

    " + } + }, + "EventName": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The AWS service that the request was made to.

    " + "smithy.api#documentation": "

    The name of the event returned.

    " + } + }, + "EventId": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    The CloudTrail ID of the event returned.

    " } } }, @@ -725,22 +788,22 @@ "com.amazonaws.cloudtrail#EventSelector": { "type": "structure", "members": { - "ExcludeManagementEventSources": { - "target": "com.amazonaws.cloudtrail#ExcludeManagementEventSources", - "traits": { - "smithy.api#documentation": "

    An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by \n containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.

    " - } - }, "ReadWriteType": { "target": "com.amazonaws.cloudtrail#ReadWriteType", "traits": { "smithy.api#documentation": "

    Specify if you want your trail to log read-only events, write-only events, or all. For example,\n the EC2 GetConsoleOutput is a read-only API operation and\n RunInstances is a write-only API operation.

    \n

    By default, the value is All.

    " } }, + "ExcludeManagementEventSources": { + "target": "com.amazonaws.cloudtrail#ExcludeManagementEventSources", + "traits": { + "smithy.api#documentation": "

    An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by \n containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.

    " + } + }, "IncludeManagementEvents": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specify if you want your event selector to include management events for your trail.

    \n

    \n For more information, see Management Events in the AWS CloudTrail User Guide.

    \n \n

    By default, the value is true.

    " + "smithy.api#documentation": "

    Specify if you want your event selector to include management events for your trail.

    \n

    \n For more information, see Management Events in the AWS CloudTrail User Guide.

    \n \n

    By default, the value is true.

    \n

    The first copy of management events is free. You are charged for additional copies of management \n events that you are logging on any subsequent trail in the same region. For more information about \n CloudTrail pricing, see AWS CloudTrail Pricing.

    " } }, "DataResources": { @@ -814,17 +877,20 @@ "com.amazonaws.cloudtrail#GetEventSelectorsResponse": { "type": "structure", "members": { - "TrailARN": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    The specified trail ARN that has the event selectors.

    " - } + "AdvancedEventSelectors": { + "target": "com.amazonaws.cloudtrail#AdvancedEventSelectors" }, "EventSelectors": { "target": "com.amazonaws.cloudtrail#EventSelectors", "traits": { "smithy.api#documentation": "

    The event selectors that are configured for the trail.

    " } + }, + "TrailARN": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    The specified trail ARN that has the event selectors.

    " + } } } }, @@ -873,17 +939,17 @@ "com.amazonaws.cloudtrail#GetInsightSelectorsResponse": { "type": "structure", "members": { - "InsightSelectors": { - "target": "com.amazonaws.cloudtrail#InsightSelectors", - "traits": { - "smithy.api#documentation": "

    A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

    " - } - }, "TrailARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a trail for which you want to get Insights selectors.

    " } + }, + "InsightSelectors": { + "target": "com.amazonaws.cloudtrail#InsightSelectors", + "traits": { + "smithy.api#documentation": "

    A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

    " + } } } }, @@ -979,34 +1045,40 @@ "com.amazonaws.cloudtrail#GetTrailStatusResponse": { "type": "structure", "members": { - "LatestNotificationError": { + "StopLoggingTime": { + "target": "com.amazonaws.cloudtrail#Date", + "traits": { + "smithy.api#documentation": "

    Specifies the most recent date and time when CloudTrail stopped recording API calls for an AWS account.

    " + } + }, + "LatestDeliveryAttemptSucceeded": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Displays any Amazon SNS error that CloudTrail encountered when attempting to send a\n notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide.\n

    " + "smithy.api#documentation": "

    This field is no longer in use.

    " } }, - "LatestDeliveryTime": { + "LatestCloudWatchLogsDeliveryTime": { "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    Specifies the date and time that CloudTrail last delivered log files to an account's Amazon S3 bucket.

    " + "smithy.api#documentation": "

    Displays the most recent date and time when CloudTrail delivered logs to CloudWatch Logs.

    " } }, - "LatestDeliveryError": { + "LatestCloudWatchLogsDeliveryError": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files\n to the designated bucket. For more information see the topic Error\n Responses in the Amazon S3 API Reference.

    \n \n

    This error occurs only when there is a problem with the destination S3 bucket and will\n not occur for timeouts. To resolve the issue, create a new bucket and call\n UpdateTrail to specify the new bucket, or fix the existing objects so that\n CloudTrail can again write to the bucket.

    \n
    " + "smithy.api#documentation": "

    Displays any CloudWatch Logs error that CloudTrail encountered when attempting to deliver logs to CloudWatch Logs.

    " } }, - "LatestNotificationAttemptSucceeded": { + "LatestDeliveryAttemptTime": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    This field is no longer in use.

    " } }, - "LatestCloudWatchLogsDeliveryTime": { + "LatestDigestDeliveryTime": { "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    Displays the most recent date and time when CloudTrail delivered logs to CloudWatch Logs.

    " + "smithy.api#documentation": "

    Specifies the date and time that CloudTrail last delivered a digest file to an account's Amazon S3 bucket.

    " } }, "TimeLoggingStopped": { @@ -1015,10 +1087,10 @@ "smithy.api#documentation": "

    This field is no longer in use.

    " } }, - "LatestDeliveryAttemptTime": { - "target": "com.amazonaws.cloudtrail#String", + "IsLogging": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    This field is no longer in use.

    " + "smithy.api#documentation": "

    Whether the CloudTrail is currently logging AWS API calls.

    " } }, "LatestNotificationAttemptTime": { @@ -1027,58 +1099,52 @@ "smithy.api#documentation": "

    This field is no longer in use.

    " } }, - "StartLoggingTime": { - "target": "com.amazonaws.cloudtrail#Date", - "traits": { - "smithy.api#documentation": "

    Specifies the most recent date and time when CloudTrail started recording API calls for an AWS account.

    " - } - }, - "TimeLoggingStarted": { + "LatestDeliveryError": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    This field is no longer in use.

    " + "smithy.api#documentation": "

    Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files\n to the designated bucket. For more information see the topic Error\n Responses in the Amazon S3 API Reference.

    \n \n

    This error occurs only when there is a problem with the destination S3 bucket and will\n not occur for timeouts. To resolve the issue, create a new bucket and call\n UpdateTrail to specify the new bucket, or fix the existing objects so that\n CloudTrail can again write to the bucket.

    \n
    " } }, - "LatestCloudWatchLogsDeliveryError": { + "LatestNotificationAttemptSucceeded": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Displays any CloudWatch Logs error that CloudTrail encountered when attempting to deliver logs to CloudWatch Logs.

    " + "smithy.api#documentation": "

    This field is no longer in use.

    " } }, - "IsLogging": { - "target": "com.amazonaws.cloudtrail#Boolean", + "LatestNotificationTime": { + "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    Whether the CloudTrail is currently logging AWS API calls.

    " + "smithy.api#documentation": "

    Specifies the date and time of the most recent Amazon SNS notification that CloudTrail has written a new log file to an account's Amazon S3 bucket.

    " } }, - "LatestDigestDeliveryTime": { + "StartLoggingTime": { "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    Specifies the date and time that CloudTrail last delivered a digest file to an account's Amazon S3 bucket.

    " + "smithy.api#documentation": "

    Specifies the most recent date and time when CloudTrail started recording API calls for an AWS account.

    " } }, - "LatestDeliveryAttemptSucceeded": { + "LatestNotificationError": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    This field is no longer in use.

    " + "smithy.api#documentation": "

    Displays any Amazon SNS error that CloudTrail encountered when attempting to send a\n notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide.\n

    " } }, - "LatestNotificationTime": { - "target": "com.amazonaws.cloudtrail#Date", + "LatestDigestDeliveryError": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the date and time of the most recent Amazon SNS notification that CloudTrail has written a new log file to an account's Amazon S3 bucket.

    " + "smithy.api#documentation": "

    Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest\n file to the designated bucket. For more information see the topic Error\n Responses in the Amazon S3 API Reference.

    \n \n

    This error occurs only when there is a problem with the destination S3 bucket and will\n not occur for timeouts. To resolve the issue, create a new bucket and call\n UpdateTrail to specify the new bucket, or fix the existing objects so that\n CloudTrail can again write to the bucket.

    \n
    " } }, - "LatestDigestDeliveryError": { + "TimeLoggingStarted": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest\n file to the designated bucket. For more information see the topic Error\n Responses in the Amazon S3 API Reference.

    \n \n

    This error occurs only when there is a problem with the destination S3 bucket and will\n not occur for timeouts. To resolve the issue, create a new bucket and call\n UpdateTrail to specify the new bucket, or fix the existing objects so that\n CloudTrail can again write to the bucket.

    \n
    " + "smithy.api#documentation": "

    This field is no longer in use.

    " } }, - "StopLoggingTime": { + "LatestDeliveryTime": { "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    Specifies the most recent date and time when CloudTrail stopped recording API calls for an AWS account.

    " + "smithy.api#documentation": "

    Specifies the date and time that CloudTrail last delivered log files to an account's Amazon S3 bucket.

    " } } }, @@ -1529,7 +1595,7 @@ } }, "traits": { - "smithy.api#documentation": "

    This exception is thrown when the KMS key does not exist, or when the S3 bucket and the KMS key are not in the same region.

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

    This exception is thrown when the KMS key does not exist, when the S3 bucket and the KMS key are not \n in the same region, or when the KMS key associated with the SNS topic either does not exist or is not \n in the same region.

    ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -1575,17 +1641,17 @@ "smithy.api#documentation": "

    Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned.

    " } }, - "NextToken": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Reserved for future use.

    " - } - }, "EndTime": { "target": "com.amazonaws.cloudtrail#Date", "traits": { "smithy.api#documentation": "

    Optionally specifies, in UTC, the end of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Reserved for future use.

    " + } } }, "traits": { @@ -1677,17 +1743,17 @@ "com.amazonaws.cloudtrail#ListTagsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Reserved for future use.

    " - } - }, "ResourceTagList": { "target": "com.amazonaws.cloudtrail#ResourceTagList", "traits": { "smithy.api#documentation": "

    A list of resource tags.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Reserved for future use.

    " + } } }, "traits": { @@ -1734,17 +1800,17 @@ "com.amazonaws.cloudtrail#ListTrailsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    The token to use to get the next page of results after a previous API call. If the token does not appear, \n there are no more results to return. The token must be passed in with the same parameters as the previous call. \n For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with \n NextToken should include those same parameters.

    " - } - }, "Trails": { "target": "com.amazonaws.cloudtrail#Trails", "traits": { "smithy.api#documentation": "

    Returns the name, ARN, and home region of trails in the current account.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    The token to use to get the next page of results after a previous API call. If the token does not appear, \n there are no more results to return. The token must be passed in with the same parameters as the previous call. \n For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with \n NextToken should include those same parameters.

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

    Looks up management events or \n CloudTrail Insights events that are captured by CloudTrail. \n You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

    \n
      \n
    • \n

      AWS access key

      \n
    • \n
    • \n

      Event ID

      \n
    • \n
    • \n

      Event name

      \n
    • \n
    • \n

      Event source

      \n
    • \n
    • \n

      Read only

      \n
    • \n
    • \n

      Resource name

      \n
    • \n
    • \n

      Resource type

      \n
    • \n
    • \n

      User name

      \n
    • \n
    \n

    Lookup supports the following attributes for Insights events:

    \n
      \n
    • \n

      Event ID

      \n
    • \n
    • \n

      Event name

      \n
    • \n
    • \n

      Event source

      \n
    • \n
    \n

    All attributes are optional. The default number of results returned is 50, with a\n maximum of 50 possible. The response includes a token that you can use to get the next page\n of results.

    \n \n

    The rate of lookup requests is limited to two per second per account. If this\n limit is exceeded, a throttling error occurs.

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

    Looks up management events or \n CloudTrail Insights events that are captured by CloudTrail. \n You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

    \n
      \n
    • \n

      AWS access key

      \n
    • \n
    • \n

      Event ID

      \n
    • \n
    • \n

      Event name

      \n
    • \n
    • \n

      Event source

      \n
    • \n
    • \n

      Read only

      \n
    • \n
    • \n

      Resource name

      \n
    • \n
    • \n

      Resource type

      \n
    • \n
    • \n

      User name

      \n
    • \n
    \n

    Lookup supports the following attributes for Insights events:

    \n
      \n
    • \n

      Event ID

      \n
    • \n
    • \n

      Event name

      \n
    • \n
    • \n

      Event source

      \n
    • \n
    \n

    All attributes are optional. The default number of results returned is 50, with a\n maximum of 50 possible. The response includes a token that you can use to get the next page\n of results.

    \n \n

    The rate of lookup requests is limited to two per second, per account, per region. If this\n limit is exceeded, a throttling error occurs.

    \n
    ", "smithy.api#idempotent": {}, "smithy.api#paginated": { "inputToken": "NextToken", @@ -1860,16 +1926,16 @@ "com.amazonaws.cloudtrail#LookupEventsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudtrail#NextToken", + "EndTime": { + "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. \n For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

    " + "smithy.api#documentation": "

    Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.

    " } }, - "LookupAttributes": { - "target": "com.amazonaws.cloudtrail#LookupAttributesList", + "EventCategory": { + "target": "com.amazonaws.cloudtrail#EventCategory", "traits": { - "smithy.api#documentation": "

    Contains a list of lookup attributes. Currently the list can contain only one item.

    " + "smithy.api#documentation": "

    Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, \n if you do not specify insight as the value of EventCategory, no Insights events are returned.

    " } }, "MaxResults": { @@ -1878,22 +1944,22 @@ "smithy.api#documentation": "

    The number of events to return. Possible values are 1 through 50. The default is 50.

    " } }, - "EventCategory": { - "target": "com.amazonaws.cloudtrail#EventCategory", + "LookupAttributes": { + "target": "com.amazonaws.cloudtrail#LookupAttributesList", "traits": { - "smithy.api#documentation": "

    Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, \n if you do not specify insight as the value of EventCategory, no Insights events are returned.

    " + "smithy.api#documentation": "

    Contains a list of lookup attributes. Currently the list can contain only one item.

    " } }, - "StartTime": { - "target": "com.amazonaws.cloudtrail#Date", + "NextToken": { + "target": "com.amazonaws.cloudtrail#NextToken", "traits": { - "smithy.api#documentation": "

    Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.

    " + "smithy.api#documentation": "

    The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. \n For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

    " } }, - "EndTime": { + "StartTime": { "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.

    " + "smithy.api#documentation": "

    Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.

    " } } }, @@ -1904,17 +1970,17 @@ "com.amazonaws.cloudtrail#LookupEventsResponse": { "type": "structure", "members": { - "Events": { - "target": "com.amazonaws.cloudtrail#EventsList", - "traits": { - "smithy.api#documentation": "

    A list of events returned based on the lookup attributes specified and the CloudTrail event. The events list is sorted by time. The most recent event is listed first.

    " - } - }, "NextToken": { "target": "com.amazonaws.cloudtrail#NextToken", "traits": { "smithy.api#documentation": "

    The token to use to get the next page of results after a previous API call. If the token does not appear, \n there are no more results to return. The token must be passed in with the same parameters as the previous call. \n For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with \n NextToken should include those same parameters.

    " } + }, + "Events": { + "target": "com.amazonaws.cloudtrail#EventsList", + "traits": { + "smithy.api#documentation": "

    A list of events returned based on the lookup attributes specified and the CloudTrail event. The events list is sorted by time. The most recent event is listed first.

    " + } } }, "traits": { @@ -1982,6 +2048,27 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.cloudtrail#Operator": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudtrail#OperatorValue" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.cloudtrail#OperatorValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": ".+" + } + }, "com.amazonaws.cloudtrail#OrganizationNotInAllFeaturesModeException": { "type": "structure", "members": { @@ -2017,10 +2104,10 @@ "com.amazonaws.cloudtrail#PublicKey": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.cloudtrail#ByteBuffer", + "ValidityEndTime": { + "target": "com.amazonaws.cloudtrail#Date", "traits": { - "smithy.api#documentation": "

    The DER encoded public key value in PKCS#1 format.

    " + "smithy.api#documentation": "

    The ending time of validity of the public key.

    " } }, "ValidityStartTime": { @@ -2029,10 +2116,10 @@ "smithy.api#documentation": "

    The starting time of validity of the public key.

    " } }, - "ValidityEndTime": { - "target": "com.amazonaws.cloudtrail#Date", + "Value": { + "target": "com.amazonaws.cloudtrail#ByteBuffer", "traits": { - "smithy.api#documentation": "

    The ending time of validity of the public key.

    " + "smithy.api#documentation": "

    The DER encoded public key value in PKCS#1 format.

    " } }, "Fingerprint": { @@ -2094,17 +2181,19 @@ "com.amazonaws.cloudtrail#PutEventSelectorsRequest": { "type": "structure", "members": { - "TrailName": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Specifies the name of the trail or trail ARN. If you specify a trail name, the\n string must meet the following requirements:

    \n
      \n
    • \n

      Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

      \n
    • \n
    • \n

      Start with a letter or number, and end with a letter or number

      \n
    • \n
    • \n

      Be between 3 and 128 characters

      \n
    • \n
    • \n

      Have no adjacent periods, underscores or dashes. Names like my-_namespace\n and my--namespace are invalid.

      \n
    • \n
    • \n

      Not be in IP address format (for example, 192.168.5.4)

      \n
    • \n
    \n

    If you specify a trail ARN, it must be in the format:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    ", - "smithy.api#required": {} - } + "AdvancedEventSelectors": { + "target": "com.amazonaws.cloudtrail#AdvancedEventSelectors" }, "EventSelectors": { "target": "com.amazonaws.cloudtrail#EventSelectors", "traits": { - "smithy.api#documentation": "

    Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

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

    Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

    " + } + }, + "TrailName": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Specifies the name of the trail or trail ARN. If you specify a trail name, the\n string must meet the following requirements:

    \n
      \n
    • \n

      Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

      \n
    • \n
    • \n

      Start with a letter or number, and end with a letter or number

      \n
    • \n
    • \n

      Be between 3 and 128 characters

      \n
    • \n
    • \n

      Have no adjacent periods, underscores or dashes. Names like my-_namespace\n and my--namespace are invalid.

      \n
    • \n
    • \n

      Not be in IP address format (for example, 192.168.5.4)

      \n
    • \n
    \n

    If you specify a trail ARN, it must be in the format:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    ", "smithy.api#required": {} } } @@ -2113,17 +2202,20 @@ "com.amazonaws.cloudtrail#PutEventSelectorsResponse": { "type": "structure", "members": { + "EventSelectors": { + "target": "com.amazonaws.cloudtrail#EventSelectors", + "traits": { + "smithy.api#documentation": "

    Specifies the event selectors configured for your trail.

    " + } + }, "TrailARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    Specifies the ARN of the trail that was updated with event selectors. The format of a trail ARN\n is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    " } }, - "EventSelectors": { - "target": "com.amazonaws.cloudtrail#EventSelectors", - "traits": { - "smithy.api#documentation": "

    Specifies the event selectors configured for your trail.

    " - } + "AdvancedEventSelectors": { + "target": "com.amazonaws.cloudtrail#AdvancedEventSelectors" } } }, @@ -2191,17 +2283,17 @@ "com.amazonaws.cloudtrail#PutInsightSelectorsResponse": { "type": "structure", "members": { - "TrailARN": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a trail for which you want to change or add Insights selectors.

    " - } - }, "InsightSelectors": { "target": "com.amazonaws.cloudtrail#InsightSelectors", "traits": { "smithy.api#documentation": "

    A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

    " } + }, + "TrailARN": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a trail for which you want to change or add Insights selectors.

    " + } } } }, @@ -2266,18 +2358,18 @@ "com.amazonaws.cloudtrail#RemoveTagsRequest": { "type": "structure", "members": { - "TagsList": { - "target": "com.amazonaws.cloudtrail#TagsList", - "traits": { - "smithy.api#documentation": "

    Specifies a list of tags to be removed.

    " - } - }, "ResourceId": { "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#documentation": "

    Specifies the ARN of the trail from which tags should be removed. The format of a trail ARN is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    ", "smithy.api#required": {} } + }, + "TagsList": { + "target": "com.amazonaws.cloudtrail#TagsList", + "traits": { + "smithy.api#documentation": "

    Specifies a list of tags to be removed.

    " + } } }, "traits": { @@ -2294,16 +2386,16 @@ "com.amazonaws.cloudtrail#Resource": { "type": "structure", "members": { - "ResourceName": { + "ResourceType": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The name of the resource referenced by the event returned. These are user-created names whose values will depend on the environment. For example, the resource name might be \"auto-scaling-test-group\" for an Auto Scaling Group or \"i-1234567\" for an EC2 Instance.

    " + "smithy.api#documentation": "

    The type of a resource referenced by the event returned. When the resource type cannot be\n determined, null is returned. Some examples of resource types are: Instance for EC2,\n Trail for CloudTrail, DBInstance for RDS, and AccessKey for IAM.\n To learn more about how to look up and filter events by the resource types supported for a service, see Filtering CloudTrail Events.

    " } }, - "ResourceType": { + "ResourceName": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The type of a resource referenced by the event returned. When the resource type cannot be\n determined, null is returned. Some examples of resource types are: Instance for EC2,\n Trail for CloudTrail, DBInstance for RDS, and AccessKey for IAM.\n To learn more about how to look up and filter events by the resource types supported for a service, see Filtering CloudTrail Events.

    " + "smithy.api#documentation": "

    The name of the resource referenced by the event returned. These are user-created names whose values will depend on the environment. For example, the resource name might be \"auto-scaling-test-group\" for an Auto Scaling Group or \"i-1234567\" for an EC2 Instance.

    " } } }, @@ -2400,6 +2492,26 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.cloudtrail#SelectorField": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": "[\\w|\\d|\\.|_]+" + } + }, + "com.amazonaws.cloudtrail#SelectorName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": ".+" + } + }, "com.amazonaws.cloudtrail#StartLogging": { "type": "operation", "input": { @@ -2522,17 +2634,17 @@ "com.amazonaws.cloudtrail#Tag": { "type": "structure", "members": { - "Value": { + "Key": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The value in a key-value pair of a tag. The value must be no longer than 256 Unicode characters.

    " + "smithy.api#documentation": "

    The key in a key-value pair. The key must be must be no longer than 128 Unicode characters. The key must be unique for the resource to which it applies.

    ", + "smithy.api#required": {} } }, - "Key": { + "Value": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The key in a key-value pair. The key must be must be no longer than 128 Unicode characters. The key must be unique for the resource to which it applies.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The value in a key-value pair of a tag. The value must be no longer than 256 Unicode characters.

    " } } }, @@ -2568,47 +2680,58 @@ "com.amazonaws.cloudtrail#Trail": { "type": "structure", "members": { - "KmsKeyId": { + "Name": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

    \n

    \n arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n

    " + "smithy.api#documentation": "

    Name of the trail set by calling CreateTrail. The maximum length is 128\n characters.

    " } }, - "HomeRegion": { + "S3BucketName": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The region in which the trail was created.

    " + "smithy.api#documentation": "

    Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. See Amazon S3 Bucket Naming Requirements.

    " } }, - "IsOrganizationTrail": { - "target": "com.amazonaws.cloudtrail#Boolean", + "CloudWatchLogsRoleArn": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is an organization trail.

    " + "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " } }, - "SnsTopicName": { + "SnsTopicARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#deprecated": {}, - "smithy.api#documentation": "

    This field is no longer in use. Use SnsTopicARN.

    " + "smithy.api#documentation": "

    Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications\n when log files are delivered. The format of a topic ARN is:

    \n

    \n arn:aws:sns:us-east-2:123456789012:MyTopic\n

    " } }, - "HasCustomEventSelectors": { + "IncludeGlobalServiceEvents": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies if the trail has custom event selectors.

    " + "smithy.api#documentation": "

    Set to True to include AWS API calls from AWS global services such as IAM.\n Otherwise, False.

    " } }, - "CloudWatchLogsRoleArn": { + "LogFileValidationEnabled": { + "target": "com.amazonaws.cloudtrail#Boolean", + "traits": { + "smithy.api#documentation": "

    Specifies whether log file validation is enabled.

    " + } + }, + "TrailARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " + "smithy.api#documentation": "

    Specifies the ARN of the trail. The format of a trail ARN is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    " } }, - "LogFileValidationEnabled": { + "CloudWatchLogsLogGroupArn": { + "target": "com.amazonaws.cloudtrail#String", + "traits": { + "smithy.api#documentation": "

    Specifies an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.

    " + } + }, + "HasCustomEventSelectors": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether log file validation is enabled.

    " + "smithy.api#documentation": "

    Specifies if the trail has custom event selectors.

    " } }, "IsMultiRegionTrail": { @@ -2617,28 +2740,29 @@ "smithy.api#documentation": "

    Specifies whether the trail exists only in one region or exists in all regions.

    " } }, - "SnsTopicARN": { + "S3KeyPrefix": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications\n when log files are delivered. The format of a topic ARN is:

    \n

    \n arn:aws:sns:us-east-2:123456789012:MyTopic\n

    " + "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

    " } }, - "CloudWatchLogsLogGroupArn": { + "SnsTopicName": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.

    " + "smithy.api#deprecated": {}, + "smithy.api#documentation": "

    This field is no longer in use. Use SnsTopicARN.

    " } }, - "Name": { + "KmsKeyId": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Name of the trail set by calling CreateTrail. The maximum length is 128\n characters.

    " + "smithy.api#documentation": "

    Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

    \n

    \n arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n

    " } }, - "TrailARN": { + "HomeRegion": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the ARN of the trail. The format of a trail ARN is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    " + "smithy.api#documentation": "

    The region in which the trail was created.

    " } }, "HasInsightSelectors": { @@ -2647,22 +2771,10 @@ "smithy.api#documentation": "

    Specifies whether a trail has insight types specified in an InsightSelector list.

    " } }, - "S3BucketName": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. See Amazon S3 Bucket Naming Requirements.

    " - } - }, - "IncludeGlobalServiceEvents": { + "IsOrganizationTrail": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Set to True to include AWS API calls from AWS global services such as IAM.\n Otherwise, False.

    " - } - }, - "S3KeyPrefix": { - "target": "com.amazonaws.cloudtrail#String", - "traits": { - "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

    " + "smithy.api#documentation": "

    Specifies whether the trail is an organization trail.

    " } } }, @@ -2689,22 +2801,22 @@ "com.amazonaws.cloudtrail#TrailInfo": { "type": "structure", "members": { - "HomeRegion": { + "Name": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The AWS region in which a trail was created.

    " + "smithy.api#documentation": "

    The name of a trail.

    " } }, - "TrailARN": { + "HomeRegion": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The ARN of a trail.

    " + "smithy.api#documentation": "

    The AWS region in which a trail was created.

    " } }, - "Name": { + "TrailARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    The name of a trail.

    " + "smithy.api#documentation": "

    The ARN of a trail.

    " } } }, @@ -2877,53 +2989,53 @@ "com.amazonaws.cloudtrail#UpdateTrailRequest": { "type": "structure", "members": { - "CloudWatchLogsRoleArn": { + "CloudWatchLogsLogGroupArn": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " + "smithy.api#documentation": "

    Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

    " } }, - "Name": { - "target": "com.amazonaws.cloudtrail#String", + "IncludeGlobalServiceEvents": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies the name of the trail or trail ARN. If Name is a trail name, the\n string must meet the following requirements:

    \n
      \n
    • \n

      Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

      \n
    • \n
    • \n

      Start with a letter or number, and end with a letter or number

      \n
    • \n
    • \n

      Be between 3 and 128 characters

      \n
    • \n
    • \n

      Have no adjacent periods, underscores or dashes. Names like my-_namespace\n and my--namespace are invalid.

      \n
    • \n
    • \n

      Not be in IP address format (for example, 192.168.5.4)

      \n
    • \n
    \n

    If Name is a trail ARN, it must be in the format:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " } }, - "S3BucketName": { + "KmsKeyId": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

    " + "smithy.api#documentation": "

    Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The\n value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully\n specified ARN to a key, or a globally unique identifier.

    \n

    Examples:

    \n
      \n
    • \n

      alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

      \n
    • \n
    • \n

      12345678-1234-1234-1234-123456789012

      \n
    • \n
    " } }, - "IsMultiRegionTrail": { + "EnableLogFileValidation": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, \n shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region \n where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider\n using trails that log events in all regions.

    " + "smithy.api#documentation": "

    Specifies whether log file validation is enabled. The default is false.

    \n \n

    When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.

    \n
    " } }, - "IsOrganizationTrail": { - "target": "com.amazonaws.cloudtrail#Boolean", + "SnsTopicName": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is applied to all accounts in an organization in AWS Organizations, or only for the current AWS account. \n The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in \n AWS Organizations. If the trail is not an organization trail and this is set to true, the trail will be created in all AWS accounts that belong\n to the organization. If the trail is an organization trail and this is set to false, the trail will remain in the current AWS account but be \n deleted from all member accounts in the organization.

    " + "smithy.api#documentation": "

    Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

    " } }, - "EnableLogFileValidation": { - "target": "com.amazonaws.cloudtrail#Boolean", + "S3BucketName": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether log file validation is enabled. The default is false.

    \n \n

    When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.

    \n
    " + "smithy.api#documentation": "

    Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

    " } }, - "CloudWatchLogsLogGroupArn": { + "CloudWatchLogsRoleArn": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

    " + "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " } }, - "SnsTopicName": { + "Name": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

    " + "smithy.api#documentation": "

    Specifies the name of the trail or trail ARN. If Name is a trail name, the\n string must meet the following requirements:

    \n
      \n
    • \n

      Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

      \n
    • \n
    • \n

      Start with a letter or number, and end with a letter or number

      \n
    • \n
    • \n

      Be between 3 and 128 characters

      \n
    • \n
    • \n

      Have no adjacent periods, underscores or dashes. Names like my-_namespace\n and my--namespace are invalid.

      \n
    • \n
    • \n

      Not be in IP address format (for example, 192.168.5.4)

      \n
    • \n
    \n

    If Name is a trail ARN, it must be in the format:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    ", + "smithy.api#required": {} } }, "S3KeyPrefix": { @@ -2932,16 +3044,16 @@ "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

    " } }, - "KmsKeyId": { - "target": "com.amazonaws.cloudtrail#String", + "IsOrganizationTrail": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The\n value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully\n specified ARN to a key, or a globally unique identifier.

    \n

    Examples:

    \n
      \n
    • \n

      alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      \n
    • \n
    • \n

      arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

      \n
    • \n
    • \n

      12345678-1234-1234-1234-123456789012

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies whether the trail is applied to all accounts in an organization in AWS Organizations, or only for the current AWS account. \n The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in \n AWS Organizations. If the trail is not an organization trail and this is set to true, the trail will be created in all AWS accounts that belong\n to the organization. If the trail is an organization trail and this is set to false, the trail will remain in the current AWS account but be \n deleted from all member accounts in the organization.

    " } }, - "IncludeGlobalServiceEvents": { + "IsMultiRegionTrail": { "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " + "smithy.api#documentation": "

    Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, \n shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region \n where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider\n using trails that log events in all regions.

    " } } }, @@ -2952,17 +3064,16 @@ "com.amazonaws.cloudtrail#UpdateTrailResponse": { "type": "structure", "members": { - "SnsTopicName": { - "target": "com.amazonaws.cloudtrail#String", + "IsOrganizationTrail": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#deprecated": {}, - "smithy.api#documentation": "

    This field is no longer in use. Use SnsTopicARN.

    " + "smithy.api#documentation": "

    Specifies whether the trail is an organization trail.

    " } }, - "KmsKeyId": { + "CloudWatchLogsRoleArn": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

    \n \n

    \n arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n

    " + "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " } }, "Name": { @@ -2971,40 +3082,35 @@ "smithy.api#documentation": "

    Specifies the name of the trail.

    " } }, - "IsOrganizationTrail": { - "target": "com.amazonaws.cloudtrail#Boolean", - "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is an organization trail.

    " - } - }, - "IncludeGlobalServiceEvents": { - "target": "com.amazonaws.cloudtrail#Boolean", + "SnsTopicName": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " + "smithy.api#deprecated": {}, + "smithy.api#documentation": "

    This field is no longer in use. Use SnsTopicARN.

    " } }, - "CloudWatchLogsRoleArn": { + "KmsKeyId": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

    " + "smithy.api#documentation": "

    Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

    \n \n

    \n arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n

    " } }, - "S3KeyPrefix": { - "target": "com.amazonaws.cloudtrail#String", + "LogFileValidationEnabled": { + "target": "com.amazonaws.cloudtrail#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files.

    " + "smithy.api#documentation": "

    Specifies whether log file integrity validation is enabled.

    " } }, - "SnsTopicARN": { + "TrailARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications\n when log files are delivered. The format of a topic ARN is:

    \n

    \n arn:aws:sns:us-east-2:123456789012:MyTopic\n

    " + "smithy.api#documentation": "

    Specifies the ARN of the trail that was updated. The format of a trail ARN\n is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    " } }, - "LogFileValidationEnabled": { - "target": "com.amazonaws.cloudtrail#Boolean", + "CloudWatchLogsLogGroupArn": { + "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies whether log file integrity validation is enabled.

    " + "smithy.api#documentation": "

    Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

    " } }, "IsMultiRegionTrail": { @@ -3019,16 +3125,22 @@ "smithy.api#documentation": "

    Specifies the name of the Amazon S3 bucket designated for publishing log files.

    " } }, - "CloudWatchLogsLogGroupArn": { + "SnsTopicARN": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

    " + "smithy.api#documentation": "

    Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications\n when log files are delivered. The format of a topic ARN is:

    \n

    \n arn:aws:sns:us-east-2:123456789012:MyTopic\n

    " } }, - "TrailARN": { + "S3KeyPrefix": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

    Specifies the ARN of the trail that was updated. The format of a trail ARN\n is:

    \n

    \n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail\n

    " + "smithy.api#documentation": "

    Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated\n for log file delivery. For more information, see Finding Your CloudTrail Log Files.

    " + } + }, + "IncludeGlobalServiceEvents": { + "target": "com.amazonaws.cloudtrail#Boolean", + "traits": { + "smithy.api#documentation": "

    Specifies whether the trail is publishing events from global services such as IAM to the log files.

    " } } }, diff --git a/codegen/sdk-codegen/aws-models/codeartifact.2018-09-22.json b/codegen/sdk-codegen/aws-models/codeartifact.2018-09-22.json index a9309be90774e..00a834922dc0c 100644 --- a/codegen/sdk-codegen/aws-models/codeartifact.2018-09-22.json +++ b/codegen/sdk-codegen/aws-models/codeartifact.2018-09-22.json @@ -93,12 +93,6 @@ "com.amazonaws.codeartifact#AssetSummary": { "type": "structure", "members": { - "size": { - "target": "com.amazonaws.codeartifact#LongOptional", - "traits": { - "smithy.api#documentation": "

    \n The size of the asset.\n

    " - } - }, "name": { "target": "com.amazonaws.codeartifact#AssetName", "traits": { @@ -106,6 +100,12 @@ "smithy.api#required": {} } }, + "size": { + "target": "com.amazonaws.codeartifact#LongOptional", + "traits": { + "smithy.api#documentation": "

    \n The size of the asset.\n

    " + } + }, "hashes": { "target": "com.amazonaws.codeartifact#AssetHashes", "traits": { @@ -166,11 +166,11 @@ "com.amazonaws.codeartifact#AssociateExternalConnectionRequest": { "type": "structure", "members": { - "externalConnection": { - "target": "com.amazonaws.codeartifact#ExternalConnectionName", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n The name of the external connection to add to the repository. The following values are supported:\n

    \n
      \n
    • \n

      \n public:npmjs - for the npm public repository.\n

      \n
    • \n
    • \n

      \n public:pypi - for the Python Package Index.\n

      \n
    • \n
    • \n

      \n public:maven-central - for Maven Central.\n

      \n
    • \n
    • \n

      \n public:maven-googleandroid - for the Google Android repository.\n

      \n
    • \n
    • \n

      \n public:maven-gradleplugins - for the Gradle plugins repository.\n

      \n
    • \n
    • \n

      \n public:maven-commonsware - for the CommonsWare Android repository.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "external-connection", + "smithy.api#documentation": "

    The name of the domain that contains the repository.

    ", + "smithy.api#httpQuery": "domain", "smithy.api#required": {} } }, @@ -181,14 +181,6 @@ "smithy.api#httpQuery": "domain-owner" } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", - "traits": { - "smithy.api#documentation": "

    The name of the domain that contains the repository.

    ", - "smithy.api#httpQuery": "domain", - "smithy.api#required": {} - } - }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -196,6 +188,14 @@ "smithy.api#httpQuery": "repository", "smithy.api#required": {} } + }, + "externalConnection": { + "target": "com.amazonaws.codeartifact#ExternalConnectionName", + "traits": { + "smithy.api#documentation": "

    \n The name of the external connection to add to the repository. The following values are supported:\n

    \n
      \n
    • \n

      \n public:npmjs - for the npm public repository.\n

      \n
    • \n
    • \n

      \n public:pypi - for the Python Package Index.\n

      \n
    • \n
    • \n

      \n public:maven-central - for Maven Central.\n

      \n
    • \n
    • \n

      \n public:maven-googleandroid - for the Google Android repository.\n

      \n
    • \n
    • \n

      \n public:maven-gradleplugins - for the Gradle plugins repository.\n

      \n
    • \n
    • \n

      \n public:maven-commonsware - for the CommonsWare Android repository.\n

      \n
    • \n
    • \n

      \n public:nuget-org - for the NuGet Gallery.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "external-connection", + "smithy.api#required": {} + } } } }, @@ -344,19 +344,13 @@ "name": "codeartifact" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

    AWS CodeArtifact is a fully managed artifact repository compatible with language-native\n package managers and build tools such as npm, Apache Maven, and pip. You can use CodeArtifact to\n share packages with development teams and pull packages. Packages can be pulled from both\n public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact\n repository and another repository, which effectively merges their contents from the point of\n view of a package manager client.

    \n \n

    \n AWS CodeArtifact Components\n

    \n

    Use the information in this guide to help you work with the following CodeArtifact components:

    \n \n
      \n
    • \n

      \n Repository: A CodeArtifact repository contains a set of package\n versions, each of which maps to a set of assets, or files. Repositories are\n polyglot, so a single repository can contain packages of any supported type. Each\n repository exposes endpoints for fetching and publishing packages using tools like the\n \n npm\n CLI, the Maven CLI (\n mvn\n ), and \n pip\n .

      \n
    • \n
    • \n

      \n Domain: Repositories are aggregated into a higher-level entity known as a\n domain. All package assets and metadata are stored in the domain,\n but are consumed through repositories. A given package asset, such as a Maven JAR file, is\n stored once per domain, no matter how many repositories it's present in. All of the assets\n and metadata in a domain are encrypted with the same customer master key (CMK) stored in\n AWS Key Management Service (AWS KMS).

      \n

      Each repository is a member of a single domain and can't be moved to a\n different domain.

      \n

      The domain allows organizational policy to be applied across multiple\n repositories, such as which accounts can access repositories in the domain, and\n which public repositories can be used as sources of packages.

      \n

      Although an organization can have multiple domains, we recommend a single production\n domain that contains all published artifacts so that teams can find and share packages\n across their organization.

      \n
    • \n
    • \n

      \n Package: A package is a bundle of software and the metadata required to\n resolve dependencies and install the software. CodeArtifact supports npm, PyPI, and Maven package formats.

      \n

      In CodeArtifact, a package consists of:

      \n
        \n
      • \n

        A name (for example, webpack is the name of a\n popular npm package)

        \n
      • \n
      • \n

        An optional namespace (for example, @types in @types/node)

        \n
      • \n
      • \n

        A set of versions (for example, 1.0.0, 1.0.1,\n 1.0.2, etc.)

        \n
      • \n
      • \n

        Package-level metadata (for example, npm tags)

        \n
      • \n
      \n
    • \n
    • \n

      \n Package version: A version of a package, such as @types/node 12.6.9. The version number\n format and semantics vary for different package formats. For example, npm package versions\n must conform to the Semantic Versioning\n specification. In CodeArtifact, a package version consists of the version identifier,\n metadata at the package version level, and a set of assets.

      \n
    • \n
    • \n

      \n Upstream repository: One repository is upstream of another when the package versions in\n it can be accessed from the repository endpoint of the downstream repository, effectively\n merging the contents of the two repositories from the point of view of a client. CodeArtifact\n allows creating an upstream relationship between two repositories.

      \n
    • \n
    • \n

      \n Asset: An individual file stored in CodeArtifact associated with a package version, such as an npm\n .tgz file or Maven POM and JAR files.

      \n
    • \n
    \n \n

    CodeArtifact supports these operations:

    \n
      \n
    • \n

      \n AssociateExternalConnection: Adds an existing external \n connection to a repository.\n

      \n
    • \n
    • \n

      \n CopyPackageVersions: Copies package versions from one \n repository to another repository in the same domain.

      \n
    • \n
    • \n

      \n CreateDomain: Creates a domain

      \n
    • \n
    • \n

      \n CreateRepository: Creates a CodeArtifact repository in a domain.

      \n
    • \n
    • \n

      \n DeleteDomain: Deletes a domain. You cannot delete a domain that contains\n repositories.

      \n
    • \n
    • \n

      \n DeleteDomainPermissionsPolicy: Deletes the resource policy that is set on a domain.

      \n
    • \n
    • \n

      \n DeletePackageVersions: Deletes versions of a package. After a package has\n been deleted, it can be republished, but its assets and metadata cannot be restored\n because they have been permanently removed from storage.

      \n
    • \n
    • \n

      \n DeleteRepository: Deletes a repository. \n

      \n
    • \n
    • \n

      \n DeleteRepositoryPermissionsPolicy: Deletes the resource policy that is set on a repository.

      \n
    • \n
    • \n

      \n DescribeDomain: Returns a DomainDescription object that\n contains information about the requested domain.

      \n
    • \n
    • \n

      \n DescribePackageVersion: Returns a \n PackageVersionDescription\n \n object that contains details about a package version.

      \n
    • \n
    • \n

      \n DescribeRepository: Returns a RepositoryDescription object\n that contains detailed information about the requested repository.

      \n
    • \n
    • \n

      \n DisposePackageVersions: Disposes versions of a package. A package version\n with the status Disposed cannot be restored because they have been\n permanently removed from storage.

      \n
    • \n
    • \n

      \n DisassociateExternalConnection: Removes an existing external connection from a repository. \n

      \n
    • \n
    • \n

      \n GetAuthorizationToken: Generates a temporary authorization token for accessing repositories in the domain. The token expires the authorization period has passed. \n The default authorization period is 12 hours and can be customized to any length with a maximum of 12 hours.

      \n
    • \n
    • \n

      \n GetDomainPermissionsPolicy: Returns the policy of a resource\n that is attached to the specified domain.

      \n
    • \n
    • \n

      \n GetPackageVersionAsset: Returns the contents of an asset that is in a package version.

      \n
    • \n
    • \n

      \n GetPackageVersionReadme: Gets the readme file or descriptive text for a package version.

      \n
    • \n
    • \n

      \n GetRepositoryEndpoint: Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each \n package format:\n

      \n
        \n
      • \n

        \n npm\n

        \n
      • \n
      • \n

        \n pypi\n

        \n
      • \n
      • \n

        \n maven\n

        \n
      • \n
      \n
    • \n
    • \n

      \n GetRepositoryPermissionsPolicy: Returns the resource policy that is set on a repository. \n

      \n
    • \n
    • \n

      \n ListDomains: Returns a list of DomainSummary objects. Each\n returned DomainSummary object contains information about a domain.

      \n
    • \n
    • \n

      \n ListPackages: Lists the packages in a repository.

      \n
    • \n
    • \n

      \n ListPackageVersionAssets: Lists the assets for a given package version.

      \n
    • \n
    • \n

      \n ListPackageVersionDependencies: Returns a list of the direct dependencies for a\n package version.

      \n
    • \n
    • \n

      \n ListPackageVersions: Returns a list of package versions for a specified\n package in a repository.

      \n
    • \n
    • \n

      \n ListRepositories: Returns a list of repositories owned by the AWS account that called this method.

      \n
    • \n
    • \n

      \n ListRepositoriesInDomain: Returns a list of the repositories in a domain.

      \n
    • \n
    • \n

      \n PutDomainPermissionsPolicy: Attaches a resource policy to a domain.

      \n
    • \n
    • \n

      \n PutRepositoryPermissionsPolicy: Sets the resource policy on a repository\n that specifies permissions to access it.

      \n
    • \n
    • \n

      \n UpdatePackageVersionsStatus: Updates the status of one or more versions of a package.

      \n
    • \n
    • \n

      \n UpdateRepository: Updates the properties of a repository.

      \n
    • \n
    ", + "smithy.api#documentation": "

    AWS CodeArtifact is a fully managed artifact repository compatible with language-native\n package managers and build tools such as npm, Apache Maven, NuGet, and pip. You can use CodeArtifact to\n share packages with development teams and pull packages. Packages can be pulled from both\n public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact\n repository and another repository, which effectively merges their contents from the point of\n view of a package manager client.

    \n \n

    \n AWS CodeArtifact Components\n

    \n

    Use the information in this guide to help you work with the following CodeArtifact components:

    \n \n
      \n
    • \n

      \n Repository: A CodeArtifact repository contains a set of package\n versions, each of which maps to a set of assets, or files. Repositories are\n polyglot, so a single repository can contain packages of any supported type. Each\n repository exposes endpoints for fetching and publishing packages using tools like the\n \n npm\n CLI, the \n NuGet\n CLI, \n the Maven CLI (\n mvn\n ), and \n pip\n .

      \n
    • \n
    • \n

      \n Domain: Repositories are aggregated into a higher-level entity known as a\n domain. All package assets and metadata are stored in the domain,\n but are consumed through repositories. A given package asset, such as a Maven JAR file, is\n stored once per domain, no matter how many repositories it's present in. All of the assets\n and metadata in a domain are encrypted with the same customer master key (CMK) stored in\n AWS Key Management Service (AWS KMS).

      \n

      Each repository is a member of a single domain and can't be moved to a\n different domain.

      \n

      The domain allows organizational policy to be applied across multiple\n repositories, such as which accounts can access repositories in the domain, and\n which public repositories can be used as sources of packages.

      \n

      Although an organization can have multiple domains, we recommend a single production\n domain that contains all published artifacts so that teams can find and share packages\n across their organization.

      \n
    • \n
    • \n

      \n Package: A package is a bundle of software and the metadata required to\n resolve dependencies and install the software. CodeArtifact supports npm, PyPI, Maven, and NuGet package formats.

      \n

      In CodeArtifact, a package consists of:

      \n
        \n
      • \n

        A name (for example, webpack is the name of a\n popular npm package)

        \n
      • \n
      • \n

        An optional namespace (for example, @types in @types/node)

        \n
      • \n
      • \n

        A set of versions (for example, 1.0.0, 1.0.1,\n 1.0.2, etc.)

        \n
      • \n
      • \n

        Package-level metadata (for example, npm tags)

        \n
      • \n
      \n
    • \n
    • \n

      \n Package version: A version of a package, such as @types/node 12.6.9. The version number\n format and semantics vary for different package formats. For example, npm package versions\n must conform to the Semantic Versioning\n specification. In CodeArtifact, a package version consists of the version identifier,\n metadata at the package version level, and a set of assets.

      \n
    • \n
    • \n

      \n Upstream repository: One repository is upstream of another when the package versions in\n it can be accessed from the repository endpoint of the downstream repository, effectively\n merging the contents of the two repositories from the point of view of a client. CodeArtifact\n allows creating an upstream relationship between two repositories.

      \n
    • \n
    • \n

      \n Asset: An individual file stored in CodeArtifact associated with a package version, such as an npm\n .tgz file or Maven POM and JAR files.

      \n
    • \n
    \n \n

    CodeArtifact supports these operations:

    \n
      \n
    • \n

      \n AssociateExternalConnection: Adds an existing external \n connection to a repository.\n

      \n
    • \n
    • \n

      \n CopyPackageVersions: Copies package versions from one \n repository to another repository in the same domain.

      \n
    • \n
    • \n

      \n CreateDomain: Creates a domain

      \n
    • \n
    • \n

      \n CreateRepository: Creates a CodeArtifact repository in a domain.

      \n
    • \n
    • \n

      \n DeleteDomain: Deletes a domain. You cannot delete a domain that contains\n repositories.

      \n
    • \n
    • \n

      \n DeleteDomainPermissionsPolicy: Deletes the resource policy that is set on a domain.

      \n
    • \n
    • \n

      \n DeletePackageVersions: Deletes versions of a package. After a package has\n been deleted, it can be republished, but its assets and metadata cannot be restored\n because they have been permanently removed from storage.

      \n
    • \n
    • \n

      \n DeleteRepository: Deletes a repository. \n

      \n
    • \n
    • \n

      \n DeleteRepositoryPermissionsPolicy: Deletes the resource policy that is set on a repository.

      \n
    • \n
    • \n

      \n DescribeDomain: Returns a DomainDescription object that\n contains information about the requested domain.

      \n
    • \n
    • \n

      \n DescribePackageVersion: Returns a \n PackageVersionDescription\n \n object that contains details about a package version.

      \n
    • \n
    • \n

      \n DescribeRepository: Returns a RepositoryDescription object\n that contains detailed information about the requested repository.

      \n
    • \n
    • \n

      \n DisposePackageVersions: Disposes versions of a package. A package version\n with the status Disposed cannot be restored because they have been\n permanently removed from storage.

      \n
    • \n
    • \n

      \n DisassociateExternalConnection: Removes an existing external connection from a repository. \n

      \n
    • \n
    • \n

      \n GetAuthorizationToken: Generates a temporary authorization token for accessing repositories in the domain. The token expires the authorization period has passed. \n The default authorization period is 12 hours and can be customized to any length with a maximum of 12 hours.

      \n
    • \n
    • \n

      \n GetDomainPermissionsPolicy: Returns the policy of a resource\n that is attached to the specified domain.

      \n
    • \n
    • \n

      \n GetPackageVersionAsset: Returns the contents of an asset that is in a package version.

      \n
    • \n
    • \n

      \n GetPackageVersionReadme: Gets the readme file or descriptive text for a package version.

      \n
    • \n
    • \n

      \n GetRepositoryEndpoint: Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each \n package format:\n

      \n
        \n
      • \n

        \n npm\n

        \n
      • \n
      • \n

        \n pypi\n

        \n
      • \n
      • \n

        \n maven\n

        \n
      • \n
      • \n

        \n nuget\n

        \n
      • \n
      \n
    • \n
    • \n

      \n GetRepositoryPermissionsPolicy: Returns the resource policy that is set on a repository. \n

      \n
    • \n
    • \n

      \n ListDomains: Returns a list of DomainSummary objects. Each\n returned DomainSummary object contains information about a domain.

      \n
    • \n
    • \n

      \n ListPackages: Lists the packages in a repository.

      \n
    • \n
    • \n

      \n ListPackageVersionAssets: Lists the assets for a given package version.

      \n
    • \n
    • \n

      \n ListPackageVersionDependencies: Returns a list of the direct dependencies for a\n package version.

      \n
    • \n
    • \n

      \n ListPackageVersions: Returns a list of package versions for a specified\n package in a repository.

      \n
    • \n
    • \n

      \n ListRepositories: Returns a list of repositories owned by the AWS account that called this method.

      \n
    • \n
    • \n

      \n ListRepositoriesInDomain: Returns a list of the repositories in a domain.

      \n
    • \n
    • \n

      \n ListTagsForResource: Returns a list of the tags associated with a resource.

      \n
    • \n
    • \n

      \n PutDomainPermissionsPolicy: Attaches a resource policy to a domain.

      \n
    • \n
    • \n

      \n PutRepositoryPermissionsPolicy: Sets the resource policy on a repository\n that specifies permissions to access it.

      \n
    • \n
    • \n

      \n TagResource: Adds or updates tags for a resource.

      \n
    • \n
    • \n

      \n UntagResource: Removes a tag from a resource.

      \n
    • \n
    • \n

      \n UpdatePackageVersionsStatus: Updates the status of one or more versions of a package.

      \n
    • \n
    • \n

      \n UpdateRepository: Updates the properties of a repository.

      \n
    • \n
    ", "smithy.api#title": "CodeArtifact" } }, "com.amazonaws.codeartifact#ConflictException": { "type": "structure", "members": { - "resourceType": { - "target": "com.amazonaws.codeartifact#ResourceType", - "traits": { - "smithy.api#documentation": "

    \n The type of AWS resource.\n

    " - } - }, "message": { "target": "com.amazonaws.codeartifact#String", "traits": { @@ -368,6 +362,12 @@ "traits": { "smithy.api#documentation": "

    \n The ID of the resource.\n

    " } + }, + "resourceType": { + "target": "com.amazonaws.codeartifact#ResourceType", + "traits": { + "smithy.api#documentation": "

    \n The type of AWS resource.\n

    " + } } }, "traits": { @@ -419,6 +419,21 @@ "com.amazonaws.codeartifact#CopyPackageVersionsRequest": { "type": "structure", "members": { + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", + "traits": { + "smithy.api#documentation": "

    \n The name of the domain that contains the source and destination repositories.\n

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} + } + }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "sourceRepository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -427,18 +442,27 @@ "smithy.api#required": {} } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "destinationRepository": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the source and destination repositories.\n

    ", - "smithy.api#httpQuery": "domain", + "smithy.api#documentation": "

    \n The name of the repository into which package versions are copied.\n

    ", + "smithy.api#httpQuery": "destination-repository", "smithy.api#required": {} } }, - "includeFromUpstream": { - "target": "com.amazonaws.codeartifact#BooleanOptional", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    Set to true to copy packages from repositories that are upstream from the source\n repository to the destination repository. The default setting is false. For more information,\n see Working with\n upstream repositories.

    " + "smithy.api#documentation": "

    \n The format of the package that is copied. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", + "smithy.api#required": {} + } + }, + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", + "traits": { + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, "package": { @@ -455,46 +479,22 @@ "smithy.api#documentation": "

    \n The versions of the package to copy.\n

    \n \n

    \n You must specify versions or versionRevisions. You cannot specify both.\n

    \n
    " } }, - "allowOverwrite": { - "target": "com.amazonaws.codeartifact#BooleanOptional", - "traits": { - "smithy.api#documentation": "

    \n Set to true to overwrite a package version that already exists in the destination repository.\n If set to false and the package version already exists in the destination repository,\n the package version is returned in the failedVersions field of the response with \n an ALREADY_EXISTS error code.\n

    " - } - }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n The format of the package that is copied. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", - "smithy.api#required": {} - } - }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "versionRevisions": { "target": "com.amazonaws.codeartifact#PackageVersionRevisionMap", "traits": { "smithy.api#documentation": "

    \n A list of key-value pairs. The keys are package versions and the values are package version revisions. A CopyPackageVersion operation\n succeeds if the specified versions in the source repository match the specified package version revision.\n

    \n \n

    \n You must specify versions or versionRevisions. You cannot specify both.\n

    \n
    " } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "allowOverwrite": { + "target": "com.amazonaws.codeartifact#BooleanOptional", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" + "smithy.api#documentation": "

    \n Set to true to overwrite a package version that already exists in the destination repository.\n If set to false and the package version already exists in the destination repository,\n the package version is returned in the failedVersions field of the response with \n an ALREADY_EXISTS error code.\n

    " } }, - "destinationRepository": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "includeFromUpstream": { + "target": "com.amazonaws.codeartifact#BooleanOptional", "traits": { - "smithy.api#documentation": "

    \n The name of the repository into which package versions are copied.\n

    ", - "smithy.api#httpQuery": "destination-repository", - "smithy.api#required": {} + "smithy.api#documentation": "

    Set to true to copy packages from repositories that are upstream from the source\n repository to the destination repository. The default setting is false. For more information,\n see Working with\n upstream repositories.

    " } } } @@ -635,20 +635,14 @@ "com.amazonaws.codeartifact#CreateRepositoryRequest": { "type": "structure", "members": { - "repository": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    The name of the repository to create.

    ", - "smithy.api#httpQuery": "repository", + "smithy.api#documentation": "

    \n The domain that contains the created repository.\n

    ", + "smithy.api#httpQuery": "domain", "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.codeartifact#TagList", - "traits": { - "smithy.api#documentation": "

    One or more tag key-value pairs for the repository.

    " - } - }, "domainOwner": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { @@ -656,24 +650,30 @@ "smithy.api#httpQuery": "domain-owner" } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "repository": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    \n The domain that contains the created repository.\n

    ", - "smithy.api#httpQuery": "domain", + "smithy.api#documentation": "

    The name of the repository to create.

    ", + "smithy.api#httpQuery": "repository", "smithy.api#required": {} } }, + "description": { + "target": "com.amazonaws.codeartifact#Description", + "traits": { + "smithy.api#documentation": "

    \n A description of the created repository.\n

    " + } + }, "upstreams": { "target": "com.amazonaws.codeartifact#UpstreamRepositoryList", "traits": { "smithy.api#documentation": "

    A list of upstream repositories to associate with the repository. The order of the upstream repositories \n in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more \n information, see Working with upstream repositories.

    " } }, - "description": { - "target": "com.amazonaws.codeartifact#Description", + "tags": { + "target": "com.amazonaws.codeartifact#TagList", "traits": { - "smithy.api#documentation": "

    \n A description of the created repository.\n

    " + "smithy.api#documentation": "

    One or more tag key-value pairs for the repository.

    " } } } @@ -763,11 +763,12 @@ "com.amazonaws.codeartifact#DeleteDomainPermissionsPolicyRequest": { "type": "structure", "members": { - "policyRevision": { - "target": "com.amazonaws.codeartifact#PolicyRevision", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which\n prevents others from overwriting your changes to the domain's resource policy.\n

    ", - "smithy.api#httpQuery": "policy-revision" + "smithy.api#documentation": "

    \n The name of the domain associated with the resource policy to be deleted.\n

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} } }, "domainOwner": { @@ -777,12 +778,11 @@ "smithy.api#httpQuery": "domain-owner" } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "policyRevision": { + "target": "com.amazonaws.codeartifact#PolicyRevision", "traits": { - "smithy.api#documentation": "

    \n The name of the domain associated with the resource policy to be deleted.\n

    ", - "smithy.api#httpQuery": "domain", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which\n prevents others from overwriting your changes to the domain's resource policy.\n

    ", + "smithy.api#httpQuery": "policy-revision" } } } @@ -801,13 +801,6 @@ "com.amazonaws.codeartifact#DeleteDomainRequest": { "type": "structure", "members": { - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -815,6 +808,13 @@ "smithy.api#httpQuery": "domain", "smithy.api#required": {} } + }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } } } }, @@ -869,19 +869,19 @@ "com.amazonaws.codeartifact#DeletePackageVersionsRequest": { "type": "structure", "members": { - "versions": { - "target": "com.amazonaws.codeartifact#PackageVersionList", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n An array of strings that specify the versions of the package to delete.\n

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

    \n The name of the domain that contains the package to delete.\n

    ", + "smithy.api#httpQuery": "domain", "smithy.api#required": {} } }, - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n The name of the package with the versions to delete.\n

    ", - "smithy.api#httpQuery": "package", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" } }, "repository": { @@ -892,40 +892,40 @@ "smithy.api#required": {} } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" + "smithy.api#documentation": "

    \n The format of the package versions to delete. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", + "smithy.api#required": {} } }, - "expectedStatus": { - "target": "com.amazonaws.codeartifact#PackageVersionStatus", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The expected status of the package version to delete. Valid values are:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" + "smithy.api#documentation": "

    \n The name of the package with the versions to delete.\n

    ", + "smithy.api#httpQuery": "package", + "smithy.api#required": {} } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "versions": { + "target": "com.amazonaws.codeartifact#PackageVersionList", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the package to delete.\n

    ", - "smithy.api#httpQuery": "domain", + "smithy.api#documentation": "

    \n An array of strings that specify the versions of the package to delete.\n

    ", "smithy.api#required": {} } }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", + "expectedStatus": { + "target": "com.amazonaws.codeartifact#PackageVersionStatus", "traits": { - "smithy.api#documentation": "

    \n The format of the package versions to delete. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The expected status of the package version to delete. Valid values are:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    " } } } @@ -1024,21 +1024,6 @@ "com.amazonaws.codeartifact#DeleteRepositoryPermissionsPolicyRequest": { "type": "structure", "members": { - "repository": { - "target": "com.amazonaws.codeartifact#RepositoryName", - "traits": { - "smithy.api#documentation": "

    \n The name of the repository that is associated with the resource policy to be deleted\n

    ", - "smithy.api#httpQuery": "repository", - "smithy.api#required": {} - } - }, - "policyRevision": { - "target": "com.amazonaws.codeartifact#PolicyRevision", - "traits": { - "smithy.api#documentation": "

    \n The revision of the repository's resource policy to be deleted. This revision is used for optimistic locking, which\n prevents others from accidentally overwriting your changes to the repository's resource policy.\n

    ", - "smithy.api#httpQuery": "policy-revision" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -1053,13 +1038,28 @@ "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", "smithy.api#httpQuery": "domain-owner" } - } - } - }, - "com.amazonaws.codeartifact#DeleteRepositoryPermissionsPolicyResult": { - "type": "structure", - "members": { - "policy": { + }, + "repository": { + "target": "com.amazonaws.codeartifact#RepositoryName", + "traits": { + "smithy.api#documentation": "

    \n The name of the repository that is associated with the resource policy to be deleted\n

    ", + "smithy.api#httpQuery": "repository", + "smithy.api#required": {} + } + }, + "policyRevision": { + "target": "com.amazonaws.codeartifact#PolicyRevision", + "traits": { + "smithy.api#documentation": "

    \n The revision of the repository's resource policy to be deleted. This revision is used for optimistic locking, which\n prevents others from accidentally overwriting your changes to the repository's resource policy.\n

    ", + "smithy.api#httpQuery": "policy-revision" + } + } + } + }, + "com.amazonaws.codeartifact#DeleteRepositoryPermissionsPolicyResult": { + "type": "structure", + "members": { + "policy": { "target": "com.amazonaws.codeartifact#ResourcePolicy", "traits": { "smithy.api#documentation": "

    \n Information about the deleted policy after processing the request.\n

    " @@ -1070,13 +1070,6 @@ "com.amazonaws.codeartifact#DeleteRepositoryRequest": { "type": "structure", "members": { - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -1085,6 +1078,13 @@ "smithy.api#required": {} } }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -1143,13 +1143,6 @@ "com.amazonaws.codeartifact#DescribeDomainRequest": { "type": "structure", "members": { - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -1157,6 +1150,13 @@ "smithy.api#httpQuery": "domain", "smithy.api#required": {} } + }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } } } }, @@ -1216,49 +1216,49 @@ "smithy.api#required": {} } }, - "packageVersion": { - "target": "com.amazonaws.codeartifact#PackageVersion", + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", - "smithy.api#httpQuery": "version", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" } }, - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "repository": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    The name of the requested package version.

    ", - "smithy.api#httpQuery": "package", + "smithy.api#documentation": "

    The name of the repository that contains the package version.

    ", + "smithy.api#httpQuery": "repository", "smithy.api#required": {} } }, "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n A format that specifies the type of the requested package version. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n A format that specifies the type of the requested package version. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", "smithy.api#httpQuery": "format", "smithy.api#required": {} } }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "namespace": { "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", "smithy.api#httpQuery": "namespace" } }, - "repository": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    The name of the repository that contains the package version.

    ", - "smithy.api#httpQuery": "repository", + "smithy.api#documentation": "

    The name of the requested package version.

    ", + "smithy.api#httpQuery": "package", + "smithy.api#required": {} + } + }, + "packageVersion": { + "target": "com.amazonaws.codeartifact#PackageVersion", + "traits": { + "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", + "smithy.api#httpQuery": "version", "smithy.api#required": {} } } @@ -1402,6 +1402,21 @@ "com.amazonaws.codeartifact#DisassociateExternalConnectionRequest": { "type": "structure", "members": { + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", + "traits": { + "smithy.api#documentation": "

    The name of the domain that contains the repository from which to remove the external\n repository.

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} + } + }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -1417,21 +1432,6 @@ "smithy.api#httpQuery": "external-connection", "smithy.api#required": {} } - }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", - "traits": { - "smithy.api#documentation": "

    The name of the domain that contains the repository from which to remove the external\n repository.

    ", - "smithy.api#httpQuery": "domain", - "smithy.api#required": {} - } - }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } } } }, @@ -1486,6 +1486,21 @@ "com.amazonaws.codeartifact#DisposePackageVersionsRequest": { "type": "structure", "members": { + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", + "traits": { + "smithy.api#documentation": "

    \n The name of the domain that contains the repository you want to dispose.\n

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} + } + }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -1494,18 +1509,19 @@ "smithy.api#required": {} } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" + "smithy.api#documentation": "

    \n A format that specifies the type of package versions you want to dispose. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", + "smithy.api#required": {} } }, - "versions": { - "target": "com.amazonaws.codeartifact#PackageVersionList", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The versions of the package you want to dispose.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, "package": { @@ -1516,10 +1532,11 @@ "smithy.api#required": {} } }, - "expectedStatus": { - "target": "com.amazonaws.codeartifact#PackageVersionStatus", + "versions": { + "target": "com.amazonaws.codeartifact#PackageVersionList", "traits": { - "smithy.api#documentation": "

    \n The expected status of the package version to dispose. Valid values are:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The versions of the package you want to dispose.\n

    ", + "smithy.api#required": {} } }, "versionRevisions": { @@ -1528,27 +1545,10 @@ "smithy.api#documentation": "

    \n The revisions of the package versions you want to dispose.\n

    " } }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n A format that specifies the type of package versions you want to dispose. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", - "smithy.api#required": {} - } - }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "expectedStatus": { + "target": "com.amazonaws.codeartifact#PackageVersionStatus", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the repository you want to dispose.\n

    ", - "smithy.api#httpQuery": "domain", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The expected status of the package version to dispose. Valid values are:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    " } } } @@ -1573,40 +1573,40 @@ "com.amazonaws.codeartifact#DomainDescription": { "type": "structure", "members": { - "arn": { - "target": "com.amazonaws.codeartifact#Arn", + "name": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the domain.

    " + "smithy.api#documentation": "

    \n The name of the domain.\n

    " } }, - "createdTime": { - "target": "com.amazonaws.codeartifact#Timestamp", + "owner": { + "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n A timestamp that represents the date and time the domain was created.\n

    " + "smithy.api#documentation": "

    The AWS account ID that owns the domain.

    " } }, - "assetSizeBytes": { - "target": "com.amazonaws.codeartifact#Long", + "arn": { + "target": "com.amazonaws.codeartifact#Arn", "traits": { - "smithy.api#documentation": "

    \n The total size of all assets in the domain.\n

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the domain.

    " } }, - "owner": { - "target": "com.amazonaws.codeartifact#AccountId", + "status": { + "target": "com.amazonaws.codeartifact#DomainStatus", "traits": { - "smithy.api#documentation": "

    The AWS account ID that owns the domain.

    " + "smithy.api#documentation": "

    The current status of a domain. The valid values are

    \n
      \n
    • \n

      \n Active\n

      \n
    • \n
    • \n

      \n Deleted\n

      \n
    • \n
    " } }, - "encryptionKey": { - "target": "com.amazonaws.codeartifact#Arn", + "createdTime": { + "target": "com.amazonaws.codeartifact#Timestamp", "traits": { - "smithy.api#documentation": "

    The ARN of an AWS Key Management Service (AWS KMS) key associated with a domain.

    " + "smithy.api#documentation": "

    \n A timestamp that represents the date and time the domain was created.\n

    " } }, - "s3BucketArn": { + "encryptionKey": { "target": "com.amazonaws.codeartifact#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to store package assets in the domain.

    " + "smithy.api#documentation": "

    The ARN of an AWS Key Management Service (AWS KMS) key associated with a domain.

    " } }, "repositoryCount": { @@ -1615,16 +1615,16 @@ "smithy.api#documentation": "

    \n The number of repositories in the domain.\n

    " } }, - "status": { - "target": "com.amazonaws.codeartifact#DomainStatus", + "assetSizeBytes": { + "target": "com.amazonaws.codeartifact#Long", "traits": { - "smithy.api#documentation": "

    The current status of a domain. The valid values are

    \n
      \n
    • \n

      \n Active\n

      \n
    • \n
    • \n

      \n Deleted\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The total size of all assets in the domain.\n

    " } }, - "name": { - "target": "com.amazonaws.codeartifact#DomainName", + "s3BucketArn": { + "target": "com.amazonaws.codeartifact#Arn", "traits": { - "smithy.api#documentation": "

    \n The name of the domain.\n

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to store package assets in the domain.

    " } } }, @@ -1660,6 +1660,12 @@ "com.amazonaws.codeartifact#DomainSummary": { "type": "structure", "members": { + "name": { + "target": "com.amazonaws.codeartifact#DomainName", + "traits": { + "smithy.api#documentation": "

    \n The name of the domain.\n

    " + } + }, "owner": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { @@ -1672,18 +1678,6 @@ "smithy.api#documentation": "

    \n The ARN of the domain.\n

    " } }, - "name": { - "target": "com.amazonaws.codeartifact#DomainName", - "traits": { - "smithy.api#documentation": "

    \n The name of the domain.\n

    " - } - }, - "encryptionKey": { - "target": "com.amazonaws.codeartifact#Arn", - "traits": { - "smithy.api#documentation": "

    \n The key used to encrypt the domain.\n

    " - } - }, "status": { "target": "com.amazonaws.codeartifact#DomainStatus", "traits": { @@ -1695,6 +1689,12 @@ "traits": { "smithy.api#documentation": "

    \n A timestamp that contains the date and time the domain was created.\n

    " } + }, + "encryptionKey": { + "target": "com.amazonaws.codeartifact#Arn", + "traits": { + "smithy.api#documentation": "

    \n The key used to encrypt the domain.\n

    " + } } }, "traits": { @@ -1764,13 +1764,6 @@ "com.amazonaws.codeartifact#GetAuthorizationTokenRequest": { "type": "structure", "members": { - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -1779,6 +1772,13 @@ "smithy.api#required": {} } }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "durationSeconds": { "target": "com.amazonaws.codeartifact#AuthorizationTokenDurationSeconds", "traits": { @@ -1791,17 +1791,17 @@ "com.amazonaws.codeartifact#GetAuthorizationTokenResult": { "type": "structure", "members": { - "expiration": { - "target": "com.amazonaws.codeartifact#Timestamp", - "traits": { - "smithy.api#documentation": "

    \n A timestamp that specifies the date and time the authorization token expires.\n

    " - } - }, "authorizationToken": { "target": "com.amazonaws.codeartifact#String", "traits": { "smithy.api#documentation": "

    \n The returned authentication token.\n

    " } + }, + "expiration": { + "target": "com.amazonaws.codeartifact#Timestamp", + "traits": { + "smithy.api#documentation": "

    \n A timestamp that specifies the date and time the authorization token expires.\n

    " + } } } }, @@ -1925,27 +1925,27 @@ "smithy.api#httpQuery": "domain-owner" } }, - "packageVersionRevision": { - "target": "com.amazonaws.codeartifact#PackageVersionRevision", + "repository": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    \n The name of the package version revision that contains the requested asset.\n

    ", - "smithy.api#httpQuery": "revision" + "smithy.api#documentation": "

    \n The repository that contains the package version with the requested asset.\n

    ", + "smithy.api#httpQuery": "repository", + "smithy.api#required": {} } }, "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n A format that specifies the type of the package version with the requested asset file. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n A format that specifies the type of the package version with the requested asset file. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", "smithy.api#httpQuery": "format", "smithy.api#required": {} } }, - "repository": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The repository that contains the package version with the requested asset.\n

    ", - "smithy.api#httpQuery": "repository", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, "package": { @@ -1964,13 +1964,6 @@ "smithy.api#required": {} } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", - "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" - } - }, "asset": { "target": "com.amazonaws.codeartifact#AssetName", "traits": { @@ -1978,19 +1971,19 @@ "smithy.api#httpQuery": "asset", "smithy.api#required": {} } + }, + "packageVersionRevision": { + "target": "com.amazonaws.codeartifact#PackageVersionRevision", + "traits": { + "smithy.api#documentation": "

    \n The name of the package version revision that contains the requested asset.\n

    ", + "smithy.api#httpQuery": "revision" + } } } }, "com.amazonaws.codeartifact#GetPackageVersionAssetResult": { "type": "structure", "members": { - "packageVersionRevision": { - "target": "com.amazonaws.codeartifact#PackageVersionRevision", - "traits": { - "smithy.api#documentation": "

    \n The name of the package version revision that contains the downloaded asset.\n

    ", - "smithy.api#httpHeader": "X-PackageVersionRevision" - } - }, "asset": { "target": "com.amazonaws.codeartifact#Asset", "traits": { @@ -2011,6 +2004,13 @@ "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", "smithy.api#httpHeader": "X-PackageVersion" } + }, + "packageVersionRevision": { + "target": "com.amazonaws.codeartifact#PackageVersionRevision", + "traits": { + "smithy.api#documentation": "

    \n The name of the package version revision that contains the downloaded asset.\n

    ", + "smithy.api#httpHeader": "X-PackageVersionRevision" + } } } }, @@ -2051,14 +2051,21 @@ "com.amazonaws.codeartifact#GetPackageVersionReadmeRequest": { "type": "structure", "members": { - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n The name of the package version that contains the requested readme file.\n

    ", - "smithy.api#httpQuery": "package", + "smithy.api#documentation": "

    \n The name of the domain that contains the repository that contains the package version with the requested readme file.\n

    ", + "smithy.api#httpQuery": "domain", "smithy.api#required": {} } }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -2067,26 +2074,27 @@ "smithy.api#required": {} } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the repository that contains the package version with the requested readme file.\n

    ", - "smithy.api#httpQuery": "domain", + "smithy.api#documentation": "

    \n A format that specifies the type of the package version with the requested readme file. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", "smithy.api#required": {} } }, "namespace": { "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", "smithy.api#httpQuery": "namespace" } }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" + "smithy.api#documentation": "

    \n The name of the package version that contains the requested readme file.\n

    ", + "smithy.api#httpQuery": "package", + "smithy.api#required": {} } }, "packageVersion": { @@ -2096,14 +2104,6 @@ "smithy.api#httpQuery": "version", "smithy.api#required": {} } - }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n A format that specifies the type of the package version with the requested readme file. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", - "smithy.api#required": {} - } } } }, @@ -2113,19 +2113,19 @@ "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The format of the package with the requested readme file. Valid format types are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The format of the package with the requested readme file. Valid format types are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    " } }, "namespace": { "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " } }, - "readme": { - "target": "com.amazonaws.codeartifact#String", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The text of the returned readme file.\n

    " + "smithy.api#documentation": "

    \n The name of the package that contains the returned readme file.\n

    " } }, "version": { @@ -2140,10 +2140,10 @@ "smithy.api#documentation": "

    \n The current revision associated with the package version.\n

    " } }, - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "readme": { + "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n The name of the package that contains the returned readme file.\n

    " + "smithy.api#documentation": "

    \n The text of the returned readme file.\n

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

    \n Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each \n package format:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each \n package format:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", "smithy.api#http": { "method": "GET", "uri": "/v1/repository/endpoint", @@ -2185,6 +2185,14 @@ "com.amazonaws.codeartifact#GetRepositoryEndpointRequest": { "type": "structure", "members": { + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", + "traits": { + "smithy.api#documentation": "

    \n The name of the domain that contains the repository.\n

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} + } + }, "domainOwner": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { @@ -2192,14 +2200,6 @@ "smithy.api#httpQuery": "domain-owner" } }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n Returns which endpoint of a repository to return. A repository has one endpoint for each \n package format:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", - "smithy.api#required": {} - } - }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -2208,11 +2208,11 @@ "smithy.api#required": {} } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the repository.\n

    ", - "smithy.api#httpQuery": "domain", + "smithy.api#documentation": "

    \n Returns which endpoint of a repository to return. A repository has one endpoint for each \n package format:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", "smithy.api#required": {} } } @@ -2266,13 +2266,6 @@ "com.amazonaws.codeartifact#GetRepositoryPermissionsPolicyRequest": { "type": "structure", "members": { - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -2281,6 +2274,13 @@ "smithy.api#required": {} } }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -2357,16 +2357,16 @@ "com.amazonaws.codeartifact#LicenseInfo": { "type": "structure", "members": { - "url": { + "name": { "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n The URL for license data.\n

    " + "smithy.api#documentation": "

    \n Name of the license.\n

    " } }, - "name": { + "url": { "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n Name of the license.\n

    " + "smithy.api#documentation": "

    \n The URL for license data.\n

    " } } }, @@ -2512,11 +2512,11 @@ "com.amazonaws.codeartifact#ListPackageVersionAssetsRequest": { "type": "structure", "members": { - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n The format of the package that contains the returned package version assets. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", + "smithy.api#documentation": "

    \n The name of the domain that contains the repository associated with the package version assets.\n

    ", + "smithy.api#httpQuery": "domain", "smithy.api#required": {} } }, @@ -2527,20 +2527,6 @@ "smithy.api#httpQuery": "domain-owner" } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", - "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" - } - }, - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", - "traits": { - "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", - "smithy.api#httpQuery": "next-token" - } - }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -2549,19 +2535,19 @@ "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.codeartifact#ListPackageVersionAssetsMaxResults", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The maximum number of results to return per page.\n

    ", - "smithy.api#httpQuery": "max-results" + "smithy.api#documentation": "

    \n The format of the package that contains the returned package version assets. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", + "smithy.api#required": {} } }, - "packageVersion": { - "target": "com.amazonaws.codeartifact#PackageVersion", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", - "smithy.api#httpQuery": "version", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, "package": { @@ -2572,41 +2558,55 @@ "smithy.api#required": {} } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "packageVersion": { + "target": "com.amazonaws.codeartifact#PackageVersion", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the repository associated with the package version assets.\n

    ", - "smithy.api#httpQuery": "domain", + "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", + "smithy.api#httpQuery": "version", "smithy.api#required": {} } + }, + "maxResults": { + "target": "com.amazonaws.codeartifact#ListPackageVersionAssetsMaxResults", + "traits": { + "smithy.api#documentation": "

    \n The maximum number of results to return per page.\n

    ", + "smithy.api#httpQuery": "max-results" + } + }, + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", + "traits": { + "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", + "smithy.api#httpQuery": "next-token" + } } } }, "com.amazonaws.codeartifact#ListPackageVersionAssetsResult": { "type": "structure", "members": { - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The name of the package that contains the returned package version assets.\n

    " + "smithy.api#documentation": "

    \n The format of the package that contains the returned package version assets.\n

    " } }, - "assets": { - "target": "com.amazonaws.codeartifact#AssetSummaryList", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The returned list of \n AssetSummary\n objects.\n

    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " } }, - "version": { - "target": "com.amazonaws.codeartifact#PackageVersion", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The version of the package associated with the returned assets.\n

    " + "smithy.api#documentation": "

    \n The name of the package that contains the returned package version assets.\n

    " } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "version": { + "target": "com.amazonaws.codeartifact#PackageVersion", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The version of the package associated with the returned assets.\n

    " } }, "versionRevision": { @@ -2615,17 +2615,17 @@ "smithy.api#documentation": "

    \n The current revision associated with the package version.\n

    " } }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n The format of the package that contains the returned package version assets.\n

    " - } - }, "nextToken": { "target": "com.amazonaws.codeartifact#PaginationToken", "traits": { "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " } + }, + "assets": { + "target": "com.amazonaws.codeartifact#AssetSummaryList", + "traits": { + "smithy.api#documentation": "

    \n The returned list of \n AssetSummary\n objects.\n

    " + } } } }, @@ -2666,14 +2666,6 @@ "com.amazonaws.codeartifact#ListPackageVersionDependenciesRequest": { "type": "structure", "members": { - "packageVersion": { - "target": "com.amazonaws.codeartifact#PackageVersion", - "traits": { - "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", - "smithy.api#httpQuery": "version", - "smithy.api#required": {} - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -2689,27 +2681,27 @@ "smithy.api#httpQuery": "domain-owner" } }, - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", + "repository": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", - "smithy.api#httpQuery": "next-token" + "smithy.api#documentation": "

    \n The name of the repository that contains the requested package version.\n

    ", + "smithy.api#httpQuery": "repository", + "smithy.api#required": {} } }, "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The format of the package with the requested dependencies. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n The format of the package with the requested dependencies. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    ", "smithy.api#httpQuery": "format", "smithy.api#required": {} } }, - "repository": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The name of the repository that contains the requested package version.\n

    ", - "smithy.api#httpQuery": "repository", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, "package": { @@ -2720,11 +2712,19 @@ "smithy.api#required": {} } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "packageVersion": { + "target": "com.amazonaws.codeartifact#PackageVersion", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" + "smithy.api#documentation": "

    \n A string that contains the package version (for example, 3.5.2).\n

    ", + "smithy.api#httpQuery": "version", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", + "traits": { + "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", + "smithy.api#httpQuery": "next-token" } } } @@ -2735,19 +2735,19 @@ "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n A format that specifies the type of the package that contains the returned dependencies. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n A format that specifies the type of the package that contains the returned dependencies. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    " } }, "namespace": { "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " } }, - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    " + "smithy.api#documentation": "

    \n The name of the package that contains the returned package versions dependencies.\n

    " } }, "version": { @@ -2756,18 +2756,18 @@ "smithy.api#documentation": "

    \n The version of the package that is specified in the request.\n

    " } }, - "package": { - "target": "com.amazonaws.codeartifact#PackageName", - "traits": { - "smithy.api#documentation": "

    \n The name of the package that contains the returned package versions dependencies.\n

    " - } - }, "versionRevision": { "target": "com.amazonaws.codeartifact#PackageVersionRevision", "traits": { "smithy.api#documentation": "

    \n The current revision associated with the package version.\n

    " } }, + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", + "traits": { + "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    " + } + }, "dependencies": { "target": "com.amazonaws.codeartifact#PackageDependencyList", "traits": { @@ -2836,12 +2836,11 @@ "smithy.api#required": {} } }, - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n The name of the package for which you want to return a list of package versions.\n

    ", - "smithy.api#httpQuery": "package", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" } }, "repository": { @@ -2852,40 +2851,27 @@ "smithy.api#required": {} } }, - "sortBy": { - "target": "com.amazonaws.codeartifact#PackageVersionSortType", - "traits": { - "smithy.api#documentation": "

    \n How to sort the returned list of package versions.\n

    ", - "smithy.api#httpQuery": "sortBy" - } - }, "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The format of the returned packages. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n The format of the returned packages. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    ", "smithy.api#httpQuery": "format", "smithy.api#required": {} } }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", - "smithy.api#httpQuery": "next-token" + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, - "maxResults": { - "target": "com.amazonaws.codeartifact#ListPackageVersionsMaxResults", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The maximum number of results to return per page.\n

    ", - "smithy.api#httpQuery": "max-results" + "smithy.api#documentation": "

    \n The name of the package for which you want to return a list of package versions.\n

    ", + "smithy.api#httpQuery": "package", + "smithy.api#required": {} } }, "status": { @@ -2895,11 +2881,25 @@ "smithy.api#httpQuery": "status" } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "sortBy": { + "target": "com.amazonaws.codeartifact#PackageVersionSortType", + "traits": { + "smithy.api#documentation": "

    \n How to sort the returned list of package versions.\n

    ", + "smithy.api#httpQuery": "sortBy" + } + }, + "maxResults": { + "target": "com.amazonaws.codeartifact#ListPackageVersionsMaxResults", + "traits": { + "smithy.api#documentation": "

    \n The maximum number of results to return per page.\n

    ", + "smithy.api#httpQuery": "max-results" + } + }, + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" + "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", + "smithy.api#httpQuery": "next-token" } } } @@ -2907,40 +2907,40 @@ "com.amazonaws.codeartifact#ListPackageVersionsResult": { "type": "structure", "members": { - "versions": { - "target": "com.amazonaws.codeartifact#PackageVersionSummaryList", + "defaultDisplayVersion": { + "target": "com.amazonaws.codeartifact#PackageVersion", "traits": { - "smithy.api#documentation": "

    \n The returned list of \n \n PackageVersionSummary\n \n objects.\n

    " + "smithy.api#documentation": "

    \n The default package version to display. This depends on the package format:\n

    \n
      \n
    • \n

      \n For Maven and PyPI packages, it's the most recently published package version.\n

      \n
    • \n
    • \n

      \n For npm packages, it's the version referenced by the\n latest tag. If the latest tag is not set, it's the most recently published package version.\n

      \n
    • \n
    " } }, "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n A format of the package. Valid package format values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n A format of the package. Valid package format values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    " } }, - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " } }, - "defaultDisplayVersion": { - "target": "com.amazonaws.codeartifact#PackageVersion", + "package": { + "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n The default package version to display. This depends on the package format:\n

    \n
      \n
    • \n

      \n For Maven and PyPI packages, it's the most recently published package version.\n

      \n
    • \n
    • \n

      \n For npm packages, it's the version referenced by the\n latest tag. If the latest tag is not set, it's the most recently published package version.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The name of the package.\n

    " } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "versions": { + "target": "com.amazonaws.codeartifact#PackageVersionSummaryList", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The returned list of \n \n PackageVersionSummary\n \n objects.\n

    " } }, - "package": { - "target": "com.amazonaws.codeartifact#PackageName", + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", "traits": { - "smithy.api#documentation": "

    \n The name of the package.\n

    " + "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " } } } @@ -2997,6 +2997,21 @@ "com.amazonaws.codeartifact#ListPackagesRequest": { "type": "structure", "members": { + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", + "traits": { + "smithy.api#documentation": "

    \n The domain that contains the repository that contains the requested list of packages.\n

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} + } + }, + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, "repository": { "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { @@ -3005,25 +3020,24 @@ "smithy.api#required": {} } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" + "smithy.api#documentation": "

    \n The format of the packages. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format" } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The domain that contains the repository that contains the requested list of packages.\n

    ", - "smithy.api#httpQuery": "domain", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" } }, "packagePrefix": { "target": "com.amazonaws.codeartifact#PackageName", "traits": { - "smithy.api#documentation": "

    \n A prefix used to filter returned repositories. Only repositories with names that start with \n repositoryPrefix are returned.\n

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

    \n A prefix used to filter returned packages. Only packages with names that start with \n packagePrefix are returned.\n

    ", "smithy.api#httpQuery": "package-prefix" } }, @@ -3040,20 +3054,6 @@ "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", "smithy.api#httpQuery": "next-token" } - }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n The format of the packages. The valid package types are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format" - } - }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } } } }, @@ -3162,13 +3162,6 @@ "com.amazonaws.codeartifact#ListRepositoriesInDomainRequest": { "type": "structure", "members": { - "administratorAccount": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n Filter the list of repositories to only include those that are managed by the AWS account ID.\n

    ", - "smithy.api#httpQuery": "administrator-account" - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -3177,13 +3170,6 @@ "smithy.api#required": {} } }, - "repositoryPrefix": { - "target": "com.amazonaws.codeartifact#RepositoryName", - "traits": { - "smithy.api#documentation": "

    \n A prefix used to filter returned repositories. Only repositories with names that start with \n repositoryPrefix are returned.\n

    ", - "smithy.api#httpQuery": "repository-prefix" - } - }, "domainOwner": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { @@ -3191,6 +3177,20 @@ "smithy.api#httpQuery": "domain-owner" } }, + "administratorAccount": { + "target": "com.amazonaws.codeartifact#AccountId", + "traits": { + "smithy.api#documentation": "

    \n Filter the list of repositories to only include those that are managed by the AWS account ID.\n

    ", + "smithy.api#httpQuery": "administrator-account" + } + }, + "repositoryPrefix": { + "target": "com.amazonaws.codeartifact#RepositoryName", + "traits": { + "smithy.api#documentation": "

    \n A prefix used to filter returned repositories. Only repositories with names that start with \n repositoryPrefix are returned.\n

    ", + "smithy.api#httpQuery": "repository-prefix" + } + }, "maxResults": { "target": "com.amazonaws.codeartifact#ListRepositoriesInDomainMaxResults", "traits": { @@ -3210,17 +3210,17 @@ "com.amazonaws.codeartifact#ListRepositoriesInDomainResult": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", - "traits": { - "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " - } - }, "repositories": { "target": "com.amazonaws.codeartifact#RepositorySummaryList", "traits": { "smithy.api#documentation": "

    \n The returned list of repositories.\n

    " } + }, + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", + "traits": { + "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " + } } } }, @@ -3237,6 +3237,13 @@ "com.amazonaws.codeartifact#ListRepositoriesRequest": { "type": "structure", "members": { + "repositoryPrefix": { + "target": "com.amazonaws.codeartifact#RepositoryName", + "traits": { + "smithy.api#documentation": "

    A prefix used to filter returned repositories. Only repositories with names that start\n with repositoryPrefix are returned.

    ", + "smithy.api#httpQuery": "repository-prefix" + } + }, "maxResults": { "target": "com.amazonaws.codeartifact#ListRepositoriesMaxResults", "traits": { @@ -3250,30 +3257,23 @@ "smithy.api#documentation": "

    \n The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.\n

    ", "smithy.api#httpQuery": "next-token" } - }, - "repositoryPrefix": { - "target": "com.amazonaws.codeartifact#RepositoryName", - "traits": { - "smithy.api#documentation": "

    A prefix used to filter returned repositories. Only repositories with names that start\n with repositoryPrefix are returned.

    ", - "smithy.api#httpQuery": "repository-prefix" - } } } }, "com.amazonaws.codeartifact#ListRepositoriesResult": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.codeartifact#PaginationToken", - "traits": { - "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " - } - }, "repositories": { "target": "com.amazonaws.codeartifact#RepositorySummaryList", "traits": { "smithy.api#documentation": "

    \n The returned list of \n RepositorySummary\n \n objects.\n

    " } + }, + "nextToken": { + "target": "com.amazonaws.codeartifact#PaginationToken", + "traits": { + "smithy.api#documentation": "

    \n If there are additional results, this is the token for the next set of results.\n

    " + } } } }, @@ -3344,10 +3344,10 @@ "com.amazonaws.codeartifact#PackageDependency": { "type": "structure", "members": { - "dependencyType": { - "target": "com.amazonaws.codeartifact#String", + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    The type of a package dependency. The possible values depend on the package type.\n Example types are compile, runtime, and test for Maven\n packages, and dev, prod, and optional for npm packages.

    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " } }, "package": { @@ -3356,10 +3356,10 @@ "smithy.api#documentation": "

    \n The name of the package that this package depends on.\n

    " } }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "dependencyType": { + "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The type of a package dependency. The possible values depend on the package type.\n Example types are compile, runtime, and test for Maven\n packages, and dev, prod, and optional for npm packages.

    " } }, "versionRequirement": { @@ -3394,6 +3394,10 @@ { "value": "maven", "name": "MAVEN" + }, + { + "value": "nuget", + "name": "NUGET" } ] } @@ -3424,13 +3428,13 @@ "format": { "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n The format of the package. Valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The format of the package. Valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    " } }, "namespace": { "target": "com.amazonaws.codeartifact#PackageNamespace", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " } }, "package": { @@ -3463,10 +3467,22 @@ "com.amazonaws.codeartifact#PackageVersionDescription": { "type": "structure", "members": { - "publishedTime": { - "target": "com.amazonaws.codeartifact#Timestamp", + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", "traits": { - "smithy.api#documentation": "

    \n A timestamp that contains the date and time the package version was published.\n

    " + "smithy.api#documentation": "

    \n The format of the package version. The valid package formats are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    " + } + }, + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", + "traits": { + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    " + } + }, + "packageName": { + "target": "com.amazonaws.codeartifact#PackageName", + "traits": { + "smithy.api#documentation": "

    \n The name of the requested package.\n

    " } }, "displayName": { @@ -3487,40 +3503,22 @@ "smithy.api#documentation": "

    \n A summary of the package version. The summary is extracted from the package. The information in and \n detail level of the summary depends on the package version's format.\n

    " } }, - "revision": { - "target": "com.amazonaws.codeartifact#PackageVersionRevision", - "traits": { - "smithy.api#documentation": "

    \n The revision of the package version.\n

    " - } - }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n The format of the package version. The valid package formats are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    " - } - }, - "packageName": { - "target": "com.amazonaws.codeartifact#PackageName", - "traits": { - "smithy.api#documentation": "

    \n The name of the requested package.\n

    " - } - }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", + "homePage": { + "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The homepage associated with the package. \n

    " } }, - "status": { - "target": "com.amazonaws.codeartifact#PackageVersionStatus", + "sourceCodeRepository": { + "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n A string that contains the status of the package version. It can be one of the following:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    " + "smithy.api#documentation": "

    \n The repository for the source code in the package version, or the source code used to build it.\n

    " } }, - "homePage": { - "target": "com.amazonaws.codeartifact#String", + "publishedTime": { + "target": "com.amazonaws.codeartifact#Timestamp", "traits": { - "smithy.api#documentation": "

    \n The homepage associated with the package. \n

    " + "smithy.api#documentation": "

    \n A timestamp that contains the date and time the package version was published.\n

    " } }, "licenses": { @@ -3529,10 +3527,16 @@ "smithy.api#documentation": "

    \n Information about licenses associated with the package version.\n

    " } }, - "sourceCodeRepository": { - "target": "com.amazonaws.codeartifact#String", + "revision": { + "target": "com.amazonaws.codeartifact#PackageVersionRevision", "traits": { - "smithy.api#documentation": "

    \n The repository for the source code in the package version, or the source code used to build it.\n

    " + "smithy.api#documentation": "

    \n The revision of the package version.\n

    " + } + }, + "status": { + "target": "com.amazonaws.codeartifact#PackageVersionStatus", + "traits": { + "smithy.api#documentation": "

    \n A string that contains the status of the package version. It can be one of the following:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    " } } }, @@ -3543,17 +3547,17 @@ "com.amazonaws.codeartifact#PackageVersionError": { "type": "structure", "members": { - "errorMessage": { - "target": "com.amazonaws.codeartifact#ErrorMessage", - "traits": { - "smithy.api#documentation": "

    \n The error message associated with the error.\n

    " - } - }, "errorCode": { "target": "com.amazonaws.codeartifact#PackageVersionErrorCode", "traits": { "smithy.api#documentation": "

    The error code associated with the error. Valid error codes are:

    \n
      \n
    • \n

      \n ALREADY_EXISTS\n

      \n
    • \n
    • \n

      \n MISMATCHED_REVISION\n

      \n
    • \n
    • \n

      \n MISMATCHED_STATUS\n

      \n
    • \n
    • \n

      \n NOT_ALLOWED\n

      \n
    • \n
    • \n

      \n NOT_FOUND\n

      \n
    • \n
    • \n

      \n SKIPPED\n

      \n
    • \n
    " } + }, + "errorMessage": { + "target": "com.amazonaws.codeartifact#ErrorMessage", + "traits": { + "smithy.api#documentation": "

    \n The error message associated with the error.\n

    " + } } }, "traits": { @@ -3604,6 +3608,12 @@ "type": "list", "member": { "target": "com.amazonaws.codeartifact#PackageVersion" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } } }, "com.amazonaws.codeartifact#PackageVersionRevision": { @@ -3670,6 +3680,13 @@ "com.amazonaws.codeartifact#PackageVersionSummary": { "type": "structure", "members": { + "version": { + "target": "com.amazonaws.codeartifact#PackageVersion", + "traits": { + "smithy.api#documentation": "

    \n Information about a package version.\n

    ", + "smithy.api#required": {} + } + }, "revision": { "target": "com.amazonaws.codeartifact#PackageVersionRevision", "traits": { @@ -3682,13 +3699,6 @@ "smithy.api#documentation": "

    \n A string that contains the status of the package version. It can be one of the following:\n

    \n
      \n
    • \n

      \n Published\n

      \n
    • \n
    • \n

      \n Unfinished\n

      \n
    • \n
    • \n

      \n Unlisted\n

      \n
    • \n
    • \n

      \n Archived\n

      \n
    • \n
    • \n

      \n Disposed\n

      \n
    • \n
    ", "smithy.api#required": {} } - }, - "version": { - "target": "com.amazonaws.codeartifact#PackageVersion", - "traits": { - "smithy.api#documentation": "

    \n Information about a package version.\n

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -3773,10 +3783,11 @@ "com.amazonaws.codeartifact#PutDomainPermissionsPolicyRequest": { "type": "structure", "members": { - "policyRevision": { - "target": "com.amazonaws.codeartifact#PolicyRevision", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n The current revision of the resource policy to be set. This revision is used for optimistic locking, which\n prevents others from overwriting your changes to the domain's resource policy.\n

    " + "smithy.api#documentation": "

    \n The name of the domain on which to set the resource policy.\n

    ", + "smithy.api#required": {} } }, "domainOwner": { @@ -3785,17 +3796,16 @@ "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    " } }, - "policyDocument": { - "target": "com.amazonaws.codeartifact#PolicyDocument", + "policyRevision": { + "target": "com.amazonaws.codeartifact#PolicyRevision", "traits": { - "smithy.api#documentation": "

    A valid displayable JSON Aspen policy string to be set as the access control resource\n policy on the provided domain.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The current revision of the resource policy to be set. This revision is used for optimistic locking, which\n prevents others from overwriting your changes to the domain's resource policy.\n

    " } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "policyDocument": { + "target": "com.amazonaws.codeartifact#PolicyDocument", "traits": { - "smithy.api#documentation": "

    \n The name of the domain on which to set the resource policy.\n

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

    A valid displayable JSON Aspen policy string to be set as the access control resource\n policy on the provided domain.

    ", "smithy.api#required": {} } } @@ -3855,10 +3865,12 @@ "com.amazonaws.codeartifact#PutRepositoryPermissionsPolicyRequest": { "type": "structure", "members": { - "policyRevision": { - "target": "com.amazonaws.codeartifact#PolicyRevision", + "domain": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n Sets the revision of the resource policy that specifies permissions to access the repository. \n This revision is used for optimistic locking, which prevents others from overwriting your \n changes to the repository's resource policy.\n

    " + "smithy.api#documentation": "

    \n The name of the domain containing the repository to set the resource policy on.\n

    ", + "smithy.api#httpQuery": "domain", + "smithy.api#required": {} } }, "domainOwner": { @@ -3876,12 +3888,10 @@ "smithy.api#required": {} } }, - "domain": { - "target": "com.amazonaws.codeartifact#DomainName", + "policyRevision": { + "target": "com.amazonaws.codeartifact#PolicyRevision", "traits": { - "smithy.api#documentation": "

    \n The name of the domain containing the repository to set the resource policy on.\n

    ", - "smithy.api#httpQuery": "domain", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n Sets the revision of the resource policy that specifies permissions to access the repository. \n This revision is used for optimistic locking, which prevents others from overwriting your \n changes to the repository's resource policy.\n

    " } }, "policyDocument": { @@ -3907,16 +3917,16 @@ "com.amazonaws.codeartifact#RepositoryDescription": { "type": "structure", "members": { - "description": { - "target": "com.amazonaws.codeartifact#Description", + "name": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    \n A text description of the repository.\n

    " + "smithy.api#documentation": "

    \n The name of the repository.\n

    " } }, - "upstreams": { - "target": "com.amazonaws.codeartifact#UpstreamRepositoryInfoList", + "administratorAccount": { + "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    A list of upstream repositories to associate with the repository. The order of the upstream repositories \n in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more \n information, see Working with upstream repositories.

    " + "smithy.api#documentation": "

    The 12-digit account number of the AWS account that manages the repository.

    " } }, "domainName": { @@ -3931,28 +3941,28 @@ "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include \n dashes or spaces.\n

    " } }, - "externalConnections": { - "target": "com.amazonaws.codeartifact#RepositoryExternalConnectionInfoList", + "arn": { + "target": "com.amazonaws.codeartifact#Arn", "traits": { - "smithy.api#documentation": "

    \n An array of external connections associated with the repository.\n

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the repository.

    " } }, - "administratorAccount": { - "target": "com.amazonaws.codeartifact#AccountId", + "description": { + "target": "com.amazonaws.codeartifact#Description", "traits": { - "smithy.api#documentation": "

    The 12-digit account number of the AWS account that manages the repository.

    " + "smithy.api#documentation": "

    \n A text description of the repository.\n

    " } }, - "arn": { - "target": "com.amazonaws.codeartifact#Arn", + "upstreams": { + "target": "com.amazonaws.codeartifact#UpstreamRepositoryInfoList", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the repository.

    " + "smithy.api#documentation": "

    A list of upstream repositories to associate with the repository. The order of the upstream repositories \n in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more \n information, see Working with upstream repositories.

    " } }, - "name": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "externalConnections": { + "target": "com.amazonaws.codeartifact#RepositoryExternalConnectionInfoList", "traits": { - "smithy.api#documentation": "

    \n The name of the repository.\n

    " + "smithy.api#documentation": "

    \n An array of external connections associated with the repository.\n

    " } } }, @@ -3963,18 +3973,18 @@ "com.amazonaws.codeartifact#RepositoryExternalConnectionInfo": { "type": "structure", "members": { - "packageFormat": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n The package format associated with a repository's external connection. The valid package formats are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    " - } - }, "externalConnectionName": { "target": "com.amazonaws.codeartifact#ExternalConnectionName", "traits": { "smithy.api#documentation": "

    The name of the external connection associated with a repository.

    " } }, + "packageFormat": { + "target": "com.amazonaws.codeartifact#PackageFormat", + "traits": { + "smithy.api#documentation": "

    \n The package format associated with a repository's external connection. The valid package formats are:\n

    \n
      \n
    • \n

      \n npm: A Node Package Manager (npm) package.\n

      \n
    • \n
    • \n

      \n pypi: A Python Package Index (PyPI) package.\n

      \n
    • \n
    • \n

      \n maven: A Maven package that contains compiled code in a distributable format, such as a JAR file.\n

      \n
    • \n
    • \n

      \n nuget: A NuGet package.\n

      \n
    • \n
    " + } + }, "status": { "target": "com.amazonaws.codeartifact#ExternalConnectionStatus", "traits": { @@ -4005,34 +4015,28 @@ "com.amazonaws.codeartifact#RepositorySummary": { "type": "structure", "members": { - "domainName": { - "target": "com.amazonaws.codeartifact#DomainName", + "name": { + "target": "com.amazonaws.codeartifact#RepositoryName", "traits": { - "smithy.api#documentation": "

    \n The name of the domain that contains the repository.\n

    " + "smithy.api#documentation": "

    \n The name of the repository.\n

    " } }, - "domainOwner": { + "administratorAccount": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    " - } - }, - "description": { - "target": "com.amazonaws.codeartifact#Description", - "traits": { - "smithy.api#documentation": "

    \n The description of the repository.\n

    " + "smithy.api#documentation": "

    \n The AWS account ID that manages the repository.\n

    " } }, - "name": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "domainName": { + "target": "com.amazonaws.codeartifact#DomainName", "traits": { - "smithy.api#documentation": "

    \n The name of the repository.\n

    " + "smithy.api#documentation": "

    \n The name of the domain that contains the repository.\n

    " } }, - "administratorAccount": { + "domainOwner": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n The AWS account ID that manages the repository.\n

    " + "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    " } }, "arn": { @@ -4040,6 +4044,12 @@ "traits": { "smithy.api#documentation": "

    The ARN of the repository.

    " } + }, + "description": { + "target": "com.amazonaws.codeartifact#Description", + "traits": { + "smithy.api#documentation": "

    \n The description of the repository.\n

    " + } } }, "traits": { @@ -4055,16 +4065,16 @@ "com.amazonaws.codeartifact#ResourceNotFoundException": { "type": "structure", "members": { - "resourceId": { + "message": { "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n The ID of the resource.\n

    " + "smithy.api#required": {} } }, - "message": { + "resourceId": { "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The ID of the resource.\n

    " } }, "resourceType": { @@ -4083,18 +4093,18 @@ "com.amazonaws.codeartifact#ResourcePolicy": { "type": "structure", "members": { - "revision": { - "target": "com.amazonaws.codeartifact#PolicyRevision", - "traits": { - "smithy.api#documentation": "

    \n The current revision of the resource policy.\n

    " - } - }, "resourceArn": { "target": "com.amazonaws.codeartifact#Arn", "traits": { "smithy.api#documentation": "

    \n The ARN of the resource associated with the resource policy\n

    " } }, + "revision": { + "target": "com.amazonaws.codeartifact#PolicyRevision", + "traits": { + "smithy.api#documentation": "

    \n The current revision of the resource policy.\n

    " + } + }, "document": { "target": "com.amazonaws.codeartifact#PolicyDocument", "traits": { @@ -4142,16 +4152,16 @@ "com.amazonaws.codeartifact#ServiceQuotaExceededException": { "type": "structure", "members": { - "resourceId": { + "message": { "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#documentation": "

    \n The ID of the resource.\n

    " + "smithy.api#required": {} } }, - "message": { + "resourceId": { "target": "com.amazonaws.codeartifact#String", "traits": { - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The ID of the resource.\n

    " } }, "resourceType": { @@ -4214,14 +4224,14 @@ "key": { "target": "com.amazonaws.codeartifact#TagKey", "traits": { - "smithy.api#documentation": "

    The tag's key.

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

    The tag key.

    ", "smithy.api#required": {} } }, "value": { "target": "com.amazonaws.codeartifact#TagValue", "traits": { - "smithy.api#documentation": "

    The tag's value.

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

    The tag value.

    ", "smithy.api#required": {} } } @@ -4300,18 +4310,18 @@ "com.amazonaws.codeartifact#TagResourceRequest": { "type": "structure", "members": { - "tags": { - "target": "com.amazonaws.codeartifact#TagList", + "resourceArn": { + "target": "com.amazonaws.codeartifact#Arn", "traits": { - "smithy.api#documentation": "

    The tags you want to modify or add to the resource.

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

    The Amazon Resource Name (ARN) of the resource that you want to add or update tags for.

    ", + "smithy.api#httpQuery": "resourceArn", "smithy.api#required": {} } }, - "resourceArn": { - "target": "com.amazonaws.codeartifact#Arn", + "tags": { + "target": "com.amazonaws.codeartifact#TagList", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.

    ", - "smithy.api#httpQuery": "resourceArn", + "smithy.api#documentation": "

    The tags you want to modify or add to the resource.

    ", "smithy.api#required": {} } } @@ -4393,7 +4403,7 @@ "resourceArn": { "target": "com.amazonaws.codeartifact#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource to which you want to remove tags.

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

    The Amazon Resource Name (ARN) of the resource that you want to remove tags from.

    ", "smithy.api#httpQuery": "resourceArn", "smithy.api#required": {} } @@ -4459,13 +4469,36 @@ "smithy.api#required": {} } }, - "versions": { - "target": "com.amazonaws.codeartifact#PackageVersionList", + "domainOwner": { + "target": "com.amazonaws.codeartifact#AccountId", "traits": { - "smithy.api#documentation": "

    \n An array of strings that specify the versions of the package with the statuses to update.\n

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

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", + "smithy.api#httpQuery": "domain-owner" + } + }, + "repository": { + "target": "com.amazonaws.codeartifact#RepositoryName", + "traits": { + "smithy.api#documentation": "

    \n The repository that contains the package versions with the status you want to update. \n

    ", + "smithy.api#httpQuery": "repository", + "smithy.api#required": {} + } + }, + "format": { + "target": "com.amazonaws.codeartifact#PackageFormat", + "traits": { + "smithy.api#documentation": "

    \n A format that specifies the type of the package with the statuses to update. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    • \n

      \n nuget\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "format", "smithy.api#required": {} } }, + "namespace": { + "target": "com.amazonaws.codeartifact#PackageNamespace", + "traits": { + "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    • \n

      \n A NuGet package does not contain a corresponding component, so \n NuGet packages do not have a namespace.\n

      \n
    • \n
    ", + "smithy.api#httpQuery": "namespace" + } + }, "package": { "target": "com.amazonaws.codeartifact#PackageName", "traits": { @@ -4474,10 +4507,10 @@ "smithy.api#required": {} } }, - "targetStatus": { - "target": "com.amazonaws.codeartifact#PackageVersionStatus", + "versions": { + "target": "com.amazonaws.codeartifact#PackageVersionList", "traits": { - "smithy.api#documentation": "

    \n The status you want to change the package version status to.\n

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

    \n An array of strings that specify the versions of the package with the statuses to update.\n

    ", "smithy.api#required": {} } }, @@ -4487,58 +4520,35 @@ "smithy.api#documentation": "

    A map of package versions and package version revisions. The map key is the\n package version (for example, 3.5.2), and the map value is the\n package version revision.

    " } }, - "domainOwner": { - "target": "com.amazonaws.codeartifact#AccountId", - "traits": { - "smithy.api#documentation": "

    \n The 12-digit account number of the AWS account that owns the domain. It does not include \n dashes or spaces.\n

    ", - "smithy.api#httpQuery": "domain-owner" - } - }, - "format": { - "target": "com.amazonaws.codeartifact#PackageFormat", - "traits": { - "smithy.api#documentation": "

    \n A format that specifies the type of the package with the statuses to update. The valid values are:\n

    \n
      \n
    • \n

      \n npm\n

      \n
    • \n
    • \n

      \n pypi\n

      \n
    • \n
    • \n

      \n maven\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "format", - "smithy.api#required": {} - } - }, "expectedStatus": { "target": "com.amazonaws.codeartifact#PackageVersionStatus", "traits": { "smithy.api#documentation": "

    The package version’s expected status before it is updated. If\n expectedStatus is provided, the package version's status is updated only if its\n status at the time UpdatePackageVersionsStatus is called matches\n expectedStatus.

    " } }, - "repository": { - "target": "com.amazonaws.codeartifact#RepositoryName", + "targetStatus": { + "target": "com.amazonaws.codeartifact#PackageVersionStatus", "traits": { - "smithy.api#documentation": "

    \n The repository that contains the package versions with the status you want to update. \n

    ", - "smithy.api#httpQuery": "repository", + "smithy.api#documentation": "

    \n The status you want to change the package version status to.\n

    ", "smithy.api#required": {} } - }, - "namespace": { - "target": "com.amazonaws.codeartifact#PackageNamespace", - "traits": { - "smithy.api#documentation": "

    \n The namespace of the package. The package component that specifies its \n namespace depends on its type. For example:\n

    \n
      \n
    • \n

      \n The namespace of a Maven package is its groupId.\n

      \n
    • \n
    • \n

      \n The namespace of an npm package is its scope.\n

      \n
    • \n
    • \n

      \n A Python package does not contain a corresponding component, so \n Python packages do not have a namespace.\n

      \n
    • \n
    ", - "smithy.api#httpQuery": "namespace" - } } } }, "com.amazonaws.codeartifact#UpdatePackageVersionsStatusResult": { "type": "structure", "members": { - "failedVersions": { - "target": "com.amazonaws.codeartifact#PackageVersionErrorMap", - "traits": { - "smithy.api#documentation": "

    A list of SuccessfulPackageVersionInfo objects, one for each package version\n with a status that successfully updated.

    " - } - }, "successfulVersions": { "target": "com.amazonaws.codeartifact#SuccessfulPackageVersionInfoMap", "traits": { "smithy.api#documentation": "

    \n A list of PackageVersionError objects, one for each package version with \n a status that failed to update.\n

    " } + }, + "failedVersions": { + "target": "com.amazonaws.codeartifact#PackageVersionErrorMap", + "traits": { + "smithy.api#documentation": "

    A list of SuccessfulPackageVersionInfo objects, one for each package version\n with a status that successfully updated.

    " + } } } }, @@ -4585,12 +4595,6 @@ "com.amazonaws.codeartifact#UpdateRepositoryRequest": { "type": "structure", "members": { - "upstreams": { - "target": "com.amazonaws.codeartifact#UpstreamRepositoryList", - "traits": { - "smithy.api#documentation": "

    A list of upstream repositories to associate with the repository. The order of the upstream repositories \n in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more \n information, see Working with upstream repositories.

    " - } - }, "domain": { "target": "com.amazonaws.codeartifact#DomainName", "traits": { @@ -4599,12 +4603,6 @@ "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.codeartifact#Description", - "traits": { - "smithy.api#documentation": "

    \n An updated repository description.\n

    " - } - }, "domainOwner": { "target": "com.amazonaws.codeartifact#AccountId", "traits": { @@ -4619,6 +4617,18 @@ "smithy.api#httpQuery": "repository", "smithy.api#required": {} } + }, + "description": { + "target": "com.amazonaws.codeartifact#Description", + "traits": { + "smithy.api#documentation": "

    \n An updated repository description.\n

    " + } + }, + "upstreams": { + "target": "com.amazonaws.codeartifact#UpstreamRepositoryList", + "traits": { + "smithy.api#documentation": "

    A list of upstream repositories to associate with the repository. The order of the upstream repositories \n in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more \n information, see Working with upstream repositories.

    " + } } } }, @@ -4677,17 +4687,17 @@ "com.amazonaws.codeartifact#ValidationException": { "type": "structure", "members": { - "reason": { - "target": "com.amazonaws.codeartifact#ValidationExceptionReason", - "traits": { - "smithy.api#documentation": "

    \n \n

    " - } - }, "message": { "target": "com.amazonaws.codeartifact#String", "traits": { "smithy.api#required": {} } + }, + "reason": { + "target": "com.amazonaws.codeartifact#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

    \n \n

    " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json b/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json index ab91618cc72f0..471ade6471f98 100644 --- a/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json +++ b/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json @@ -1333,6 +1333,9 @@ { "target": "com.amazonaws.codebuild#DescribeTestCases" }, + { + "target": "com.amazonaws.codebuild#GetReportGroupTrend" + }, { "target": "com.amazonaws.codebuild#GetResourcePolicy" }, @@ -2545,6 +2548,54 @@ "target": "com.amazonaws.codebuild#FilterGroup" } }, + "com.amazonaws.codebuild#GetReportGroupTrend": { + "type": "operation", + "input": { + "target": "com.amazonaws.codebuild#GetReportGroupTrendInput" + }, + "output": { + "target": "com.amazonaws.codebuild#GetReportGroupTrendOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codebuild#InvalidInputException" + }, + { + "target": "com.amazonaws.codebuild#ResourceNotFoundException" + } + ] + }, + "com.amazonaws.codebuild#GetReportGroupTrendInput": { + "type": "structure", + "members": { + "reportGroupArn": { + "target": "com.amazonaws.codebuild#NonEmptyString", + "traits": { + "smithy.api#required": {} + } + }, + "numOfReports": { + "target": "com.amazonaws.codebuild#PageSize" + }, + "trendField": { + "target": "com.amazonaws.codebuild#ReportGroupTrendFieldType", + "traits": { + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.codebuild#GetReportGroupTrendOutput": { + "type": "structure", + "members": { + "stats": { + "target": "com.amazonaws.codebuild#ReportGroupTrendStats" + }, + "rawData": { + "target": "com.amazonaws.codebuild#ReportGroupTrendRawDataList" + } + } + }, "com.amazonaws.codebuild#GetResourcePolicy": { "type": "operation", "input": { @@ -4704,6 +4755,69 @@ ] } }, + "com.amazonaws.codebuild#ReportGroupTrendFieldType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PASS_RATE", + "name": "PASS_RATE" + }, + { + "value": "DURATION", + "name": "DURATION" + }, + { + "value": "TOTAL", + "name": "TOTAL" + }, + { + "value": "LINE_COVERAGE", + "name": "LINE_COVERAGE" + }, + { + "value": "LINES_COVERED", + "name": "LINES_COVERED" + }, + { + "value": "LINES_MISSED", + "name": "LINES_MISSED" + }, + { + "value": "BRANCH_COVERAGE", + "name": "BRANCH_COVERAGE" + }, + { + "value": "BRANCHES_COVERED", + "name": "BRANCHES_COVERED" + }, + { + "value": "BRANCHES_MISSED", + "name": "BRANCHES_MISSED" + } + ] + } + }, + "com.amazonaws.codebuild#ReportGroupTrendRawDataList": { + "type": "list", + "member": { + "target": "com.amazonaws.codebuild#ReportWithRawData" + } + }, + "com.amazonaws.codebuild#ReportGroupTrendStats": { + "type": "structure", + "members": { + "average": { + "target": "com.amazonaws.codebuild#String" + }, + "max": { + "target": "com.amazonaws.codebuild#String" + }, + "min": { + "target": "com.amazonaws.codebuild#String" + } + } + }, "com.amazonaws.codebuild#ReportGroups": { "type": "list", "member": { @@ -4782,6 +4896,17 @@ ] } }, + "com.amazonaws.codebuild#ReportWithRawData": { + "type": "structure", + "members": { + "reportArn": { + "target": "com.amazonaws.codebuild#NonEmptyString" + }, + "data": { + "target": "com.amazonaws.codebuild#String" + } + } + }, "com.amazonaws.codebuild#Reports": { "type": "list", "member": { diff --git a/codegen/sdk-codegen/aws-models/codestar-connections.2019-12-01.json b/codegen/sdk-codegen/aws-models/codestar-connections.2019-12-01.json index dd0e4124eca02..5ff9e47fb8821 100644 --- a/codegen/sdk-codegen/aws-models/codestar-connections.2019-12-01.json +++ b/codegen/sdk-codegen/aws-models/codestar-connections.2019-12-01.json @@ -45,7 +45,8 @@ "smithy.api#length": { "min": 1, "max": 1011 - } + }, + "smithy.api#pattern": "arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+" } }, "com.amazonaws.codestarconnections#CodeStar_connections_20191201": { @@ -84,6 +85,9 @@ }, { "target": "com.amazonaws.codestarconnections#UntagResource" + }, + { + "target": "com.amazonaws.codestarconnections#UpdateHost" } ], "traits": { @@ -97,29 +101,48 @@ "name": "codestar-connections" }, "aws.protocols#awsJson1_0": {}, - "smithy.api#documentation": "AWS CodeStar Connections\n \n

    The CodeStar Connections feature is in preview release and is subject to change.

    \n
    \n

    This AWS CodeStar Connections API Reference provides descriptions and usage examples of\n the operations and data types for the AWS CodeStar Connections API. You can use the\n connections API to work with connections and installations.

    \n

    \n Connections are configurations that you use to connect AWS\n resources to external code repositories. Each connection is a resource that can be given to\n services such as CodePipeline to connect to a third-party repository such as Bitbucket. For\n example, you can add the connection in CodePipeline so that it triggers your pipeline when a\n code change is made to your third-party code repository. Each connection is named and\n associated with a unique ARN that is used to reference the connection.

    \n

    When you create a connection, the console initiates a third-party connection handshake.\n Installations are the apps that are used to conduct this handshake. For\n example, the installation for the Bitbucket provider type is the Bitbucket Cloud app. When you\n create a connection, you can choose an existing installation or create one.

    \n

    When you want to create a connection to an installed provider type such as GitHub\n Enterprise Server, you create a host for your connections.

    \n

    You can work with connections by calling:

    \n
      \n
    • \n

      \n CreateConnection, which creates a uniquely named connection that can be\n referenced by services such as CodePipeline.

      \n
    • \n
    • \n

      \n DeleteConnection, which deletes the specified connection.

      \n
    • \n
    • \n

      \n GetConnection, which returns information about the connection, including\n the connection status.

      \n
    • \n
    • \n

      \n ListConnections, which lists the connections associated with your\n account.

      \n
    • \n
    \n

    You can work with hosts by calling:

    \n
      \n
    • \n

      \n CreateHost, which creates a host that represents the infrastructure where your provider is installed.

      \n
    • \n
    • \n

      \n DeleteHost, which deletes the specified host.

      \n
    • \n
    • \n

      \n GetHost, which returns information about the host, including\n the setup status.

      \n
    • \n
    • \n

      \n ListHosts, which lists the hosts associated with your\n account.

      \n
    • \n
    \n

    You can work with tags in AWS CodeStar Connections by calling the following:

    \n
      \n
    • \n

      \n ListTagsForResource, which gets information about AWS tags for a\n specified Amazon Resource Name (ARN) in AWS CodeStar Connections.

      \n
    • \n
    • \n

      \n TagResource, which adds or updates tags for a resource in AWS CodeStar\n Connections.

      \n
    • \n
    • \n

      \n UntagResource, which removes tags for a resource in AWS CodeStar\n Connections.

      \n
    • \n
    \n

    For information about how to use AWS CodeStar Connections, see the Developer Tools User\n Guide.

    ", + "smithy.api#documentation": "AWS CodeStar Connections\n

    This AWS CodeStar Connections API Reference provides descriptions and usage examples of\n the operations and data types for the AWS CodeStar Connections API. You can use the\n connections API to work with connections and installations.

    \n

    \n Connections are configurations that you use to connect AWS\n resources to external code repositories. Each connection is a resource that can be given to\n services such as CodePipeline to connect to a third-party repository such as Bitbucket. For\n example, you can add the connection in CodePipeline so that it triggers your pipeline when a\n code change is made to your third-party code repository. Each connection is named and\n associated with a unique ARN that is used to reference the connection.

    \n

    When you create a connection, the console initiates a third-party connection handshake.\n Installations are the apps that are used to conduct this handshake. For\n example, the installation for the Bitbucket provider type is the Bitbucket app. When you\n create a connection, you can choose an existing installation or create one.

    \n

    When you want to create a connection to an installed provider type such as GitHub\n Enterprise Server, you create a host for your connections.

    \n

    You can work with connections by calling:

    \n
      \n
    • \n

      \n CreateConnection, which creates a uniquely named connection that can be\n referenced by services such as CodePipeline.

      \n
    • \n
    • \n

      \n DeleteConnection, which deletes the specified connection.

      \n
    • \n
    • \n

      \n GetConnection, which returns information about the connection, including\n the connection status.

      \n
    • \n
    • \n

      \n ListConnections, which lists the connections associated with your\n account.

      \n
    • \n
    \n

    You can work with hosts by calling:

    \n
      \n
    • \n

      \n CreateHost, which creates a host that represents the infrastructure where your provider is installed.

      \n
    • \n
    • \n

      \n DeleteHost, which deletes the specified host.

      \n
    • \n
    • \n

      \n GetHost, which returns information about the host, including\n the setup status.

      \n
    • \n
    • \n

      \n ListHosts, which lists the hosts associated with your\n account.

      \n
    • \n
    \n

    You can work with tags in AWS CodeStar Connections by calling the following:

    \n
      \n
    • \n

      \n ListTagsForResource, which gets information about AWS tags for a\n specified Amazon Resource Name (ARN) in AWS CodeStar Connections.

      \n
    • \n
    • \n

      \n TagResource, which adds or updates tags for a resource in AWS CodeStar\n Connections.

      \n
    • \n
    • \n

      \n UntagResource, which removes tags for a resource in AWS CodeStar\n Connections.

      \n
    • \n
    \n

    For information about how to use AWS CodeStar Connections, see the Developer Tools User\n Guide.

    ", "smithy.api#title": "AWS CodeStar connections" } }, + "com.amazonaws.codestarconnections#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

    Two conflicting operations have been made on the same resource.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.codestarconnections#Connection": { "type": "structure", "members": { + "ConnectionName": { + "target": "com.amazonaws.codestarconnections#ConnectionName", + "traits": { + "smithy.api#documentation": "

    The name of the connection. Connection names must be unique in an AWS user account.

    " + } + }, "ConnectionArn": { "target": "com.amazonaws.codestarconnections#ConnectionArn", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the connection. The ARN is used as the connection\n reference when the connection is shared between AWS services.

    \n \n

    The ARN is never reused if the connection is deleted.

    \n
    " } }, - "ConnectionName": { - "target": "com.amazonaws.codestarconnections#ConnectionName", + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", "traits": { - "smithy.api#documentation": "

    The name of the connection. Connection names must be unique in an AWS user account.

    " + "smithy.api#documentation": "

    The name of the external provider where your third-party code repository is\n configured.

    " } }, - "HostArn": { - "target": "com.amazonaws.codestarconnections#HostArn", + "OwnerAccountId": { + "target": "com.amazonaws.codestarconnections#AccountId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the host associated with the connection.

    " + "smithy.api#documentation": "

    The identifier of the external provider where your third-party code repository is configured.\n For Bitbucket, this is the account ID of the owner of the Bitbucket repository.

    " } }, "ConnectionStatus": { @@ -128,16 +151,10 @@ "smithy.api#documentation": "

    The current status of the connection.

    " } }, - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

    The name of the external provider where your third-party code repository is configured.\n The valid provider type is Bitbucket.

    " - } - }, - "OwnerAccountId": { - "target": "com.amazonaws.codestarconnections#AccountId", + "HostArn": { + "target": "com.amazonaws.codestarconnections#HostArn", "traits": { - "smithy.api#documentation": "

    The identifier of the external provider where your third-party code repository is configured.\n For Bitbucket, this is the account ID of the owner of the Bitbucket repository.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the host associated with the connection.

    " } } }, @@ -167,7 +184,8 @@ "smithy.api#length": { "min": 1, "max": 32 - } + }, + "smithy.api#pattern": "[\\s\\S]*" } }, "com.amazonaws.codestarconnections#ConnectionStatus": { @@ -215,10 +233,10 @@ "com.amazonaws.codestarconnections#CreateConnectionInput": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.codestarconnections#TagList", + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", "traits": { - "smithy.api#documentation": "

    The key-value pair to use when tagging the resource.

    " + "smithy.api#documentation": "

    The name of the external provider where your third-party code repository is\n configured.

    " } }, "ConnectionName": { @@ -228,10 +246,10 @@ "smithy.api#required": {} } }, - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", + "Tags": { + "target": "com.amazonaws.codestarconnections#TagList", "traits": { - "smithy.api#documentation": "

    The name of the external provider where your third-party code repository is configured.\n The valid provider type is Bitbucket.

    " + "smithy.api#documentation": "

    The key-value pair to use when tagging the resource.

    " } }, "HostArn": { @@ -280,13 +298,6 @@ "com.amazonaws.codestarconnections#CreateHostInput": { "type": "structure", "members": { - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

    The name of the installed provider to be associated with your connection. The host\n resource represents the infrastructure where your provider type is installed. The valid\n provider type is GitHub Enterprise Server.

    ", - "smithy.api#required": {} - } - }, "Name": { "target": "com.amazonaws.codestarconnections#HostName", "traits": { @@ -294,10 +305,11 @@ "smithy.api#required": {} } }, - "VpcConfiguration": { - "target": "com.amazonaws.codestarconnections#VpcConfiguration", + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", "traits": { - "smithy.api#documentation": "

    The VPC configuration to be provisioned for the host. A VPC must be configured and the\n infrastructure to be represented by the host must already be connected to the VPC.

    " + "smithy.api#documentation": "

    The name of the installed provider to be associated with your connection. The host\n resource represents the infrastructure where your provider type is installed. The valid\n provider type is GitHub Enterprise Server.

    ", + "smithy.api#required": {} } }, "ProviderEndpoint": { @@ -306,6 +318,12 @@ "smithy.api#documentation": "

    The endpoint of the infrastructure to be represented by the host after it is\n created.

    ", "smithy.api#required": {} } + }, + "VpcConfiguration": { + "target": "com.amazonaws.codestarconnections#VpcConfiguration", + "traits": { + "smithy.api#documentation": "

    The VPC configuration to be provisioned for the host. A VPC must be configured and the\n infrastructure to be represented by the host must already be connected to the VPC.

    " + } } } }, @@ -452,6 +470,9 @@ "errors": [ { "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceUnavailableException" } ], "traits": { @@ -473,18 +494,24 @@ "com.amazonaws.codestarconnections#GetHostOutput": { "type": "structure", "members": { - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

    The provider type of the requested host, such as GitHub Enterprise Server.

    " - } - }, "Name": { "target": "com.amazonaws.codestarconnections#HostName", "traits": { "smithy.api#documentation": "

    The name of the requested host.

    " } }, + "Status": { + "target": "com.amazonaws.codestarconnections#HostStatus", + "traits": { + "smithy.api#documentation": "

    The status of the requested host.

    " + } + }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

    The provider type of the requested host, such as GitHub Enterprise Server.

    " + } + }, "ProviderEndpoint": { "target": "com.amazonaws.codestarconnections#Url", "traits": { @@ -496,30 +523,12 @@ "traits": { "smithy.api#documentation": "

    The VPC configuration of the requested host.

    " } - }, - "Status": { - "target": "com.amazonaws.codestarconnections#HostStatus", - "traits": { - "smithy.api#documentation": "

    The status of the requested host.

    " - } } } }, "com.amazonaws.codestarconnections#Host": { "type": "structure", "members": { - "StatusMessage": { - "target": "com.amazonaws.codestarconnections#HostStatusMessage", - "traits": { - "smithy.api#documentation": "

    The status description for the host.

    " - } - }, - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

    The name of the installed provider to be associated with your connection. The host\n resource represents the infrastructure where your provider type is installed. The valid\n provider type is GitHub Enterprise Server.

    " - } - }, "Name": { "target": "com.amazonaws.codestarconnections#HostName", "traits": { @@ -532,6 +541,18 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the host.

    " } }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

    The name of the installed provider to be associated with your connection. The host\n resource represents the infrastructure where your provider type is installed. The valid\n provider type is GitHub Enterprise Server.

    " + } + }, + "ProviderEndpoint": { + "target": "com.amazonaws.codestarconnections#Url", + "traits": { + "smithy.api#documentation": "

    The endpoint of the infrastructure where your provider type is installed.

    " + } + }, "VpcConfiguration": { "target": "com.amazonaws.codestarconnections#VpcConfiguration", "traits": { @@ -544,10 +565,10 @@ "smithy.api#documentation": "

    The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION.

    " } }, - "ProviderEndpoint": { - "target": "com.amazonaws.codestarconnections#Url", + "StatusMessage": { + "target": "com.amazonaws.codestarconnections#HostStatusMessage", "traits": { - "smithy.api#documentation": "

    The endpoint of the infrastructure where your provider type is installed.

    " + "smithy.api#documentation": "

    The status description for the host.

    " } } }, @@ -576,8 +597,9 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 32 - } + "max": 64 + }, + "smithy.api#pattern": ".*" } }, "com.amazonaws.codestarconnections#HostStatus": { @@ -625,6 +647,12 @@ "smithy.api#documentation": "

    Filters the list of connections to those associated with a specified provider, such as\n Bitbucket.

    " } }, + "HostArnFilter": { + "target": "com.amazonaws.codestarconnections#HostArn", + "traits": { + "smithy.api#documentation": "

    Filters the list of connections to those associated with a specified host.

    " + } + }, "MaxResults": { "target": "com.amazonaws.codestarconnections#MaxResults", "traits": { @@ -636,12 +664,6 @@ "traits": { "smithy.api#documentation": "

    The token that was returned from the previous ListConnections call, which\n can be used to return the next set of connections in the list.

    " } - }, - "HostArnFilter": { - "target": "com.amazonaws.codestarconnections#HostArn", - "traits": { - "smithy.api#documentation": "

    Filters the list of connections to those associated with a specified host.

    " - } } } }, @@ -768,7 +790,8 @@ "smithy.api#length": { "min": 1, "max": 1024 - } + }, + "smithy.api#pattern": ".*" } }, "com.amazonaws.codestarconnections#ProviderType": { @@ -819,6 +842,10 @@ "com.amazonaws.codestarconnections#SecurityGroupId": { "type": "string", "traits": { + "smithy.api#length": { + "min": 11, + "max": 20 + }, "smithy.api#pattern": "sg-\\w{8}(\\w{9})?" } }, @@ -837,6 +864,10 @@ "com.amazonaws.codestarconnections#SubnetId": { "type": "string", "traits": { + "smithy.api#length": { + "min": 15, + "max": 24 + }, "smithy.api#pattern": "subnet-\\w{8}(\\w{9})?" } }, @@ -855,17 +886,17 @@ "com.amazonaws.codestarconnections#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.codestarconnections#TagValue", + "Key": { + "target": "com.amazonaws.codestarconnections#TagKey", "traits": { - "smithy.api#documentation": "

    The tag's value.

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

    The tag's key.

    ", "smithy.api#required": {} } }, - "Key": { - "target": "com.amazonaws.codestarconnections#TagKey", + "Value": { + "target": "com.amazonaws.codestarconnections#TagValue", "traits": { - "smithy.api#documentation": "

    The tag's key.

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

    The tag's value.

    ", "smithy.api#required": {} } } @@ -880,7 +911,8 @@ "smithy.api#length": { "min": 1, "max": 128 - } + }, + "smithy.api#pattern": ".*" } }, "com.amazonaws.codestarconnections#TagKeyList": { @@ -956,7 +988,8 @@ "smithy.api#length": { "min": 0, "max": 256 - } + }, + "smithy.api#pattern": ".*" } }, "com.amazonaws.codestarconnections#TlsCertificate": { @@ -965,7 +998,21 @@ "smithy.api#length": { "min": 1, "max": 16384 + }, + "smithy.api#pattern": "[\\s\\S]*" + } + }, + "com.amazonaws.codestarconnections#UnsupportedOperationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" } + }, + "traits": { + "smithy.api#documentation": "

    The operation is not supported. Check the connection status and try again.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 } }, "com.amazonaws.codestarconnections#UntagResource": { @@ -1008,22 +1055,78 @@ "type": "structure", "members": {} }, + "com.amazonaws.codestarconnections#UpdateHost": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#UpdateHostInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#UpdateHostOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#ConflictException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceUnavailableException" + }, + { + "target": "com.amazonaws.codestarconnections#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates a specified host with the provided configurations.

    " + } + }, + "com.amazonaws.codestarconnections#UpdateHostInput": { + "type": "structure", + "members": { + "HostArn": { + "target": "com.amazonaws.codestarconnections#HostArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the host to be updated.

    ", + "smithy.api#required": {} + } + }, + "ProviderEndpoint": { + "target": "com.amazonaws.codestarconnections#Url", + "traits": { + "smithy.api#documentation": "

    The URL or endpoint of the host to be updated.

    " + } + }, + "VpcConfiguration": { + "target": "com.amazonaws.codestarconnections#VpcConfiguration", + "traits": { + "smithy.api#documentation": "

    The VPC configuration of the host to be updated. A VPC must be configured and the\n infrastructure to be represented by the host must already be connected to the VPC.

    " + } + } + } + }, + "com.amazonaws.codestarconnections#UpdateHostOutput": { + "type": "structure", + "members": {} + }, "com.amazonaws.codestarconnections#Url": { "type": "string", "traits": { "smithy.api#length": { "min": 1, "max": 512 - } + }, + "smithy.api#pattern": ".*" } }, "com.amazonaws.codestarconnections#VpcConfiguration": { "type": "structure", "members": { - "TlsCertificate": { - "target": "com.amazonaws.codestarconnections#TlsCertificate", + "VpcId": { + "target": "com.amazonaws.codestarconnections#VpcId", "traits": { - "smithy.api#documentation": "

    The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

    " + "smithy.api#documentation": "

    The ID of the Amazon VPC connected to the infrastructure where your provider type is\n installed.

    ", + "smithy.api#required": {} } }, "SubnetIds": { @@ -1040,11 +1143,10 @@ "smithy.api#required": {} } }, - "VpcId": { - "target": "com.amazonaws.codestarconnections#VpcId", + "TlsCertificate": { + "target": "com.amazonaws.codestarconnections#TlsCertificate", "traits": { - "smithy.api#documentation": "

    The ID of the Amazon VPC connected to the infrastructure where your provider type is\n installed.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

    " } } }, @@ -1055,6 +1157,10 @@ "com.amazonaws.codestarconnections#VpcId": { "type": "string", "traits": { + "smithy.api#length": { + "min": 12, + "max": 21 + }, "smithy.api#pattern": "vpc-\\w{8}(\\w{9})?" } } diff --git a/codegen/sdk-codegen/aws-models/cognito-identity-provider.2016-04-18.json b/codegen/sdk-codegen/aws-models/cognito-identity-provider.2016-04-18.json index c86083f5f1f0f..91376673d2e9a 100644 --- a/codegen/sdk-codegen/aws-models/cognito-identity-provider.2016-04-18.json +++ b/codegen/sdk-codegen/aws-models/cognito-identity-provider.2016-04-18.json @@ -385,17 +385,17 @@ "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionType": { "type": "structure", "members": { - "EventAction": { - "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverEventActionType", + "Notify": { + "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionNotifyType", "traits": { - "smithy.api#documentation": "

    The event action.

    \n
      \n
    • \n

      \n BLOCK Choosing this action will block the request.

      \n
    • \n
    • \n

      \n MFA_IF_CONFIGURED Throw MFA challenge if user has configured it,\n else allow the request.

      \n
    • \n
    • \n

      \n MFA_REQUIRED Throw MFA challenge if user has configured it, else\n block the request.

      \n
    • \n
    • \n

      \n NO_ACTION Allow the user sign-in.

      \n
    • \n
    ", + "smithy.api#documentation": "

    Flag specifying whether to send a notification.

    ", "smithy.api#required": {} } }, - "Notify": { - "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionNotifyType", + "EventAction": { + "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverEventActionType", "traits": { - "smithy.api#documentation": "

    Flag specifying whether to send a notification.

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

    The event action.

    \n
      \n
    • \n

      \n BLOCK Choosing this action will block the request.

      \n
    • \n
    • \n

      \n MFA_IF_CONFIGURED Throw MFA challenge if user has configured it,\n else allow the request.

      \n
    • \n
    • \n

      \n MFA_REQUIRED Throw MFA challenge if user has configured it, else\n block the request.

      \n
    • \n
    • \n

      \n NO_ACTION Allow the user sign-in.

      \n
    • \n
    ", "smithy.api#required": {} } } @@ -407,12 +407,6 @@ "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionsType": { "type": "structure", "members": { - "HighAction": { - "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionType", - "traits": { - "smithy.api#documentation": "

    Action to take for a high risk.

    " - } - }, "LowAction": { "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionType", "traits": { @@ -424,6 +418,12 @@ "traits": { "smithy.api#documentation": "

    Action to take for a medium risk.

    " } + }, + "HighAction": { + "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionType", + "traits": { + "smithy.api#documentation": "

    Action to take for a high risk.

    " + } } }, "traits": { @@ -456,18 +456,18 @@ "com.amazonaws.cognitoidentityprovider#AccountTakeoverRiskConfigurationType": { "type": "structure", "members": { + "NotifyConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#NotifyConfigurationType", + "traits": { + "smithy.api#documentation": "

    The notify configuration used to construct email notifications.

    " + } + }, "Actions": { "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionsType", "traits": { "smithy.api#documentation": "

    Account takeover risk configuration actions

    ", "smithy.api#required": {} } - }, - "NotifyConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#NotifyConfigurationType", - "traits": { - "smithy.api#documentation": "

    The notify configuration used to construct email notifications.

    " - } } }, "traits": { @@ -509,17 +509,17 @@ "com.amazonaws.cognitoidentityprovider#AddCustomAttributesRequest": { "type": "structure", "members": { - "CustomAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#CustomAttributesListType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    An array of custom attributes, such as Mutable and Name.

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

    The user pool ID for the user pool where you want to add custom attributes.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "CustomAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#CustomAttributesListType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to add custom attributes.

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

    An array of custom attributes, such as Mutable and Name.

    ", "smithy.api#required": {} } } @@ -567,6 +567,13 @@ "com.amazonaws.cognitoidentityprovider#AdminAddUserToGroupRequest": { "type": "structure", "members": { + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "traits": { + "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", + "smithy.api#required": {} + } + }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { @@ -580,13 +587,6 @@ "smithy.api#documentation": "

    The group name.

    ", "smithy.api#required": {} } - }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", - "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", - "smithy.api#required": {} - } } } }, @@ -743,17 +743,17 @@ "smithy.api#documentation": "

    Set to True if only the administrator is allowed to create user profiles.\n Set to False if users can sign themselves up via an app.

    " } }, - "InviteMessageTemplate": { - "target": "com.amazonaws.cognitoidentityprovider#MessageTemplateType", - "traits": { - "smithy.api#documentation": "

    The message template to be used for the welcome message to new users.

    \n

    See also Customizing User Invitation Messages.

    " - } - }, "UnusedAccountValidityDays": { "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserUnusedAccountValidityDaysType", "traits": { "smithy.api#documentation": "

    The user account expiration limit, in days, after which the account is no longer\n usable. To reset the account after that time limit, you must call\n AdminCreateUser again, specifying \"RESEND\" for the\n MessageAction parameter. The default value for this parameter is 7.

    \n \n

    If you set a value for TemporaryPasswordValidityDays in\n PasswordPolicy, that value will be used and\n UnusedAccountValidityDays will be deprecated for that user pool.\n

    \n
    " } + }, + "InviteMessageTemplate": { + "target": "com.amazonaws.cognitoidentityprovider#MessageTemplateType", + "traits": { + "smithy.api#documentation": "

    The message template to be used for the welcome message to new users.

    \n

    See also Customizing User Invitation Messages.

    " + } } }, "traits": { @@ -763,30 +763,24 @@ "com.amazonaws.cognitoidentityprovider#AdminCreateUserRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The username for the user. Must be unique within the user pool. Must be a UTF-8 string\n between 1 and 128 characters. After the user is created, the username cannot be\n changed.

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

    The user pool ID for the user pool where the user will be created.

    ", "smithy.api#required": {} } }, - "DesiredDeliveryMediums": { - "target": "com.amazonaws.cognitoidentityprovider#DeliveryMediumListType", - "traits": { - "smithy.api#documentation": "

    Specify \"EMAIL\" if email will be used to send the welcome message.\n Specify \"SMS\" if the phone number will be used. The default value is\n \"SMS\". More than one value can be specified.

    " - } - }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where the user will be created.

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

    The username for the user. Must be unique within the user pool. Must be a UTF-8 string\n between 1 and 128 characters. After the user is created, the username cannot be\n changed.

    ", "smithy.api#required": {} } }, - "MessageAction": { - "target": "com.amazonaws.cognitoidentityprovider#MessageActionType", + "UserAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

    Set to \"RESEND\" to resend the invitation message to a user that already\n exists and reset the expiration limit on the user's account. Set to\n \"SUPPRESS\" to suppress sending the message. Only one value can be\n specified.

    " + "smithy.api#documentation": "

    An array of name-value pairs that contain user attributes and attribute values to be\n set for the user to be created. You can create a user without specifying any attributes\n other than Username. However, any attributes that you specify as required\n (when creating a user pool or in the Attributes tab of the console) must be supplied either by you (in your\n call to AdminCreateUser) or by the user (when he or she signs up in\n response to your welcome message).

    \n

    For custom attributes, you must prepend the custom: prefix to the\n attribute name.

    \n

    To send a message inviting the user to sign up, you must specify the user's email\n address or phone number. This can be done in your call to AdminCreateUser or in the\n Users tab of the Amazon Cognito console for\n managing your user pools.

    \n

    In your call to AdminCreateUser, you can set the\n email_verified attribute to True, and you can set the\n phone_number_verified attribute to True. (You can also do\n this by calling AdminUpdateUserAttributes.)

    \n
      \n
    • \n

      \n email: The email address of the user to whom\n the message that contains the code and username will be sent. Required if the\n email_verified attribute is set to True, or if\n \"EMAIL\" is specified in the DesiredDeliveryMediums\n parameter.

      \n
    • \n
    • \n

      \n phone_number: The phone number of the user to\n whom the message that contains the code and username will be sent. Required if\n the phone_number_verified attribute is set to True, or\n if \"SMS\" is specified in the DesiredDeliveryMediums\n parameter.

      \n
    • \n
    " } }, "ValidationData": { @@ -807,10 +801,16 @@ "smithy.api#documentation": "

    This parameter is only used if the phone_number_verified or\n email_verified attribute is set to True. Otherwise, it is\n ignored.

    \n

    If this parameter is set to True and the phone number or email address\n specified in the UserAttributes parameter already exists as an alias with a different\n user, the API call will migrate the alias from the previous user to the newly created\n user. The previous user will no longer be able to log in using that alias.

    \n

    If this parameter is set to False, the API throws an\n AliasExistsException error if the alias already exists. The default\n value is False.

    " } }, - "UserAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", + "MessageAction": { + "target": "com.amazonaws.cognitoidentityprovider#MessageActionType", "traits": { - "smithy.api#documentation": "

    An array of name-value pairs that contain user attributes and attribute values to be\n set for the user to be created. You can create a user without specifying any attributes\n other than Username. However, any attributes that you specify as required\n (when creating a user pool or in the Attributes tab of the console) must be supplied either by you (in your\n call to AdminCreateUser) or by the user (when he or she signs up in\n response to your welcome message).

    \n

    For custom attributes, you must prepend the custom: prefix to the\n attribute name.

    \n

    To send a message inviting the user to sign up, you must specify the user's email\n address or phone number. This can be done in your call to AdminCreateUser or in the\n Users tab of the Amazon Cognito console for\n managing your user pools.

    \n

    In your call to AdminCreateUser, you can set the\n email_verified attribute to True, and you can set the\n phone_number_verified attribute to True. (You can also do\n this by calling AdminUpdateUserAttributes.)

    \n
      \n
    • \n

      \n email: The email address of the user to whom\n the message that contains the code and username will be sent. Required if the\n email_verified attribute is set to True, or if\n \"EMAIL\" is specified in the DesiredDeliveryMediums\n parameter.

      \n
    • \n
    • \n

      \n phone_number: The phone number of the user to\n whom the message that contains the code and username will be sent. Required if\n the phone_number_verified attribute is set to True, or\n if \"SMS\" is specified in the DesiredDeliveryMediums\n parameter.

      \n
    • \n
    " + "smithy.api#documentation": "

    Set to \"RESEND\" to resend the invitation message to a user that already\n exists and reset the expiration limit on the user's account. Set to\n \"SUPPRESS\" to suppress sending the message. Only one value can be\n specified.

    " + } + }, + "DesiredDeliveryMediums": { + "target": "com.amazonaws.cognitoidentityprovider#DeliveryMediumListType", + "traits": { + "smithy.api#documentation": "

    Specify \"EMAIL\" if email will be used to send the welcome message.\n Specify \"SMS\" if the phone number will be used. The default value is\n \"SMS\". More than one value can be specified.

    " } }, "ClientMetadata": { @@ -911,17 +911,17 @@ "com.amazonaws.cognitoidentityprovider#AdminDeleteUserAttributesRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The user name of the user from which you would like to delete attributes.

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

    The user pool ID for the user pool where you want to delete user attributes.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to delete user attributes.

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

    The user name of the user from which you would like to delete attributes.

    ", "smithy.api#required": {} } }, @@ -1059,17 +1059,17 @@ "com.amazonaws.cognitoidentityprovider#AdminDisableUserRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The user name of the user you wish to disable.

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

    The user pool ID for the user pool where you want to disable the user.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to disable the user.

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

    The user name of the user you wish to disable.

    ", "smithy.api#required": {} } } @@ -1181,10 +1181,10 @@ "com.amazonaws.cognitoidentityprovider#AdminForgetDeviceRequest": { "type": "structure", "members": { - "DeviceKey": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The device key.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, @@ -1195,10 +1195,10 @@ "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "DeviceKey": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The device key.

    ", "smithy.api#required": {} } } @@ -1249,17 +1249,17 @@ "smithy.api#required": {} } }, - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The user name.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The user name.

    ", "smithy.api#required": {} } } @@ -1340,16 +1340,17 @@ "com.amazonaws.cognitoidentityprovider#AdminGetUserResponse": { "type": "structure", "members": { - "MFAOptions": { - "target": "com.amazonaws.cognitoidentityprovider#MFAOptionListType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    \n This response parameter is no longer supported. It provides\n information only about SMS MFA configurations. It doesn't provide information about TOTP\n software token MFA configurations. To look up information about either type of MFA\n configuration, use UserMFASettingList instead.

    " + "smithy.api#documentation": "

    The user name of the user about whom you are receiving information.

    ", + "smithy.api#required": {} } }, - "UserMFASettingList": { - "target": "com.amazonaws.cognitoidentityprovider#UserMFASettingListType", + "UserAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

    The MFA options that are enabled for the user. The possible values in this list are\n SMS_MFA and SOFTWARE_TOKEN_MFA.

    " + "smithy.api#documentation": "

    An array of name-value pairs representing user attributes.

    " } }, "UserCreateDate": { @@ -1358,10 +1359,10 @@ "smithy.api#documentation": "

    The date the user was created.

    " } }, - "UserAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", + "UserLastModifiedDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    An array of name-value pairs representing user attributes.

    " + "smithy.api#documentation": "

    The date the user was last modified.

    " } }, "Enabled": { @@ -1370,29 +1371,28 @@ "smithy.api#documentation": "

    Indicates that the status is enabled.

    " } }, - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserStatus": { + "target": "com.amazonaws.cognitoidentityprovider#UserStatusType", "traits": { - "smithy.api#documentation": "

    The user name of the user about whom you are receiving information.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The user status. Can be one of the following:

    \n
      \n
    • \n

      UNCONFIRMED - User has been created but not confirmed.

      \n
    • \n
    • \n

      CONFIRMED - User has been confirmed.

      \n
    • \n
    • \n

      ARCHIVED - User is no longer active.

      \n
    • \n
    • \n

      COMPROMISED - User is disabled due to a potential security threat.

      \n
    • \n
    • \n

      UNKNOWN - User status is not known.

      \n
    • \n
    • \n

      RESET_REQUIRED - User is confirmed, but the user must request a code and reset\n his or her password before he or she can sign in.

      \n
    • \n
    • \n

      FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a\n temporary password, but on first sign-in, the user must change his or her\n password to a new value before doing anything else.

      \n
    • \n
    " } }, - "PreferredMfaSetting": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "MFAOptions": { + "target": "com.amazonaws.cognitoidentityprovider#MFAOptionListType", "traits": { - "smithy.api#documentation": "

    The user's preferred MFA setting.

    " + "smithy.api#documentation": "

    \n This response parameter is no longer supported. It provides\n information only about SMS MFA configurations. It doesn't provide information about TOTP\n software token MFA configurations. To look up information about either type of MFA\n configuration, use UserMFASettingList instead.

    " } }, - "UserLastModifiedDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "PreferredMfaSetting": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The date the user was last modified.

    " + "smithy.api#documentation": "

    The user's preferred MFA setting.

    " } }, - "UserStatus": { - "target": "com.amazonaws.cognitoidentityprovider#UserStatusType", + "UserMFASettingList": { + "target": "com.amazonaws.cognitoidentityprovider#UserMFASettingListType", "traits": { - "smithy.api#documentation": "

    The user status. Can be one of the following:

    \n
      \n
    • \n

      UNCONFIRMED - User has been created but not confirmed.

      \n
    • \n
    • \n

      CONFIRMED - User has been confirmed.

      \n
    • \n
    • \n

      ARCHIVED - User is no longer active.

      \n
    • \n
    • \n

      COMPROMISED - User is disabled due to a potential security threat.

      \n
    • \n
    • \n

      UNKNOWN - User status is not known.

      \n
    • \n
    • \n

      RESET_REQUIRED - User is confirmed, but the user must request a code and reset\n his or her password before he or she can sign in.

      \n
    • \n
    • \n

      FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a\n temporary password, but on first sign-in, the user must change his or her\n password to a new value before doing anything else.

      \n
    • \n
    " + "smithy.api#documentation": "

    The MFA options that are enabled for the user. The possible values in this list are\n SMS_MFA and SOFTWARE_TOKEN_MFA.

    " } } }, @@ -1462,16 +1462,18 @@ "com.amazonaws.cognitoidentityprovider#AdminInitiateAuthRequest": { "type": "structure", "members": { - "AnalyticsMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The analytics metadata for collecting Amazon Pinpoint metrics for\n AdminInitiateAuth calls.

    " + "smithy.api#documentation": "

    The ID of the Amazon Cognito user pool.

    ", + "smithy.api#required": {} } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for certain custom\n workflows that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda\n functions that are specified for various triggers. The ClientMetadata value is passed as\n input to the functions for only the following triggers:

    \n
      \n
    • \n

      Pre signup

      \n
    • \n
    • \n

      Pre authentication

      \n
    • \n
    • \n

      User migration

      \n
    • \n
    \n\n

    When Amazon Cognito invokes the functions for these triggers, it passes a JSON\n payload, which the function receives as input. This payload contains a\n validationData attribute, which provides the data that you assigned to\n the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in\n AWS Lambda, you can process the validationData value to enhance your\n workflow for your specific needs.

    \n\n

    When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the\n functions for the following triggers, but it does not provide the ClientMetadata value\n as input:

    \n\n
      \n
    • \n

      Post authentication

      \n
    • \n
    • \n

      Custom message

      \n
    • \n
    • \n

      Pre token generation

      \n
    • \n
    • \n

      Create auth challenge

      \n
    • \n
    • \n

      Define auth challenge

      \n
    • \n
    • \n

      Verify auth challenge

      \n
    • \n
    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    The app client ID.

    ", + "smithy.api#required": {} } }, "AuthFlow": { @@ -1481,30 +1483,28 @@ "smithy.api#required": {} } }, - "ContextData": { - "target": "com.amazonaws.cognitoidentityprovider#ContextDataType", + "AuthParameters": { + "target": "com.amazonaws.cognitoidentityprovider#AuthParametersType", "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " + "smithy.api#documentation": "

    The authentication parameters. These are inputs corresponding to the\n AuthFlow that you are invoking. The required values depend on the value\n of AuthFlow:

    \n
      \n
    • \n

      For USER_SRP_AUTH: USERNAME (required),\n SRP_A (required), SECRET_HASH (required if the app\n client is configured with a client secret), DEVICE_KEY.

      \n
    • \n
    • \n

      For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN\n (required), SECRET_HASH (required if the app client is configured\n with a client secret), DEVICE_KEY.

      \n
    • \n
    • \n

      For ADMIN_NO_SRP_AUTH: USERNAME (required),\n SECRET_HASH (if app client is configured with client secret),\n PASSWORD (required), DEVICE_KEY.

      \n
    • \n
    • \n

      For CUSTOM_AUTH: USERNAME (required),\n SECRET_HASH (if app client is configured with client secret),\n DEVICE_KEY. To start the authentication flow with password\n verification, include ChallengeName: SRP_A and SRP_A: (The\n SRP_A Value).

      \n
    • \n
    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    The ID of the Amazon Cognito user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for certain custom\n workflows that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda\n functions that are specified for various triggers. The ClientMetadata value is passed as\n input to the functions for only the following triggers:

    \n
      \n
    • \n

      Pre signup

      \n
    • \n
    • \n

      Pre authentication

      \n
    • \n
    • \n

      User migration

      \n
    • \n
    \n\n

    When Amazon Cognito invokes the functions for these triggers, it passes a JSON\n payload, which the function receives as input. This payload contains a\n validationData attribute, which provides the data that you assigned to\n the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in\n AWS Lambda, you can process the validationData value to enhance your\n workflow for your specific needs.

    \n\n

    When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the\n functions for the following triggers, but it does not provide the ClientMetadata value\n as input:

    \n\n
      \n
    • \n

      Post authentication

      \n
    • \n
    • \n

      Custom message

      \n
    • \n
    • \n

      Pre token generation

      \n
    • \n
    • \n

      Create auth challenge

      \n
    • \n
    • \n

      Define auth challenge

      \n
    • \n
    • \n

      Verify auth challenge

      \n
    • \n
    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } }, - "AuthParameters": { - "target": "com.amazonaws.cognitoidentityprovider#AuthParametersType", + "AnalyticsMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

    The authentication parameters. These are inputs corresponding to the\n AuthFlow that you are invoking. The required values depend on the value\n of AuthFlow:

    \n
      \n
    • \n

      For USER_SRP_AUTH: USERNAME (required),\n SRP_A (required), SECRET_HASH (required if the app\n client is configured with a client secret), DEVICE_KEY.

      \n
    • \n
    • \n

      For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN\n (required), SECRET_HASH (required if the app client is configured\n with a client secret), DEVICE_KEY.

      \n
    • \n
    • \n

      For ADMIN_NO_SRP_AUTH: USERNAME (required),\n SECRET_HASH (if app client is configured with client secret),\n PASSWORD (required), DEVICE_KEY.

      \n
    • \n
    • \n

      For CUSTOM_AUTH: USERNAME (required),\n SECRET_HASH (if app client is configured with client secret),\n DEVICE_KEY. To start the authentication flow with password\n verification, include ChallengeName: SRP_A and SRP_A: (The\n SRP_A Value).

      \n
    • \n
    " + "smithy.api#documentation": "

    The analytics metadata for collecting Amazon Pinpoint metrics for\n AdminInitiateAuth calls.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "ContextData": { + "target": "com.amazonaws.cognitoidentityprovider#ContextDataType", "traits": { - "smithy.api#documentation": "

    The app client ID.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } } }, @@ -1521,12 +1521,6 @@ "smithy.api#documentation": "

    The name of the challenge which you are responding to with this call. This is returned\n to you in the AdminInitiateAuth response if you need to pass another\n challenge.

    \n
      \n
    • \n

      \n MFA_SETUP: If MFA is required, users who do not have at least one\n of the MFA methods set up are presented with an MFA_SETUP\n challenge. The user must set up at least one MFA type to continue to\n authenticate.

      \n
    • \n
    • \n

      \n SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are\n SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA\n for TOTP software token MFA.

      \n
    • \n
    • \n

      \n SMS_MFA: Next challenge is to supply an\n SMS_MFA_CODE, delivered via SMS.

      \n
    • \n
    • \n

      \n PASSWORD_VERIFIER: Next challenge is to supply\n PASSWORD_CLAIM_SIGNATURE,\n PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after\n the client-side SRP calculations.

      \n
    • \n
    • \n

      \n CUSTOM_CHALLENGE: This is returned if your custom authentication\n flow determines that the user should pass another challenge before tokens are\n issued.

      \n
    • \n
    • \n

      \n DEVICE_SRP_AUTH: If device tracking was enabled on your user pool\n and the previous challenges were passed, this challenge is returned so that\n Amazon Cognito can start tracking this device.

      \n
    • \n
    • \n

      \n DEVICE_PASSWORD_VERIFIER: Similar to\n PASSWORD_VERIFIER, but for devices only.

      \n
    • \n
    • \n

      \n ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate\n with USERNAME and PASSWORD directly. An app client\n must be enabled to use this flow.

      \n
    • \n
    • \n

      \n NEW_PASSWORD_REQUIRED: For users which are required to change\n their passwords after successful first login. This challenge should be passed\n with NEW_PASSWORD and any other required attributes.

      \n
    • \n
    " } }, - "AuthenticationResult": { - "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", - "traits": { - "smithy.api#documentation": "

    The result of the authentication response. This is only returned if the caller does\n not need to pass another challenge. If the caller does need to pass another challenge\n before it gets tokens, ChallengeName, ChallengeParameters, and\n Session are returned.

    " - } - }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { @@ -1538,6 +1532,12 @@ "traits": { "smithy.api#documentation": "

    The challenge parameters. These are returned to you in the\n AdminInitiateAuth response if you need to pass another challenge. The\n responses in this parameter should be used to compute inputs to the next call\n (AdminRespondToAuthChallenge).

    \n

    All challenges require USERNAME and SECRET_HASH (if\n applicable).

    \n

    The value of the USER_ID_FOR_SRP attribute will be the user's actual\n username, not an alias (such as email address or phone number), even if you specified an\n alias in your call to AdminInitiateAuth. This is because, in the\n AdminRespondToAuthChallenge API ChallengeResponses, the\n USERNAME attribute cannot be an alias.

    " } + }, + "AuthenticationResult": { + "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", + "traits": { + "smithy.api#documentation": "

    The result of the authentication response. This is only returned if the caller does\n not need to pass another challenge. If the caller does need to pass another challenge\n before it gets tokens, ChallengeName, ChallengeParameters, and\n Session are returned.

    " + } } }, "traits": { @@ -1585,10 +1585,10 @@ "com.amazonaws.cognitoidentityprovider#AdminLinkProviderForUserRequest": { "type": "structure", "members": { - "SourceUser": { - "target": "com.amazonaws.cognitoidentityprovider#ProviderUserIdentifierType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    An external identity provider account for a user who does not currently exist yet in\n the user pool. This user must be a federated user (for example, a SAML or Facebook\n user), not another native user.

    \n

    If the SourceUser is a federated social identity provider user (Facebook,\n Google, or Login with Amazon), you must set the ProviderAttributeName to\n Cognito_Subject. For social identity providers, the\n ProviderName will be Facebook, Google, or\n LoginWithAmazon, and Cognito will automatically parse the Facebook,\n Google, and Login with Amazon tokens for id, sub, and\n user_id, respectively. The ProviderAttributeValue for the\n user must be the same value as the id, sub, or\n user_id value found in the social identity provider token.

    \n

    \n

    For SAML, the ProviderAttributeName can be any value that matches a claim\n in the SAML assertion. If you wish to link SAML users based on the subject of the SAML\n assertion, you should map the subject to a claim through the SAML identity provider and\n submit that claim name as the ProviderAttributeName. If you set\n ProviderAttributeName to Cognito_Subject, Cognito will\n automatically parse the default unique identifier found in the subject from the SAML\n token.

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

    The user pool ID for the user pool.

    ", "smithy.api#required": {} } }, @@ -1599,10 +1599,10 @@ "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "SourceUser": { + "target": "com.amazonaws.cognitoidentityprovider#ProviderUserIdentifierType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool.

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

    An external identity provider account for a user who does not currently exist yet in\n the user pool. This user must be a federated user (for example, a SAML or Facebook\n user), not another native user.

    \n

    If the SourceUser is a federated social identity provider user (Facebook,\n Google, or Login with Amazon), you must set the ProviderAttributeName to\n Cognito_Subject. For social identity providers, the\n ProviderName will be Facebook, Google, or\n LoginWithAmazon, and Cognito will automatically parse the Facebook,\n Google, and Login with Amazon tokens for id, sub, and\n user_id, respectively. The ProviderAttributeValue for the\n user must be the same value as the id, sub, or\n user_id value found in the social identity provider token.

    \n

    \n

    For SAML, the ProviderAttributeName can be any value that matches a claim\n in the SAML assertion. If you wish to link SAML users based on the subject of the SAML\n assertion, you should map the subject to a claim through the SAML identity provider and\n submit that claim name as the ProviderAttributeName. If you set\n ProviderAttributeName to Cognito_Subject, Cognito will\n automatically parse the default unique identifier found in the subject from the SAML\n token.

    ", "smithy.api#required": {} } } @@ -1647,16 +1647,11 @@ "com.amazonaws.cognitoidentityprovider#AdminListDevicesRequest": { "type": "structure", "members": { - "PaginationToken": { - "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", - "traits": { - "smithy.api#documentation": "

    The pagination token.

    " - } - }, - "Limit": { - "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The limit of the devices request.

    " + "smithy.api#documentation": "

    The user pool ID.

    ", + "smithy.api#required": {} } }, "Username": { @@ -1666,11 +1661,16 @@ "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Limit": { + "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The limit of the devices request.

    " + } + }, + "PaginationToken": { + "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", + "traits": { + "smithy.api#documentation": "

    The pagination token.

    " } } }, @@ -1681,17 +1681,17 @@ "com.amazonaws.cognitoidentityprovider#AdminListDevicesResponse": { "type": "structure", "members": { - "PaginationToken": { - "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", - "traits": { - "smithy.api#documentation": "

    The pagination token.

    " - } - }, "Devices": { "target": "com.amazonaws.cognitoidentityprovider#DeviceListType", "traits": { "smithy.api#documentation": "

    The devices in the list of devices response.

    " } + }, + "PaginationToken": { + "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", + "traits": { + "smithy.api#documentation": "

    The pagination token.

    " + } } }, "traits": { @@ -1739,10 +1739,11 @@ "com.amazonaws.cognitoidentityprovider#AdminListGroupsForUserRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    The limit of the request to list groups.

    " + "smithy.api#documentation": "

    The username for the user.

    ", + "smithy.api#required": {} } }, "UserPoolId": { @@ -1752,17 +1753,16 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", + "Limit": { + "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", "traits": { - "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " + "smithy.api#documentation": "

    The limit of the request to list groups.

    " } }, - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "NextToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

    The username for the user.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " } } } @@ -1828,10 +1828,11 @@ "com.amazonaws.cognitoidentityprovider#AdminListUserAuthEventsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    A pagination token.

    " + "smithy.api#documentation": "

    The user pool ID.

    ", + "smithy.api#required": {} } }, "Username": { @@ -1847,11 +1848,10 @@ "smithy.api#documentation": "

    The maximum number of authentication events to return.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "NextToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

    The user pool ID.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A pagination token.

    " } } } @@ -1905,6 +1905,13 @@ "com.amazonaws.cognitoidentityprovider#AdminRemoveUserFromGroupRequest": { "type": "structure", "members": { + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "traits": { + "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", + "smithy.api#required": {} + } + }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { @@ -1918,13 +1925,6 @@ "smithy.api#documentation": "

    The group name.

    ", "smithy.api#required": {} } - }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", - "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", - "smithy.api#required": {} - } } } }, @@ -1984,12 +1984,6 @@ "com.amazonaws.cognitoidentityprovider#AdminResetUserPasswordRequest": { "type": "structure", "members": { - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", - "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your AdminResetUserPassword\n request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -2003,6 +1997,12 @@ "smithy.api#documentation": "

    The user name of the user whose password you wish to reset.

    ", "smithy.api#required": {} } + }, + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "traits": { + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your AdminResetUserPassword\n request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + } } }, "traits": { @@ -2093,16 +2093,18 @@ "com.amazonaws.cognitoidentityprovider#AdminRespondToAuthChallengeRequest": { "type": "structure", "members": { - "Session": { - "target": "com.amazonaws.cognitoidentityprovider#SessionType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. If InitiateAuth or RespondToAuthChallenge API call\n determines that the caller needs to go through another challenge, they return a session\n with other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

    " + "smithy.api#documentation": "

    The ID of the Amazon Cognito user pool.

    ", + "smithy.api#required": {} } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any\n functions that are assigned to the following triggers: pre sign-up,\n custom message, post authentication,\n user migration, pre token generation,\n define auth challenge, create auth\n challenge, and verify auth challenge response. When\n Amazon Cognito invokes any of these functions, it passes a JSON payload, which the\n function receives as input. This payload contains a clientMetadata\n attribute, which provides the data that you assigned to the ClientMetadata parameter in\n your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can\n process the clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    The app client ID.

    ", + "smithy.api#required": {} } }, "ChallengeName": { @@ -2112,36 +2114,34 @@ "smithy.api#required": {} } }, - "AnalyticsMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "ChallengeResponses": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponsesType", "traits": { - "smithy.api#documentation": "

    The analytics metadata for collecting Amazon Pinpoint metrics for\n AdminRespondToAuthChallenge calls.

    " + "smithy.api#documentation": "

    The challenge responses. These are inputs corresponding to the value of\n ChallengeName, for example:

    \n
      \n
    • \n

      \n SMS_MFA: SMS_MFA_CODE, USERNAME,\n SECRET_HASH (if app client is configured with client\n secret).

      \n
    • \n
    • \n

      \n PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE,\n PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP,\n USERNAME, SECRET_HASH (if app client is configured\n with client secret).

      \n
    • \n
    • \n

      \n ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME,\n SECRET_HASH (if app client is configured with client secret).\n

      \n
    • \n
    • \n

      \n NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other\n required attributes, USERNAME, SECRET_HASH (if app\n client is configured with client secret).

      \n
    • \n
    \n

    The value of the USERNAME attribute must be the user's actual username,\n not an alias (such as email address or phone number). To make this easier, the\n AdminInitiateAuth response includes the actual username value in the\n USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in\n your call to AdminInitiateAuth.

    " } }, - "ContextData": { - "target": "com.amazonaws.cognitoidentityprovider#ContextDataType", + "Session": { + "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " + "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. If InitiateAuth or RespondToAuthChallenge API call\n determines that the caller needs to go through another challenge, they return a session\n with other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

    " } }, - "ChallengeResponses": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponsesType", + "AnalyticsMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

    The challenge responses. These are inputs corresponding to the value of\n ChallengeName, for example:

    \n
      \n
    • \n

      \n SMS_MFA: SMS_MFA_CODE, USERNAME,\n SECRET_HASH (if app client is configured with client\n secret).

      \n
    • \n
    • \n

      \n PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE,\n PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP,\n USERNAME, SECRET_HASH (if app client is configured\n with client secret).

      \n
    • \n
    • \n

      \n ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME,\n SECRET_HASH (if app client is configured with client secret).\n

      \n
    • \n
    • \n

      \n NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other\n required attributes, USERNAME, SECRET_HASH (if app\n client is configured with client secret).

      \n
    • \n
    \n

    The value of the USERNAME attribute must be the user's actual username,\n not an alias (such as email address or phone number). To make this easier, the\n AdminInitiateAuth response includes the actual username value in the\n USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in\n your call to AdminInitiateAuth.

    " + "smithy.api#documentation": "

    The analytics metadata for collecting Amazon Pinpoint metrics for\n AdminRespondToAuthChallenge calls.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "ContextData": { + "target": "com.amazonaws.cognitoidentityprovider#ContextDataType", "traits": { - "smithy.api#documentation": "

    The app client ID.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    The ID of the Amazon Cognito user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any\n functions that are assigned to the following triggers: pre sign-up,\n custom message, post authentication,\n user migration, pre token generation,\n define auth challenge, create auth\n challenge, and verify auth challenge response. When\n Amazon Cognito invokes any of these functions, it passes a JSON payload, which the\n function receives as input. This payload contains a clientMetadata\n attribute, which provides the data that you assigned to the ClientMetadata parameter in\n your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can\n process the clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } } }, @@ -2152,6 +2152,12 @@ "com.amazonaws.cognitoidentityprovider#AdminRespondToAuthChallengeResponse": { "type": "structure", "members": { + "ChallengeName": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", + "traits": { + "smithy.api#documentation": "

    The name of the challenge. For more information, see AdminInitiateAuth.

    " + } + }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { @@ -2164,12 +2170,6 @@ "smithy.api#documentation": "

    The challenge parameters. For more information, see AdminInitiateAuth.

    " } }, - "ChallengeName": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", - "traits": { - "smithy.api#documentation": "

    The name of the challenge. For more information, see AdminInitiateAuth.

    " - } - }, "AuthenticationResult": { "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", "traits": { @@ -2219,6 +2219,12 @@ "com.amazonaws.cognitoidentityprovider#AdminSetUserMFAPreferenceRequest": { "type": "structure", "members": { + "SMSMfaSettings": { + "target": "com.amazonaws.cognitoidentityprovider#SMSMfaSettingsType", + "traits": { + "smithy.api#documentation": "

    The SMS text message MFA settings.

    " + } + }, "SoftwareTokenMfaSettings": { "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaSettingsType", "traits": { @@ -2238,12 +2244,6 @@ "smithy.api#documentation": "

    The user pool ID.

    ", "smithy.api#required": {} } - }, - "SMSMfaSettings": { - "target": "com.amazonaws.cognitoidentityprovider#SMSMfaSettingsType", - "traits": { - "smithy.api#documentation": "

    The SMS text message MFA settings.

    " - } } } }, @@ -2289,13 +2289,6 @@ "com.amazonaws.cognitoidentityprovider#AdminSetUserPasswordRequest": { "type": "structure", "members": { - "Password": { - "target": "com.amazonaws.cognitoidentityprovider#PasswordType", - "traits": { - "smithy.api#documentation": "

    The password for the user.

    ", - "smithy.api#required": {} - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -2310,6 +2303,13 @@ "smithy.api#required": {} } }, + "Password": { + "target": "com.amazonaws.cognitoidentityprovider#PasswordType", + "traits": { + "smithy.api#documentation": "

    The password for the user.

    ", + "smithy.api#required": {} + } + }, "Permanent": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { @@ -2354,6 +2354,13 @@ "com.amazonaws.cognitoidentityprovider#AdminSetUserSettingsRequest": { "type": "structure", "members": { + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "traits": { + "smithy.api#documentation": "

    The ID of the user pool that contains the user that you are setting options\n for.

    ", + "smithy.api#required": {} + } + }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { @@ -2367,13 +2374,6 @@ "smithy.api#documentation": "

    You can use this parameter only to set an SMS configuration that uses SMS for\n delivery.

    ", "smithy.api#required": {} } - }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", - "traits": { - "smithy.api#documentation": "

    The ID of the user pool that contains the user that you are setting options\n for.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -2439,17 +2439,17 @@ "smithy.api#required": {} } }, - "FeedbackValue": { - "target": "com.amazonaws.cognitoidentityprovider#FeedbackValueType", + "EventId": { + "target": "com.amazonaws.cognitoidentityprovider#EventIdType", "traits": { - "smithy.api#documentation": "

    The authentication event feedback value.

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

    The authentication event ID.

    ", "smithy.api#required": {} } }, - "EventId": { - "target": "com.amazonaws.cognitoidentityprovider#EventIdType", + "FeedbackValue": { + "target": "com.amazonaws.cognitoidentityprovider#FeedbackValueType", "traits": { - "smithy.api#documentation": "

    The authentication event ID.

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

    The authentication event feedback value.

    ", "smithy.api#required": {} } } @@ -2497,16 +2497,10 @@ "com.amazonaws.cognitoidentityprovider#AdminUpdateDeviceStatusRequest": { "type": "structure", "members": { - "DeviceRememberedStatus": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceRememberedStatusType", - "traits": { - "smithy.api#documentation": "

    The status indicating whether a device has been remembered or not.

    " - } - }, - "DeviceKey": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The device key.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, @@ -2517,12 +2511,18 @@ "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "DeviceKey": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The device key.

    ", "smithy.api#required": {} } + }, + "DeviceRememberedStatus": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceRememberedStatusType", + "traits": { + "smithy.api#documentation": "

    The status indicating whether a device has been remembered or not.

    " + } } }, "traits": { @@ -2592,17 +2592,17 @@ "com.amazonaws.cognitoidentityprovider#AdminUpdateUserAttributesRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The user name of the user for whom you want to update user attributes.

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

    The user pool ID for the user pool where you want to update user attributes.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to update user attributes.

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

    The user name of the user for whom you want to update user attributes.

    ", "smithy.api#required": {} } }, @@ -2755,16 +2755,16 @@ "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType": { "type": "structure", "members": { - "ApplicationArn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "ApplicationId": { + "target": "com.amazonaws.cognitoidentityprovider#HexStringType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint \n project for Pinpoint integration with the chosen User Pool Client. \n Amazon Cognito publishes events to the pinpoint project declared by the app ARN.

    " + "smithy.api#documentation": "

    The application ID for an Amazon Pinpoint application.

    " } }, - "ExternalId": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "ApplicationArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The external ID.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint \n project for Pinpoint integration with the chosen User Pool Client. \n Amazon Cognito publishes events to the pinpoint project declared by the app ARN.

    " } }, "RoleArn": { @@ -2773,16 +2773,16 @@ "smithy.api#documentation": "

    The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon\n Pinpoint analytics.

    " } }, - "UserDataShared": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "ExternalId": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    If UserDataShared is true, Amazon Cognito will include user\n data in the events it publishes to Amazon Pinpoint analytics.

    " + "smithy.api#documentation": "

    The external ID.

    " } }, - "ApplicationId": { - "target": "com.amazonaws.cognitoidentityprovider#HexStringType", + "UserDataShared": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    The application ID for an Amazon Pinpoint application.

    " + "smithy.api#documentation": "

    If UserDataShared is true, Amazon Cognito will include user\n data in the events it publishes to Amazon Pinpoint analytics.

    " } } }, @@ -2866,17 +2866,17 @@ "com.amazonaws.cognitoidentityprovider#AssociateSoftwareTokenResponse": { "type": "structure", "members": { - "Session": { - "target": "com.amazonaws.cognitoidentityprovider#SessionType", - "traits": { - "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. This allows authentication of the user as part of the MFA setup process.

    " - } - }, "SecretCode": { "target": "com.amazonaws.cognitoidentityprovider#SecretCodeType", "traits": { "smithy.api#documentation": "

    A unique generated shared secret code that is used in the TOTP algorithm to generate a\n one time code.

    " } + }, + "Session": { + "target": "com.amazonaws.cognitoidentityprovider#SessionType", + "traits": { + "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. This allows authentication of the user as part of the MFA setup process.

    " + } } } }, @@ -2977,34 +2977,16 @@ "com.amazonaws.cognitoidentityprovider#AuthEventType": { "type": "structure", "members": { - "EventContextData": { - "target": "com.amazonaws.cognitoidentityprovider#EventContextDataType", - "traits": { - "smithy.api#documentation": "

    The user context data captured at the time of an event request. It provides additional\n information about the client from which event the request is received.

    " - } - }, - "EventFeedback": { - "target": "com.amazonaws.cognitoidentityprovider#EventFeedbackType", - "traits": { - "smithy.api#documentation": "

    A flag specifying the user feedback captured at the time of an event request is good\n or bad.

    " - } - }, - "EventType": { - "target": "com.amazonaws.cognitoidentityprovider#EventType", - "traits": { - "smithy.api#documentation": "

    The event type.

    " - } - }, "EventId": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { "smithy.api#documentation": "

    The event ID.

    " } }, - "ChallengeResponses": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponseListType", + "EventType": { + "target": "com.amazonaws.cognitoidentityprovider#EventType", "traits": { - "smithy.api#documentation": "

    The challenge responses.

    " + "smithy.api#documentation": "

    The event type.

    " } }, "CreationDate": { @@ -3013,16 +2995,34 @@ "smithy.api#documentation": "

    The creation date

    " } }, + "EventResponse": { + "target": "com.amazonaws.cognitoidentityprovider#EventResponseType", + "traits": { + "smithy.api#documentation": "

    The event response.

    " + } + }, "EventRisk": { "target": "com.amazonaws.cognitoidentityprovider#EventRiskType", "traits": { "smithy.api#documentation": "

    The event risk.

    " } }, - "EventResponse": { - "target": "com.amazonaws.cognitoidentityprovider#EventResponseType", + "ChallengeResponses": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponseListType", "traits": { - "smithy.api#documentation": "

    The event response.

    " + "smithy.api#documentation": "

    The challenge responses.

    " + } + }, + "EventContextData": { + "target": "com.amazonaws.cognitoidentityprovider#EventContextDataType", + "traits": { + "smithy.api#documentation": "

    The user context data captured at the time of an event request. It provides additional\n information about the client from which event the request is received.

    " + } + }, + "EventFeedback": { + "target": "com.amazonaws.cognitoidentityprovider#EventFeedbackType", + "traits": { + "smithy.api#documentation": "

    A flag specifying the user feedback captured at the time of an event request is good\n or bad.

    " } } }, @@ -3086,16 +3086,22 @@ "com.amazonaws.cognitoidentityprovider#AuthenticationResultType": { "type": "structure", "members": { + "AccessToken": { + "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "traits": { + "smithy.api#documentation": "

    The access token.

    " + } + }, "ExpiresIn": { "target": "com.amazonaws.cognitoidentityprovider#IntegerType", "traits": { "smithy.api#documentation": "

    The expiration period of the authentication result in seconds.

    " } }, - "NewDeviceMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#NewDeviceMetadataType", + "TokenType": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The new device metadata from an authentication result.

    " + "smithy.api#documentation": "

    The token type.

    " } }, "RefreshToken": { @@ -3110,16 +3116,10 @@ "smithy.api#documentation": "

    The ID token.

    " } }, - "TokenType": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", - "traits": { - "smithy.api#documentation": "

    The token type.

    " - } - }, - "AccessToken": { - "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "NewDeviceMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#NewDeviceMetadataType", "traits": { - "smithy.api#documentation": "

    The access token.

    " + "smithy.api#documentation": "

    The new device metadata from an authentication result.

    " } } }, @@ -3255,17 +3255,17 @@ "com.amazonaws.cognitoidentityprovider#ChallengeResponseType": { "type": "structure", "members": { - "ChallengeResponse": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponse", - "traits": { - "smithy.api#documentation": "

    The challenge response.

    " - } - }, "ChallengeName": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeName", "traits": { "smithy.api#documentation": "

    The challenge name

    " } + }, + "ChallengeResponse": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponse", + "traits": { + "smithy.api#documentation": "

    The challenge response.

    " + } } }, "traits": { @@ -3330,13 +3330,6 @@ "com.amazonaws.cognitoidentityprovider#ChangePasswordRequest": { "type": "structure", "members": { - "AccessToken": { - "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", - "traits": { - "smithy.api#documentation": "

    The access token.

    ", - "smithy.api#required": {} - } - }, "PreviousPassword": { "target": "com.amazonaws.cognitoidentityprovider#PasswordType", "traits": { @@ -3350,6 +3343,13 @@ "smithy.api#documentation": "

    The new password.

    ", "smithy.api#required": {} } + }, + "AccessToken": { + "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "traits": { + "smithy.api#documentation": "

    The access token.

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -3627,17 +3627,17 @@ "smithy.api#required": {} } }, - "DeviceName": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceNameType", - "traits": { - "smithy.api#documentation": "

    The device name.

    " - } - }, "DeviceSecretVerifierConfig": { "target": "com.amazonaws.cognitoidentityprovider#DeviceSecretVerifierConfigType", "traits": { "smithy.api#documentation": "

    The configuration of the device secret verifier.

    " } + }, + "DeviceName": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceNameType", + "traits": { + "smithy.api#documentation": "

    The device name.

    " + } } }, "traits": { @@ -3722,19 +3722,6 @@ "com.amazonaws.cognitoidentityprovider#ConfirmForgotPasswordRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", - "traits": { - "smithy.api#documentation": "

    The user name of the user for whom you want to enter a code to retrieve a forgotten\n password.

    ", - "smithy.api#required": {} - } - }, - "UserContextData": { - "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", - "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " - } - }, "ClientId": { "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { @@ -3748,10 +3735,11 @@ "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function\n that is assigned to the post confirmation trigger. When Amazon\n Cognito invokes this function, it passes a JSON payload, which the function receives as\n input. This payload contains a clientMetadata attribute, which provides the\n data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword\n request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    The user name of the user for whom you want to enter a code to retrieve a forgotten\n password.

    ", + "smithy.api#required": {} } }, "ConfirmationCode": { @@ -3773,6 +3761,18 @@ "traits": { "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n ConfirmForgotPassword calls.

    " } + }, + "UserContextData": { + "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", + "traits": { + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " + } + }, + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "traits": { + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function\n that is assigned to the post confirmation trigger. When Amazon\n Cognito invokes this function, it passes a JSON payload, which the function receives as\n input. This payload contains a clientMetadata attribute, which provides the\n data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword\n request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + } } }, "traits": { @@ -3847,13 +3847,6 @@ "com.amazonaws.cognitoidentityprovider#ConfirmSignUpRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", - "traits": { - "smithy.api#documentation": "

    The user name of the user whose registration you wish to confirm.

    ", - "smithy.api#required": {} - } - }, "ClientId": { "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { @@ -3867,10 +3860,11 @@ "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " } }, - "UserContextData": { - "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " + "smithy.api#documentation": "

    The user name of the user whose registration you wish to confirm.

    ", + "smithy.api#required": {} } }, "ConfirmationCode": { @@ -3880,22 +3874,28 @@ "smithy.api#required": {} } }, + "ForceAliasCreation": { + "target": "com.amazonaws.cognitoidentityprovider#ForceAliasCreation", + "traits": { + "smithy.api#documentation": "

    Boolean to be specified to force user confirmation irrespective of existing alias. By\n default set to False. If this parameter is set to True and the\n phone number/email used for sign up confirmation already exists as an alias with a\n different user, the API call will migrate the alias from the previous user to the newly\n created user being confirmed. If set to False, the API will throw an\n AliasExistsException error.

    " + } + }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n ConfirmSignUp calls.

    " } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "UserContextData": { + "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is\n assigned to the post confirmation trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your\n function code in AWS Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } }, - "ForceAliasCreation": { - "target": "com.amazonaws.cognitoidentityprovider#ForceAliasCreation", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    Boolean to be specified to force user confirmation irrespective of existing alias. By\n default set to False. If this parameter is set to True and the\n phone number/email used for sign up confirmation already exists as an alias with a\n different user, the API call will migrate the alias from the previous user to the newly\n created user being confirmed. If set to False, the API will throw an\n AliasExistsException error.

    " + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is\n assigned to the post confirmation trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your\n function code in AWS Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } } }, @@ -3923,38 +3923,38 @@ "com.amazonaws.cognitoidentityprovider#ContextDataType": { "type": "structure", "members": { - "ServerName": { + "IpAddress": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    Your server endpoint where this API is invoked.

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

    Source IP address of your user.

    ", "smithy.api#required": {} } }, - "HttpHeaders": { - "target": "com.amazonaws.cognitoidentityprovider#HttpHeaderList", + "ServerName": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    HttpHeaders received on your server in same order.

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

    Your server endpoint where this API is invoked.

    ", "smithy.api#required": {} } }, - "EncodedData": { + "ServerPath": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    Encoded data containing device fingerprinting details, collected using the Amazon\n Cognito context data collection library.

    " + "smithy.api#documentation": "

    Your server path where this API is invoked.

    ", + "smithy.api#required": {} } }, - "ServerPath": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "HttpHeaders": { + "target": "com.amazonaws.cognitoidentityprovider#HttpHeaderList", "traits": { - "smithy.api#documentation": "

    Your server path where this API is invoked.

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

    HttpHeaders received on your server in same order.

    ", "smithy.api#required": {} } }, - "IpAddress": { + "EncodedData": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    Source IP address of your user.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Encoded data containing device fingerprinting details, collected using the Amazon\n Cognito context data collection library.

    " } } }, @@ -4007,12 +4007,6 @@ "smithy.api#required": {} } }, - "Precedence": { - "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", - "traits": { - "smithy.api#documentation": "

    A nonnegative integer value that specifies the precedence of this group relative to\n the other groups that a user can belong to in the user pool. Zero is the highest\n precedence value. Groups with lower Precedence values take precedence over\n groups with higher or null Precedence values. If a user belongs to two or\n more groups, it is the group with the lowest precedence value whose role ARN will be\n used in the cognito:roles and cognito:preferred_role claims in\n the user's tokens.

    \n

    Two groups can have the same Precedence value. If this happens, neither\n group takes precedence over the other. If two groups with the same\n Precedence have the same role ARN, that role is used in the\n cognito:preferred_role claim in tokens for users in each group. If the\n two groups have different role ARNs, the cognito:preferred_role claim is\n not set in users' tokens.

    \n

    The default Precedence value is null.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -4020,16 +4014,22 @@ "smithy.api#required": {} } }, + "Description": { + "target": "com.amazonaws.cognitoidentityprovider#DescriptionType", + "traits": { + "smithy.api#documentation": "

    A string containing the description of the group.

    " + } + }, "RoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { "smithy.api#documentation": "

    The role ARN for the group.

    " } }, - "Description": { - "target": "com.amazonaws.cognitoidentityprovider#DescriptionType", + "Precedence": { + "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", "traits": { - "smithy.api#documentation": "

    A string containing the description of the group.

    " + "smithy.api#documentation": "

    A nonnegative integer value that specifies the precedence of this group relative to\n the other groups that a user can belong to in the user pool. Zero is the highest\n precedence value. Groups with lower Precedence values take precedence over\n groups with higher or null Precedence values. If a user belongs to two or\n more groups, it is the group with the lowest precedence value whose role ARN will be\n used in the cognito:roles and cognito:preferred_role claims in\n the user's tokens.

    \n

    Two groups can have the same Precedence value. If this happens, neither\n group takes precedence over the other. If two groups with the same\n Precedence have the same role ARN, that role is used in the\n cognito:preferred_role claim in tokens for users in each group. If the\n two groups have different role ARNs, the cognito:preferred_role claim is\n not set in users' tokens.

    \n

    The default Precedence value is null.

    " } } } @@ -4083,29 +4083,24 @@ "com.amazonaws.cognitoidentityprovider#CreateIdentityProviderRequest": { "type": "structure", "members": { - "ProviderName": { - "target": "com.amazonaws.cognitoidentityprovider#ProviderNameTypeV1", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The identity provider name.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, - "AttributeMapping": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeMappingType", - "traits": { - "smithy.api#documentation": "

    A mapping of identity provider attributes to standard and custom user pool\n attributes.

    " - } - }, - "IdpIdentifiers": { - "target": "com.amazonaws.cognitoidentityprovider#IdpIdentifiersListType", + "ProviderName": { + "target": "com.amazonaws.cognitoidentityprovider#ProviderNameTypeV1", "traits": { - "smithy.api#documentation": "

    A list of identity provider identifiers.

    " + "smithy.api#documentation": "

    The identity provider name.

    ", + "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ProviderType": { + "target": "com.amazonaws.cognitoidentityprovider#IdentityProviderTypeType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The identity provider type.

    ", "smithy.api#required": {} } }, @@ -4116,11 +4111,16 @@ "smithy.api#required": {} } }, - "ProviderType": { - "target": "com.amazonaws.cognitoidentityprovider#IdentityProviderTypeType", + "AttributeMapping": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeMappingType", "traits": { - "smithy.api#documentation": "

    The identity provider type.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A mapping of identity provider attributes to standard and custom user pool\n attributes.

    " + } + }, + "IdpIdentifiers": { + "target": "com.amazonaws.cognitoidentityprovider#IdpIdentifiersListType", + "traits": { + "smithy.api#documentation": "

    A list of identity provider identifiers.

    " } } } @@ -4172,19 +4172,6 @@ "com.amazonaws.cognitoidentityprovider#CreateResourceServerRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.cognitoidentityprovider#ResourceServerNameType", - "traits": { - "smithy.api#documentation": "

    A friendly name for the resource server.

    ", - "smithy.api#required": {} - } - }, - "Scopes": { - "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", - "traits": { - "smithy.api#documentation": "

    A list of scopes. Each scope is map, where the keys are name and\n description.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -4198,6 +4185,19 @@ "smithy.api#documentation": "

    A unique resource server identifier for the resource server. This could be an HTTPS\n endpoint where the resource server is located. For example,\n https://my-weather-api.example.com.

    ", "smithy.api#required": {} } + }, + "Name": { + "target": "com.amazonaws.cognitoidentityprovider#ResourceServerNameType", + "traits": { + "smithy.api#documentation": "

    A friendly name for the resource server.

    ", + "smithy.api#required": {} + } + }, + "Scopes": { + "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", + "traits": { + "smithy.api#documentation": "

    A list of scopes. Each scope is map, where the keys are name and\n description.

    " + } } } }, @@ -4251,6 +4251,13 @@ "com.amazonaws.cognitoidentityprovider#CreateUserImportJobRequest": { "type": "structure", "members": { + "JobName": { + "target": "com.amazonaws.cognitoidentityprovider#UserImportJobNameType", + "traits": { + "smithy.api#documentation": "

    The job name for the user import job.

    ", + "smithy.api#required": {} + } + }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -4264,13 +4271,6 @@ "smithy.api#documentation": "

    The role ARN for the Amazon CloudWatch Logging role for the user import job.

    ", "smithy.api#required": {} } - }, - "JobName": { - "target": "com.amazonaws.cognitoidentityprovider#UserImportJobNameType", - "traits": { - "smithy.api#documentation": "

    The job name for the user import job.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -4373,28 +4373,24 @@ "com.amazonaws.cognitoidentityprovider#CreateUserPoolClientRequest": { "type": "structure", "members": { - "AccessTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", - "traits": { - "smithy.api#documentation": "

    The time limit, between 5 minutes and 1 day, after which the access token is no longer valid and cannot be used. This value will be overridden if\n you have entered a value in TokenValidityUnits.

    " - } - }, - "ExplicitAuthFlows": { - "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password\n authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces\n the ADMIN_NO_SRP_AUTH setting. With this authentication flow,\n Cognito receives the password in the request instead of using the SRP (Secure\n Remote Password protocol) protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_CUSTOM_AUTH: Enable Lambda trigger based\n authentication.

      \n
    • \n
    • \n

      \n ALLOW_USER_PASSWORD_AUTH: Enable user password-based\n authentication. In this flow, Cognito receives the password in the request\n instead of using the SRP protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

      \n
    • \n
    • \n

      \n ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh\n tokens.

      \n
    • \n
    " + "smithy.api#documentation": "

    The user pool ID for the user pool where you want to create a user pool client.

    ", + "smithy.api#required": {} } }, - "WriteAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", + "ClientName": { + "target": "com.amazonaws.cognitoidentityprovider#ClientNameType", "traits": { - "smithy.api#documentation": "

    The user pool attributes that the app client can write to.

    \n

    If your app client allows users to sign in through an identity provider, this array\n must include all attributes that are mapped to identity provider attributes. Amazon\n Cognito updates mapped attributes when users sign in to your application through an\n identity provider. If your app client lacks write access to a mapped attribute, Amazon\n Cognito throws an error when it attempts to update the attribute. For more information,\n see Specifying Identity Provider Attribute Mappings for Your User\n Pool.

    " + "smithy.api#documentation": "

    The client name for the user pool client you would like to create.

    ", + "smithy.api#required": {} } }, - "DefaultRedirectURI": { - "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", + "GenerateSecret": { + "target": "com.amazonaws.cognitoidentityprovider#GenerateSecret", "traits": { - "smithy.api#documentation": "

    The default redirect URI. Must be in the CallbackURLs list.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " + "smithy.api#documentation": "

    Boolean to specify whether you want to generate a secret for the user pool client\n being created.

    " } }, "RefreshTokenValidity": { @@ -4403,65 +4399,64 @@ "smithy.api#documentation": "

    The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

    " } }, - "AllowedOAuthFlowsUserPoolClient": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "AccessTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", "traits": { - "smithy.api#documentation": "

    Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

    " + "smithy.api#documentation": "

    The time limit, between 5 minutes and 1 day, after which the access token is no longer valid and cannot be used. This value will be overridden if\n you have entered a value in TokenValidityUnits.

    " } }, - "ReadAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", + "IdTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", "traits": { - "smithy.api#documentation": "

    The read attributes.

    " + "smithy.api#documentation": "

    The time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and cannot be used. This value will be overridden if\n you have entered a value in TokenValidityUnits.

    " } }, - "GenerateSecret": { - "target": "com.amazonaws.cognitoidentityprovider#GenerateSecret", + "TokenValidityUnits": { + "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", "traits": { - "smithy.api#documentation": "

    Boolean to specify whether you want to generate a secret for the user pool client\n being created.

    " + "smithy.api#documentation": "

    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

    " } }, - "AnalyticsConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", + "ReadAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", "traits": { - "smithy.api#documentation": "

    The Amazon Pinpoint analytics configuration for collecting metrics for this user\n pool.

    \n \n

    In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1.\n In regions where Pinpoint is available, Cognito User Pools will \n support sending events to Amazon Pinpoint projects within that same region. \n

    \n
    " + "smithy.api#documentation": "

    The read attributes.

    " } }, - "PreventUserExistenceErrors": { - "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", + "WriteAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", "traits": { - "smithy.api#documentation": "

    Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ENABLED - This prevents user existence-related errors.

      \n
    • \n
    • \n

      \n LEGACY - This represents the old behavior of Cognito where user\n existence related errors are not prevented.

      \n
    • \n
    \n \n \n \n

    After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

    \n
    " + "smithy.api#documentation": "

    The user pool attributes that the app client can write to.

    \n

    If your app client allows users to sign in through an identity provider, this array\n must include all attributes that are mapped to identity provider attributes. Amazon\n Cognito updates mapped attributes when users sign in to your application through an\n identity provider. If your app client lacks write access to a mapped attribute, Amazon\n Cognito throws an error when it attempts to update the attribute. For more information,\n see Specifying Identity Provider Attribute Mappings for Your User\n Pool.

    " } }, - "IdTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", + "ExplicitAuthFlows": { + "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", "traits": { - "smithy.api#documentation": "

    The time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and cannot be used. This value will be overridden if\n you have entered a value in TokenValidityUnits.

    " + "smithy.api#documentation": "

    The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password\n authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces\n the ADMIN_NO_SRP_AUTH setting. With this authentication flow,\n Cognito receives the password in the request instead of using the SRP (Secure\n Remote Password protocol) protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_CUSTOM_AUTH: Enable Lambda trigger based\n authentication.

      \n
    • \n
    • \n

      \n ALLOW_USER_PASSWORD_AUTH: Enable user password-based\n authentication. In this flow, Cognito receives the password in the request\n instead of using the SRP protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

      \n
    • \n
    • \n

      \n ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh\n tokens.

      \n
    • \n
    " } }, - "LogoutURLs": { - "target": "com.amazonaws.cognitoidentityprovider#LogoutURLsListType", + "SupportedIdentityProviders": { + "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", "traits": { - "smithy.api#documentation": "

    A list of allowed logout URLs for the identity providers.

    " + "smithy.api#documentation": "

    A list of provider names for the identity providers that are supported on this client.\n The following are supported: COGNITO, Facebook,\n Google and LoginWithAmazon.

    " } }, - "TokenValidityUnits": { - "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", + "CallbackURLs": { + "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", "traits": { - "smithy.api#documentation": "

    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

    " + "smithy.api#documentation": "

    A list of allowed redirect (callback) URLs for the identity providers.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " } }, - "SupportedIdentityProviders": { - "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", + "LogoutURLs": { + "target": "com.amazonaws.cognitoidentityprovider#LogoutURLsListType", "traits": { - "smithy.api#documentation": "

    A list of provider names for the identity providers that are supported on this client.\n The following are supported: COGNITO, Facebook,\n Google and LoginWithAmazon.

    " + "smithy.api#documentation": "

    A list of allowed logout URLs for the identity providers.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "DefaultRedirectURI": { + "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to create a user pool client.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The default redirect URI. Must be in the CallbackURLs list.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " } }, "AllowedOAuthFlows": { @@ -4470,23 +4465,28 @@ "smithy.api#documentation": "

    The allowed OAuth flows.

    \n

    Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

    \n

    Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

    \n

    Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

    " } }, - "ClientName": { - "target": "com.amazonaws.cognitoidentityprovider#ClientNameType", - "traits": { - "smithy.api#documentation": "

    The client name for the user pool client you would like to create.

    ", - "smithy.api#required": {} - } - }, "AllowedOAuthScopes": { "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", "traits": { "smithy.api#documentation": "

    The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

    " } }, - "CallbackURLs": { - "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", + "AllowedOAuthFlowsUserPoolClient": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    A list of allowed redirect (callback) URLs for the identity providers.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " + "smithy.api#documentation": "

    Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

    " + } + }, + "AnalyticsConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", + "traits": { + "smithy.api#documentation": "

    The Amazon Pinpoint analytics configuration for collecting metrics for this user\n pool.

    \n \n

    In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1.\n In regions where Pinpoint is available, Cognito User Pools will \n support sending events to Amazon Pinpoint projects within that same region. \n

    \n
    " + } + }, + "PreventUserExistenceErrors": { + "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", + "traits": { + "smithy.api#documentation": "

    Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ENABLED - This prevents user existence-related errors.

      \n
    • \n
    • \n

      \n LEGACY - This represents the old behavior of Cognito where user\n existence related errors are not prevented.

      \n
    • \n
    \n \n \n \n

    After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

    \n
    " } } }, @@ -4540,10 +4540,11 @@ "com.amazonaws.cognitoidentityprovider#CreateUserPoolDomainRequest": { "type": "structure", "members": { - "CustomDomainConfig": { - "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", + "Domain": { + "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

    \n

    Provide this parameter only if you want to use a custom domain for your user pool.\n Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain\n instead.

    \n

    For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

    " + "smithy.api#documentation": "

    The domain string.

    ", + "smithy.api#required": {} } }, "UserPoolId": { @@ -4553,11 +4554,10 @@ "smithy.api#required": {} } }, - "Domain": { - "target": "com.amazonaws.cognitoidentityprovider#DomainType", + "CustomDomainConfig": { + "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", "traits": { - "smithy.api#documentation": "

    The domain string.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

    \n

    Provide this parameter only if you want to use a custom domain for your user pool.\n Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain\n instead.

    \n

    For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

    " } } } @@ -4576,40 +4576,41 @@ "com.amazonaws.cognitoidentityprovider#CreateUserPoolRequest": { "type": "structure", "members": { - "MfaConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", + "PoolName": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolNameType", "traits": { - "smithy.api#documentation": "

    Specifies MFA configuration details.

    " + "smithy.api#documentation": "

    A string used to name the user pool.

    ", + "smithy.api#required": {} } }, - "AdminCreateUserConfig": { - "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType", + "Policies": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", "traits": { - "smithy.api#documentation": "

    The configuration for AdminCreateUser requests.

    " + "smithy.api#documentation": "

    The policies associated with the new user pool.

    " } }, - "DeviceConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceConfigurationType", + "LambdaConfig": { + "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", "traits": { - "smithy.api#documentation": "

    The device configuration.

    " + "smithy.api#documentation": "

    The Lambda trigger configuration information for the new user pool.

    \n \n

    In a push model, event sources (such as Amazon S3 and custom applications) need\n permission to invoke a function. So you will need to make an extra call to add\n permission for these event sources to invoke your Lambda function.

    \n

    \n

    For more information on using the Lambda API to add permission, see \n AddPermission .

    \n

    For adding permission using the AWS CLI, see add-permission\n .

    \n
    " } }, - "EmailVerificationMessage": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", + "AutoVerifiedAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", "traits": { - "smithy.api#documentation": "

    A string representing the email verification message.

    " + "smithy.api#documentation": "

    The attributes to be auto-verified. Possible values: email, phone_number.

    " } }, - "VerificationMessageTemplate": { - "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", + "AliasAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AliasAttributesListType", "traits": { - "smithy.api#documentation": "

    The template for the verification message that the user sees when the app requests\n permission to access the user's information.

    " + "smithy.api#documentation": "

    Attributes supported as an alias for this user pool. Possible values: phone_number, email, or\n preferred_username.

    " } }, - "SmsAuthenticationMessage": { - "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", + "UsernameAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameAttributesListType", "traits": { - "smithy.api#documentation": "

    A string representing the SMS authentication message.

    " + "smithy.api#documentation": "

    Specifies whether email addresses or phone numbers can be specified as usernames when\n a user signs up.

    " } }, "SmsVerificationMessage": { @@ -4618,53 +4619,52 @@ "smithy.api#documentation": "

    A string representing the SMS verification message.

    " } }, - "LambdaConfig": { - "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", + "EmailVerificationMessage": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

    The Lambda trigger configuration information for the new user pool.

    \n \n

    In a push model, event sources (such as Amazon S3 and custom applications) need\n permission to invoke a function. So you will need to make an extra call to add\n permission for these event sources to invoke your Lambda function.

    \n

    \n

    For more information on using the Lambda API to add permission, see \n AddPermission .

    \n

    For adding permission using the AWS CLI, see add-permission\n .

    \n
    " + "smithy.api#documentation": "

    A string representing the email verification message. EmailVerificationMessage is allowed only if EmailSendingAccount is DEVELOPER.

    " } }, - "PoolName": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolNameType", + "EmailVerificationSubject": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", "traits": { - "smithy.api#documentation": "

    A string used to name the user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A string representing the email verification subject. EmailVerificationSubject is allowed only if EmailSendingAccount is DEVELOPER.

    " } }, - "AliasAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#AliasAttributesListType", + "VerificationMessageTemplate": { + "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", "traits": { - "smithy.api#documentation": "

    Attributes supported as an alias for this user pool. Possible values: phone_number, email, or\n preferred_username.

    " + "smithy.api#documentation": "

    The template for the verification message that the user sees when the app requests\n permission to access the user's information.

    " } }, - "UsernameConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameConfigurationType", - "traits": { - "smithy.api#documentation": "

    You can choose to set case sensitivity on the username input for the selected sign-in\n option. For example, when this is set to False, users will be able to sign\n in using either \"username\" or \"Username\". This configuration is immutable once it has\n been set. For more information, see UsernameConfigurationType.

    " + "SmsAuthenticationMessage": { + "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", + "traits": { + "smithy.api#documentation": "

    A string representing the SMS authentication message.

    " } }, - "SmsConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#SmsConfigurationType", + "MfaConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

    The SMS configuration.

    " + "smithy.api#documentation": "

    Specifies MFA configuration details.

    " } }, - "UserPoolAddOns": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", + "DeviceConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceConfigurationType", "traits": { - "smithy.api#documentation": "

    Used to enable advanced security risk detection. Set the key\n AdvancedSecurityMode to the value \"AUDIT\".

    " + "smithy.api#documentation": "

    The device configuration.

    " } }, - "UsernameAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameAttributesListType", + "EmailConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#EmailConfigurationType", "traits": { - "smithy.api#documentation": "

    Specifies whether email addresses or phone numbers can be specified as usernames when\n a user signs up.

    " + "smithy.api#documentation": "

    The email configuration.

    " } }, - "AccountRecoverySetting": { - "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", + "SmsConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#SmsConfigurationType", "traits": { - "smithy.api#documentation": "

    Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

    " + "smithy.api#documentation": "

    The SMS configuration.

    " } }, "UserPoolTags": { @@ -4673,34 +4673,34 @@ "smithy.api#documentation": "

    The tag keys and values to assign to the user pool. A tag is a label that you can use\n to categorize and manage user pools in different ways, such as by purpose, owner,\n environment, or other criteria.

    " } }, - "Schema": { - "target": "com.amazonaws.cognitoidentityprovider#SchemaAttributesListType", + "AdminCreateUserConfig": { + "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType", "traits": { - "smithy.api#documentation": "

    An array of schema attributes for the new user pool. These attributes can be standard\n or custom attributes.

    " + "smithy.api#documentation": "

    The configuration for AdminCreateUser requests.

    " } }, - "EmailConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#EmailConfigurationType", + "Schema": { + "target": "com.amazonaws.cognitoidentityprovider#SchemaAttributesListType", "traits": { - "smithy.api#documentation": "

    The email configuration.

    " + "smithy.api#documentation": "

    An array of schema attributes for the new user pool. These attributes can be standard\n or custom attributes.

    " } }, - "AutoVerifiedAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", + "UserPoolAddOns": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", "traits": { - "smithy.api#documentation": "

    The attributes to be auto-verified. Possible values: email, phone_number.

    " + "smithy.api#documentation": "

    Used to enable advanced security risk detection. Set the key\n AdvancedSecurityMode to the value \"AUDIT\".

    " } }, - "EmailVerificationSubject": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", + "UsernameConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameConfigurationType", "traits": { - "smithy.api#documentation": "

    A string representing the email verification subject.

    " + "smithy.api#documentation": "

    You can choose to set case sensitivity on the username input for the selected sign-in\n option. For example, when this is set to False, users will be able to sign\n in using either \"username\" or \"Username\". This configuration is immutable once it has\n been set. For more information, see UsernameConfigurationType.

    " } }, - "Policies": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", + "AccountRecoverySetting": { + "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", "traits": { - "smithy.api#documentation": "

    The policies associated with the new user pool.

    " + "smithy.api#documentation": "

    Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

    " } } }, @@ -4759,6 +4759,72 @@ "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

    " } }, + "com.amazonaws.cognitoidentityprovider#CustomEmailLambdaVersionConfigType": { + "type": "structure", + "members": { + "LambdaVersion": { + "target": "com.amazonaws.cognitoidentityprovider#CustomEmailSenderLambdaVersionType", + "traits": { + "smithy.api#documentation": "

    The Lambda version represents the signature of the \"request\" attribute in the \"event\" information Amazon Cognito passes to your custom email Lambda function. \n The only supported value is V1_0.

    ", + "smithy.api#required": {} + } + }, + "LambdaArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "traits": { + "smithy.api#documentation": "

    The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito triggers to send email notifications to users.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    A custom email sender Lambda configuration type.

    " + } + }, + "com.amazonaws.cognitoidentityprovider#CustomEmailSenderLambdaVersionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "V1_0", + "name": "V1_0" + } + ] + } + }, + "com.amazonaws.cognitoidentityprovider#CustomSMSLambdaVersionConfigType": { + "type": "structure", + "members": { + "LambdaVersion": { + "target": "com.amazonaws.cognitoidentityprovider#CustomSMSSenderLambdaVersionType", + "traits": { + "smithy.api#documentation": "

    The Lambda version represents the signature of the \"request\" attribute in the \"event\" information Amazon Cognito passes to your custom SMS Lambda function. \n The only supported value is V1_0.

    ", + "smithy.api#required": {} + } + }, + "LambdaArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "traits": { + "smithy.api#documentation": "

    The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito triggers to send SMS notifications to users.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    A custom SMS sender Lambda configuration type.

    " + } + }, + "com.amazonaws.cognitoidentityprovider#CustomSMSSenderLambdaVersionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "V1_0", + "name": "V1_0" + } + ] + } + }, "com.amazonaws.cognitoidentityprovider#DateType": { "type": "timestamp" }, @@ -4806,17 +4872,17 @@ "com.amazonaws.cognitoidentityprovider#DeleteGroupRequest": { "type": "structure", "members": { - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "GroupName": { + "target": "com.amazonaws.cognitoidentityprovider#GroupNameType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool.

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

    The name of the group.

    ", "smithy.api#required": {} } }, - "GroupName": { - "target": "com.amazonaws.cognitoidentityprovider#GroupNameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The name of the group.

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

    The user pool ID for the user pool.

    ", "smithy.api#required": {} } } @@ -4854,17 +4920,17 @@ "com.amazonaws.cognitoidentityprovider#DeleteIdentityProviderRequest": { "type": "structure", "members": { - "ProviderName": { - "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The identity provider name.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ProviderName": { + "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The identity provider name.

    ", "smithy.api#required": {} } } @@ -5079,17 +5145,17 @@ "com.amazonaws.cognitoidentityprovider#DeleteUserPoolClientRequest": { "type": "structure", "members": { - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The app client ID of the app associated with the user pool.

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

    The user pool ID for the user pool where you want to delete the client.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to delete the client.

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

    The app client ID of the app associated with the user pool.

    ", "smithy.api#required": {} } } @@ -5230,17 +5296,17 @@ "com.amazonaws.cognitoidentityprovider#DescribeIdentityProviderRequest": { "type": "structure", "members": { - "ProviderName": { - "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The identity provider name.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ProviderName": { + "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The identity provider name.

    ", "smithy.api#required": {} } } @@ -5412,17 +5478,17 @@ "com.amazonaws.cognitoidentityprovider#DescribeUserImportJobRequest": { "type": "structure", "members": { - "JobId": { - "target": "com.amazonaws.cognitoidentityprovider#UserImportJobIdType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The job ID for the user import job.

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

    The user pool ID for the user pool that the users are being imported into.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "JobId": { + "target": "com.amazonaws.cognitoidentityprovider#UserImportJobIdType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool that the users are being imported into.

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

    The job ID for the user import job.

    ", "smithy.api#required": {} } } @@ -5509,17 +5575,17 @@ "com.amazonaws.cognitoidentityprovider#DescribeUserPoolClientRequest": { "type": "structure", "members": { - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The app client ID of the app associated with the user pool.

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

    The user pool ID for the user pool you want to describe.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool you want to describe.

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

    The app client ID of the app associated with the user pool.

    ", "smithy.api#required": {} } } @@ -5632,16 +5698,16 @@ "com.amazonaws.cognitoidentityprovider#DeviceConfigurationType": { "type": "structure", "members": { - "DeviceOnlyRememberedOnUserPrompt": { + "ChallengeRequiredOnNewDevice": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    If true, a device is only remembered on user prompt.

    " + "smithy.api#documentation": "

    Indicates whether a challenge is required on a new device. Only applicable to a new\n device.

    " } }, - "ChallengeRequiredOnNewDevice": { + "DeviceOnlyRememberedOnUserPrompt": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    Indicates whether a challenge is required on a new device. Only applicable to a new\n device.

    " + "smithy.api#documentation": "

    If true, a device is only remembered on user prompt.

    " } } }, @@ -5692,16 +5758,16 @@ "com.amazonaws.cognitoidentityprovider#DeviceSecretVerifierConfigType": { "type": "structure", "members": { - "Salt": { + "PasswordVerifier": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The salt.

    " + "smithy.api#documentation": "

    The password verifier.

    " } }, - "PasswordVerifier": { + "Salt": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The password verifier.

    " + "smithy.api#documentation": "

    The salt.

    " } } }, @@ -5712,10 +5778,16 @@ "com.amazonaws.cognitoidentityprovider#DeviceType": { "type": "structure", "members": { - "DeviceLastModifiedDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "DeviceKey": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", "traits": { - "smithy.api#documentation": "

    The last modified date of the device.

    " + "smithy.api#documentation": "

    The device key.

    " + } + }, + "DeviceAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", + "traits": { + "smithy.api#documentation": "

    The device attributes.

    " } }, "DeviceCreateDate": { @@ -5724,10 +5796,10 @@ "smithy.api#documentation": "

    The creation date of the device.

    " } }, - "DeviceKey": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", + "DeviceLastModifiedDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The device key.

    " + "smithy.api#documentation": "

    The last modified date of the device.

    " } }, "DeviceLastAuthenticatedDate": { @@ -5735,12 +5807,6 @@ "traits": { "smithy.api#documentation": "

    The date in which the device was last authenticated.

    " } - }, - "DeviceAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", - "traits": { - "smithy.api#documentation": "

    The device attributes.

    " - } } }, "traits": { @@ -5750,10 +5816,16 @@ "com.amazonaws.cognitoidentityprovider#DomainDescriptionType": { "type": "structure", "members": { - "CustomDomainConfig": { - "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

    " + "smithy.api#documentation": "

    The user pool ID.

    " + } + }, + "AWSAccountId": { + "target": "com.amazonaws.cognitoidentityprovider#AWSAccountIdType", + "traits": { + "smithy.api#documentation": "

    The AWS account ID for the user pool owner.

    " } }, "Domain": { @@ -5762,40 +5834,34 @@ "smithy.api#documentation": "

    The domain string.

    " } }, + "S3Bucket": { + "target": "com.amazonaws.cognitoidentityprovider#S3BucketType", + "traits": { + "smithy.api#documentation": "

    The S3 bucket where the static files for this domain are stored.

    " + } + }, "CloudFrontDistribution": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { "smithy.api#documentation": "

    The ARN of the CloudFront distribution.

    " } }, - "Status": { - "target": "com.amazonaws.cognitoidentityprovider#DomainStatusType", + "Version": { + "target": "com.amazonaws.cognitoidentityprovider#DomainVersionType", "traits": { - "smithy.api#documentation": "

    The domain status.

    " + "smithy.api#documentation": "

    The app version.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "Status": { + "target": "com.amazonaws.cognitoidentityprovider#DomainStatusType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

    " + "smithy.api#documentation": "

    The domain status.

    " } }, - "AWSAccountId": { - "target": "com.amazonaws.cognitoidentityprovider#AWSAccountIdType", + "CustomDomainConfig": { + "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", "traits": { - "smithy.api#documentation": "

    The AWS account ID for the user pool owner.

    " - } - }, - "Version": { - "target": "com.amazonaws.cognitoidentityprovider#DomainVersionType", - "traits": { - "smithy.api#documentation": "

    The app version.

    " - } - }, - "S3Bucket": { - "target": "com.amazonaws.cognitoidentityprovider#S3BucketType", - "traits": { - "smithy.api#documentation": "

    The S3 bucket where the static files for this domain are stored.

    " + "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

    " } } }, @@ -5871,10 +5937,10 @@ "com.amazonaws.cognitoidentityprovider#EmailConfigurationType": { "type": "structure", "members": { - "EmailSendingAccount": { - "target": "com.amazonaws.cognitoidentityprovider#EmailSendingAccountType", + "SourceArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    Specifies whether Amazon Cognito emails your users by using its built-in email\n functionality or your Amazon SES email configuration. Specify one of the following\n values:

    \n
    \n
    COGNITO_DEFAULT
    \n
    \n

    When Amazon Cognito emails your users, it uses its built-in email\n functionality. When you use the default option, Amazon Cognito allows only a\n limited number of emails each day for your user pool. For typical production\n environments, the default email limit is below the required delivery volume.\n To achieve a higher delivery volume, specify DEVELOPER to use your Amazon\n SES email configuration.

    \n

    To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito\n Developer Guide.

    \n

    The default FROM address is no-reply@verificationemail.com. To customize\n the FROM address, provide the ARN of an Amazon SES verified email address\n for the SourceArn parameter.

    \n
    \n
    DEVELOPER
    \n
    \n

    When Amazon Cognito emails your users, it uses your Amazon SES\n configuration. Amazon Cognito calls Amazon SES on your behalf to send email\n from your verified email address. When you use this option, the email\n delivery limits are the same limits that apply to your Amazon SES verified\n email address in your AWS account.

    \n

    If you use this option, you must provide the ARN of an Amazon SES verified\n email address for the SourceArn parameter.

    \n

    Before Amazon Cognito can email your users, it requires additional\n permissions to call Amazon SES on your behalf. When you update your user\n pool with this option, Amazon Cognito creates a service-linked\n role, which is a type of IAM role, in your AWS account. This\n role contains the permissions that allow Amazon Cognito to access Amazon SES\n and send email messages with your address. For more information about the\n service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon\n Cognito in the Amazon Cognito Developer\n Guide.

    \n
    \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email\n address is used in one of the following ways, depending on the value that you specify\n for the EmailSendingAccount parameter:

    \n
      \n
    • \n

      If you specify COGNITO_DEFAULT, Amazon Cognito uses this address\n as the custom FROM address when it emails your users by using its built-in email\n account.

      \n
    • \n
    • \n

      If you specify DEVELOPER, Amazon Cognito emails your users with\n this address by calling Amazon SES on your behalf.

      \n
    • \n
    " } }, "ReplyToEmailAddress": { @@ -5883,16 +5949,16 @@ "smithy.api#documentation": "

    The destination to which the receiver of the email should reply to.

    " } }, - "From": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "EmailSendingAccount": { + "target": "com.amazonaws.cognitoidentityprovider#EmailSendingAccountType", "traits": { - "smithy.api#documentation": "

    Identifies either the sender’s email address or the sender’s name with their email\n address. For example, testuser@example.com or Test User\n . This address will appear before the body of the\n email.

    " + "smithy.api#documentation": "

    Specifies whether Amazon Cognito emails your users by using its built-in email\n functionality or your Amazon SES email configuration. Specify one of the following\n values:

    \n
    \n
    COGNITO_DEFAULT
    \n
    \n

    When Amazon Cognito emails your users, it uses its built-in email\n functionality. When you use the default option, Amazon Cognito allows only a\n limited number of emails each day for your user pool. For typical production\n environments, the default email limit is below the required delivery volume.\n To achieve a higher delivery volume, specify DEVELOPER to use your Amazon\n SES email configuration.

    \n \n

    To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito\n Developer Guide.

    \n

    The default FROM address is no-reply@verificationemail.com. To customize\n the FROM address, provide the ARN of an Amazon SES verified email address\n for the SourceArn parameter.

    \n

    \n If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't allowed:

    \n \n
      \n
    • \n

      EmailVerificationMessage

      \n
    • \n
    • \n

      EmailVerificationSubject

      \n
    • \n
    • \n

      InviteMessageTemplate.EmailMessage

      \n
    • \n
    • \n

      InviteMessageTemplate.EmailSubject

      \n
    • \n
    • \n

      VerificationMessageTemplate.EmailMessage

      \n
    • \n
    • \n

      VerificationMessageTemplate.EmailMessageByLink

      \n
    • \n
    • \n

      VerificationMessageTemplate.EmailSubject,

      \n
    • \n
    • \n

      VerificationMessageTemplate.EmailSubjectByLink

      \n
    • \n
    \n \n \n \n

    DEVELOPER EmailSendingAccount is required.

    \n
    \n
    \n
    DEVELOPER
    \n
    \n

    When Amazon Cognito emails your users, it uses your Amazon SES\n configuration. Amazon Cognito calls Amazon SES on your behalf to send email\n from your verified email address. When you use this option, the email\n delivery limits are the same limits that apply to your Amazon SES verified\n email address in your AWS account.

    \n

    If you use this option, you must provide the ARN of an Amazon SES verified\n email address for the SourceArn parameter.

    \n

    Before Amazon Cognito can email your users, it requires additional\n permissions to call Amazon SES on your behalf. When you update your user\n pool with this option, Amazon Cognito creates a service-linked\n role, which is a type of IAM role, in your AWS account. This\n role contains the permissions that allow Amazon Cognito to access Amazon SES\n and send email messages with your address. For more information about the\n service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon\n Cognito in the Amazon Cognito Developer\n Guide.

    \n
    \n
    " } }, - "SourceArn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "From": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email\n address is used in one of the following ways, depending on the value that you specify\n for the EmailSendingAccount parameter:

    \n
      \n
    • \n

      If you specify COGNITO_DEFAULT, Amazon Cognito uses this address\n as the custom FROM address when it emails your users by using its built-in email\n account.

      \n
    • \n
    • \n

      If you specify DEVELOPER, Amazon Cognito emails your users with\n this address by calling Amazon SES on your behalf.

      \n
    • \n
    " + "smithy.api#documentation": "

    Identifies either the sender’s email address or the sender’s name with their email\n address. For example, testuser@example.com or Test User\n . This address will appear before the body of the\n email.

    " } }, "ConfigurationSet": { @@ -5903,7 +5969,7 @@ } }, "traits": { - "smithy.api#documentation": "

    The email configuration type.

    " + "smithy.api#documentation": "

    The email configuration type.

    \n \n

    Amazon Cognito has specific regions for use with Amazon SES. For more information on the supported regions, see\n Email Settings for Amazon Cognito User Pools.

    \n
    " } }, "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType": { @@ -5997,34 +6063,34 @@ "com.amazonaws.cognitoidentityprovider#EventContextDataType": { "type": "structure", "members": { - "Timezone": { + "IpAddress": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The user's time zone.

    " + "smithy.api#documentation": "

    The user's IP address.

    " } }, - "City": { + "DeviceName": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The user's city.

    " + "smithy.api#documentation": "

    The user's device name.

    " } }, - "Country": { + "Timezone": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The user's country.

    " + "smithy.api#documentation": "

    The user's time zone.

    " } }, - "IpAddress": { + "City": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The user's IP address.

    " + "smithy.api#documentation": "

    The user's city.

    " } }, - "DeviceName": { + "Country": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The user's device name.

    " + "smithy.api#documentation": "

    The user's country.

    " } } }, @@ -6035,12 +6101,6 @@ "com.amazonaws.cognitoidentityprovider#EventFeedbackType": { "type": "structure", "members": { - "FeedbackDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", - "traits": { - "smithy.api#documentation": "

    The event feedback date.

    " - } - }, "FeedbackValue": { "target": "com.amazonaws.cognitoidentityprovider#FeedbackValueType", "traits": { @@ -6054,6 +6114,12 @@ "smithy.api#documentation": "

    The provider.

    ", "smithy.api#required": {} } + }, + "FeedbackDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", + "traits": { + "smithy.api#documentation": "

    The event feedback date.

    " + } } }, "traits": { @@ -6113,10 +6179,10 @@ "com.amazonaws.cognitoidentityprovider#EventRiskType": { "type": "structure", "members": { - "CompromisedCredentialsDetected": { - "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", + "RiskDecision": { + "target": "com.amazonaws.cognitoidentityprovider#RiskDecisionType", "traits": { - "smithy.api#documentation": "

    Indicates whether compromised credentials were detected during an authentication\n event.

    " + "smithy.api#documentation": "

    The risk decision.

    " } }, "RiskLevel": { @@ -6125,10 +6191,10 @@ "smithy.api#documentation": "

    The risk level.

    " } }, - "RiskDecision": { - "target": "com.amazonaws.cognitoidentityprovider#RiskDecisionType", + "CompromisedCredentialsDetected": { + "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", "traits": { - "smithy.api#documentation": "

    The risk decision.

    " + "smithy.api#documentation": "

    Indicates whether compromised credentials were detected during an authentication\n event.

    " } } }, @@ -6357,16 +6423,23 @@ "com.amazonaws.cognitoidentityprovider#ForgotPasswordRequest": { "type": "structure", "members": { - "AnalyticsMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n ForgotPassword calls.

    " + "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", + "smithy.api#required": {} } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "SecretHash": { + "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ForgotPassword API action, Amazon Cognito invokes any functions that\n are assigned to the following triggers: pre sign-up,\n custom message, and user migration. When\n Amazon Cognito invokes any of these functions, it passes a JSON payload, which the\n function receives as input. This payload contains a clientMetadata\n attribute, which provides the data that you assigned to the ClientMetadata parameter in\n your ForgotPassword request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " + } + }, + "UserContextData": { + "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", + "traits": { + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } }, "Username": { @@ -6376,23 +6449,16 @@ "smithy.api#required": {} } }, - "UserContextData": { - "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", - "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " - } - }, - "SecretHash": { - "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", + "AnalyticsMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " + "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n ForgotPassword calls.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ForgotPassword API action, Amazon Cognito invokes any functions that\n are assigned to the following triggers: pre sign-up,\n custom message, and user migration. When\n Amazon Cognito invokes any of these functions, it passes a JSON payload, which the\n function receives as input. This payload contains a clientMetadata\n attribute, which provides the data that you assigned to the ClientMetadata parameter in\n your ForgotPassword request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } } }, @@ -6525,18 +6591,18 @@ "com.amazonaws.cognitoidentityprovider#GetDeviceRequest": { "type": "structure", "members": { - "AccessToken": { - "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", - "traits": { - "smithy.api#documentation": "

    The access token.

    " - } - }, "DeviceKey": { "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", "traits": { "smithy.api#documentation": "

    The device key.

    ", "smithy.api#required": {} } + }, + "AccessToken": { + "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "traits": { + "smithy.api#documentation": "

    The access token.

    " + } } }, "traits": { @@ -6649,17 +6715,17 @@ "com.amazonaws.cognitoidentityprovider#GetIdentityProviderByIdentifierRequest": { "type": "structure", "members": { - "IdpIdentifier": { - "target": "com.amazonaws.cognitoidentityprovider#IdpIdentifierType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The identity provider ID.

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

    The user pool ID.

    ", "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "IdpIdentifier": { + "target": "com.amazonaws.cognitoidentityprovider#IdpIdentifierType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

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

    The identity provider ID.

    ", "smithy.api#required": {} } } @@ -6761,18 +6827,18 @@ "com.amazonaws.cognitoidentityprovider#GetUICustomizationRequest": { "type": "structure", "members": { - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", - "traits": { - "smithy.api#documentation": "

    The client ID for the client app.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", "smithy.api#required": {} } + }, + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "traits": { + "smithy.api#documentation": "

    The client ID for the client app.

    " + } } } }, @@ -6895,6 +6961,13 @@ "com.amazonaws.cognitoidentityprovider#GetUserAttributeVerificationCodeRequest": { "type": "structure", "members": { + "AccessToken": { + "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "traits": { + "smithy.api#documentation": "

    The access token returned by the server response to get the user attribute\n verification code.

    ", + "smithy.api#required": {} + } + }, "AttributeName": { "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", "traits": { @@ -6907,13 +6980,6 @@ "traits": { "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the\n function that is assigned to the custom message trigger. When\n Amazon Cognito invokes this function, it passes a JSON payload, which the function\n receives as input. This payload contains a clientMetadata attribute, which\n provides the data that you assigned to the ClientMetadata parameter in your\n GetUserAttributeVerificationCode request. In your function code in AWS Lambda, you can\n process the clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } - }, - "AccessToken": { - "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", - "traits": { - "smithy.api#documentation": "

    The access token returned by the server response to get the user attribute\n verification code.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -6978,18 +7044,18 @@ "com.amazonaws.cognitoidentityprovider#GetUserPoolMfaConfigResponse": { "type": "structure", "members": { - "SoftwareTokenMfaConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaConfigType", - "traits": { - "smithy.api#documentation": "

    The software token multi-factor (MFA) configuration.

    " - } - }, "SmsMfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#SmsMfaConfigType", "traits": { "smithy.api#documentation": "

    The SMS text message multi-factor (MFA) configuration.

    " } }, + "SoftwareTokenMfaConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaConfigType", + "traits": { + "smithy.api#documentation": "

    The software token multi-factor (MFA) configuration.

    " + } + }, "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { @@ -7016,12 +7082,6 @@ "com.amazonaws.cognitoidentityprovider#GetUserResponse": { "type": "structure", "members": { - "UserMFASettingList": { - "target": "com.amazonaws.cognitoidentityprovider#UserMFASettingListType", - "traits": { - "smithy.api#documentation": "

    The MFA options that are enabled for the user. The possible values in this list are\n SMS_MFA and SOFTWARE_TOKEN_MFA.

    " - } - }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { @@ -7047,6 +7107,12 @@ "traits": { "smithy.api#documentation": "

    The user's preferred MFA setting.

    " } + }, + "UserMFASettingList": { + "target": "com.amazonaws.cognitoidentityprovider#UserMFASettingListType", + "traits": { + "smithy.api#documentation": "

    The MFA options that are enabled for the user. The possible values in this list are\n SMS_MFA and SOFTWARE_TOKEN_MFA.

    " + } } }, "traits": { @@ -7142,6 +7208,12 @@ "com.amazonaws.cognitoidentityprovider#GroupType": { "type": "structure", "members": { + "GroupName": { + "target": "com.amazonaws.cognitoidentityprovider#GroupNameType", + "traits": { + "smithy.api#documentation": "

    The name of the group.

    " + } + }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -7154,10 +7226,16 @@ "smithy.api#documentation": "

    A string containing the description of the group.

    " } }, - "GroupName": { - "target": "com.amazonaws.cognitoidentityprovider#GroupNameType", + "RoleArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The name of the group.

    " + "smithy.api#documentation": "

    The role ARN for the group.

    " + } + }, + "Precedence": { + "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", + "traits": { + "smithy.api#documentation": "

    A nonnegative integer value that specifies the precedence of this group relative to\n the other groups that a user can belong to in the user pool. If a user belongs to two or\n more groups, it is the group with the highest precedence whose role ARN will be used in\n the cognito:roles and cognito:preferred_role claims in the\n user's tokens. Groups with higher Precedence values take precedence over\n groups with lower Precedence values or with null Precedence\n values.

    \n

    Two groups can have the same Precedence value. If this happens, neither\n group takes precedence over the other. If two groups with the same\n Precedence have the same role ARN, that role is used in the\n cognito:preferred_role claim in tokens for users in each group. If the\n two groups have different role ARNs, the cognito:preferred_role claim is\n not set in users' tokens.

    \n

    The default Precedence value is null.

    " } }, "LastModifiedDate": { @@ -7171,18 +7249,6 @@ "traits": { "smithy.api#documentation": "

    The date the group was created.

    " } - }, - "RoleArn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", - "traits": { - "smithy.api#documentation": "

    The role ARN for the group.

    " - } - }, - "Precedence": { - "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", - "traits": { - "smithy.api#documentation": "

    A nonnegative integer value that specifies the precedence of this group relative to\n the other groups that a user can belong to in the user pool. If a user belongs to two or\n more groups, it is the group with the highest precedence whose role ARN will be used in\n the cognito:roles and cognito:preferred_role claims in the\n user's tokens. Groups with higher Precedence values take precedence over\n groups with lower Precedence values or with null Precedence\n values.

    \n

    Two groups can have the same Precedence value. If this happens, neither\n group takes precedence over the other. If two groups with the same\n Precedence have the same role ARN, that role is used in the\n cognito:preferred_role claim in tokens for users in each group. If the\n two groups have different role ARNs, the cognito:preferred_role claim is\n not set in users' tokens.

    \n

    The default Precedence value is null.

    " - } } }, "traits": { @@ -7198,16 +7264,16 @@ "com.amazonaws.cognitoidentityprovider#HttpHeader": { "type": "structure", "members": { - "headerValue": { + "headerName": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The header value.

    " + "smithy.api#documentation": "

    The header name

    " } }, - "headerName": { + "headerValue": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The header name

    " + "smithy.api#documentation": "

    The header value.

    " } } }, @@ -7246,16 +7312,16 @@ "smithy.api#documentation": "

    The identity provider name.

    " } }, - "LastModifiedDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "ProviderType": { + "target": "com.amazonaws.cognitoidentityprovider#IdentityProviderTypeType", "traits": { - "smithy.api#documentation": "

    The date the identity provider was last modified.

    " + "smithy.api#documentation": "

    The identity provider type.

    " } }, - "CreationDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "ProviderDetails": { + "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", "traits": { - "smithy.api#documentation": "

    The date the identity provider was created.

    " + "smithy.api#documentation": "

    The identity provider details. The following list describes the provider detail keys\n for each identity provider type.

    \n
      \n
    • \n

      For Google and Login with Amazon:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        client_secret

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      \n
    • \n
    • \n

      For Facebook:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        client_secret

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      • \n

        api_version

        \n
      • \n
      \n
    • \n
    • \n

      For Sign in with Apple:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        team_id

        \n
      • \n
      • \n

        key_id

        \n
      • \n
      • \n

        private_key

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      \n
    • \n
    • \n

      For OIDC providers:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        client_secret

        \n
      • \n
      • \n

        attributes_request_method

        \n
      • \n
      • \n

        oidc_issuer

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      • \n

        authorize_url if not available from discovery URL specified\n by oidc_issuer key\n

        \n
      • \n
      • \n

        token_url if not available from discovery URL specified by\n oidc_issuer key\n

        \n
      • \n
      • \n

        attributes_url if not available from discovery URL specified\n by oidc_issuer key\n

        \n
      • \n
      • \n

        jwks_uri if not available from discovery URL specified by\n oidc_issuer key\n

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      \n
    • \n
    • \n

      For SAML providers:

      \n
        \n
      • \n

        MetadataFile OR MetadataURL

        \n
      • \n
      • \n

        IDPSignOut optional\n

        \n
      • \n
      \n
    • \n
    " } }, "AttributeMapping": { @@ -7270,16 +7336,16 @@ "smithy.api#documentation": "

    A list of identity provider identifiers.

    " } }, - "ProviderType": { - "target": "com.amazonaws.cognitoidentityprovider#IdentityProviderTypeType", + "LastModifiedDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The identity provider type.

    " + "smithy.api#documentation": "

    The date the identity provider was last modified.

    " } }, - "ProviderDetails": { - "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", + "CreationDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The identity provider details. The following list describes the provider detail keys\n for each identity provider type.

    \n
      \n
    • \n

      For Google and Login with Amazon:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        client_secret

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      \n
    • \n
    • \n

      For Facebook:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        client_secret

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      • \n

        api_version

        \n
      • \n
      \n
    • \n
    • \n

      For Sign in with Apple:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        team_id

        \n
      • \n
      • \n

        key_id

        \n
      • \n
      • \n

        private_key

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      \n
    • \n
    • \n

      For OIDC providers:

      \n
        \n
      • \n

        client_id

        \n
      • \n
      • \n

        client_secret

        \n
      • \n
      • \n

        attributes_request_method

        \n
      • \n
      • \n

        oidc_issuer

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      • \n

        authorize_url if not available from discovery URL specified\n by oidc_issuer key\n

        \n
      • \n
      • \n

        token_url if not available from discovery URL specified by\n oidc_issuer key\n

        \n
      • \n
      • \n

        attributes_url if not available from discovery URL specified\n by oidc_issuer key\n

        \n
      • \n
      • \n

        jwks_uri if not available from discovery URL specified by\n oidc_issuer key\n

        \n
      • \n
      • \n

        authorize_scopes

        \n
      • \n
      \n
    • \n
    • \n

      For SAML providers:

      \n
        \n
      • \n

        MetadataFile OR MetadataURL

        \n
      • \n
      • \n

        IDPSignOut optional\n

        \n
      • \n
      \n
    • \n
    " + "smithy.api#documentation": "

    The date the identity provider was created.

    " } } }, @@ -7407,10 +7473,11 @@ "com.amazonaws.cognitoidentityprovider#InitiateAuthRequest": { "type": "structure", "members": { - "AnalyticsMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "AuthFlow": { + "target": "com.amazonaws.cognitoidentityprovider#AuthFlowType", "traits": { - "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n InitiateAuth calls.

    " + "smithy.api#documentation": "

    The authentication flow for this call to execute. The API action will depend on this\n value. For example:

    \n
      \n
    • \n

      \n REFRESH_TOKEN_AUTH will take in a valid refresh token and return\n new tokens.

      \n
    • \n
    • \n

      \n USER_SRP_AUTH will take in USERNAME and\n SRP_A and return the SRP variables to be used for next\n challenge execution.

      \n
    • \n
    • \n

      \n USER_PASSWORD_AUTH will take in USERNAME and\n PASSWORD and return the next challenge or tokens.

      \n
    • \n
    \n

    Valid values include:

    \n
      \n
    • \n

      \n USER_SRP_AUTH: Authentication flow for the Secure Remote Password\n (SRP) protocol.

      \n
    • \n
    • \n

      \n REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication\n flow for refreshing the access token and ID token by supplying a valid refresh\n token.

      \n
    • \n
    • \n

      \n CUSTOM_AUTH: Custom authentication flow.

      \n
    • \n
    • \n

      \n USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and\n PASSWORD are passed directly. If a user migration Lambda trigger is set, this\n flow will invoke the user migration Lambda if the USERNAME is not found in the\n user pool.

      \n
    • \n
    • \n

      \n ADMIN_USER_PASSWORD_AUTH: Admin-based user password\n authentication. This replaces the ADMIN_NO_SRP_AUTH authentication\n flow. In this flow, Cognito receives the password in the request instead of\n using the SRP process to verify passwords.

      \n
    • \n
    \n

    \n ADMIN_NO_SRP_AUTH is not a valid value.

    ", + "smithy.api#required": {} } }, "AuthParameters": { @@ -7419,17 +7486,10 @@ "smithy.api#documentation": "

    The authentication parameters. These are inputs corresponding to the\n AuthFlow that you are invoking. The required values depend on the value\n of AuthFlow:

    \n
      \n
    • \n

      For USER_SRP_AUTH: USERNAME (required),\n SRP_A (required), SECRET_HASH (required if the app\n client is configured with a client secret), DEVICE_KEY.

      \n
    • \n
    • \n

      For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN\n (required), SECRET_HASH (required if the app client is configured\n with a client secret), DEVICE_KEY.

      \n
    • \n
    • \n

      For CUSTOM_AUTH: USERNAME (required),\n SECRET_HASH (if app client is configured with client secret),\n DEVICE_KEY. To start the authentication flow with password verification, include ChallengeName: SRP_A and SRP_A: (The SRP_A Value).

      \n
    • \n
    " } }, - "UserContextData": { - "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " - } - }, - "AuthFlow": { - "target": "com.amazonaws.cognitoidentityprovider#AuthFlowType", - "traits": { - "smithy.api#documentation": "

    The authentication flow for this call to execute. The API action will depend on this\n value. For example:

    \n
      \n
    • \n

      \n REFRESH_TOKEN_AUTH will take in a valid refresh token and return\n new tokens.

      \n
    • \n
    • \n

      \n USER_SRP_AUTH will take in USERNAME and\n SRP_A and return the SRP variables to be used for next\n challenge execution.

      \n
    • \n
    • \n

      \n USER_PASSWORD_AUTH will take in USERNAME and\n PASSWORD and return the next challenge or tokens.

      \n
    • \n
    \n

    Valid values include:

    \n
      \n
    • \n

      \n USER_SRP_AUTH: Authentication flow for the Secure Remote Password\n (SRP) protocol.

      \n
    • \n
    • \n

      \n REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication\n flow for refreshing the access token and ID token by supplying a valid refresh\n token.

      \n
    • \n
    • \n

      \n CUSTOM_AUTH: Custom authentication flow.

      \n
    • \n
    • \n

      \n USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and\n PASSWORD are passed directly. If a user migration Lambda trigger is set, this\n flow will invoke the user migration Lambda if the USERNAME is not found in the\n user pool.

      \n
    • \n
    • \n

      \n ADMIN_USER_PASSWORD_AUTH: Admin-based user password\n authentication. This replaces the ADMIN_NO_SRP_AUTH authentication\n flow. In this flow, Cognito receives the password in the request instead of\n using the SRP process to verify passwords.

      \n
    • \n
    \n

    \n ADMIN_NO_SRP_AUTH is not a valid value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for certain custom\n workflows that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the InitiateAuth API action, Amazon Cognito invokes the AWS Lambda\n functions that are specified for various triggers. The ClientMetadata value is passed as\n input to the functions for only the following triggers:

    \n
      \n
    • \n

      Pre signup

      \n
    • \n
    • \n

      Pre authentication

      \n
    • \n
    • \n

      User migration

      \n
    • \n
    \n\n

    When Amazon Cognito invokes the functions for these triggers, it passes a JSON\n payload, which the function receives as input. This payload contains a\n validationData attribute, which provides the data that you assigned to\n the ClientMetadata parameter in your InitiateAuth request. In your function code in AWS\n Lambda, you can process the validationData value to enhance your workflow\n for your specific needs.

    \n\n

    When you use the InitiateAuth API action, Amazon Cognito also invokes the functions\n for the following triggers, but it does not provide the ClientMetadata value as\n input:

    \n\n
      \n
    • \n

      Post authentication

      \n
    • \n
    • \n

      Custom message

      \n
    • \n
    • \n

      Pre token generation

      \n
    • \n
    • \n

      Create auth challenge

      \n
    • \n
    • \n

      Define auth challenge

      \n
    • \n
    • \n

      Verify auth challenge

      \n
    • \n
    \n\n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } }, "ClientId": { @@ -7439,10 +7499,16 @@ "smithy.api#required": {} } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "AnalyticsMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for certain custom\n workflows that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the InitiateAuth API action, Amazon Cognito invokes the AWS Lambda\n functions that are specified for various triggers. The ClientMetadata value is passed as\n input to the functions for only the following triggers:

    \n
      \n
    • \n

      Pre signup

      \n
    • \n
    • \n

      Pre authentication

      \n
    • \n
    • \n

      User migration

      \n
    • \n
    \n\n

    When Amazon Cognito invokes the functions for these triggers, it passes a JSON\n payload, which the function receives as input. This payload contains a\n validationData attribute, which provides the data that you assigned to\n the ClientMetadata parameter in your InitiateAuth request. In your function code in AWS\n Lambda, you can process the validationData value to enhance your workflow\n for your specific needs.

    \n\n

    When you use the InitiateAuth API action, Amazon Cognito also invokes the functions\n for the following triggers, but it does not provide the ClientMetadata value as\n input:

    \n\n
      \n
    • \n

      Post authentication

      \n
    • \n
    • \n

      Custom message

      \n
    • \n
    • \n

      Pre token generation

      \n
    • \n
    • \n

      Create auth challenge

      \n
    • \n
    • \n

      Define auth challenge

      \n
    • \n
    • \n

      Verify auth challenge

      \n
    • \n
    \n\n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n InitiateAuth calls.

    " + } + }, + "UserContextData": { + "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", + "traits": { + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } } }, @@ -7459,12 +7525,6 @@ "smithy.api#documentation": "

    The name of the challenge which you are responding to with this call. This is returned\n to you in the AdminInitiateAuth response if you need to pass another\n challenge.

    \n

    Valid values include the following. Note that all of these challenges require\n USERNAME and SECRET_HASH (if applicable) in the\n parameters.

    \n
      \n
    • \n

      \n SMS_MFA: Next challenge is to supply an\n SMS_MFA_CODE, delivered via SMS.

      \n
    • \n
    • \n

      \n PASSWORD_VERIFIER: Next challenge is to supply\n PASSWORD_CLAIM_SIGNATURE,\n PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after\n the client-side SRP calculations.

      \n
    • \n
    • \n

      \n CUSTOM_CHALLENGE: This is returned if your custom authentication\n flow determines that the user should pass another challenge before tokens are\n issued.

      \n
    • \n
    • \n

      \n DEVICE_SRP_AUTH: If device tracking was enabled on your user pool\n and the previous challenges were passed, this challenge is returned so that\n Amazon Cognito can start tracking this device.

      \n
    • \n
    • \n

      \n DEVICE_PASSWORD_VERIFIER: Similar to\n PASSWORD_VERIFIER, but for devices only.

      \n
    • \n
    • \n

      \n NEW_PASSWORD_REQUIRED: For users which are required to change\n their passwords after successful first login. This challenge should be passed\n with NEW_PASSWORD and any other required attributes.

      \n
    • \n
    " } }, - "AuthenticationResult": { - "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", - "traits": { - "smithy.api#documentation": "

    The result of the authentication response. This is only returned if the caller does\n not need to pass another challenge. If the caller does need to pass another challenge\n before it gets tokens, ChallengeName, ChallengeParameters, and\n Session are returned.

    " - } - }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { @@ -7476,6 +7536,12 @@ "traits": { "smithy.api#documentation": "

    The challenge parameters. These are returned to you in the InitiateAuth\n response if you need to pass another challenge. The responses in this parameter should\n be used to compute inputs to the next call (RespondToAuthChallenge).

    \n

    All challenges require USERNAME and SECRET_HASH (if\n applicable).

    " } + }, + "AuthenticationResult": { + "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", + "traits": { + "smithy.api#documentation": "

    The result of the authentication response. This is only returned if the caller does\n not need to pass another challenge. If the caller does need to pass another challenge\n before it gets tokens, ChallengeName, ChallengeParameters, and\n Session are returned.

    " + } } }, "traits": { @@ -7628,22 +7694,22 @@ "com.amazonaws.cognitoidentityprovider#LambdaConfigType": { "type": "structure", "members": { - "UserMigration": { + "PreSignUp": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The user migration Lambda config type.

    " + "smithy.api#documentation": "

    A pre-registration AWS Lambda trigger.

    " } }, - "DefineAuthChallenge": { + "CustomMessage": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    Defines the authentication challenge.

    " + "smithy.api#documentation": "

    A custom Message AWS Lambda trigger.

    " } }, - "VerifyAuthChallengeResponse": { + "PostConfirmation": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    Verifies the authentication challenge response.

    " + "smithy.api#documentation": "

    A post-confirmation AWS Lambda trigger.

    " } }, "PreAuthentication": { @@ -7652,28 +7718,28 @@ "smithy.api#documentation": "

    A pre-authentication AWS Lambda trigger.

    " } }, - "PreSignUp": { + "PostAuthentication": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    A pre-registration AWS Lambda trigger.

    " + "smithy.api#documentation": "

    A post-authentication AWS Lambda trigger.

    " } }, - "PostAuthentication": { + "DefineAuthChallenge": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    A post-authentication AWS Lambda trigger.

    " + "smithy.api#documentation": "

    Defines the authentication challenge.

    " } }, - "PostConfirmation": { + "CreateAuthChallenge": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    A post-confirmation AWS Lambda trigger.

    " + "smithy.api#documentation": "

    Creates an authentication challenge.

    " } }, - "CustomMessage": { + "VerifyAuthChallengeResponse": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    A custom Message AWS Lambda trigger.

    " + "smithy.api#documentation": "

    Verifies the authentication challenge response.

    " } }, "PreTokenGeneration": { @@ -7682,10 +7748,28 @@ "smithy.api#documentation": "

    A Lambda trigger that is invoked before token generation.

    " } }, - "CreateAuthChallenge": { + "UserMigration": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    Creates an authentication challenge.

    " + "smithy.api#documentation": "

    The user migration Lambda config type.

    " + } + }, + "CustomSMSSender": { + "target": "com.amazonaws.cognitoidentityprovider#CustomSMSLambdaVersionConfigType", + "traits": { + "smithy.api#documentation": "

    A custom SMS sender AWS Lambda trigger.

    " + } + }, + "CustomEmailSender": { + "target": "com.amazonaws.cognitoidentityprovider#CustomEmailLambdaVersionConfigType", + "traits": { + "smithy.api#documentation": "

    A custom email sender AWS Lambda trigger.

    " + } + }, + "KMSKeyID": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name of Key Management Service Customer master keys\n . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to\n CustomEmailSender and CustomSMSSender.

    " } } }, @@ -7753,6 +7837,13 @@ "com.amazonaws.cognitoidentityprovider#ListDevicesRequest": { "type": "structure", "members": { + "AccessToken": { + "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "traits": { + "smithy.api#documentation": "

    The access tokens for the request to list devices.

    ", + "smithy.api#required": {} + } + }, "Limit": { "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", "traits": { @@ -7764,13 +7855,6 @@ "traits": { "smithy.api#documentation": "

    The pagination token for the list request.

    " } - }, - "AccessToken": { - "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", - "traits": { - "smithy.api#documentation": "

    The access tokens for the request to list devices.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -7842,17 +7926,17 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", - "traits": { - "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " - } - }, "Limit": { "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", "traits": { "smithy.api#documentation": "

    The limit of the request to list groups.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", + "traits": { + "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " + } } } }, @@ -7935,18 +8019,18 @@ "com.amazonaws.cognitoidentityprovider#ListIdentityProvidersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", - "traits": { - "smithy.api#documentation": "

    A pagination token.

    " - } - }, "Providers": { "target": "com.amazonaws.cognitoidentityprovider#ProvidersListType", "traits": { "smithy.api#documentation": "

    A list of identity provider objects.

    ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", + "traits": { + "smithy.api#documentation": "

    A pagination token.

    " + } } } }, @@ -8037,18 +8121,18 @@ "com.amazonaws.cognitoidentityprovider#ListResourceServersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", - "traits": { - "smithy.api#documentation": "

    A pagination token.

    " - } - }, "ResourceServers": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServersListType", "traits": { "smithy.api#documentation": "

    The resource servers.

    ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", + "traits": { + "smithy.api#documentation": "

    A pagination token.

    " + } } } }, @@ -8143,18 +8227,18 @@ "smithy.api#required": {} } }, - "PaginationToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", - "traits": { - "smithy.api#documentation": "

    An identifier that was returned from the previous call to\n ListUserImportJobs, which can be used to return the next set of import\n jobs in the list.

    " - } - }, "MaxResults": { "target": "com.amazonaws.cognitoidentityprovider#PoolQueryLimitType", "traits": { "smithy.api#documentation": "

    The maximum number of import jobs you want the request to return.

    ", "smithy.api#required": {} } + }, + "PaginationToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", + "traits": { + "smithy.api#documentation": "

    An identifier that was returned from the previous call to\n ListUserImportJobs, which can be used to return the next set of import\n jobs in the list.

    " + } } }, "traits": { @@ -8164,17 +8248,17 @@ "com.amazonaws.cognitoidentityprovider#ListUserImportJobsResponse": { "type": "structure", "members": { - "PaginationToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", - "traits": { - "smithy.api#documentation": "

    An identifier that can be used to return the next set of user import jobs in the\n list.

    " - } - }, "UserImportJobs": { "target": "com.amazonaws.cognitoidentityprovider#UserImportJobsListType", "traits": { "smithy.api#documentation": "

    The user import jobs.

    " } + }, + "PaginationToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", + "traits": { + "smithy.api#documentation": "

    An identifier that can be used to return the next set of user import jobs in the\n list.

    " + } } }, "traits": { @@ -8219,6 +8303,13 @@ "com.amazonaws.cognitoidentityprovider#ListUserPoolClientsRequest": { "type": "structure", "members": { + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "traits": { + "smithy.api#documentation": "

    The user pool ID for the user pool where you want to list user pool clients.

    ", + "smithy.api#required": {} + } + }, "MaxResults": { "target": "com.amazonaws.cognitoidentityprovider#QueryLimit", "traits": { @@ -8230,13 +8321,6 @@ "traits": { "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " } - }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", - "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to list user pool clients.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -8313,17 +8397,17 @@ "com.amazonaws.cognitoidentityprovider#ListUserPoolsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", - "traits": { - "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " - } - }, "UserPools": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolListType", "traits": { "smithy.api#documentation": "

    The user pools from the response to list users.

    " } + }, + "NextToken": { + "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", + "traits": { + "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " + } } }, "traits": { @@ -8403,12 +8487,6 @@ "com.amazonaws.cognitoidentityprovider#ListUsersInGroupRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", - "traits": { - "smithy.api#documentation": "

    The limit of the request to list users.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -8423,6 +8501,12 @@ "smithy.api#required": {} } }, + "Limit": { + "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", + "traits": { + "smithy.api#documentation": "

    The limit of the request to list users.

    " + } + }, "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { @@ -8458,29 +8542,29 @@ "smithy.api#required": {} } }, - "PaginationToken": { - "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", - "traits": { - "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " - } - }, "AttributesToGet": { "target": "com.amazonaws.cognitoidentityprovider#SearchedAttributeNamesListType", "traits": { "smithy.api#documentation": "

    An array of strings, where each string is the name of a user attribute to be returned\n for each user in the search results. If the array is null, all attributes are\n returned.

    " } }, - "Filter": { - "target": "com.amazonaws.cognitoidentityprovider#UserFilterType", - "traits": { - "smithy.api#documentation": "

    A filter string of the form \"AttributeName\n Filter-Type \"AttributeValue\"\". Quotation marks\n within the filter string must be escaped using the backslash (\\) character. For example,\n \"family_name = \\\"Reddy\\\"\".

    \n
      \n
    • \n

      \n AttributeName: The name of the attribute to search for.\n You can only search for one attribute at a time.

      \n
    • \n
    • \n

      \n Filter-Type: For an exact match, use =, for example,\n \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\") match, use\n ^=, for example, \"given_name ^= \\\"Jon\\\"\".

      \n
    • \n
    • \n

      \n AttributeValue: The attribute value that must be matched\n for each user.

      \n
    • \n
    \n

    If the filter string is empty, ListUsers returns all users in the user\n pool.

    \n

    You can only search for the following standard attributes:

    \n
      \n
    • \n

      \n username (case-sensitive)

      \n
    • \n
    • \n

      \n email\n

      \n
    • \n
    • \n

      \n phone_number\n

      \n
    • \n
    • \n

      \n name\n

      \n
    • \n
    • \n

      \n given_name\n

      \n
    • \n
    • \n

      \n family_name\n

      \n
    • \n
    • \n

      \n preferred_username\n

      \n
    • \n
    • \n

      \n cognito:user_status (called Status in the Console) (case-insensitive)

      \n
    • \n
    • \n

      \n status (called Enabled in the Console)\n (case-sensitive)\n

      \n
    • \n
    • \n

      \n sub\n

      \n
    • \n
    \n

    Custom attributes are not searchable.

    \n

    For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito\n Developer Guide.

    " - } - }, "Limit": { "target": "com.amazonaws.cognitoidentityprovider#QueryLimitType", "traits": { "smithy.api#documentation": "

    Maximum number of users to be returned.

    " } + }, + "PaginationToken": { + "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", + "traits": { + "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " + } + }, + "Filter": { + "target": "com.amazonaws.cognitoidentityprovider#UserFilterType", + "traits": { + "smithy.api#documentation": "

    A filter string of the form \"AttributeName\n Filter-Type \"AttributeValue\"\". Quotation marks\n within the filter string must be escaped using the backslash (\\) character. For example,\n \"family_name = \\\"Reddy\\\"\".

    \n
      \n
    • \n

      \n AttributeName: The name of the attribute to search for.\n You can only search for one attribute at a time.

      \n
    • \n
    • \n

      \n Filter-Type: For an exact match, use =, for example,\n \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\") match, use\n ^=, for example, \"given_name ^= \\\"Jon\\\"\".

      \n
    • \n
    • \n

      \n AttributeValue: The attribute value that must be matched\n for each user.

      \n
    • \n
    \n

    If the filter string is empty, ListUsers returns all users in the user\n pool.

    \n

    You can only search for the following standard attributes:

    \n
      \n
    • \n

      \n username (case-sensitive)

      \n
    • \n
    • \n

      \n email\n

      \n
    • \n
    • \n

      \n phone_number\n

      \n
    • \n
    • \n

      \n name\n

      \n
    • \n
    • \n

      \n given_name\n

      \n
    • \n
    • \n

      \n family_name\n

      \n
    • \n
    • \n

      \n preferred_username\n

      \n
    • \n
    • \n

      \n cognito:user_status (called Status in the Console) (case-insensitive)

      \n
    • \n
    • \n

      \n status (called Enabled in the Console)\n (case-sensitive)\n

      \n
    • \n
    • \n

      \n sub\n

      \n
    • \n
    \n

    Custom attributes are not searchable.

    \n

    For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito\n Developer Guide.

    " + } } }, "traits": { @@ -8490,17 +8574,17 @@ "com.amazonaws.cognitoidentityprovider#ListUsersResponse": { "type": "structure", "members": { - "PaginationToken": { - "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", - "traits": { - "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " - } - }, "Users": { "target": "com.amazonaws.cognitoidentityprovider#UsersListType", "traits": { "smithy.api#documentation": "

    The users returned in the request to list users.

    " } + }, + "PaginationToken": { + "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", + "traits": { + "smithy.api#documentation": "

    An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

    " + } } }, "traits": { @@ -8547,17 +8631,17 @@ "com.amazonaws.cognitoidentityprovider#MFAOptionType": { "type": "structure", "members": { - "AttributeName": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", - "traits": { - "smithy.api#documentation": "

    The attribute name of the MFA option type. The only valid value is\n phone_number.

    " - } - }, "DeliveryMedium": { "target": "com.amazonaws.cognitoidentityprovider#DeliveryMediumType", "traits": { "smithy.api#documentation": "

    The delivery medium to send the MFA code. You can use this parameter to set only the\n SMS delivery medium value.

    " } + }, + "AttributeName": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", + "traits": { + "smithy.api#documentation": "

    The attribute name of the MFA option type. The only valid value is\n phone_number.

    " + } } }, "traits": { @@ -8582,12 +8666,6 @@ "com.amazonaws.cognitoidentityprovider#MessageTemplateType": { "type": "structure", "members": { - "EmailSubject": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", - "traits": { - "smithy.api#documentation": "

    The subject line for email messages.

    " - } - }, "SMSMessage": { "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", "traits": { @@ -8597,7 +8675,13 @@ "EmailMessage": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

    The message template for email messages.

    " + "smithy.api#documentation": "

    The message template for email messages. EmailMessage is allowed only if EmailSendingAccount is DEVELOPER.

    " + } + }, + "EmailSubject": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", + "traits": { + "smithy.api#documentation": "

    The subject line for email messages. EmailSubject is allowed only if EmailSendingAccount is DEVELOPER.

    " } } }, @@ -8647,10 +8731,16 @@ "com.amazonaws.cognitoidentityprovider#NotifyConfigurationType": { "type": "structure", "members": { - "NoActionEmail": { - "target": "com.amazonaws.cognitoidentityprovider#NotifyEmailType", + "From": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The email template used when a detected risk event is allowed.

    " + "smithy.api#documentation": "

    The email address that is sending the email. It must be either individually verified\n with Amazon SES, or from a domain that has been verified with Amazon SES.

    " + } + }, + "ReplyTo": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", + "traits": { + "smithy.api#documentation": "

    The destination to which the receiver of an email should reply to.

    " } }, "SourceArn": { @@ -8660,28 +8750,22 @@ "smithy.api#required": {} } }, - "ReplyTo": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", - "traits": { - "smithy.api#documentation": "

    The destination to which the receiver of an email should reply to.

    " - } - }, - "MfaEmail": { + "BlockEmail": { "target": "com.amazonaws.cognitoidentityprovider#NotifyEmailType", "traits": { - "smithy.api#documentation": "

    The MFA email template used when MFA is challenged as part of a detected risk.

    " + "smithy.api#documentation": "

    Email template used when a detected risk event is blocked.

    " } }, - "From": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "NoActionEmail": { + "target": "com.amazonaws.cognitoidentityprovider#NotifyEmailType", "traits": { - "smithy.api#documentation": "

    The email address that is sending the email. It must be either individually verified\n with Amazon SES, or from a domain that has been verified with Amazon SES.

    " + "smithy.api#documentation": "

    The email template used when a detected risk event is allowed.

    " } }, - "BlockEmail": { + "MfaEmail": { "target": "com.amazonaws.cognitoidentityprovider#NotifyEmailType", "traits": { - "smithy.api#documentation": "

    Email template used when a detected risk event is blocked.

    " + "smithy.api#documentation": "

    The MFA email template used when MFA is challenged as part of a detected risk.

    " } } }, @@ -8692,12 +8776,6 @@ "com.amazonaws.cognitoidentityprovider#NotifyEmailType": { "type": "structure", "members": { - "HtmlBody": { - "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType", - "traits": { - "smithy.api#documentation": "

    The HTML body.

    " - } - }, "Subject": { "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationSubjectType", "traits": { @@ -8705,6 +8783,12 @@ "smithy.api#required": {} } }, + "HtmlBody": { + "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType", + "traits": { + "smithy.api#documentation": "

    The HTML body.

    " + } + }, "TextBody": { "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType", "traits": { @@ -8797,10 +8881,10 @@ "com.amazonaws.cognitoidentityprovider#PasswordPolicyType": { "type": "structure", "members": { - "TemporaryPasswordValidityDays": { - "target": "com.amazonaws.cognitoidentityprovider#TemporaryPasswordValidityDaysType", + "MinimumLength": { + "target": "com.amazonaws.cognitoidentityprovider#PasswordPolicyMinLengthType", "traits": { - "smithy.api#documentation": "

    In the password policy you have set, refers to the number of days a temporary password\n is valid. If the user does not sign-in during this time, their password will need to be\n reset by an administrator.

    \n \n

    When you set TemporaryPasswordValidityDays for a user pool, you will\n no longer be able to set the deprecated UnusedAccountValidityDays value\n for that user pool.

    \n
    " + "smithy.api#documentation": "

    The minimum length of the password policy that you have set. Cannot be less than\n 6.

    " } }, "RequireUppercase": { @@ -8815,12 +8899,6 @@ "smithy.api#documentation": "

    In the password policy that you have set, refers to whether you have required users to\n use at least one lowercase letter in their password.

    " } }, - "MinimumLength": { - "target": "com.amazonaws.cognitoidentityprovider#PasswordPolicyMinLengthType", - "traits": { - "smithy.api#documentation": "

    The minimum length of the password policy that you have set. Cannot be less than\n 6.

    " - } - }, "RequireNumbers": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { @@ -8832,6 +8910,12 @@ "traits": { "smithy.api#documentation": "

    In the password policy that you have set, refers to whether you have required users to\n use at least one symbol in their password.

    " } + }, + "TemporaryPasswordValidityDays": { + "target": "com.amazonaws.cognitoidentityprovider#TemporaryPasswordValidityDaysType", + "traits": { + "smithy.api#documentation": "

    In the password policy you have set, refers to the number of days a temporary password\n is valid. If the user does not sign-in during this time, their password will need to be\n reset by an administrator.

    \n \n

    When you set TemporaryPasswordValidityDays for a user pool, you will\n no longer be able to set the deprecated UnusedAccountValidityDays value\n for that user pool.

    \n
    " + } } }, "traits": { @@ -8935,22 +9019,16 @@ "com.amazonaws.cognitoidentityprovider#ProviderDescription": { "type": "structure", "members": { - "ProviderType": { - "target": "com.amazonaws.cognitoidentityprovider#IdentityProviderTypeType", - "traits": { - "smithy.api#documentation": "

    The identity provider type.

    " - } - }, "ProviderName": { "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", "traits": { "smithy.api#documentation": "

    The identity provider name.

    " } }, - "CreationDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "ProviderType": { + "target": "com.amazonaws.cognitoidentityprovider#IdentityProviderTypeType", "traits": { - "smithy.api#documentation": "

    The date the provider was added to the user pool.

    " + "smithy.api#documentation": "

    The identity provider type.

    " } }, "LastModifiedDate": { @@ -8958,6 +9036,12 @@ "traits": { "smithy.api#documentation": "

    The date the provider was last modified.

    " } + }, + "CreationDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", + "traits": { + "smithy.api#documentation": "

    The date the provider was added to the user pool.

    " + } } }, "traits": { @@ -8996,12 +9080,6 @@ "com.amazonaws.cognitoidentityprovider#ProviderUserIdentifierType": { "type": "structure", "members": { - "ProviderAttributeValue": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", - "traits": { - "smithy.api#documentation": "

    The value of the provider attribute to link to, for example,\n xxxxx_account.

    " - } - }, "ProviderName": { "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", "traits": { @@ -9013,6 +9091,12 @@ "traits": { "smithy.api#documentation": "

    The name of the provider attribute to link to, for example,\n NameID.

    " } + }, + "ProviderAttributeValue": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", + "traits": { + "smithy.api#documentation": "

    The value of the provider attribute to link to, for example,\n xxxxx_account.

    " + } } }, "traits": { @@ -9183,36 +9267,30 @@ "com.amazonaws.cognitoidentityprovider#ResendConfirmationCodeRequest": { "type": "structure", "members": { - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The user name of the user to whom you wish to resend a confirmation code.

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

    The ID of the client associated with the user pool.

    ", "smithy.api#required": {} } }, - "UserContextData": { - "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", - "traits": { - "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " - } - }, "SecretHash": { "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "UserContextData": { + "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your ResendConfirmationCode\n request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    The user name of the user to whom you wish to resend a confirmation code.

    ", + "smithy.api#required": {} } }, "AnalyticsMetadata": { @@ -9220,6 +9298,12 @@ "traits": { "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n ResendConfirmationCode calls.

    " } + }, + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "traits": { + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your ResendConfirmationCode\n request. In your function code in AWS Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + } } }, "traits": { @@ -9332,29 +9416,29 @@ "com.amazonaws.cognitoidentityprovider#ResourceServerType": { "type": "structure", "members": { - "Identifier": { - "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", - "traits": { - "smithy.api#documentation": "

    The identifier for the resource server.

    " - } - }, - "Scopes": { - "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", - "traits": { - "smithy.api#documentation": "

    A list of scopes that are defined for the resource server.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { "smithy.api#documentation": "

    The user pool ID for the user pool that hosts the resource server.

    " } }, + "Identifier": { + "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", + "traits": { + "smithy.api#documentation": "

    The identifier for the resource server.

    " + } + }, "Name": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerNameType", "traits": { "smithy.api#documentation": "

    The name of the resource server.

    " } + }, + "Scopes": { + "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", + "traits": { + "smithy.api#documentation": "

    A list of scopes that are defined for the resource server.

    " + } } }, "traits": { @@ -9446,16 +9530,11 @@ "com.amazonaws.cognitoidentityprovider#RespondToAuthChallengeRequest": { "type": "structure", "members": { - "Session": { - "target": "com.amazonaws.cognitoidentityprovider#SessionType", - "traits": { - "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. If InitiateAuth or RespondToAuthChallenge API call\n determines that the caller needs to go through another challenge, they return a session\n with other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

    " - } - }, - "AnalyticsMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n RespondToAuthChallenge calls.

    " + "smithy.api#documentation": "

    The app client ID.

    ", + "smithy.api#required": {} } }, "ChallengeName": { @@ -9465,17 +9544,22 @@ "smithy.api#required": {} } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "Session": { + "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions\n that are assigned to the following triggers: post authentication,\n pre token generation, define auth\n challenge, create auth challenge, and\n verify auth challenge. When Amazon Cognito invokes any of these\n functions, it passes a JSON payload, which the function receives as input. This payload\n contains a clientMetadata attribute, which provides the data that you\n assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your\n function code in AWS Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. If InitiateAuth or RespondToAuthChallenge API call\n determines that the caller needs to go through another challenge, they return a session\n with other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "ChallengeResponses": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponsesType", "traits": { - "smithy.api#documentation": "

    The app client ID.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The challenge responses. These are inputs corresponding to the value of\n ChallengeName, for example:

    \n \n

    \n SECRET_HASH (if app client is configured with client secret) applies\n to all inputs below (including SOFTWARE_TOKEN_MFA).

    \n
    \n
      \n
    • \n

      \n SMS_MFA: SMS_MFA_CODE, USERNAME.

      \n
    • \n
    • \n

      \n PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE,\n PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP,\n USERNAME.

      \n
    • \n
    • \n

      \n NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other\n required attributes, USERNAME.

      \n
    • \n
    • \n

      \n SOFTWARE_TOKEN_MFA: USERNAME and\n SOFTWARE_TOKEN_MFA_CODE are required attributes.

      \n
    • \n
    • \n

      \n DEVICE_SRP_AUTH requires USERNAME,\n DEVICE_KEY, SRP_A (and\n SECRET_HASH).

      \n
    • \n
    • \n

      \n DEVICE_PASSWORD_VERIFIER requires everything that\n PASSWORD_VERIFIER requires plus DEVICE_KEY.

      \n
    • \n
    " + } + }, + "AnalyticsMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "traits": { + "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for\n RespondToAuthChallenge calls.

    " } }, "UserContextData": { @@ -9484,10 +9568,10 @@ "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } }, - "ChallengeResponses": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponsesType", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    The challenge responses. These are inputs corresponding to the value of\n ChallengeName, for example:

    \n \n

    \n SECRET_HASH (if app client is configured with client secret) applies\n to all inputs below (including SOFTWARE_TOKEN_MFA).

    \n
    \n
      \n
    • \n

      \n SMS_MFA: SMS_MFA_CODE, USERNAME.

      \n
    • \n
    • \n

      \n PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE,\n PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP,\n USERNAME.

      \n
    • \n
    • \n

      \n NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other\n required attributes, USERNAME.

      \n
    • \n
    • \n

      \n SOFTWARE_TOKEN_MFA: USERNAME and\n SOFTWARE_TOKEN_MFA_CODE are required attributes.

      \n
    • \n
    • \n

      \n DEVICE_SRP_AUTH requires USERNAME,\n DEVICE_KEY, SRP_A (and\n SECRET_HASH).

      \n
    • \n
    • \n

      \n DEVICE_PASSWORD_VERIFIER requires everything that\n PASSWORD_VERIFIER requires plus DEVICE_KEY.

      \n
    • \n
    " + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions\n that are assigned to the following triggers: post authentication,\n pre token generation, define auth\n challenge, create auth challenge, and\n verify auth challenge. When Amazon Cognito invokes any of these\n functions, it passes a JSON payload, which the function receives as input. This payload\n contains a clientMetadata attribute, which provides the data that you\n assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your\n function code in AWS Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } } }, @@ -9498,16 +9582,10 @@ "com.amazonaws.cognitoidentityprovider#RespondToAuthChallengeResponse": { "type": "structure", "members": { - "ChallengeParameters": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeParametersType", - "traits": { - "smithy.api#documentation": "

    The challenge parameters. For more information, see InitiateAuth.

    " - } - }, - "AuthenticationResult": { - "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", + "ChallengeName": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", "traits": { - "smithy.api#documentation": "

    The result returned by the server in response to the request to respond to the\n authentication challenge.

    " + "smithy.api#documentation": "

    The challenge name. For more information, see InitiateAuth.

    " } }, "Session": { @@ -9516,10 +9594,16 @@ "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service. If the caller needs to\n go through another challenge, they return a session with other challenge parameters.\n This session should be passed as it is to the next RespondToAuthChallenge\n API call.

    " } }, - "ChallengeName": { - "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", + "ChallengeParameters": { + "target": "com.amazonaws.cognitoidentityprovider#ChallengeParametersType", "traits": { - "smithy.api#documentation": "

    The challenge name. For more information, see InitiateAuth.

    " + "smithy.api#documentation": "

    The challenge parameters. For more information, see InitiateAuth.

    " + } + }, + "AuthenticationResult": { + "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", + "traits": { + "smithy.api#documentation": "

    The result returned by the server in response to the request to respond to the\n authentication challenge.

    " } } }, @@ -9530,16 +9614,22 @@ "com.amazonaws.cognitoidentityprovider#RiskConfigurationType": { "type": "structure", "members": { + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "traits": { + "smithy.api#documentation": "

    The user pool ID.

    " + } + }, "ClientId": { "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { "smithy.api#documentation": "

    The app client ID.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "CompromisedCredentialsRiskConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#CompromisedCredentialsRiskConfigurationType", "traits": { - "smithy.api#documentation": "

    The user pool ID.

    " + "smithy.api#documentation": "

    The compromised credentials risk configuration object including the\n EventFilter and the EventAction\n

    " } }, "AccountTakeoverRiskConfiguration": { @@ -9554,12 +9644,6 @@ "smithy.api#documentation": "

    The configuration to override the risk decision.

    " } }, - "CompromisedCredentialsRiskConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#CompromisedCredentialsRiskConfigurationType", - "traits": { - "smithy.api#documentation": "

    The compromised credentials risk configuration object including the\n EventFilter and the EventAction\n

    " - } - }, "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { @@ -9593,17 +9677,17 @@ "com.amazonaws.cognitoidentityprovider#RiskExceptionConfigurationType": { "type": "structure", "members": { - "SkippedIPRangeList": { - "target": "com.amazonaws.cognitoidentityprovider#SkippedIPRangeListType", - "traits": { - "smithy.api#documentation": "

    Risk detection is not performed on the IP addresses in the range list. The IP range is\n in CIDR notation.

    " - } - }, "BlockedIPRangeList": { "target": "com.amazonaws.cognitoidentityprovider#BlockedIPRangeListType", "traits": { "smithy.api#documentation": "

    Overrides the risk decision to always block the pre-authentication requests. The IP\n range is in CIDR notation: a compact representation of an IP address and its associated\n routing prefix.

    " } + }, + "SkippedIPRangeList": { + "target": "com.amazonaws.cognitoidentityprovider#SkippedIPRangeListType", + "traits": { + "smithy.api#documentation": "

    Risk detection is not performed on the IP addresses in the range list. The IP range is\n in CIDR notation.

    " + } } }, "traits": { @@ -9655,7 +9739,7 @@ "Enabled": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    Specifies whether SMS text message MFA is enabled.

    " + "smithy.api#documentation": "

    Specifies whether SMS text message MFA is enabled. If an MFA type is enabled for a user,\n the user will be prompted for MFA during all sign in attempts, unless device tracking is turned on and the device has been trusted.

    " } }, "PreferredMfa": { @@ -9666,23 +9750,16 @@ } }, "traits": { - "smithy.api#documentation": "

    The type used for enabling SMS MFA at the user level.

    " + "smithy.api#documentation": "

    The type used for enabling SMS MFA at the user level. Phone numbers don't need to be verified\n to be used for SMS MFA. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, \n unless device tracking is turned on and the device has been trusted. If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, \n disable MFA for users and turn on Adaptive Authentication for the user pool.

    " } }, "com.amazonaws.cognitoidentityprovider#SchemaAttributeType": { "type": "structure", "members": { - "Mutable": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", - "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

    Specifies whether the value of the attribute can be changed.

    \n

    For any user pool attribute that's mapped to an identity provider attribute, you must\n set this parameter to true. Amazon Cognito updates mapped attributes when\n users sign in to your application through an identity provider. If an attribute is\n immutable, Amazon Cognito throws an error when it attempts to update the attribute. For\n more information, see Specifying Identity Provider Attribute Mappings for Your User\n Pool.

    " - } - }, - "StringAttributeConstraints": { - "target": "com.amazonaws.cognitoidentityprovider#StringAttributeConstraintsType", + "Name": { + "target": "com.amazonaws.cognitoidentityprovider#CustomAttributeNameType", "traits": { - "smithy.api#documentation": "

    Specifies the constraints for an attribute of the string type.

    " + "smithy.api#documentation": "

    A schema attribute of the name type.

    " } }, "AttributeDataType": { @@ -9691,24 +9768,25 @@ "smithy.api#documentation": "

    The attribute data type.

    " } }, - "Required": { + "DeveloperOnlyAttribute": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

    Specifies whether a user pool attribute is required. If the attribute is required and\n the user does not provide a value, registration or sign-in will fail.

    " + "smithy.api#documentation": "\n

    We recommend that you use WriteAttributes in the user pool client to control how attributes can\n be mutated for new use cases instead of using\n DeveloperOnlyAttribute.

    \n
    \n

    Specifies whether the attribute type is developer only. This attribute can only be\n modified by an administrator. Users will not be able to modify this attribute using\n their access token. For example, DeveloperOnlyAttribute can be modified\n using AdminUpdateUserAttributes but cannot be updated\n using UpdateUserAttributes.

    " } }, - "DeveloperOnlyAttribute": { + "Mutable": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "\n

    We recommend that you use WriteAttributes in the user pool client to control how attributes can\n be mutated for new use cases instead of using\n DeveloperOnlyAttribute.

    \n
    \n

    Specifies whether the attribute type is developer only. This attribute can only be\n modified by an administrator. Users will not be able to modify this attribute using\n their access token. For example, DeveloperOnlyAttribute can be modified\n using AdminUpdateUserAttributes but cannot be updated\n using UpdateUserAttributes.

    " + "smithy.api#documentation": "

    Specifies whether the value of the attribute can be changed.

    \n

    For any user pool attribute that's mapped to an identity provider attribute, you must\n set this parameter to true. Amazon Cognito updates mapped attributes when\n users sign in to your application through an identity provider. If an attribute is\n immutable, Amazon Cognito throws an error when it attempts to update the attribute. For\n more information, see Specifying Identity Provider Attribute Mappings for Your User\n Pool.

    " } }, - "Name": { - "target": "com.amazonaws.cognitoidentityprovider#CustomAttributeNameType", + "Required": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    A schema attribute of the name type.

    " + "smithy.api#box": {}, + "smithy.api#documentation": "

    Specifies whether a user pool attribute is required. If the attribute is required and\n the user does not provide a value, registration or sign-in will fail.

    " } }, "NumberAttributeConstraints": { @@ -9716,8 +9794,14 @@ "traits": { "smithy.api#documentation": "

    Specifies the constraints for an attribute of the number type.

    " } - } - }, + }, + "StringAttributeConstraints": { + "target": "com.amazonaws.cognitoidentityprovider#StringAttributeConstraintsType", + "traits": { + "smithy.api#documentation": "

    Specifies the constraints for an attribute of the string type.

    " + } + } + }, "traits": { "smithy.api#documentation": "

    Contains information about the schema attribute.

    " } @@ -9855,12 +9939,6 @@ "com.amazonaws.cognitoidentityprovider#SetRiskConfigurationRequest": { "type": "structure", "members": { - "RiskExceptionConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#RiskExceptionConfigurationType", - "traits": { - "smithy.api#documentation": "

    The configuration to override the risk decision.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -9868,6 +9946,12 @@ "smithy.api#required": {} } }, + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "traits": { + "smithy.api#documentation": "

    The app client ID. If ClientId is null, then the risk configuration is\n mapped to userPoolId. When the client ID is null, the same risk\n configuration is applied to all the clients in the userPool.

    \n

    Otherwise, ClientId is mapped to the client. When the client ID is not\n null, the user pool configuration is overridden and the risk configuration for the\n client is used instead.

    " + } + }, "CompromisedCredentialsRiskConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#CompromisedCredentialsRiskConfigurationType", "traits": { @@ -9880,10 +9964,10 @@ "smithy.api#documentation": "

    The account takeover risk configuration.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "RiskExceptionConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#RiskExceptionConfigurationType", "traits": { - "smithy.api#documentation": "

    The app client ID. If ClientId is null, then the risk configuration is\n mapped to userPoolId. When the client ID is null, the same risk\n configuration is applied to all the clients in the userPool.

    \n

    Otherwise, ClientId is mapped to the client. When the client ID is not\n null, the user pool configuration is overridden and the risk configuration for the\n client is used instead.

    " + "smithy.api#documentation": "

    The configuration to override the risk decision.

    " } } } @@ -9932,16 +10016,11 @@ "com.amazonaws.cognitoidentityprovider#SetUICustomizationRequest": { "type": "structure", "members": { - "ImageFile": { - "target": "com.amazonaws.cognitoidentityprovider#ImageFileType", - "traits": { - "smithy.api#documentation": "

    The uploaded logo image for the UI customization.

    " - } - }, - "CSS": { - "target": "com.amazonaws.cognitoidentityprovider#CSSType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The CSS values in the UI customization.

    " + "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", + "smithy.api#required": {} } }, "ClientId": { @@ -9950,11 +10029,16 @@ "smithy.api#documentation": "

    The client ID for the client app.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "CSS": { + "target": "com.amazonaws.cognitoidentityprovider#CSSType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The CSS values in the UI customization.

    " + } + }, + "ImageFile": { + "target": "com.amazonaws.cognitoidentityprovider#ImageFileType", + "traits": { + "smithy.api#documentation": "

    The uploaded logo image for the UI customization.

    " } } } @@ -10003,12 +10087,18 @@ } ], "traits": { - "smithy.api#documentation": "

    Set the user's multi-factor authentication (MFA) method preference, including which\n MFA factors are enabled and if any are preferred. Only one factor can be set as\n preferred. The preferred MFA factor will be used to authenticate a user if multiple\n factors are enabled. If multiple options are enabled and no preference is set, a\n challenge to choose an MFA option will be returned during sign in.

    " + "smithy.api#documentation": "

    Set the user's multi-factor authentication (MFA) method preference, including which\n MFA factors are enabled and if any are preferred. Only one factor can be set as\n preferred. The preferred MFA factor will be used to authenticate a user if multiple\n factors are enabled. If multiple options are enabled and no preference is set, a\n challenge to choose an MFA option will be returned during sign in. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, \n unless device tracking is turned on and the device has been trusted. \n If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, disable MFA for users and turn on Adaptive Authentication for the user pool.

    " } }, "com.amazonaws.cognitoidentityprovider#SetUserMFAPreferenceRequest": { "type": "structure", "members": { + "SMSMfaSettings": { + "target": "com.amazonaws.cognitoidentityprovider#SMSMfaSettingsType", + "traits": { + "smithy.api#documentation": "

    The SMS text message multi-factor authentication (MFA) settings.

    " + } + }, "SoftwareTokenMfaSettings": { "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaSettingsType", "traits": { @@ -10021,12 +10111,6 @@ "smithy.api#documentation": "

    The access token for the user.

    ", "smithy.api#required": {} } - }, - "SMSMfaSettings": { - "target": "com.amazonaws.cognitoidentityprovider#SMSMfaSettingsType", - "traits": { - "smithy.api#documentation": "

    The SMS text message multi-factor authentication (MFA) settings.

    " - } } } }, @@ -10072,12 +10156,6 @@ "com.amazonaws.cognitoidentityprovider#SetUserPoolMfaConfigRequest": { "type": "structure", "members": { - "MfaConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", - "traits": { - "smithy.api#documentation": "

    The MFA configuration. Valid values include:

    \n
      \n
    • \n

      \n OFF MFA will not be used for any users.

      \n
    • \n
    • \n

      \n ON MFA is required for all users to sign in.

      \n
    • \n
    • \n

      \n OPTIONAL MFA will be required only for individual users who have\n an MFA factor enabled.

      \n
    • \n
    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -10096,24 +10174,30 @@ "traits": { "smithy.api#documentation": "

    The software token MFA configuration.

    " } + }, + "MfaConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", + "traits": { + "smithy.api#documentation": "

    The MFA configuration. Valid values include:

    \n
      \n
    • \n

      \n OFF MFA will not be used for any users.

      \n
    • \n
    • \n

      \n ON MFA is required for all users to sign in.

      \n
    • \n
    • \n

      \n OPTIONAL MFA will be required only for individual users who have\n an MFA factor enabled.

      \n
    • \n
    " + } } } }, "com.amazonaws.cognitoidentityprovider#SetUserPoolMfaConfigResponse": { "type": "structure", "members": { - "SoftwareTokenMfaConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaConfigType", - "traits": { - "smithy.api#documentation": "

    The software token MFA configuration.

    " - } - }, "SmsMfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#SmsMfaConfigType", "traits": { "smithy.api#documentation": "

    The SMS text message MFA configuration.

    " } }, + "SoftwareTokenMfaConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaConfigType", + "traits": { + "smithy.api#documentation": "

    The software token MFA configuration.

    " + } + }, "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { @@ -10249,10 +10333,24 @@ "com.amazonaws.cognitoidentityprovider#SignUpRequest": { "type": "structure", "members": { - "AnalyticsMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for SignUp\n calls.

    " + "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", + "smithy.api#required": {} + } + }, + "SecretHash": { + "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", + "traits": { + "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " + } + }, + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "traits": { + "smithy.api#documentation": "

    The user name of the user you wish to register.

    ", + "smithy.api#required": {} } }, "Password": { @@ -10262,22 +10360,22 @@ "smithy.api#required": {} } }, - "ClientMetadata": { - "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", + "UserAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the SignUp API action, Amazon Cognito invokes any functions that are\n assigned to the following triggers: pre sign-up, custom\n message, and post confirmation. When Amazon Cognito\n invokes any of these functions, it passes a JSON payload, which the function receives as\n input. This payload contains a clientMetadata attribute, which provides the\n data that you assigned to the ClientMetadata parameter in your SignUp request. In your\n function code in AWS Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " + "smithy.api#documentation": "

    An array of name-value pairs representing user attributes.

    \n

    For custom attributes, you must prepend the custom: prefix to the\n attribute name.

    " } }, - "UserAttributes": { + "ValidationData": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

    An array of name-value pairs representing user attributes.

    \n

    For custom attributes, you must prepend the custom: prefix to the\n attribute name.

    " + "smithy.api#documentation": "

    The validation data in the request to register a user.

    " } }, - "SecretHash": { - "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", + "AnalyticsMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

    A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

    " + "smithy.api#documentation": "

    The Amazon Pinpoint analytics metadata for collecting metrics for SignUp\n calls.

    " } }, "UserContextData": { @@ -10286,24 +10384,10 @@ "smithy.api#documentation": "

    Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

    " } }, - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", - "traits": { - "smithy.api#documentation": "

    The user name of the user you wish to register.

    ", - "smithy.api#required": {} - } - }, - "ValidationData": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", - "traits": { - "smithy.api#documentation": "

    The validation data in the request to register a user.

    " - } - }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "ClientMetadata": { + "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the SignUp API action, Amazon Cognito invokes any functions that are\n assigned to the following triggers: pre sign-up, custom\n message, and post confirmation. When Amazon Cognito\n invokes any of these functions, it passes a JSON payload, which the function receives as\n input. This payload contains a clientMetadata attribute, which provides the\n data that you assigned to the ClientMetadata parameter in your SignUp request. In your\n function code in AWS Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } } }, @@ -10314,10 +10398,10 @@ "com.amazonaws.cognitoidentityprovider#SignUpResponse": { "type": "structure", "members": { - "UserSub": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "UserConfirmed": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    The UUID of the authenticated user. This is not the same as\n username.

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

    A response from the server indicating that a user registration has been\n confirmed.

    ", "smithy.api#required": {} } }, @@ -10327,10 +10411,10 @@ "smithy.api#documentation": "

    The code delivery details returned by the server response to the user registration\n request.

    " } }, - "UserConfirmed": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "UserSub": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    A response from the server indicating that a user registration has been\n confirmed.

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

    The UUID of the authenticated user. This is not the same as\n username.

    ", "smithy.api#required": {} } } @@ -10357,7 +10441,7 @@ "SnsCallerArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.\n This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS\n messages.

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

    The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.\n This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS\n messages. SMS messages are subject to a spending limit.\n

    ", "smithy.api#required": {} } }, @@ -10375,17 +10459,17 @@ "com.amazonaws.cognitoidentityprovider#SmsMfaConfigType": { "type": "structure", "members": { - "SmsConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#SmsConfigurationType", - "traits": { - "smithy.api#documentation": "

    The SMS configuration.

    " - } - }, "SmsAuthenticationMessage": { "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", "traits": { "smithy.api#documentation": "

    The SMS authentication message that will be sent to users with the code they need to\n sign in. The message must contain the ‘{####}’ placeholder, which will be replaced with\n the code. If the message is not included, and default message will be used.

    " } + }, + "SmsConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#SmsConfigurationType", + "traits": { + "smithy.api#documentation": "

    The SMS configuration.

    " + } } }, "traits": { @@ -10442,21 +10526,21 @@ "com.amazonaws.cognitoidentityprovider#SoftwareTokenMfaSettingsType": { "type": "structure", "members": { - "PreferredMfa": { + "Enabled": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    Specifies whether software token MFA is the preferred MFA method.

    " + "smithy.api#documentation": "

    Specifies whether software token MFA is enabled. If an MFA type is enabled for a user, the user will be prompted for MFA during\n all sign in attempts, unless device tracking is turned on and the device has been trusted.

    " } }, - "Enabled": { + "PreferredMfa": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    Specifies whether software token MFA is enabled.

    " + "smithy.api#documentation": "

    Specifies whether software token MFA is the preferred MFA method.

    " } } }, "traits": { - "smithy.api#documentation": "

    The type used for enabling software token MFA at the user level.

    " + "smithy.api#documentation": "

    The type used for enabling software token MFA at the user level. If an MFA type is enabled for a user, the user will be prompted for MFA during all sign in attempts, unless device tracking is turned on \n and the device has been trusted. If you would like MFA to be applied selectively based on the assessed risk level of sign in attempts, \n disable MFA for users and turn on Adaptive Authentication for the user pool.

    " } }, "com.amazonaws.cognitoidentityprovider#StartUserImportJob": { @@ -10680,17 +10764,17 @@ "com.amazonaws.cognitoidentityprovider#TagResourceRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", + "ResourceArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The tags to assign to the user pool.

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

    The Amazon Resource Name (ARN) of the user pool to assign the tags to.

    ", "smithy.api#required": {} } }, - "ResourceArn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "Tags": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the user pool to assign the tags to.

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

    The tags to assign to the user pool.

    ", "smithy.api#required": {} } } @@ -10815,24 +10899,6 @@ "smithy.api#documentation": "

    The user pool ID for the user pool.

    " } }, - "CSS": { - "target": "com.amazonaws.cognitoidentityprovider#CSSType", - "traits": { - "smithy.api#documentation": "

    The CSS values in the UI customization.

    " - } - }, - "LastModifiedDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", - "traits": { - "smithy.api#documentation": "

    The last-modified date for the UI customization.

    " - } - }, - "CreationDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", - "traits": { - "smithy.api#documentation": "

    The creation date for the UI customization.

    " - } - }, "ClientId": { "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { @@ -10845,11 +10911,29 @@ "smithy.api#documentation": "

    The logo image for the UI customization.

    " } }, + "CSS": { + "target": "com.amazonaws.cognitoidentityprovider#CSSType", + "traits": { + "smithy.api#documentation": "

    The CSS values in the UI customization.

    " + } + }, "CSSVersion": { "target": "com.amazonaws.cognitoidentityprovider#CSSVersionType", "traits": { "smithy.api#documentation": "

    The CSS version number.

    " } + }, + "LastModifiedDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", + "traits": { + "smithy.api#documentation": "

    The last-modified date for the UI customization.

    " + } + }, + "CreationDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", + "traits": { + "smithy.api#documentation": "

    The creation date for the UI customization.

    " + } } }, "traits": { @@ -10933,17 +11017,17 @@ "com.amazonaws.cognitoidentityprovider#UntagResourceRequest": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsListType", + "ResourceArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The keys of the tags to remove from the user pool.

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

    The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

    ", "smithy.api#required": {} } }, - "ResourceArn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "TagKeys": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsListType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

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

    The keys of the tags to remove from the user pool.

    ", "smithy.api#required": {} } } @@ -10991,6 +11075,20 @@ "com.amazonaws.cognitoidentityprovider#UpdateAuthEventFeedbackRequest": { "type": "structure", "members": { + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "traits": { + "smithy.api#documentation": "

    The user pool ID.

    ", + "smithy.api#required": {} + } + }, + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "traits": { + "smithy.api#documentation": "

    The user pool username.

    ", + "smithy.api#required": {} + } + }, "EventId": { "target": "com.amazonaws.cognitoidentityprovider#EventIdType", "traits": { @@ -11011,20 +11109,6 @@ "smithy.api#documentation": "

    The authentication event feedback value.

    ", "smithy.api#required": {} } - }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", - "traits": { - "smithy.api#documentation": "

    The user pool ID.

    ", - "smithy.api#required": {} - } - }, - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", - "traits": { - "smithy.api#documentation": "

    The user pool username.

    ", - "smithy.api#required": {} - } } } }, @@ -11076,6 +11160,13 @@ "com.amazonaws.cognitoidentityprovider#UpdateDeviceStatusRequest": { "type": "structure", "members": { + "AccessToken": { + "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", + "traits": { + "smithy.api#documentation": "

    The access token.

    ", + "smithy.api#required": {} + } + }, "DeviceKey": { "target": "com.amazonaws.cognitoidentityprovider#DeviceKeyType", "traits": { @@ -11088,13 +11179,6 @@ "traits": { "smithy.api#documentation": "

    The status of whether a device is remembered.

    " } - }, - "AccessToken": { - "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", - "traits": { - "smithy.api#documentation": "

    The access token.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -11140,12 +11224,6 @@ "com.amazonaws.cognitoidentityprovider#UpdateGroupRequest": { "type": "structure", "members": { - "Precedence": { - "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", - "traits": { - "smithy.api#documentation": "

    The new precedence value for the group. For more information about this parameter, see\n CreateGroup.

    " - } - }, "GroupName": { "target": "com.amazonaws.cognitoidentityprovider#GroupNameType", "traits": { @@ -11160,16 +11238,22 @@ "smithy.api#required": {} } }, + "Description": { + "target": "com.amazonaws.cognitoidentityprovider#DescriptionType", + "traits": { + "smithy.api#documentation": "

    A string containing the new description of the group.

    " + } + }, "RoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { "smithy.api#documentation": "

    The new role ARN for the group. This is used for setting the\n cognito:roles and cognito:preferred_role claims in the\n token.

    " } }, - "Description": { - "target": "com.amazonaws.cognitoidentityprovider#DescriptionType", + "Precedence": { + "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", "traits": { - "smithy.api#documentation": "

    A string containing the new description of the group.

    " + "smithy.api#documentation": "

    The new precedence value for the group. For more information about this parameter, see\n CreateGroup.

    " } } } @@ -11220,12 +11304,6 @@ "com.amazonaws.cognitoidentityprovider#UpdateIdentityProviderRequest": { "type": "structure", "members": { - "ProviderDetails": { - "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", - "traits": { - "smithy.api#documentation": "

    The identity provider details to be updated, such as MetadataURL and\n MetadataFile.

    " - } - }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { @@ -11233,12 +11311,6 @@ "smithy.api#required": {} } }, - "AttributeMapping": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeMappingType", - "traits": { - "smithy.api#documentation": "

    The identity provider attribute mapping to be changed.

    " - } - }, "ProviderName": { "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", "traits": { @@ -11246,6 +11318,18 @@ "smithy.api#required": {} } }, + "ProviderDetails": { + "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", + "traits": { + "smithy.api#documentation": "

    The identity provider details to be updated, such as MetadataURL and\n MetadataFile.

    " + } + }, + "AttributeMapping": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeMappingType", + "traits": { + "smithy.api#documentation": "

    The identity provider attribute mapping to be changed.

    " + } + }, "IdpIdentifiers": { "target": "com.amazonaws.cognitoidentityprovider#IdpIdentifiersListType", "traits": { @@ -11298,10 +11382,11 @@ "com.amazonaws.cognitoidentityprovider#UpdateResourceServerRequest": { "type": "structure", "members": { - "Scopes": { - "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The scope values to be set for the resource server.

    " + "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", + "smithy.api#required": {} } }, "Identifier": { @@ -11311,19 +11396,18 @@ "smithy.api#required": {} } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", - "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool.

    ", - "smithy.api#required": {} - } - }, "Name": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerNameType", "traits": { "smithy.api#documentation": "

    The name of the resource server.

    ", "smithy.api#required": {} } + }, + "Scopes": { + "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", + "traits": { + "smithy.api#documentation": "

    The scope values to be set for the resource server.

    " + } } } }, @@ -11412,6 +11496,13 @@ "com.amazonaws.cognitoidentityprovider#UpdateUserAttributesRequest": { "type": "structure", "members": { + "UserAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", + "traits": { + "smithy.api#documentation": "

    An array of name-value pairs representing user attributes.

    \n

    For custom attributes, you must prepend the custom: prefix to the\n attribute name.

    ", + "smithy.api#required": {} + } + }, "AccessToken": { "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", "traits": { @@ -11424,13 +11515,6 @@ "traits": { "smithy.api#documentation": "

    A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

    \n

    You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request.\n In your function code in AWS Lambda, you can process the clientMetadata\n value to enhance your workflow for your specific needs.

    \n

    For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

    \n \n

    Take the following limitations into consideration when you use the ClientMetadata\n parameter:

    \n
      \n
    • \n

      Amazon Cognito does not store the ClientMetadata value. This data is\n available only to AWS Lambda triggers that are assigned to a user pool to\n support custom workflows. If your user pool configuration does not include\n triggers, the ClientMetadata parameter serves no purpose.

      \n
    • \n
    • \n

      Amazon Cognito does not validate the ClientMetadata value.

      \n
    • \n
    • \n

      Amazon Cognito does not encrypt the the ClientMetadata value, so don't use\n it to provide sensitive information.

      \n
    • \n
    \n
    " } - }, - "UserAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", - "traits": { - "smithy.api#documentation": "

    An array of name-value pairs representing user attributes.

    \n

    For custom attributes, you must prepend the custom: prefix to the\n attribute name.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -11539,47 +11623,48 @@ "com.amazonaws.cognitoidentityprovider#UpdateUserPoolClientRequest": { "type": "structure", "members": { - "IdTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The time limit, after which the ID token is no longer valid and cannot be used.

    " + "smithy.api#documentation": "

    The user pool ID for the user pool where you want to update the user pool\n client.

    ", + "smithy.api#required": {} } }, - "CallbackURLs": { - "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    A list of allowed redirect (callback) URLs for the identity providers.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " + "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", + "smithy.api#required": {} } }, - "LogoutURLs": { - "target": "com.amazonaws.cognitoidentityprovider#LogoutURLsListType", + "ClientName": { + "target": "com.amazonaws.cognitoidentityprovider#ClientNameType", "traits": { - "smithy.api#documentation": "

    A list of allowed logout URLs for the identity providers.

    " + "smithy.api#documentation": "

    The client name from the update user pool client request.

    " } }, - "AllowedOAuthFlowsUserPoolClient": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "RefreshTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", "traits": { - "smithy.api#documentation": "

    Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

    " + "smithy.api#documentation": "

    The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "AccessTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool where you want to update the user pool\n client.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The time limit, after which the access token is no longer valid and cannot be used.

    " } }, - "TokenValidityUnits": { - "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", + "IdTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", "traits": { - "smithy.api#documentation": "

    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

    " + "smithy.api#documentation": "

    The time limit, after which the ID token is no longer valid and cannot be used.

    " } }, - "SupportedIdentityProviders": { - "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", + "TokenValidityUnits": { + "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", "traits": { - "smithy.api#documentation": "

    A list of provider names for the identity providers that are supported on this\n client.

    " + "smithy.api#documentation": "

    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

    " } }, "ReadAttributes": { @@ -11588,53 +11673,40 @@ "smithy.api#documentation": "

    The read-only attributes of the user pool.

    " } }, - "AccessTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", - "traits": { - "smithy.api#documentation": "

    The time limit, after which the access token is no longer valid and cannot be used.

    " - } - }, - "ExplicitAuthFlows": { - "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", - "traits": { - "smithy.api#documentation": "

    The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password\n authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces\n the ADMIN_NO_SRP_AUTH setting. With this authentication flow,\n Cognito receives the password in the request instead of using the SRP (Secure\n Remote Password protocol) protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_CUSTOM_AUTH: Enable Lambda trigger based\n authentication.

      \n
    • \n
    • \n

      \n ALLOW_USER_PASSWORD_AUTH: Enable user password-based\n authentication. In this flow, Cognito receives the password in the request\n instead of using the SRP protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

      \n
    • \n
    • \n

      \n ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh\n tokens.

      \n
    • \n
    " - } - }, "WriteAttributes": { "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", "traits": { "smithy.api#documentation": "

    The writeable attributes of the user pool.

    " } }, - "DefaultRedirectURI": { - "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", + "ExplicitAuthFlows": { + "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", "traits": { - "smithy.api#documentation": "

    The default redirect URI. Must be in the CallbackURLs list.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " + "smithy.api#documentation": "

    The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password\n authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces\n the ADMIN_NO_SRP_AUTH setting. With this authentication flow,\n Cognito receives the password in the request instead of using the SRP (Secure\n Remote Password protocol) protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_CUSTOM_AUTH: Enable Lambda trigger based\n authentication.

      \n
    • \n
    • \n

      \n ALLOW_USER_PASSWORD_AUTH: Enable user password-based\n authentication. In this flow, Cognito receives the password in the request\n instead of using the SRP protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

      \n
    • \n
    • \n

      \n ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh\n tokens.

      \n
    • \n
    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "SupportedIdentityProviders": { + "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", "traits": { - "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A list of provider names for the identity providers that are supported on this\n client.

    " } }, - "AllowedOAuthScopes": { - "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", + "CallbackURLs": { + "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", "traits": { - "smithy.api#documentation": "

    The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

    " + "smithy.api#documentation": "

    A list of allowed redirect (callback) URLs for the identity providers.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " } }, - "ClientName": { - "target": "com.amazonaws.cognitoidentityprovider#ClientNameType", + "LogoutURLs": { + "target": "com.amazonaws.cognitoidentityprovider#LogoutURLsListType", "traits": { - "smithy.api#documentation": "

    The client name from the update user pool client request.

    " + "smithy.api#documentation": "

    A list of allowed logout URLs for the identity providers.

    " } }, - "PreventUserExistenceErrors": { - "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", + "DefaultRedirectURI": { + "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

    Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ENABLED - This prevents user existence-related errors.

      \n
    • \n
    • \n

      \n LEGACY - This represents the old behavior of Cognito where user\n existence related errors are not prevented.

      \n
    • \n
    \n \n \n \n

    After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

    \n
    " + "smithy.api#documentation": "

    The default redirect URI. Must be in the CallbackURLs list.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " } }, "AllowedOAuthFlows": { @@ -11643,10 +11715,16 @@ "smithy.api#documentation": "

    The allowed OAuth flows.

    \n

    Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

    \n

    Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

    \n

    Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

    " } }, - "RefreshTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", + "AllowedOAuthScopes": { + "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", "traits": { - "smithy.api#documentation": "

    The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

    " + "smithy.api#documentation": "

    The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

    " + } + }, + "AllowedOAuthFlowsUserPoolClient": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "traits": { + "smithy.api#documentation": "

    Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

    " } }, "AnalyticsConfiguration": { @@ -11654,6 +11732,12 @@ "traits": { "smithy.api#documentation": "

    The Amazon Pinpoint analytics configuration for collecting metrics for this user\n pool.

    \n \n

    In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1.\n In regions where Pinpoint is available, Cognito User Pools will \n support sending events to Amazon Pinpoint projects within that same region.\n

    \n
    " } + }, + "PreventUserExistenceErrors": { + "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", + "traits": { + "smithy.api#documentation": "

    Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ENABLED - This prevents user existence-related errors.

      \n
    • \n
    • \n

      \n LEGACY - This represents the old behavior of Cognito where user\n existence related errors are not prevented.

      \n
    • \n
    \n \n \n \n

    After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

    \n
    " + } } }, "traits": { @@ -11706,13 +11790,6 @@ "com.amazonaws.cognitoidentityprovider#UpdateUserPoolDomainRequest": { "type": "structure", "members": { - "CustomDomainConfig": { - "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", - "traits": { - "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in pages for\n your application. Use this object to specify an SSL certificate that is managed by\n ACM.

    ", - "smithy.api#required": {} - } - }, "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { @@ -11726,6 +11803,13 @@ "smithy.api#documentation": "

    The ID of the user pool that is associated with the custom domain that you are\n updating the certificate for.

    ", "smithy.api#required": {} } + }, + "CustomDomainConfig": { + "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", + "traits": { + "smithy.api#documentation": "

    The configuration for a custom domain that hosts the sign-up and sign-in pages for\n your application. Use this object to specify an SSL certificate that is managed by\n ACM.

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -11749,58 +11833,53 @@ "com.amazonaws.cognitoidentityprovider#UpdateUserPoolRequest": { "type": "structure", "members": { - "EmailVerificationSubject": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The subject of the email verification message.

    " + "smithy.api#documentation": "

    The user pool ID for the user pool you want to update.

    ", + "smithy.api#required": {} } }, - "SmsConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#SmsConfigurationType", + "Policies": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", "traits": { - "smithy.api#documentation": "

    SMS configuration.

    " + "smithy.api#documentation": "

    A container with the policies you wish to update in a user pool.

    " } }, - "VerificationMessageTemplate": { - "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", + "LambdaConfig": { + "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", "traits": { - "smithy.api#documentation": "

    The template for verification messages.

    " + "smithy.api#documentation": "

    The AWS Lambda configuration information from the request to update the user\n pool.

    " } }, - "UserPoolAddOns": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", + "AutoVerifiedAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", "traits": { - "smithy.api#documentation": "

    Used to enable advanced security risk detection. Set the key\n AdvancedSecurityMode to the value \"AUDIT\".

    " + "smithy.api#documentation": "

    The attributes that are automatically verified when the Amazon Cognito service makes a\n request to update user pools.

    " } }, - "EmailConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#EmailConfigurationType", + "SmsVerificationMessage": { + "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", "traits": { - "smithy.api#documentation": "

    Email configuration.

    " + "smithy.api#documentation": "

    A container with information about the SMS verification message.

    " } }, - "AdminCreateUserConfig": { - "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType", + "EmailVerificationMessage": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

    The configuration for AdminCreateUser requests.

    " + "smithy.api#documentation": "

    The contents of the email verification message.

    " } }, - "AccountRecoverySetting": { - "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", - "traits": { - "smithy.api#documentation": "

    Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

    " - } - }, - "Policies": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", + "EmailVerificationSubject": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", "traits": { - "smithy.api#documentation": "

    A container with the policies you wish to update in a user pool.

    " + "smithy.api#documentation": "

    The subject of the email verification message.

    " } }, - "UserPoolTags": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", + "VerificationMessageTemplate": { + "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", "traits": { - "smithy.api#documentation": "

    The tag keys and values to assign to the user pool. A tag is a label that you can use\n to categorize and manage user pools in different ways, such as by purpose, owner,\n environment, or other criteria.

    " + "smithy.api#documentation": "

    The template for verification messages.

    " } }, "SmsAuthenticationMessage": { @@ -11809,47 +11888,52 @@ "smithy.api#documentation": "

    The contents of the SMS authentication message.

    " } }, - "AutoVerifiedAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", + "MfaConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

    The attributes that are automatically verified when the Amazon Cognito service makes a\n request to update user pools.

    " + "smithy.api#documentation": "

    Can be one of the following values:

    \n
      \n
    • \n

      \n OFF - MFA tokens are not required and cannot be specified during\n user registration.

      \n
    • \n
    • \n

      \n ON - MFA tokens are required for all user registrations. You can\n only specify required when you are initially creating a user pool.

      \n
    • \n
    • \n

      \n OPTIONAL - Users have the option when registering to create an MFA\n token.

      \n
    • \n
    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "DeviceConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#DeviceConfigurationType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool you want to update.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Device configuration.

    " } }, - "SmsVerificationMessage": { - "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", + "EmailConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#EmailConfigurationType", "traits": { - "smithy.api#documentation": "

    A container with information about the SMS verification message.

    " + "smithy.api#documentation": "

    Email configuration.

    " } }, - "DeviceConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#DeviceConfigurationType", + "SmsConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#SmsConfigurationType", "traits": { - "smithy.api#documentation": "

    Device configuration.

    " + "smithy.api#documentation": "

    SMS configuration.

    " } }, - "EmailVerificationMessage": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", + "UserPoolTags": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", "traits": { - "smithy.api#documentation": "

    The contents of the email verification message.

    " + "smithy.api#documentation": "

    The tag keys and values to assign to the user pool. A tag is a label that you can use\n to categorize and manage user pools in different ways, such as by purpose, owner,\n environment, or other criteria.

    " } }, - "MfaConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", + "AdminCreateUserConfig": { + "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType", "traits": { - "smithy.api#documentation": "

    Can be one of the following values:

    \n
      \n
    • \n

      \n OFF - MFA tokens are not required and cannot be specified during\n user registration.

      \n
    • \n
    • \n

      \n ON - MFA tokens are required for all user registrations. You can\n only specify required when you are initially creating a user pool.

      \n
    • \n
    • \n

      \n OPTIONAL - Users have the option when registering to create an MFA\n token.

      \n
    • \n
    " + "smithy.api#documentation": "

    The configuration for AdminCreateUser requests.

    " } }, - "LambdaConfig": { - "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", + "UserPoolAddOns": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", "traits": { - "smithy.api#documentation": "

    The AWS Lambda configuration information from the request to update the user\n pool.

    " + "smithy.api#documentation": "

    Used to enable advanced security risk detection. Set the key\n AdvancedSecurityMode to the value \"AUDIT\".

    " + } + }, + "AccountRecoverySetting": { + "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", + "traits": { + "smithy.api#documentation": "

    Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

    " } } }, @@ -11965,10 +12049,10 @@ "com.amazonaws.cognitoidentityprovider#UserImportJobType": { "type": "structure", "members": { - "StartDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "JobName": { + "target": "com.amazonaws.cognitoidentityprovider#UserImportJobNameType", "traits": { - "smithy.api#documentation": "

    The date when the user import job was started.

    " + "smithy.api#documentation": "

    The job name for the user import job.

    " } }, "JobId": { @@ -11977,10 +12061,16 @@ "smithy.api#documentation": "

    The job ID for the user import job.

    " } }, - "FailedUsers": { - "target": "com.amazonaws.cognitoidentityprovider#LongType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The number of users that could not be imported.

    " + "smithy.api#documentation": "

    The user pool ID for the user pool that the users are being imported into.

    " + } + }, + "PreSignedUrl": { + "target": "com.amazonaws.cognitoidentityprovider#PreSignedUrlType", + "traits": { + "smithy.api#documentation": "

    The pre-signed URL to be used to upload the .csv file.

    " } }, "CreationDate": { @@ -11989,28 +12079,28 @@ "smithy.api#documentation": "

    The date the user import job was created.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "StartDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool that the users are being imported into.

    " + "smithy.api#documentation": "

    The date when the user import job was started.

    " } }, - "SkippedUsers": { - "target": "com.amazonaws.cognitoidentityprovider#LongType", + "CompletionDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The number of users that were skipped.

    " + "smithy.api#documentation": "

    The date when the user import job was completed.

    " } }, - "CloudWatchLogsRoleArn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "Status": { + "target": "com.amazonaws.cognitoidentityprovider#UserImportJobStatusType", "traits": { - "smithy.api#documentation": "

    The role ARN for the Amazon CloudWatch Logging role for the user import job. For more\n information, see \"Creating the CloudWatch Logs IAM Role\" in the Amazon Cognito Developer\n Guide.

    " + "smithy.api#documentation": "

    The status of the user import job. One of the following:

    \n
      \n
    • \n

      \n Created - The job was created but not started.

      \n
    • \n
    • \n

      \n Pending - A transition state. You have started the job, but it\n has not begun importing users yet.

      \n
    • \n
    • \n

      \n InProgress - The job has started, and users are being\n imported.

      \n
    • \n
    • \n

      \n Stopping - You have stopped the job, but the job has not stopped\n importing users yet.

      \n
    • \n
    • \n

      \n Stopped - You have stopped the job, and the job has stopped\n importing users.

      \n
    • \n
    • \n

      \n Succeeded - The job has completed successfully.

      \n
    • \n
    • \n

      \n Failed - The job has stopped due to an error.

      \n
    • \n
    • \n

      \n Expired - You created a job, but did not start the job within\n 24-48 hours. All data associated with the job was deleted, and the job cannot be\n started.

      \n
    • \n
    " } }, - "PreSignedUrl": { - "target": "com.amazonaws.cognitoidentityprovider#PreSignedUrlType", + "CloudWatchLogsRoleArn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    The pre-signed URL to be used to upload the .csv file.

    " + "smithy.api#documentation": "

    The role ARN for the Amazon CloudWatch Logging role for the user import job. For more\n information, see \"Creating the CloudWatch Logs IAM Role\" in the Amazon Cognito Developer\n Guide.

    " } }, "ImportedUsers": { @@ -12019,28 +12109,22 @@ "smithy.api#documentation": "

    The number of users that were successfully imported.

    " } }, - "CompletionMessage": { - "target": "com.amazonaws.cognitoidentityprovider#CompletionMessageType", - "traits": { - "smithy.api#documentation": "

    The message returned when the user import job is completed.

    " - } - }, - "CompletionDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "SkippedUsers": { + "target": "com.amazonaws.cognitoidentityprovider#LongType", "traits": { - "smithy.api#documentation": "

    The date when the user import job was completed.

    " + "smithy.api#documentation": "

    The number of users that were skipped.

    " } }, - "JobName": { - "target": "com.amazonaws.cognitoidentityprovider#UserImportJobNameType", + "FailedUsers": { + "target": "com.amazonaws.cognitoidentityprovider#LongType", "traits": { - "smithy.api#documentation": "

    The job name for the user import job.

    " + "smithy.api#documentation": "

    The number of users that could not be imported.

    " } }, - "Status": { - "target": "com.amazonaws.cognitoidentityprovider#UserImportJobStatusType", + "CompletionMessage": { + "target": "com.amazonaws.cognitoidentityprovider#CompletionMessageType", "traits": { - "smithy.api#documentation": "

    The status of the user import job. One of the following:

    \n
      \n
    • \n

      \n Created - The job was created but not started.

      \n
    • \n
    • \n

      \n Pending - A transition state. You have started the job, but it\n has not begun importing users yet.

      \n
    • \n
    • \n

      \n InProgress - The job has started, and users are being\n imported.

      \n
    • \n
    • \n

      \n Stopping - You have stopped the job, but the job has not stopped\n importing users yet.

      \n
    • \n
    • \n

      \n Stopped - You have stopped the job, and the job has stopped\n importing users.

      \n
    • \n
    • \n

      \n Succeeded - The job has completed successfully.

      \n
    • \n
    • \n

      \n Failed - The job has stopped due to an error.

      \n
    • \n
    • \n

      \n Expired - You created a job, but did not start the job within\n 24-48 hours. All data associated with the job was deleted, and the job cannot be\n started.

      \n
    • \n
    " + "smithy.api#documentation": "

    The message returned when the user import job is completed.

    " } } }, @@ -12177,28 +12261,28 @@ "com.amazonaws.cognitoidentityprovider#UserPoolClientType": { "type": "structure", "members": { - "RefreshTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", + "UserPoolId": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

    " + "smithy.api#documentation": "

    The user pool ID for the user pool client.

    " } }, - "AllowedOAuthScopes": { - "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", + "ClientName": { + "target": "com.amazonaws.cognitoidentityprovider#ClientNameType", "traits": { - "smithy.api#documentation": "

    The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

    " + "smithy.api#documentation": "

    The client name from the user pool request of the client type.

    " } }, - "CreationDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "ClientId": { + "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

    The date the user pool client was created.

    " + "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    " } }, - "AnalyticsConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", + "ClientSecret": { + "target": "com.amazonaws.cognitoidentityprovider#ClientSecretType", "traits": { - "smithy.api#documentation": "

    The Amazon Pinpoint analytics configuration for the user pool client.

    \n \n

    Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

    \n
    " + "smithy.api#documentation": "

    The client secret from the user pool request of the client type.

    " } }, "LastModifiedDate": { @@ -12207,107 +12291,107 @@ "smithy.api#documentation": "

    The date the user pool client was last modified.

    " } }, - "AllowedOAuthFlowsUserPoolClient": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "CreationDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

    Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

    " + "smithy.api#documentation": "

    The date the user pool client was created.

    " } }, - "ReadAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", + "RefreshTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", "traits": { - "smithy.api#documentation": "

    The Read-only attributes.

    " + "smithy.api#documentation": "

    The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

    " } }, - "DefaultRedirectURI": { - "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", + "AccessTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", "traits": { - "smithy.api#documentation": "

    The default redirect URI. Must be in the CallbackURLs list.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " + "smithy.api#documentation": "

    The time limit, specified by tokenValidityUnits, defaulting to hours, after which the access token is no longer valid and cannot be used.

    " } }, - "SupportedIdentityProviders": { - "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", + "IdTokenValidity": { + "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", "traits": { - "smithy.api#documentation": "

    A list of provider names for the identity providers that are supported on this\n client.

    " + "smithy.api#documentation": "

    The time limit, specified by tokenValidityUnits, defaulting to hours, after which the refresh token is no longer valid and cannot be used.

    " } }, - "UserPoolId": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "TokenValidityUnits": { + "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", "traits": { - "smithy.api#documentation": "

    The user pool ID for the user pool client.

    " + "smithy.api#documentation": "

    The time units used to specify the token validity times of their respective token.

    " } }, - "CallbackURLs": { - "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", + "ReadAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", "traits": { - "smithy.api#documentation": "

    A list of allowed redirect (callback) URLs for the identity providers.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " + "smithy.api#documentation": "

    The Read-only attributes.

    " } }, - "TokenValidityUnits": { - "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", + "WriteAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", "traits": { - "smithy.api#documentation": "

    The time units used to specify the token validity times of their respective token.

    " + "smithy.api#documentation": "

    The writeable attributes.

    " } }, - "PreventUserExistenceErrors": { - "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", + "ExplicitAuthFlows": { + "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", "traits": { - "smithy.api#documentation": "

    Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ENABLED - This prevents user existence-related errors.

      \n
    • \n
    • \n

      \n LEGACY - This represents the old behavior of Cognito where user\n existence related errors are not prevented.

      \n
    • \n
    \n \n \n \n

    After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

    \n
    " + "smithy.api#documentation": "

    The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password\n authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces\n the ADMIN_NO_SRP_AUTH setting. With this authentication flow,\n Cognito receives the password in the request instead of using the SRP (Secure\n Remote Password protocol) protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_CUSTOM_AUTH: Enable Lambda trigger based\n authentication.

      \n
    • \n
    • \n

      \n ALLOW_USER_PASSWORD_AUTH: Enable user password-based\n authentication. In this flow, Cognito receives the password in the request\n instead of using the SRP protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

      \n
    • \n
    • \n

      \n ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh\n tokens.

      \n
    • \n
    " } }, - "AllowedOAuthFlows": { - "target": "com.amazonaws.cognitoidentityprovider#OAuthFlowsType", + "SupportedIdentityProviders": { + "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", "traits": { - "smithy.api#documentation": "

    The allowed OAuth flows.

    \n

    Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

    \n

    Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

    \n

    Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

    " + "smithy.api#documentation": "

    A list of provider names for the identity providers that are supported on this\n client.

    " } }, - "ClientName": { - "target": "com.amazonaws.cognitoidentityprovider#ClientNameType", + "CallbackURLs": { + "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", "traits": { - "smithy.api#documentation": "

    The client name from the user pool request of the client type.

    " + "smithy.api#documentation": "

    A list of allowed redirect (callback) URLs for the identity providers.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " } }, - "WriteAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", + "LogoutURLs": { + "target": "com.amazonaws.cognitoidentityprovider#LogoutURLsListType", "traits": { - "smithy.api#documentation": "

    The writeable attributes.

    " + "smithy.api#documentation": "

    A list of allowed logout URLs for the identity providers.

    " } }, - "ClientSecret": { - "target": "com.amazonaws.cognitoidentityprovider#ClientSecretType", + "DefaultRedirectURI": { + "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

    The client secret from the user pool request of the client type.

    " + "smithy.api#documentation": "

    The default redirect URI. Must be in the CallbackURLs list.

    \n

    A redirect URI must:

    \n
      \n
    • \n

      Be an absolute URI.

      \n
    • \n
    • \n

      Be registered with the authorization server.

      \n
    • \n
    • \n

      Not include a fragment component.

      \n
    • \n
    \n

    See OAuth 2.0 -\n Redirection Endpoint.

    \n

    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

    \n

    App callback URLs such as myapp://example are also supported.

    " } }, - "ExplicitAuthFlows": { - "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", + "AllowedOAuthFlows": { + "target": "com.amazonaws.cognitoidentityprovider#OAuthFlowsType", "traits": { - "smithy.api#documentation": "

    The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password\n authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces\n the ADMIN_NO_SRP_AUTH setting. With this authentication flow,\n Cognito receives the password in the request instead of using the SRP (Secure\n Remote Password protocol) protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_CUSTOM_AUTH: Enable Lambda trigger based\n authentication.

      \n
    • \n
    • \n

      \n ALLOW_USER_PASSWORD_AUTH: Enable user password-based\n authentication. In this flow, Cognito receives the password in the request\n instead of using the SRP protocol to verify passwords.

      \n
    • \n
    • \n

      \n ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

      \n
    • \n
    • \n

      \n ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh\n tokens.

      \n
    • \n
    " + "smithy.api#documentation": "

    The allowed OAuth flows.

    \n

    Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

    \n

    Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

    \n

    Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

    " } }, - "LogoutURLs": { - "target": "com.amazonaws.cognitoidentityprovider#LogoutURLsListType", + "AllowedOAuthScopes": { + "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", "traits": { - "smithy.api#documentation": "

    A list of allowed logout URLs for the identity providers.

    " + "smithy.api#documentation": "

    The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

    " } }, - "ClientId": { - "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", + "AllowedOAuthFlowsUserPoolClient": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

    The ID of the client associated with the user pool.

    " + "smithy.api#box": {}, + "smithy.api#documentation": "

    Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

    " } }, - "AccessTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", + "AnalyticsConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", "traits": { - "smithy.api#documentation": "

    The time limit, specified by tokenValidityUnits, defaulting to hours, after which the access token is no longer valid and cannot be used.

    " + "smithy.api#documentation": "

    The Amazon Pinpoint analytics configuration for the user pool client.

    \n \n

    Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

    \n
    " } }, - "IdTokenValidity": { - "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", + "PreventUserExistenceErrors": { + "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", "traits": { - "smithy.api#documentation": "

    The time limit, specified by tokenValidityUnits, defaulting to hours, after which the refresh token is no longer valid and cannot be used.

    " + "smithy.api#documentation": "

    Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n ENABLED - This prevents user existence-related errors.

      \n
    • \n
    • \n

      \n LEGACY - This represents the old behavior of Cognito where user\n existence related errors are not prevented.

      \n
    • \n
    \n \n \n \n

    After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

    \n
    " } } }, @@ -12318,40 +12402,40 @@ "com.amazonaws.cognitoidentityprovider#UserPoolDescriptionType": { "type": "structure", "members": { - "LastModifiedDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "Id": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    The date the user pool description was last modified.

    " + "smithy.api#documentation": "

    The ID in a user pool description.

    " } }, - "CreationDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", + "Name": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolNameType", "traits": { - "smithy.api#documentation": "

    The date the user pool description was created.

    " + "smithy.api#documentation": "

    The name in a user pool description.

    " } }, - "Status": { - "target": "com.amazonaws.cognitoidentityprovider#StatusType", + "LambdaConfig": { + "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", "traits": { - "smithy.api#documentation": "

    The user pool status in a user pool description.

    " + "smithy.api#documentation": "

    The AWS Lambda configuration information in a user pool description.

    " } }, - "LambdaConfig": { - "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", + "Status": { + "target": "com.amazonaws.cognitoidentityprovider#StatusType", "traits": { - "smithy.api#documentation": "

    The AWS Lambda configuration information in a user pool description.

    " + "smithy.api#documentation": "

    The user pool status in a user pool description.

    " } }, - "Id": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "LastModifiedDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The ID in a user pool description.

    " + "smithy.api#documentation": "

    The date the user pool description was last modified.

    " } }, - "Name": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolNameType", + "CreationDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The name in a user pool description.

    " + "smithy.api#documentation": "

    The date the user pool description was created.

    " } } }, @@ -12449,28 +12533,28 @@ "com.amazonaws.cognitoidentityprovider#UserPoolType": { "type": "structure", "members": { - "CustomDomain": { - "target": "com.amazonaws.cognitoidentityprovider#DomainType", + "Id": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

    A custom domain name that you provide to Amazon Cognito. This parameter applies only\n if you use a custom domain to host the sign-up and sign-in pages for your application.\n For example: auth.example.com.

    \n

    For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

    " + "smithy.api#documentation": "

    The ID of the user pool.

    " } }, - "EmailVerificationMessage": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", + "Name": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolNameType", "traits": { - "smithy.api#documentation": "

    The contents of the email verification message.

    " + "smithy.api#documentation": "

    The name of the user pool.

    " } }, - "SmsConfigurationFailure": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", + "Policies": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", "traits": { - "smithy.api#documentation": "

    The reason why the SMS configuration cannot send the messages to your users.

    " + "smithy.api#documentation": "

    The policies associated with the user pool.

    " } }, - "UserPoolAddOns": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", + "LambdaConfig": { + "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", "traits": { - "smithy.api#documentation": "

    The user pool add-ons.

    " + "smithy.api#documentation": "

    The AWS Lambda triggers associated with the user pool.

    " } }, "Status": { @@ -12479,24 +12563,6 @@ "smithy.api#documentation": "

    The status of a user pool.

    " } }, - "SmsAuthenticationMessage": { - "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", - "traits": { - "smithy.api#documentation": "

    The contents of the SMS authentication message.

    " - } - }, - "EmailConfigurationFailure": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", - "traits": { - "smithy.api#documentation": "

    The reason why the email configuration cannot send the messages to your users.

    " - } - }, - "AccountRecoverySetting": { - "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", - "traits": { - "smithy.api#documentation": "

    Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

    " - } - }, "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { @@ -12509,16 +12575,28 @@ "smithy.api#documentation": "

    The date the user pool was created.

    " } }, - "UsernameConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameConfigurationType", + "SchemaAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#SchemaAttributesListType", "traits": { - "smithy.api#documentation": "

    You can choose to enable case sensitivity on the username input for the selected\n sign-in option. For example, when this is set to False, users will be able\n to sign in using either \"username\" or \"Username\". This configuration is immutable once\n it has been set. For more information, see UsernameConfigurationType.

    " + "smithy.api#documentation": "

    A container with the schema attributes of a user pool.

    " } }, - "Name": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolNameType", + "AutoVerifiedAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", "traits": { - "smithy.api#documentation": "

    The name of the user pool.

    " + "smithy.api#documentation": "

    Specifies the attributes that are auto-verified in a user pool.

    " + } + }, + "AliasAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#AliasAttributesListType", + "traits": { + "smithy.api#documentation": "

    Specifies the attributes that are aliased in a user pool.

    " + } + }, + "UsernameAttributes": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameAttributesListType", + "traits": { + "smithy.api#documentation": "

    Specifies whether email addresses or phone numbers can be specified as usernames when\n a user signs up.

    " } }, "SmsVerificationMessage": { @@ -12527,10 +12605,10 @@ "smithy.api#documentation": "

    The contents of the SMS verification message.

    " } }, - "Domain": { - "target": "com.amazonaws.cognitoidentityprovider#DomainType", + "EmailVerificationMessage": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

    Holds the domain prefix if the user pool has a domain associated with it.

    " + "smithy.api#documentation": "

    The contents of the email verification message.

    " } }, "EmailVerificationSubject": { @@ -12539,22 +12617,22 @@ "smithy.api#documentation": "

    The subject of the email verification message.

    " } }, - "EmailConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#EmailConfigurationType", + "VerificationMessageTemplate": { + "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", "traits": { - "smithy.api#documentation": "

    The email configuration.

    " + "smithy.api#documentation": "

    The template for verification messages.

    " } }, - "EstimatedNumberOfUsers": { - "target": "com.amazonaws.cognitoidentityprovider#IntegerType", + "SmsAuthenticationMessage": { + "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", "traits": { - "smithy.api#documentation": "

    A number estimating the size of the user pool.

    " + "smithy.api#documentation": "

    The contents of the SMS authentication message.

    " } }, - "AdminCreateUserConfig": { - "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType", + "MfaConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

    The configuration for AdminCreateUser requests.

    " + "smithy.api#documentation": "

    Can be one of the following values:

    \n
      \n
    • \n

      \n OFF - MFA tokens are not required and cannot be specified during\n user registration.

      \n
    • \n
    • \n

      \n ON - MFA tokens are required for all user registrations. You can\n only specify required when you are initially creating a user pool.

      \n
    • \n
    • \n

      \n OPTIONAL - Users have the option when registering to create an MFA\n token.

      \n
    • \n
    " } }, "DeviceConfiguration": { @@ -12563,10 +12641,16 @@ "smithy.api#documentation": "

    The device configuration.

    " } }, - "UserPoolTags": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", + "EstimatedNumberOfUsers": { + "target": "com.amazonaws.cognitoidentityprovider#IntegerType", "traits": { - "smithy.api#documentation": "

    The tags that are assigned to the user pool. A tag is a label that you can apply to\n user pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

    " + "smithy.api#documentation": "

    A number estimating the size of the user pool.

    " + } + }, + "EmailConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#EmailConfigurationType", + "traits": { + "smithy.api#documentation": "

    The email configuration.

    " } }, "SmsConfiguration": { @@ -12575,64 +12659,64 @@ "smithy.api#documentation": "

    The SMS configuration.

    " } }, - "Policies": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", + "UserPoolTags": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", "traits": { - "smithy.api#documentation": "

    The policies associated with the user pool.

    " + "smithy.api#documentation": "

    The tags that are assigned to the user pool. A tag is a label that you can apply to\n user pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

    " } }, - "Id": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", + "SmsConfigurationFailure": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    The ID of the user pool.

    " + "smithy.api#documentation": "

    The reason why the SMS configuration cannot send the messages to your users.

    " } }, - "AutoVerifiedAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", + "EmailConfigurationFailure": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

    Specifies the attributes that are auto-verified in a user pool.

    " + "smithy.api#documentation": "

    The reason why the email configuration cannot send the messages to your users.

    " } }, - "Arn": { - "target": "com.amazonaws.cognitoidentityprovider#ArnType", + "Domain": { + "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the user pool.

    " + "smithy.api#documentation": "

    Holds the domain prefix if the user pool has a domain associated with it.

    " } }, - "UsernameAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameAttributesListType", + "CustomDomain": { + "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

    Specifies whether email addresses or phone numbers can be specified as usernames when\n a user signs up.

    " + "smithy.api#documentation": "

    A custom domain name that you provide to Amazon Cognito. This parameter applies only\n if you use a custom domain to host the sign-up and sign-in pages for your application.\n For example: auth.example.com.

    \n

    For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

    " } }, - "VerificationMessageTemplate": { - "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", + "AdminCreateUserConfig": { + "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType", "traits": { - "smithy.api#documentation": "

    The template for verification messages.

    " + "smithy.api#documentation": "

    The configuration for AdminCreateUser requests.

    " } }, - "LambdaConfig": { - "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", + "UserPoolAddOns": { + "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", "traits": { - "smithy.api#documentation": "

    The AWS Lambda triggers associated with the user pool.

    " + "smithy.api#documentation": "

    The user pool add-ons.

    " } }, - "AliasAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#AliasAttributesListType", + "UsernameConfiguration": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameConfigurationType", "traits": { - "smithy.api#documentation": "

    Specifies the attributes that are aliased in a user pool.

    " + "smithy.api#documentation": "

    You can choose to enable case sensitivity on the username input for the selected\n sign-in option. For example, when this is set to False, users will be able\n to sign in using either \"username\" or \"Username\". This configuration is immutable once\n it has been set. For more information, see UsernameConfigurationType.

    " } }, - "MfaConfiguration": { - "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", + "Arn": { + "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

    Can be one of the following values:

    \n
      \n
    • \n

      \n OFF - MFA tokens are not required and cannot be specified during\n user registration.

      \n
    • \n
    • \n

      \n ON - MFA tokens are required for all user registrations. You can\n only specify required when you are initially creating a user pool.

      \n
    • \n
    • \n

      \n OPTIONAL - Users have the option when registering to create an MFA\n token.

      \n
    • \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the user pool.

    " } }, - "SchemaAttributes": { - "target": "com.amazonaws.cognitoidentityprovider#SchemaAttributesListType", + "AccountRecoverySetting": { + "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", "traits": { - "smithy.api#documentation": "

    A container with the schema attributes of a user pool.

    " + "smithy.api#documentation": "

    Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

    " } } }, @@ -12678,10 +12762,10 @@ "com.amazonaws.cognitoidentityprovider#UserType": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "Username": { + "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

    Specifies whether the user is enabled.

    " + "smithy.api#documentation": "

    The user name of the user you wish to describe.

    " } }, "Attributes": { @@ -12696,10 +12780,16 @@ "smithy.api#documentation": "

    The creation date of the user.

    " } }, - "Username": { - "target": "com.amazonaws.cognitoidentityprovider#UsernameType", + "UserLastModifiedDate": { + "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

    The user name of the user you wish to describe.

    " + "smithy.api#documentation": "

    The last modified date of the user.

    " + } + }, + "Enabled": { + "target": "com.amazonaws.cognitoidentityprovider#BooleanType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the user is enabled.

    " } }, "UserStatus": { @@ -12713,12 +12803,6 @@ "traits": { "smithy.api#documentation": "

    The MFA options for the user.

    " } - }, - "UserLastModifiedDate": { - "target": "com.amazonaws.cognitoidentityprovider#DateType", - "traits": { - "smithy.api#documentation": "

    The last modified date of the user.

    " - } } }, "traits": { @@ -12797,40 +12881,40 @@ "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType": { "type": "structure", "members": { - "EmailMessageByLink": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageByLinkType", - "traits": { - "smithy.api#documentation": "

    The email message template for sending a confirmation link to the user.

    " - } - }, "SmsMessage": { "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", "traits": { "smithy.api#documentation": "

    The SMS message template.

    " } }, - "DefaultEmailOption": { - "target": "com.amazonaws.cognitoidentityprovider#DefaultEmailOptionType", + "EmailMessage": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

    The default email option.

    " + "smithy.api#documentation": "

    The email message template. EmailMessage is allowed only if \n EmailSendingAccount is DEVELOPER.\n

    " } }, "EmailSubject": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", "traits": { - "smithy.api#documentation": "

    The subject line for the email message template.

    " + "smithy.api#documentation": "

    The subject line for the email message template. EmailSubject is allowed only if EmailSendingAccount \n is DEVELOPER.\n

    " + } + }, + "EmailMessageByLink": { + "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageByLinkType", + "traits": { + "smithy.api#documentation": "

    The email message template for sending a confirmation link to the user. EmailMessageByLink is allowed only if \n EmailSendingAccount is DEVELOPER.

    " } }, "EmailSubjectByLink": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectByLinkType", "traits": { - "smithy.api#documentation": "

    The subject line for the email message template for sending a confirmation link to the\n user.

    " + "smithy.api#documentation": "

    The subject line for the email message template for sending a confirmation link to the\n user. EmailSubjectByLink is allowed only \n EmailSendingAccount is DEVELOPER.

    " } }, - "EmailMessage": { - "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", + "DefaultEmailOption": { + "target": "com.amazonaws.cognitoidentityprovider#DefaultEmailOptionType", "traits": { - "smithy.api#documentation": "

    The email message template.

    " + "smithy.api#documentation": "

    The default email option.

    " } } }, @@ -12924,35 +13008,35 @@ "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service.

    " } }, - "FriendlyDeviceName": { - "target": "com.amazonaws.cognitoidentityprovider#StringType", - "traits": { - "smithy.api#documentation": "

    The friendly device name.

    " - } - }, "UserCode": { "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMFAUserCodeType", "traits": { "smithy.api#documentation": "

    The one time password computed using the secret code returned by AssociateSoftwareToken\".

    ", "smithy.api#required": {} } + }, + "FriendlyDeviceName": { + "target": "com.amazonaws.cognitoidentityprovider#StringType", + "traits": { + "smithy.api#documentation": "

    The friendly device name.

    " + } } } }, "com.amazonaws.cognitoidentityprovider#VerifySoftwareTokenResponse": { "type": "structure", "members": { - "Session": { - "target": "com.amazonaws.cognitoidentityprovider#SessionType", - "traits": { - "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service.

    " - } - }, "Status": { "target": "com.amazonaws.cognitoidentityprovider#VerifySoftwareTokenResponseType", "traits": { "smithy.api#documentation": "

    The status of the verify software token.

    " } + }, + "Session": { + "target": "com.amazonaws.cognitoidentityprovider#SessionType", + "traits": { + "smithy.api#documentation": "

    The session which should be passed both ways in challenge-response calls to the\n service.

    " + } } } }, @@ -13030,17 +13114,17 @@ "smithy.api#required": {} } }, - "Code": { - "target": "com.amazonaws.cognitoidentityprovider#ConfirmationCodeType", + "AttributeName": { + "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", "traits": { - "smithy.api#documentation": "

    The verification code in the request to verify user attributes.

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

    The attribute name in the request to verify user attributes.

    ", "smithy.api#required": {} } }, - "AttributeName": { - "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", + "Code": { + "target": "com.amazonaws.cognitoidentityprovider#ConfirmationCodeType", "traits": { - "smithy.api#documentation": "

    The attribute name in the request to verify user attributes.

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

    The verification code in the request to verify user attributes.

    ", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json b/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json index 6aee8fcee12f6..4512cb3e33017 100644 --- a/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json +++ b/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json @@ -51,17 +51,17 @@ "com.amazonaws.comprehend#AugmentedManifestsListItem": { "type": "structure", "members": { - "AttributeNames": { - "target": "com.amazonaws.comprehend#AttributeNamesList", + "S3Uri": { + "target": "com.amazonaws.comprehend#S3Uri", "traits": { - "smithy.api#documentation": "

    The JSON attribute that contains the annotations for your training documents. The number\n of attribute names that you specify depends on whether your augmented manifest file is the\n output of a single labeling job or a chained labeling job.

    \n

    If your file is the output of a single labeling job, specify the LabelAttributeName key\n that was used when the job was created in Ground Truth.

    \n

    If your file is the output of a chained labeling job, specify the LabelAttributeName key\n for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from\n an individual job.

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

    The Amazon S3 location of the augmented manifest file.

    ", "smithy.api#required": {} } }, - "S3Uri": { - "target": "com.amazonaws.comprehend#S3Uri", + "AttributeNames": { + "target": "com.amazonaws.comprehend#AttributeNamesList", "traits": { - "smithy.api#documentation": "

    The Amazon S3 location of the augmented manifest file.

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

    The JSON attribute that contains the annotations for your training documents. The number\n of attribute names that you specify depends on whether your augmented manifest file is the\n output of a single labeling job or a chained labeling job.

    \n

    If your file is the output of a single labeling job, specify the LabelAttributeName key\n that was used when the job was created in Ground Truth.

    \n

    If your file is the output of a chained labeling job, specify the LabelAttributeName key\n for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from\n an individual job.

    ", "smithy.api#required": {} } } @@ -99,17 +99,17 @@ "com.amazonaws.comprehend#BatchDetectDominantLanguageItemResult": { "type": "structure", "members": { - "Languages": { - "target": "com.amazonaws.comprehend#ListOfDominantLanguages", - "traits": { - "smithy.api#documentation": "

    One or more DominantLanguage objects describing the dominant\n languages in the document.

    " - } - }, "Index": { "target": "com.amazonaws.comprehend#Integer", "traits": { "smithy.api#documentation": "

    The zero-based index of the document in the input list.

    " } + }, + "Languages": { + "target": "com.amazonaws.comprehend#ListOfDominantLanguages", + "traits": { + "smithy.api#documentation": "

    One or more DominantLanguage objects describing the dominant\n languages in the document.

    " + } } }, "traits": { @@ -131,17 +131,17 @@ "com.amazonaws.comprehend#BatchDetectDominantLanguageResponse": { "type": "structure", "members": { - "ErrorList": { - "target": "com.amazonaws.comprehend#BatchItemErrorList", + "ResultList": { + "target": "com.amazonaws.comprehend#ListOfDetectDominantLanguageResult", "traits": { - "smithy.api#documentation": "

    A list containing one object for each document\n that contained an error. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If there are no errors in the\n batch, the ErrorList is empty.

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

    A list of objects\n containing the results of the operation. The results are sorted in ascending order by the\n Index field and match the order of the documents in the input list. If all of\n the documents contain an error, the ResultList is empty.

    ", "smithy.api#required": {} } }, - "ResultList": { - "target": "com.amazonaws.comprehend#ListOfDetectDominantLanguageResult", + "ErrorList": { + "target": "com.amazonaws.comprehend#BatchItemErrorList", "traits": { - "smithy.api#documentation": "

    A list of objects\n containing the results of the operation. The results are sorted in ascending order by the\n Index field and match the order of the documents in the input list. If all of\n the documents contain an error, the ResultList is empty.

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

    A list containing one object for each document\n that contained an error. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If there are no errors in the\n batch, the ErrorList is empty.

    ", "smithy.api#required": {} } } @@ -202,17 +202,17 @@ "com.amazonaws.comprehend#BatchDetectEntitiesRequest": { "type": "structure", "members": { - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "TextList": { + "target": "com.amazonaws.comprehend#CustomerInputStringList", "traits": { - "smithy.api#documentation": "

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

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

    A list containing the text of the input documents. The list can contain a maximum of 25\n documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded\n characters.

    ", "smithy.api#required": {} } }, - "TextList": { - "target": "com.amazonaws.comprehend#CustomerInputStringList", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    A list containing the text of the input documents. The list can contain a maximum of 25\n documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded\n characters.

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

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

    ", "smithy.api#required": {} } } @@ -362,6 +362,12 @@ "com.amazonaws.comprehend#BatchDetectSentimentItemResult": { "type": "structure", "members": { + "Index": { + "target": "com.amazonaws.comprehend#Integer", + "traits": { + "smithy.api#documentation": "

    The zero-based index of the document in the input list.

    " + } + }, "Sentiment": { "target": "com.amazonaws.comprehend#SentimentType", "traits": { @@ -373,12 +379,6 @@ "traits": { "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of its sentiment\n detection.

    " } - }, - "Index": { - "target": "com.amazonaws.comprehend#Integer", - "traits": { - "smithy.api#documentation": "

    The zero-based index of the document in the input list.

    " - } } }, "traits": { @@ -407,17 +407,17 @@ "com.amazonaws.comprehend#BatchDetectSentimentResponse": { "type": "structure", "members": { - "ErrorList": { - "target": "com.amazonaws.comprehend#BatchItemErrorList", + "ResultList": { + "target": "com.amazonaws.comprehend#ListOfDetectSentimentResult", "traits": { - "smithy.api#documentation": "

    A list containing one object for each document\n that contained an error. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If there are no errors in the\n batch, the ErrorList is empty.

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

    A list of objects containing the\n results of the operation. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If all of the documents contain\n an error, the ResultList is empty.

    ", "smithy.api#required": {} } }, - "ResultList": { - "target": "com.amazonaws.comprehend#ListOfDetectSentimentResult", + "ErrorList": { + "target": "com.amazonaws.comprehend#BatchItemErrorList", "traits": { - "smithy.api#documentation": "

    A list of objects containing the\n results of the operation. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If all of the documents contain\n an error, the ResultList is empty.

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

    A list containing one object for each document\n that contained an error. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If there are no errors in the\n batch, the ErrorList is empty.

    ", "smithy.api#required": {} } } @@ -458,17 +458,17 @@ "com.amazonaws.comprehend#BatchDetectSyntaxItemResult": { "type": "structure", "members": { - "SyntaxTokens": { - "target": "com.amazonaws.comprehend#ListOfSyntaxTokens", - "traits": { - "smithy.api#documentation": "

    The syntax tokens for the words in the document, one token for each word.

    " - } - }, "Index": { "target": "com.amazonaws.comprehend#Integer", "traits": { "smithy.api#documentation": "

    The zero-based index of the document in the input list.

    " } + }, + "SyntaxTokens": { + "target": "com.amazonaws.comprehend#ListOfSyntaxTokens", + "traits": { + "smithy.api#documentation": "

    The syntax tokens for the words in the document, one token for each word.

    " + } } }, "traits": { @@ -497,17 +497,17 @@ "com.amazonaws.comprehend#BatchDetectSyntaxResponse": { "type": "structure", "members": { - "ErrorList": { - "target": "com.amazonaws.comprehend#BatchItemErrorList", + "ResultList": { + "target": "com.amazonaws.comprehend#ListOfDetectSyntaxResult", "traits": { - "smithy.api#documentation": "

    A list containing one object for each document that\n contained an error. The results are sorted in ascending order by the Index field\n and match the order of the documents in the input list. If there are no errors in the batch,\n the ErrorList is empty.

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

    A list of objects containing the results\n of the operation. The results are sorted in ascending order by the Index field\n and match the order of the documents in the input list. If all of the documents contain an\n error, the ResultList is empty.

    ", "smithy.api#required": {} } }, - "ResultList": { - "target": "com.amazonaws.comprehend#ListOfDetectSyntaxResult", + "ErrorList": { + "target": "com.amazonaws.comprehend#BatchItemErrorList", "traits": { - "smithy.api#documentation": "

    A list of objects containing the results\n of the operation. The results are sorted in ascending order by the Index field\n and match the order of the documents in the input list. If all of the documents contain an\n error, the ResultList is empty.

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

    A list containing one object for each document that\n contained an error. The results are sorted in ascending order by the Index field\n and match the order of the documents in the input list. If there are no errors in the batch,\n the ErrorList is empty.

    ", "smithy.api#required": {} } } @@ -519,6 +519,12 @@ "com.amazonaws.comprehend#BatchItemError": { "type": "structure", "members": { + "Index": { + "target": "com.amazonaws.comprehend#Integer", + "traits": { + "smithy.api#documentation": "

    The zero-based index of the document in the input list.

    " + } + }, "ErrorCode": { "target": "com.amazonaws.comprehend#String", "traits": { @@ -530,12 +536,6 @@ "traits": { "smithy.api#documentation": "

    A text description of the error.

    " } - }, - "Index": { - "target": "com.amazonaws.comprehend#Integer", - "traits": { - "smithy.api#documentation": "

    The zero-based index of the document in the input list.

    " - } } }, "traits": { @@ -564,52 +564,52 @@ "com.amazonaws.comprehend#ClassifierEvaluationMetrics": { "type": "structure", "members": { - "MicroPrecision": { + "Accuracy": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of the usefulness of the recognizer results in the test data. High precision\n means that the recognizer returned substantially more relevant results than irrelevant ones.\n Unlike the Precision metric which comes from averaging the precision of all available labels,\n this is based on the overall score of all precision scores added together.

    " + "smithy.api#documentation": "

    The fraction of the labels that were correct recognized. It is computed by dividing the\n number of labels in the test documents that were correctly recognized by the total number of\n labels in the test documents.

    " } }, - "Accuracy": { + "Precision": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    The fraction of the labels that were correct recognized. It is computed by dividing the\n number of labels in the test documents that were correctly recognized by the total number of\n labels in the test documents.

    " + "smithy.api#documentation": "

    A measure of the usefulness of the classifier results in the test data. High precision\n means that the classifier returned substantially more relevant results than irrelevant\n ones.

    " } }, - "MicroF1Score": { + "Recall": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how accurate the classifier results are for the test data. It is a\n combination of the Micro Precision and Micro Recall values. The\n Micro F1Score is the harmonic mean of the two scores. The highest score is 1,\n and the worst score is 0.

    " + "smithy.api#documentation": "

    A measure of how complete the classifier results are for the test data. High recall means\n that the classifier returned most of the relevant results.

    " } }, - "MicroRecall": { + "F1Score": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how complete the classifier results are for the test data. High recall means\n that the classifier returned most of the relevant results. Specifically, this indicates how\n many of the correct categories in the text that the model can predict. It is a percentage of\n correct categories in the text that can found. Instead of averaging the recall scores of all\n labels (as with Recall), micro Recall is based on the overall score of all recall scores added\n together.

    " + "smithy.api#documentation": "

    A measure of how accurate the classifier results are for the test data. It is derived from\n the Precision and Recall values. The F1Score is the\n harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    " } }, - "Precision": { + "MicroPrecision": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of the usefulness of the classifier results in the test data. High precision\n means that the classifier returned substantially more relevant results than irrelevant\n ones.

    " + "smithy.api#documentation": "

    A measure of the usefulness of the recognizer results in the test data. High precision\n means that the recognizer returned substantially more relevant results than irrelevant ones.\n Unlike the Precision metric which comes from averaging the precision of all available labels,\n this is based on the overall score of all precision scores added together.

    " } }, - "HammingLoss": { + "MicroRecall": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    Indicates the fraction of labels that are incorrectly predicted. Also seen as the fraction\n of wrong labels compared to the total number of labels. Scores closer to zero are\n better.

    " + "smithy.api#documentation": "

    A measure of how complete the classifier results are for the test data. High recall means\n that the classifier returned most of the relevant results. Specifically, this indicates how\n many of the correct categories in the text that the model can predict. It is a percentage of\n correct categories in the text that can found. Instead of averaging the recall scores of all\n labels (as with Recall), micro Recall is based on the overall score of all recall scores added\n together.

    " } }, - "F1Score": { + "MicroF1Score": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how accurate the classifier results are for the test data. It is derived from\n the Precision and Recall values. The F1Score is the\n harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    " + "smithy.api#documentation": "

    A measure of how accurate the classifier results are for the test data. It is a\n combination of the Micro Precision and Micro Recall values. The\n Micro F1Score is the harmonic mean of the two scores. The highest score is 1,\n and the worst score is 0.

    " } }, - "Recall": { + "HammingLoss": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how complete the classifier results are for the test data. High recall means\n that the classifier returned most of the relevant results.

    " + "smithy.api#documentation": "

    Indicates the fraction of labels that are incorrectly predicted. Also seen as the fraction\n of wrong labels compared to the total number of labels. Scores closer to zero are\n better.

    " } } }, @@ -632,17 +632,17 @@ "smithy.api#documentation": "

    The number of documents in the input data that were used to train the classifier.\n Typically this is 80 to 90 percent of the input documents.

    " } }, - "EvaluationMetrics": { - "target": "com.amazonaws.comprehend#ClassifierEvaluationMetrics", - "traits": { - "smithy.api#documentation": "

    Describes the result metrics for the test data associated with an documentation\n classifier.

    " - } - }, "NumberOfTestDocuments": { "target": "com.amazonaws.comprehend#Integer", "traits": { "smithy.api#documentation": "

    The number of documents in the input data that were used to test the classifier. Typically\n this is 10 to 20 percent of the input documents, up to 10,000 documents.

    " } + }, + "EvaluationMetrics": { + "target": "com.amazonaws.comprehend#ClassifierEvaluationMetrics", + "traits": { + "smithy.api#documentation": "

    Describes the result metrics for the test data associated with an documentation\n classifier.

    " + } } }, "traits": { @@ -698,17 +698,17 @@ "com.amazonaws.comprehend#ClassifyDocumentResponse": { "type": "structure", "members": { - "Labels": { - "target": "com.amazonaws.comprehend#ListOfLabels", - "traits": { - "smithy.api#documentation": "

    The labels used the document being analyzed. These are used for multi-label trained\n models. Individual labels represent different categories that are related in some manner and\n are not multually exclusive. For example, a movie can be just an action movie, or it can be an\n action movie, a science fiction movie, and a comedy, all at the same time.

    " - } - }, "Classes": { "target": "com.amazonaws.comprehend#ListOfClasses", "traits": { "smithy.api#documentation": "

    The classes used by the document being analyzed. These are used for multi-class trained\n models. Individual classes are mutually exclusive and each document is expected to have only a\n single class assigned to it. For example, an animal can be a dog or a cat, but not both at the\n same time.

    " } + }, + "Labels": { + "target": "com.amazonaws.comprehend#ListOfLabels", + "traits": { + "smithy.api#documentation": "

    The labels used the document being analyzed. These are used for multi-label trained\n models. Individual labels represent different categories that are related in some manner and\n are not mutually exclusive. For example, a movie can be just an action movie, or it can be an\n action movie, a science fiction movie, and a comedy, all at the same time.

    " + } } }, "traits": { @@ -833,6 +833,9 @@ { "target": "com.amazonaws.comprehend#DescribeEntityRecognizer" }, + { + "target": "com.amazonaws.comprehend#DescribeEventsDetectionJob" + }, { "target": "com.amazonaws.comprehend#DescribeKeyPhrasesDetectionJob" }, @@ -881,6 +884,9 @@ { "target": "com.amazonaws.comprehend#ListEntityRecognizers" }, + { + "target": "com.amazonaws.comprehend#ListEventsDetectionJobs" + }, { "target": "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobs" }, @@ -905,6 +911,9 @@ { "target": "com.amazonaws.comprehend#StartEntitiesDetectionJob" }, + { + "target": "com.amazonaws.comprehend#StartEventsDetectionJob" + }, { "target": "com.amazonaws.comprehend#StartKeyPhrasesDetectionJob" }, @@ -923,6 +932,9 @@ { "target": "com.amazonaws.comprehend#StopEntitiesDetectionJob" }, + { + "target": "com.amazonaws.comprehend#StopEventsDetectionJob" + }, { "target": "com.amazonaws.comprehend#StopKeyPhrasesDetectionJob" }, @@ -1017,17 +1029,17 @@ "com.amazonaws.comprehend#CreateDocumentClassifierRequest": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.comprehend#ClientRequestTokenString", + "DocumentClassifierName": { + "target": "com.amazonaws.comprehend#ComprehendArnName", "traits": { - "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

    The name of the document classifier.

    ", + "smithy.api#required": {} } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    The language of the input documents. You can specify any of the following languages\n supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"),\n Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

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

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

    ", "smithy.api#required": {} } }, @@ -1037,49 +1049,49 @@ "smithy.api#documentation": "

    Tags to be associated with the document classifier being created. A tag is a key-value\n pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with\n \"Sales\" as the key might be added to a resource to indicate its use by the sales department.\n

    " } }, - "Mode": { - "target": "com.amazonaws.comprehend#DocumentClassifierMode", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#DocumentClassifierInputDataConfig", "traits": { - "smithy.api#documentation": "

    Indicates the mode in which the classifier will be trained. The classifier can be trained\n in multi-class mode, which identifies one and only one class for each document, or multi-label\n mode, which identifies one or more labels for each document. In multi-label mode, multiple\n labels for an individual document are separated by a delimiter. The default delimiter between\n labels is a pipe (|).

    " + "smithy.api#documentation": "

    Specifies the format and location of the input data for the job.

    ", + "smithy.api#required": {} } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#DocumentClassifierOutputDataConfig", "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your custom classifier. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    Enables the addition of output results configuration parameters for custom classifier\n jobs.

    " } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "ClientRequestToken": { + "target": "com.amazonaws.comprehend#ClientRequestTokenString", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", + "smithy.api#idempotencyToken": {} } }, - "DocumentClassifierName": { - "target": "com.amazonaws.comprehend#ComprehendArnName", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    The name of the document classifier.

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

    The language of the input documents. You can specify any of the following languages\n supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"),\n Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

    ", "smithy.api#required": {} } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#DocumentClassifierInputDataConfig", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    Specifies the format and location of the input data for the job.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#DocumentClassifierOutputDataConfig", + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", "traits": { - "smithy.api#documentation": "

    Enables the addition of output results configuration parameters for custom classifier\n jobs.

    " + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your custom classifier. For more information, see Amazon\n VPC.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "Mode": { + "target": "com.amazonaws.comprehend#DocumentClassifierMode", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Indicates the mode in which the classifier will be trained. The classifier can be trained\n in multi-class mode, which identifies one and only one class for each document, or multi-label\n mode, which identifies one or more labels for each document. In multi-label mode, multiple\n labels for an individual document are separated by a delimiter. The default delimiter between\n labels is a pipe (|).

    " } } } @@ -1136,13 +1148,6 @@ "com.amazonaws.comprehend#CreateEndpointRequest": { "type": "structure", "members": { - "DesiredInferenceUnits": { - "target": "com.amazonaws.comprehend#InferenceUnitsInteger", - "traits": { - "smithy.api#documentation": "

    The desired number of inference units to be used by the model using this endpoint.\n \n Each inference unit represents of a throughput of 100 characters per second.

    ", - "smithy.api#required": {} - } - }, "EndpointName": { "target": "com.amazonaws.comprehend#ComprehendEndpointName", "traits": { @@ -1157,10 +1162,11 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.comprehend#TagList", + "DesiredInferenceUnits": { + "target": "com.amazonaws.comprehend#InferenceUnitsInteger", "traits": { - "smithy.api#documentation": "

    Tags associated with the endpoint being created. A tag is a key-value pair that adds\n metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an\n endpoint to indicate its use by the sales department.

    " + "smithy.api#documentation": "

    The desired number of inference units to be used by the model using this endpoint.\n \n Each inference unit represents of a throughput of 100 characters per second.

    ", + "smithy.api#required": {} } }, "ClientRequestToken": { @@ -1169,6 +1175,12 @@ "smithy.api#documentation": "

    An idempotency token provided by the customer. If this token matches a previous endpoint\n creation request, Amazon Comprehend will not return a ResourceInUseException.\n

    ", "smithy.api#idempotencyToken": {} } + }, + "Tags": { + "target": "com.amazonaws.comprehend#TagList", + "traits": { + "smithy.api#documentation": "

    Tags associated with the endpoint being created. A tag is a key-value pair that adds\n metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an\n endpoint to indicate its use by the sales department.

    " + } } } }, @@ -1224,30 +1236,24 @@ "com.amazonaws.comprehend#CreateEntityRecognizerRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.comprehend#TagList", + "RecognizerName": { + "target": "com.amazonaws.comprehend#ComprehendArnName", "traits": { - "smithy.api#documentation": "

    Tags to be associated with the entity recognizer being created. A tag is a key-value pair\n that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with\n \"Sales\" as the key might be added to a resource to indicate its use by the sales department.\n

    " - } - }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", - "traits": { - "smithy.api#documentation": "

    You can specify any of the following languages supported by Amazon Comprehend: English\n (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), German (\"de\"), or Portuguese (\"pt\").\n All documents must be in the same language.

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

    The name given to the newly created recognizer. Recognizer names can be a maximum of 256\n characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name\n must be unique in the account/region.

    ", "smithy.api#required": {} } }, - "ClientRequestToken": { - "target": "com.amazonaws.comprehend#ClientRequestTokenString", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

    ", + "smithy.api#required": {} } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "Tags": { + "target": "com.amazonaws.comprehend#TagList", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Tags to be associated with the entity recognizer being created. A tag is a key-value pair\n that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with\n \"Sales\" as the key might be added to a resource to indicate its use by the sales department.\n

    " } }, "InputDataConfig": { @@ -1257,24 +1263,30 @@ "smithy.api#required": {} } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "ClientRequestToken": { + "target": "com.amazonaws.comprehend#ClientRequestTokenString", "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your custom entity recognizer. For more information, see\n Amazon\n VPC.

    " + "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", + "smithy.api#idempotencyToken": {} } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

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

    You can specify any of the following languages supported by Amazon Comprehend: English\n (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), German (\"de\"), or Portuguese (\"pt\").\n All documents must be in the same language.

    ", "smithy.api#required": {} } }, - "RecognizerName": { - "target": "com.amazonaws.comprehend#ComprehendArnName", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The name given to the newly created recognizer. Recognizer names can be a maximum of 256\n characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name\n must be unique in the account/region.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your custom entity recognizer. For more information, see\n Amazon\n VPC.

    " } } } @@ -1743,6 +1755,55 @@ } } }, + "com.amazonaws.comprehend#DescribeEventsDetectionJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#DescribeEventsDetectionJobRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#DescribeEventsDetectionJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#JobNotFoundException" + }, + { + "target": "com.amazonaws.comprehend#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Gets the status and details of an events detection job.

    " + } + }, + "com.amazonaws.comprehend#DescribeEventsDetectionJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.comprehend#JobId", + "traits": { + "smithy.api#documentation": "

    The identifier of the events detection job.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.comprehend#DescribeEventsDetectionJobResponse": { + "type": "structure", + "members": { + "EventsDetectionJobProperties": { + "target": "com.amazonaws.comprehend#EventsDetectionJobProperties", + "traits": { + "smithy.api#documentation": "

    An object that contains the properties associated with an event detection job.

    " + } + } + } + }, "com.amazonaws.comprehend#DescribeKeyPhrasesDetectionJob": { "type": "operation", "input": { @@ -2024,17 +2085,17 @@ "smithy.api#required": {} } }, - "EndpointArn": { - "target": "com.amazonaws.comprehend#EntityRecognizerEndpointArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name of an endpoint that is associated with a custom entity\n recognition model. Provide an endpoint if you want to detect entities by using your own custom\n model instead of the default model that is used by Amazon Comprehend.

    \n

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and\n it ignores any language code that you provide in your request.

    " - } - }, "LanguageCode": { "target": "com.amazonaws.comprehend#LanguageCode", "traits": { "smithy.api#documentation": "

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

    \n

    If your request includes the endpoint for a custom entity recognition model, Amazon\n Comprehend uses the language of your custom model, and it ignores any language code that you\n specify here.

    " } + }, + "EndpointArn": { + "target": "com.amazonaws.comprehend#EntityRecognizerEndpointArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name of an endpoint that is associated with a custom entity\n recognition model. Provide an endpoint if you want to detect entities by using your own custom\n model instead of the default model that is used by Amazon Comprehend.

    \n

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and\n it ignores any language code that you provide in your request.

    " + } } } }, @@ -2081,17 +2142,17 @@ "com.amazonaws.comprehend#DetectKeyPhrasesRequest": { "type": "structure", "members": { - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "Text": { + "target": "com.amazonaws.comprehend#CustomerInputString", "traits": { - "smithy.api#documentation": "

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

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

    A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded\n characters.

    ", "smithy.api#required": {} } }, - "Text": { - "target": "com.amazonaws.comprehend#CustomerInputString", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded\n characters.

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

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

    ", "smithy.api#required": {} } } @@ -2294,17 +2355,17 @@ "com.amazonaws.comprehend#DocumentClass": { "type": "structure", "members": { - "Score": { - "target": "com.amazonaws.comprehend#Float", - "traits": { - "smithy.api#documentation": "

    The confidence score that Amazon Comprehend has this class correctly attributed.

    " - } - }, "Name": { "target": "com.amazonaws.comprehend#String", "traits": { "smithy.api#documentation": "

    The name of the class.

    " } + }, + "Score": { + "target": "com.amazonaws.comprehend#Float", + "traits": { + "smithy.api#documentation": "

    The confidence score that Amazon Comprehend has this class correctly attributed.

    " + } } }, "traits": { @@ -2320,12 +2381,6 @@ "smithy.api#documentation": "

    Filters on the name of the job.

    " } }, - "SubmitTimeAfter": { - "target": "com.amazonaws.comprehend#Timestamp", - "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " - } - }, "JobStatus": { "target": "com.amazonaws.comprehend#JobStatus", "traits": { @@ -2337,6 +2392,12 @@ "traits": { "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " } + }, + "SubmitTimeAfter": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " + } } }, "traits": { @@ -2346,46 +2407,40 @@ "com.amazonaws.comprehend#DocumentClassificationJobProperties": { "type": "structure", "members": { - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

    " - } - }, - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The current status of the document classification job. If the status is\n FAILED, the Message field shows the reason for the failure.

    " + "smithy.api#documentation": "

    The identifier assigned to the document classification job.

    " } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your document classification job. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    The name that you assigned to the document classification job.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    The input data configuration that you supplied when you created the document\n classification job.

    " + "smithy.api#documentation": "

    The current status of the document classification job. If the status is\n FAILED, the Message field shows the reason for the failure.

    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    The identifier assigned to the document classification job.

    " + "smithy.api#documentation": "

    A description of the status of the job.

    " } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The time that the document classification job was submitted for processing.

    " } }, - "SubmitTime": { + "EndTime": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The time that the document classification job was submitted for processing.

    " + "smithy.api#documentation": "

    The time that the document classification job completed.

    " } }, "DocumentClassifierArn": { @@ -2394,28 +2449,34 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the document classifier.

    " } }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    A description of the status of the job.

    " + "smithy.api#documentation": "

    The input data configuration that you supplied when you created the document\n classification job.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    The name that you assigned to the document classification job.

    " + "smithy.api#documentation": "

    The output data configuration that you supplied when you created the document\n classification job.

    " } }, - "EndTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    The time that the document classification job completed.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The output data configuration that you supplied when you created the document\n classification job.

    " + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your document classification job. For more information, see Amazon\n VPC.

    " } } }, @@ -2499,29 +2560,29 @@ "com.amazonaws.comprehend#DocumentClassifierInputDataConfig": { "type": "structure", "members": { - "LabelDelimiter": { - "target": "com.amazonaws.comprehend#LabelDelimiter", - "traits": { - "smithy.api#documentation": "

    Indicates the delimiter used to separate each label for training a multi-label classifier.\n The default delimiter between labels is a pipe (|). You can use a different character as a\n delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the\n training documents use a delimiter other than the default or the delimiter you specify, the\n labels on that line will be combined to make a single unique label, such as\n LABELLABELLABEL.

    " - } - }, "DataFormat": { "target": "com.amazonaws.comprehend#DocumentClassifierDataFormat", "traits": { "smithy.api#documentation": "

    The format of your training data:

    \n
      \n
    • \n

      \n COMPREHEND_CSV: A two-column CSV file, where labels are provided in the\n first column, and documents are provided in the second. If you use this value, you must\n provide the S3Uri parameter in your request.

      \n
    • \n
    • \n

      \n AUGMENTED_MANIFEST: A labeled dataset that is produced by Amazon\n SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON\n object that contains a training document and its associated labels.

      \n

      If you use this value, you must provide the AugmentedManifests parameter\n in your request.

      \n
    • \n
    \n

    If you don't specify a value, Amazon Comprehend uses COMPREHEND_CSV as the\n default.

    " } }, - "AugmentedManifests": { - "target": "com.amazonaws.comprehend#DocumentClassifierAugmentedManifestsList", - "traits": { - "smithy.api#documentation": "

    A list of augmented manifest files that provide training data for your custom model. An\n augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground\n Truth.

    \n

    This parameter is required if you set DataFormat to\n AUGMENTED_MANIFEST.

    " - } - }, "S3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { "smithy.api#documentation": "

    The Amazon S3 URI for the input data. The S3 bucket must be in the same region as the API\n endpoint that you are calling. The URI can point to a single input file or it can provide the\n prefix for a collection of input files.

    \n

    For example, if you use the URI S3://bucketName/prefix, if the prefix is a\n single file, Amazon Comprehend uses that file as input. If more than one file begins with the\n prefix, Amazon Comprehend uses all of them as input.

    \n

    This parameter is required if you set DataFormat to\n COMPREHEND_CSV.

    " } + }, + "LabelDelimiter": { + "target": "com.amazonaws.comprehend#LabelDelimiter", + "traits": { + "smithy.api#documentation": "

    Indicates the delimiter used to separate each label for training a multi-label classifier.\n The default delimiter between labels is a pipe (|). You can use a different character as a\n delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the\n training documents use a delimiter other than the default or the delimiter you specify, the\n labels on that line will be combined to make a single unique label, such as\n LABELLABELLABEL.

    " + } + }, + "AugmentedManifests": { + "target": "com.amazonaws.comprehend#DocumentClassifierAugmentedManifestsList", + "traits": { + "smithy.api#documentation": "

    A list of augmented manifest files that provide training data for your custom model. An\n augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground\n Truth.

    \n

    This parameter is required if you set DataFormat to\n AUGMENTED_MANIFEST.

    " + } } }, "traits": { @@ -2546,17 +2607,17 @@ "com.amazonaws.comprehend#DocumentClassifierOutputDataConfig": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the\n output results from an analysis job. The KmsKeyId can be one of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      KMS Key Alias: \"alias/ExampleAlias\"\n

      \n
    • \n
    • \n

      ARN of a KMS Key Alias:\n \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"\n

      \n
    • \n
    " - } - }, "S3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { "smithy.api#documentation": "

    When you use the OutputDataConfig object while creating a custom\n classifier, you specify the Amazon S3 location where you want to write the confusion matrix.\n The URI must be in the same region as the API endpoint that you are calling. The location is\n used as the prefix for the actual location of this output file.

    \n

    When the custom classifier job is finished, the service creates the output file in a\n directory specific to the job. The S3Uri field contains the location of the\n output file, called output.tar.gz. It is a compressed archive that contains the\n confusion matrix.

    " } + }, + "KmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", + "traits": { + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the\n output results from an analysis job. The KmsKeyId can be one of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      KMS Key Alias: \"alias/ExampleAlias\"\n

      \n
    • \n
    • \n

      ARN of a KMS Key Alias:\n \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"\n

      \n
    • \n
    " + } } }, "traits": { @@ -2566,82 +2627,82 @@ "com.amazonaws.comprehend#DocumentClassifierProperties": { "type": "structure", "members": { - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "DocumentClassifierArn": { + "target": "com.amazonaws.comprehend#DocumentClassifierArn", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the document classifier.

    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#DocumentClassifierOutputDataConfig", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    Provides output results configuration parameters for custom classifier jobs.

    " + "smithy.api#documentation": "

    The language code for the language of the documents that the classifier was trained\n on.

    " } }, - "TrainingStartTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "Status": { + "target": "com.amazonaws.comprehend#ModelStatus", "traits": { - "smithy.api#documentation": "

    Indicates the time when the training starts on documentation classifiers. You are billed\n for the time interval between this time and the value of TrainingEndTime.

    " + "smithy.api#documentation": "

    The status of the document classifier. If the status is TRAINED the\n classifier is ready to use. If the status is FAILED you can see additional\n information about why the classifier wasn't trained in the Message field.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

    " + "smithy.api#documentation": "

    Additional information about the status of the classifier.

    " } }, - "Status": { - "target": "com.amazonaws.comprehend#ModelStatus", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The status of the document classifier. If the status is TRAINED the\n classifier is ready to use. If the status is FAILED you can see additional\n information about why the classifier wasn't trained in the Message field.

    " + "smithy.api#documentation": "

    The time that the document classifier was submitted for training.

    " } }, - "ClassifierMetadata": { - "target": "com.amazonaws.comprehend#ClassifierMetadata", + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Information about the document classifier, including the number of documents used for\n training the classifier, the number of documents used for test the classifier, and an accuracy\n rating.

    " + "smithy.api#documentation": "

    The time that training the document classifier completed.

    " } }, - "DocumentClassifierArn": { - "target": "com.amazonaws.comprehend#DocumentClassifierArn", + "TrainingStartTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the document classifier.

    " + "smithy.api#documentation": "

    Indicates the time when the training starts on documentation classifiers. You are billed\n for the time interval between this time and the value of TrainingEndTime.

    " } }, - "SubmitTime": { + "TrainingEndTime": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The time that the document classifier was submitted for training.

    " + "smithy.api#documentation": "

    The time that training of the document classifier was completed. Indicates the time when\n the training completes on documentation classifiers. You are billed for the time interval\n between this time and the value of TrainingStartTime.

    " } }, - "Mode": { - "target": "com.amazonaws.comprehend#DocumentClassifierMode", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#DocumentClassifierInputDataConfig", "traits": { - "smithy.api#documentation": "

    Indicates the mode in which the specific classifier was trained. This also indicates the\n format of input documents and the format of the confusion matrix. Each classifier can only be\n trained in one mode and this cannot be changed once the classifier is trained.

    " + "smithy.api#documentation": "

    The input data configuration that you supplied when you created the document classifier\n for training.

    " } }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#DocumentClassifierOutputDataConfig", "traits": { - "smithy.api#documentation": "

    Additional information about the status of the classifier.

    " + "smithy.api#documentation": "

    Provides output results configuration parameters for custom classifier jobs.

    " } }, - "TrainingEndTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "ClassifierMetadata": { + "target": "com.amazonaws.comprehend#ClassifierMetadata", "traits": { - "smithy.api#documentation": "

    The time that training of the document classifier was completed. Indicates the time when\n the training completes on documentation classifiers. You are billed for the time interval\n between this time and the value of TrainingStartTime.

    " + "smithy.api#documentation": "

    Information about the document classifier, including the number of documents used for\n training the classifier, the number of documents used for test the classifier, and an accuracy\n rating.

    " } }, - "EndTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    The time that training the document classifier completed.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#DocumentClassifierInputDataConfig", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The input data configuration that you supplied when you created the document classifier\n for training.

    " + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, "VpcConfig": { @@ -2650,10 +2711,10 @@ "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your custom classifier. For more information, see Amazon\n VPC.

    " } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "Mode": { + "target": "com.amazonaws.comprehend#DocumentClassifierMode", "traits": { - "smithy.api#documentation": "

    The language code for the language of the documents that the classifier was trained\n on.

    " + "smithy.api#documentation": "

    Indicates the mode in which the specific classifier was trained. This also indicates the\n format of input documents and the format of the confusion matrix. Each classifier can only be\n trained in one mode and this cannot be changed once the classifier is trained.

    " } } }, @@ -2690,17 +2751,17 @@ "com.amazonaws.comprehend#DominantLanguage": { "type": "structure", "members": { - "Score": { - "target": "com.amazonaws.comprehend#Float", - "traits": { - "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " - } - }, "LanguageCode": { "target": "com.amazonaws.comprehend#String", "traits": { "smithy.api#documentation": "

    The RFC 5646 language code for the dominant language. For more information about RFC\n 5646, see Tags for Identifying\n Languages on the IETF Tools web site.

    " } + }, + "Score": { + "target": "com.amazonaws.comprehend#Float", + "traits": { + "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " + } } }, "traits": { @@ -2710,28 +2771,28 @@ "com.amazonaws.comprehend#DominantLanguageDetectionJobFilter": { "type": "structure", "members": { + "JobName": { + "target": "com.amazonaws.comprehend#JobName", + "traits": { + "smithy.api#documentation": "

    Filters on the name of the job.

    " + } + }, "JobStatus": { "target": "com.amazonaws.comprehend#JobStatus", "traits": { "smithy.api#documentation": "

    Filters the list of jobs based on job status. Returns only jobs with the specified\n status.

    " } }, - "SubmitTimeAfter": { + "SubmitTimeBefore": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " - } - }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", - "traits": { - "smithy.api#documentation": "

    Filters on the name of the job.

    " + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " } }, - "SubmitTimeBefore": { + "SubmitTimeAfter": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " } } }, @@ -2742,46 +2803,46 @@ "com.amazonaws.comprehend#DominantLanguageDetectionJobProperties": { "type": "structure", "members": { - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The input data configuration that you supplied when you created the dominant language\n detection job.

    " + "smithy.api#documentation": "

    The identifier assigned to the dominant language detection job.

    " } }, - "SubmitTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The time that the dominant language detection job was submitted for processing.

    " + "smithy.api#documentation": "

    The name that you assigned to the dominant language detection job.

    " } }, - "EndTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    The time that the dominant language detection job completed.

    " + "smithy.api#documentation": "

    The current status of the dominant language detection job. If the status is\n FAILED, the Message field shows the reason for the failure.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    The name that you assigned to the dominant language detection job.

    " + "smithy.api#documentation": "

    A description for the status of a job.

    " } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your dominant language detection job. For more information, see\n Amazon\n VPC.

    " + "smithy.api#documentation": "

    The time that the dominant language detection job was submitted for processing.

    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The identifier assigned to the dominant language detection job.

    " + "smithy.api#documentation": "

    The time that the dominant language detection job completed.

    " } }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    A description for the status of a job.

    " + "smithy.api#documentation": "

    The input data configuration that you supplied when you created the dominant language\n detection job.

    " } }, "OutputDataConfig": { @@ -2790,12 +2851,6 @@ "smithy.api#documentation": "

    The output data configuration that you supplied when you created the dominant language\n detection job.

    " } }, - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", - "traits": { - "smithy.api#documentation": "

    The current status of the dominant language detection job. If the status is\n FAILED, the Message field shows the reason for the failure.

    " - } - }, "DataAccessRoleArn": { "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { @@ -2807,6 +2862,12 @@ "traits": { "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your dominant language detection job. For more information, see\n Amazon\n VPC.

    " + } } }, "traits": { @@ -2828,6 +2889,12 @@ "com.amazonaws.comprehend#EndpointFilter": { "type": "structure", "members": { + "ModelArn": { + "target": "com.amazonaws.comprehend#ComprehendModelArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    " + } + }, "Status": { "target": "com.amazonaws.comprehend#EndpointStatus", "traits": { @@ -2845,31 +2912,19 @@ "traits": { "smithy.api#documentation": "

    Specifies a date after which the returned endpoint or endpoints were created.

    " } - }, - "ModelArn": { - "target": "com.amazonaws.comprehend#ComprehendModelArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    " - } } }, "traits": { - "smithy.api#documentation": "

    The filter used to determine which endpoints are are returned. You can filter jobs on\n their name, model, status, or the date and time that they were created. You can only set one\n filter at a time.

    " + "smithy.api#documentation": "

    The filter used to determine which endpoints are returned. You can filter jobs on\n their name, model, status, or the date and time that they were created. You can only set one\n filter at a time.

    " } }, "com.amazonaws.comprehend#EndpointProperties": { "type": "structure", "members": { - "CurrentInferenceUnits": { - "target": "com.amazonaws.comprehend#InferenceUnitsInteger", - "traits": { - "smithy.api#documentation": "

    The number of inference units currently used by the model using this endpoint.

    " - } - }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "EndpointArn": { + "target": "com.amazonaws.comprehend#ComprehendEndpointArn", "traits": { - "smithy.api#documentation": "

    Specifies a reason for failure in cases of Failed status.

    " + "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the endpoint.

    " } }, "Status": { @@ -2878,6 +2933,12 @@ "smithy.api#documentation": "

    Specifies the status of the endpoint. Because the endpoint updates and creation are\n asynchronous, so customers will need to wait for the endpoint to be Ready status\n before making inference requests.

    " } }, + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", + "traits": { + "smithy.api#documentation": "

    Specifies a reason for failure in cases of Failed status.

    " + } + }, "ModelArn": { "target": "com.amazonaws.comprehend#ComprehendModelArn", "traits": { @@ -2890,10 +2951,10 @@ "smithy.api#documentation": "

    The desired number of inference units to be used by the model using this endpoint.\n \n Each inference unit represents of a throughput of 100 characters per second.

    " } }, - "LastModifiedTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "CurrentInferenceUnits": { + "target": "com.amazonaws.comprehend#InferenceUnitsInteger", "traits": { - "smithy.api#documentation": "

    The date and time that the endpoint was last modified.

    " + "smithy.api#documentation": "

    The number of inference units currently used by the model using this endpoint.

    " } }, "CreationTime": { @@ -2902,10 +2963,10 @@ "smithy.api#documentation": "

    The creation date and time of the endpoint.

    " } }, - "EndpointArn": { - "target": "com.amazonaws.comprehend#ComprehendEndpointArn", + "LastModifiedTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the endpoint.

    " + "smithy.api#documentation": "

    The date and time that the endpoint was last modified.

    " } } }, @@ -2961,16 +3022,16 @@ "smithy.api#documentation": "

    Filters the list of jobs based on job status. Returns only jobs with the specified\n status.

    " } }, - "SubmitTimeAfter": { + "SubmitTimeBefore": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " } }, - "SubmitTimeBefore": { + "SubmitTimeAfter": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " } } }, @@ -2981,54 +3042,12 @@ "com.amazonaws.comprehend#EntitiesDetectionJobProperties": { "type": "structure", "members": { - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", - "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your entity detection job. For more information, see Amazon\n VPC.

    " - } - }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", - "traits": { - "smithy.api#documentation": "

    The language code of the input documents.

    " - } - }, "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { "smithy.api#documentation": "

    The identifier assigned to the entities detection job.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " - } - }, - "EntityRecognizerArn": { - "target": "com.amazonaws.comprehend#EntityRecognizerArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    " - } - }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " - } - }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", - "traits": { - "smithy.api#documentation": "

    The output data configuration that you supplied when you created the entities detection\n job.

    " - } - }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", - "traits": { - "smithy.api#documentation": "

    A description of the status of a job.

    " - } - }, "JobName": { "target": "com.amazonaws.comprehend#JobName", "traits": { @@ -3041,6 +3060,12 @@ "smithy.api#documentation": "

    The current status of the entities detection job. If the status is FAILED,\n the Message field shows the reason for the failure.

    " } }, + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", + "traits": { + "smithy.api#documentation": "

    A description of the status of a job.

    " + } + }, "SubmitTime": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { @@ -3053,12 +3078,48 @@ "smithy.api#documentation": "

    The time that the entities detection job completed

    " } }, + "EntityRecognizerArn": { + "target": "com.amazonaws.comprehend#EntityRecognizerArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    " + } + }, "InputDataConfig": { "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { "smithy.api#documentation": "

    The input data configuration that you supplied when you created the entities detection\n job.

    " } - } + }, + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", + "traits": { + "smithy.api#documentation": "

    The output data configuration that you supplied when you created the entities detection\n job.

    " + } + }, + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", + "traits": { + "smithy.api#documentation": "

    The language code of the input documents.

    " + } + }, + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " + } + }, + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", + "traits": { + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your entity detection job. For more information, see Amazon\n VPC.

    " + } + } }, "traits": { "smithy.api#documentation": "

    Provides information about an entities detection job.

    " @@ -3073,16 +3134,10 @@ "com.amazonaws.comprehend#Entity": { "type": "structure", "members": { - "EndOffset": { - "target": "com.amazonaws.comprehend#Integer", - "traits": { - "smithy.api#documentation": "

    A character offset in the input text that shows where the entity ends. The offset\n returns the position of each UTF-8 code point in the string. A code point\n is the abstract character from a particular graphical representation. For example, a\n multi-byte UTF-8 character maps to a single code point.

    " - } - }, - "Text": { - "target": "com.amazonaws.comprehend#String", + "Score": { + "target": "com.amazonaws.comprehend#Float", "traits": { - "smithy.api#documentation": "

    The text of the entity.

    " + "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " } }, "Type": { @@ -3091,10 +3146,10 @@ "smithy.api#documentation": "

    The entity's type.

    " } }, - "Score": { - "target": "com.amazonaws.comprehend#Float", + "Text": { + "target": "com.amazonaws.comprehend#String", "traits": { - "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " + "smithy.api#documentation": "

    The text of the entity.

    " } }, "BeginOffset": { @@ -3102,6 +3157,12 @@ "traits": { "smithy.api#documentation": "

    A character offset in the input text that shows where the entity begins (the first\n character is at position 0). The offset returns the position of each UTF-8 code point in the\n string. A code point is the abstract character from a particular\n graphical representation. For example, a multi-byte UTF-8 character maps to a single code\n point.

    " } + }, + "EndOffset": { + "target": "com.amazonaws.comprehend#Integer", + "traits": { + "smithy.api#documentation": "

    A character offset in the input text that shows where the entity ends. The offset\n returns the position of each UTF-8 code point in the string. A code point\n is the abstract character from a particular graphical representation. For example, a\n multi-byte UTF-8 character maps to a single code point.

    " + } } }, "traits": { @@ -3197,22 +3258,22 @@ "com.amazonaws.comprehend#EntityRecognizerEvaluationMetrics": { "type": "structure", "members": { - "Recall": { + "Precision": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how complete the recognizer results are for the test data. High recall means\n that the recognizer returned most of the relevant results.

    " + "smithy.api#documentation": "

    A measure of the usefulness of the recognizer results in the test data. High precision\n means that the recognizer returned substantially more relevant results than irrelevant ones.\n

    " } }, - "F1Score": { + "Recall": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how accurate the recognizer results are for the test data. It is derived from\n the Precision and Recall values. The F1Score is the\n harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    " + "smithy.api#documentation": "

    A measure of how complete the recognizer results are for the test data. High recall means\n that the recognizer returned most of the relevant results.

    " } }, - "Precision": { + "F1Score": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of the usefulness of the recognizer results in the test data. High precision\n means that the recognizer returned substantially more relevant results than irrelevant ones.\n

    " + "smithy.api#documentation": "

    A measure of how accurate the recognizer results are for the test data. It is derived from\n the Precision and Recall values. The F1Score is the\n harmonic average of the two scores. The highest score is 1, and the worst score is 0.

    " } } }, @@ -3223,18 +3284,18 @@ "com.amazonaws.comprehend#EntityRecognizerFilter": { "type": "structure", "members": { - "SubmitTimeBefore": { - "target": "com.amazonaws.comprehend#Timestamp", - "traits": { - "smithy.api#documentation": "

    Filters the list of entities based on the time that the list was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in descending order,\n newest to oldest.

    " - } - }, "Status": { "target": "com.amazonaws.comprehend#ModelStatus", "traits": { "smithy.api#documentation": "

    The status of an entity recognizer.

    " } }, + "SubmitTimeBefore": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters the list of entities based on the time that the list was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in descending order,\n newest to oldest.

    " + } + }, "SubmitTimeAfter": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { @@ -3249,10 +3310,10 @@ "com.amazonaws.comprehend#EntityRecognizerInputDataConfig": { "type": "structure", "members": { - "Annotations": { - "target": "com.amazonaws.comprehend#EntityRecognizerAnnotations", + "DataFormat": { + "target": "com.amazonaws.comprehend#EntityRecognizerDataFormat", "traits": { - "smithy.api#documentation": "

    The S3 location of the CSV file that annotates your training documents.

    " + "smithy.api#documentation": "

    The format of your training data:

    \n
      \n
    • \n

      \n COMPREHEND_CSV: A CSV file that supplements your training documents. The\n CSV file contains information about the custom entities that your trained model will\n detect. The required format of the file depends on whether you are providing annotations\n or an entity list.

      \n

      If you use this value, you must provide your CSV file by using either the\n Annotations or EntityList parameters. You must provide your\n training documents by using the Documents parameter.

      \n
    • \n
    • \n

      \n AUGMENTED_MANIFEST: A labeled dataset that is produced by Amazon\n SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON\n object that contains a training document and its labels. Each label annotates a named\n entity in the training document.

      \n

      If you use this value, you must provide the AugmentedManifests parameter\n in your request.

      \n
    • \n
    \n

    If you don't specify a value, Amazon Comprehend uses COMPREHEND_CSV as the\n default.

    " } }, "EntityTypes": { @@ -3262,28 +3323,28 @@ "smithy.api#required": {} } }, - "AugmentedManifests": { - "target": "com.amazonaws.comprehend#EntityRecognizerAugmentedManifestsList", + "Documents": { + "target": "com.amazonaws.comprehend#EntityRecognizerDocuments", "traits": { - "smithy.api#documentation": "

    A list of augmented manifest files that provide training data for your custom model. An\n augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground\n Truth.

    \n

    This parameter is required if you set DataFormat to\n AUGMENTED_MANIFEST.

    " + "smithy.api#documentation": "

    The S3 location of the folder that contains the training documents for your custom entity\n recognizer.

    \n

    This parameter is required if you set DataFormat to\n COMPREHEND_CSV.

    " } }, - "EntityList": { - "target": "com.amazonaws.comprehend#EntityRecognizerEntityList", + "Annotations": { + "target": "com.amazonaws.comprehend#EntityRecognizerAnnotations", "traits": { - "smithy.api#documentation": "

    The S3 location of the CSV file that has the entity list for your custom entity\n recognizer.

    " + "smithy.api#documentation": "

    The S3 location of the CSV file that annotates your training documents.

    " } }, - "DataFormat": { - "target": "com.amazonaws.comprehend#EntityRecognizerDataFormat", + "EntityList": { + "target": "com.amazonaws.comprehend#EntityRecognizerEntityList", "traits": { - "smithy.api#documentation": "

    The format of your training data:

    \n
      \n
    • \n

      \n COMPREHEND_CSV: A CSV file that supplements your training documents. The\n CSV file contains information about the custom entities that your trained model will\n detect. The required format of the file depends on whether you are providing annotations\n or an entity list.

      \n

      If you use this value, you must provide your CSV file by using either the\n Annotations or EntityList parameters. You must provide your\n training documents by using the Documents parameter.

      \n
    • \n
    • \n

      \n AUGMENTED_MANIFEST: A labeled dataset that is produced by Amazon\n SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON\n object that contains a training document and its labels. Each label annotates a named\n entity in the training document.

      \n

      If you use this value, you must provide the AugmentedManifests parameter\n in your request.

      \n
    • \n
    \n

    If you don't specify a value, Amazon Comprehend uses COMPREHEND_CSV as the\n default.

    " + "smithy.api#documentation": "

    The S3 location of the CSV file that has the entity list for your custom entity\n recognizer.

    " } }, - "Documents": { - "target": "com.amazonaws.comprehend#EntityRecognizerDocuments", + "AugmentedManifests": { + "target": "com.amazonaws.comprehend#EntityRecognizerAugmentedManifestsList", "traits": { - "smithy.api#documentation": "

    The S3 location of the folder that contains the training documents for your custom entity\n recognizer.

    \n

    This parameter is required if you set DataFormat to\n COMPREHEND_CSV.

    " + "smithy.api#documentation": "

    A list of augmented manifest files that provide training data for your custom model. An\n augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground\n Truth.

    \n

    This parameter is required if you set DataFormat to\n AUGMENTED_MANIFEST.

    " } } }, @@ -3294,16 +3355,10 @@ "com.amazonaws.comprehend#EntityRecognizerMetadata": { "type": "structure", "members": { - "EntityTypes": { - "target": "com.amazonaws.comprehend#EntityRecognizerMetadataEntityTypesList", - "traits": { - "smithy.api#documentation": "

    Entity types from the metadata of an entity recognizer.

    " - } - }, - "EvaluationMetrics": { - "target": "com.amazonaws.comprehend#EntityRecognizerEvaluationMetrics", + "NumberOfTrainedDocuments": { + "target": "com.amazonaws.comprehend#Integer", "traits": { - "smithy.api#documentation": "

    Detailed information about the accuracy of an entity recognizer.

    " + "smithy.api#documentation": "

    The number of documents in the input data that were used to train the entity recognizer.\n Typically this is 80 to 90 percent of the input documents.

    " } }, "NumberOfTestDocuments": { @@ -3312,10 +3367,16 @@ "smithy.api#documentation": "

    The number of documents in the input data that were used to test the entity recognizer.\n Typically this is 10 to 20 percent of the input documents.

    " } }, - "NumberOfTrainedDocuments": { - "target": "com.amazonaws.comprehend#Integer", + "EvaluationMetrics": { + "target": "com.amazonaws.comprehend#EntityRecognizerEvaluationMetrics", "traits": { - "smithy.api#documentation": "

    The number of documents in the input data that were used to train the entity recognizer.\n Typically this is 80 to 90 percent of the input documents.

    " + "smithy.api#documentation": "

    Detailed information about the accuracy of an entity recognizer.

    " + } + }, + "EntityTypes": { + "target": "com.amazonaws.comprehend#EntityRecognizerMetadataEntityTypesList", + "traits": { + "smithy.api#documentation": "

    Entity types from the metadata of an entity recognizer.

    " } } }, @@ -3333,10 +3394,10 @@ "com.amazonaws.comprehend#EntityRecognizerMetadataEntityTypesListItem": { "type": "structure", "members": { - "NumberOfTrainMentions": { - "target": "com.amazonaws.comprehend#Integer", + "Type": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    Indicates the number of times the given entity type was seen in the training data.

    " + "smithy.api#documentation": "

    Type of entity from the list of entity types in the metadata of an entity recognizer.\n

    " } }, "EvaluationMetrics": { @@ -3345,10 +3406,10 @@ "smithy.api#documentation": "

    Detailed information about the accuracy of the entity recognizer for a specific item on\n the list of entity types.

    " } }, - "Type": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "NumberOfTrainMentions": { + "target": "com.amazonaws.comprehend#Integer", "traits": { - "smithy.api#documentation": "

    Type of entity from the list of entity types in the metadata of an entity recognizer.\n

    " + "smithy.api#documentation": "

    Indicates the number of times the given entity type was seen in the training data.

    " } } }, @@ -3359,40 +3420,46 @@ "com.amazonaws.comprehend#EntityRecognizerProperties": { "type": "structure", "members": { - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " - } - }, "EntityRecognizerArn": { "target": "com.amazonaws.comprehend#EntityRecognizerArn", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

    " } }, + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", + "traits": { + "smithy.api#documentation": "

    The language of the input documents. All documents must be in the same language. Only\n English (\"en\") is currently supported.

    " + } + }, + "Status": { + "target": "com.amazonaws.comprehend#ModelStatus", + "traits": { + "smithy.api#documentation": "

    Provides the status of the entity recognizer.

    " + } + }, "Message": { "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { "smithy.api#documentation": "

    A description of the status of the recognizer.

    " } }, - "RecognizerMetadata": { - "target": "com.amazonaws.comprehend#EntityRecognizerMetadata", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Provides information about an entity recognizer.

    " + "smithy.api#documentation": "

    The time that the recognizer was submitted for processing.

    " } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The language of the input documents. All documents must be in the same language. Only\n English (\"en\") is currently supported.

    " + "smithy.api#documentation": "

    The time that the recognizer creation completed.

    " } }, - "EndTime": { + "TrainingStartTime": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The time that the recognizer creation completed.

    " + "smithy.api#documentation": "

    The time that training of the entity recognizer started.

    " } }, "TrainingEndTime": { @@ -3407,16 +3474,10 @@ "smithy.api#documentation": "

    The input data properties of an entity recognizer.

    " } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", - "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your custom entity recognizer. For more information, see Amazon\n VPC.

    " - } - }, - "SubmitTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "RecognizerMetadata": { + "target": "com.amazonaws.comprehend#EntityRecognizerMetadata", "traits": { - "smithy.api#documentation": "

    The time that the recognizer was submitted for processing.

    " + "smithy.api#documentation": "

    Provides information about an entity recognizer.

    " } }, "DataAccessRoleArn": { @@ -3425,16 +3486,16 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your input data.

    " } }, - "TrainingStartTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The time that training of the entity recognizer started.

    " + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, - "Status": { - "target": "com.amazonaws.comprehend#ModelStatus", + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", "traits": { - "smithy.api#documentation": "

    Provides the status of the entity recognizer.

    " + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your custom entity recognizer. For more information, see Amazon\n VPC.

    " } } }, @@ -3504,22 +3565,22 @@ "com.amazonaws.comprehend#EntityTypesEvaluationMetrics": { "type": "structure", "members": { - "Recall": { + "Precision": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how complete the recognizer results are for a specific entity type in the\n test data. High recall means that the recognizer returned most of the relevant results.

    " + "smithy.api#documentation": "

    A measure of the usefulness of the recognizer results for a specific entity type in the\n test data. High precision means that the recognizer returned substantially more relevant\n results than irrelevant ones.

    " } }, - "F1Score": { + "Recall": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of how accurate the recognizer results are for for a specific entity type in the\n test data. It is derived from the Precision and Recall values. The\n F1Score is the harmonic average of the two scores. The highest score is 1, and\n the worst score is 0.

    " + "smithy.api#documentation": "

    A measure of how complete the recognizer results are for a specific entity type in the\n test data. High recall means that the recognizer returned most of the relevant results.

    " } }, - "Precision": { + "F1Score": { "target": "com.amazonaws.comprehend#Double", "traits": { - "smithy.api#documentation": "

    A measure of the usefulness of the recognizer results for a specific entity type in the\n test data. High precision means that the recognizer returned substantially more relevant\n results than irrelevant ones.

    " + "smithy.api#documentation": "

    A measure of how accurate the recognizer results are for a specific entity type in the\n test data. It is derived from the Precision and Recall values. The\n F1Score is the harmonic average of the two scores. The highest score is 1, and\n the worst score is 0.

    " } } }, @@ -3548,55 +3609,177 @@ "smithy.api#documentation": "

    An entity type within a labeled training dataset that Amazon Comprehend uses to train a\n custom entity recognizer.

    " } }, - "com.amazonaws.comprehend#Float": { - "type": "float", - "traits": { - "smithy.api#box": {} - } - }, - "com.amazonaws.comprehend#IamRoleArn": { + "com.amazonaws.comprehend#EventTypeString": { "type": "string", "traits": { "smithy.api#length": { - "min": 20, - "max": 2048 + "min": 1, + "max": 40 }, - "smithy.api#pattern": "arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" - } - }, - "com.amazonaws.comprehend#InferenceUnitsInteger": { - "type": "integer", - "traits": { - "smithy.api#box": {}, - "smithy.api#range": { - "min": 1 - } + "smithy.api#pattern": "[A-Z_]*" } }, - "com.amazonaws.comprehend#InputDataConfig": { + "com.amazonaws.comprehend#EventsDetectionJobFilter": { "type": "structure", "members": { - "S3Uri": { - "target": "com.amazonaws.comprehend#S3Uri", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The Amazon S3 URI for the input data. The URI must be in same region as the API\n endpoint that you are calling. The URI can point to a single input file or it can provide the\n prefix for a collection of data files.

    \n

    For example, if you use the URI S3://bucketName/prefix, if the prefix is a\n single file, Amazon Comprehend uses that file as input. If more than one file begins with the\n prefix, Amazon Comprehend uses all of them as input.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Filters on the name of the events detection job.

    " } }, - "InputFormat": { - "target": "com.amazonaws.comprehend#InputFormat", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    Specifies how the text in an input file should be processed:

    \n
      \n
    • \n

      \n ONE_DOC_PER_FILE - Each file is considered a separate document. Use\n this option when you are processing large documents, such as newspaper articles or\n scientific papers.

      \n
    • \n
    • \n

      \n ONE_DOC_PER_LINE - Each line in a file is considered a separate\n document. Use this option when you are processing many short documents, such as text\n messages.

      \n
    • \n
    " + "smithy.api#documentation": "

    Filters the list of jobs based on job status. Returns only jobs with the specified\n status.

    " } - } - }, - "traits": { - "smithy.api#documentation": "

    The input properties for a topic detection job.

    " - } - }, - "com.amazonaws.comprehend#InputFormat": { - "type": "string", - "traits": { + }, + "SubmitTimeBefore": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " + } + }, + "SubmitTimeAfter": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Provides information for filtering a list of event detection jobs.

    " + } + }, + "com.amazonaws.comprehend#EventsDetectionJobProperties": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.comprehend#JobId", + "traits": { + "smithy.api#documentation": "

    The identifier assigned to the events detection job.

    " + } + }, + "JobName": { + "target": "com.amazonaws.comprehend#JobName", + "traits": { + "smithy.api#documentation": "

    The name you assigned the events detection job.

    " + } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the events detection job.

    " + } + }, + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", + "traits": { + "smithy.api#documentation": "

    A description of the status of the events detection job.

    " + } + }, + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time that the events detection job was submitted for processing.

    " + } + }, + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time that the events detection job completed.

    " + } + }, + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", + "traits": { + "smithy.api#documentation": "

    The input data configuration that you supplied when you created the events detection job.

    " + } + }, + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", + "traits": { + "smithy.api#documentation": "

    The output data configuration that you supplied when you created the events detection job.

    " + } + }, + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", + "traits": { + "smithy.api#documentation": "

    The language code of the input documents.

    " + } + }, + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identify and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

    " + } + }, + "TargetEventTypes": { + "target": "com.amazonaws.comprehend#TargetEventTypes", + "traits": { + "smithy.api#documentation": "

    The types of events that are detected by the job.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Provides information about an events detection job.

    " + } + }, + "com.amazonaws.comprehend#EventsDetectionJobPropertiesList": { + "type": "list", + "member": { + "target": "com.amazonaws.comprehend#EventsDetectionJobProperties" + } + }, + "com.amazonaws.comprehend#Float": { + "type": "float", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.comprehend#IamRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" + } + }, + "com.amazonaws.comprehend#InferenceUnitsInteger": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.comprehend#InputDataConfig": { + "type": "structure", + "members": { + "S3Uri": { + "target": "com.amazonaws.comprehend#S3Uri", + "traits": { + "smithy.api#documentation": "

    The Amazon S3 URI for the input data. The URI must be in same region as the API\n endpoint that you are calling. The URI can point to a single input file or it can provide the\n prefix for a collection of data files.

    \n

    For example, if you use the URI S3://bucketName/prefix, if the prefix is a\n single file, Amazon Comprehend uses that file as input. If more than one file begins with the\n prefix, Amazon Comprehend uses all of them as input.

    ", + "smithy.api#required": {} + } + }, + "InputFormat": { + "target": "com.amazonaws.comprehend#InputFormat", + "traits": { + "smithy.api#documentation": "

    Specifies how the text in an input file should be processed:

    \n
      \n
    • \n

      \n ONE_DOC_PER_FILE - Each file is considered a separate document. Use\n this option when you are processing large documents, such as newspaper articles or\n scientific papers.

      \n
    • \n
    • \n

      \n ONE_DOC_PER_LINE - Each line in a file is considered a separate\n document. Use this option when you are processing many short documents, such as text\n messages.

      \n
    • \n
    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The input properties for a topic detection job.

    " + } + }, + "com.amazonaws.comprehend#InputFormat": { + "type": "string", + "traits": { "smithy.api#enum": [ { "value": "ONE_DOC_PER_FILE", @@ -3721,16 +3904,10 @@ "com.amazonaws.comprehend#KeyPhrase": { "type": "structure", "members": { - "EndOffset": { - "target": "com.amazonaws.comprehend#Integer", - "traits": { - "smithy.api#documentation": "

    A character offset in the input text where the key phrase ends. The offset returns the\n position of each UTF-8 code point in the string. A code point is the abstract\n character from a particular graphical representation. For example, a multi-byte UTF-8\n character maps to a single code point.

    " - } - }, - "BeginOffset": { - "target": "com.amazonaws.comprehend#Integer", + "Score": { + "target": "com.amazonaws.comprehend#Float", "traits": { - "smithy.api#documentation": "

    A character offset in the input text that shows where the key phrase begins (the first\n character is at position 0). The offset returns the position of each UTF-8 code point in the\n string. A code point is the abstract character from a particular\n graphical representation. For example, a multi-byte UTF-8 character maps to a single code\n point.

    " + "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " } }, "Text": { @@ -3739,10 +3916,16 @@ "smithy.api#documentation": "

    The text of a key noun phrase.

    " } }, - "Score": { - "target": "com.amazonaws.comprehend#Float", + "BeginOffset": { + "target": "com.amazonaws.comprehend#Integer", "traits": { - "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " + "smithy.api#documentation": "

    A character offset in the input text that shows where the key phrase begins (the first\n character is at position 0). The offset returns the position of each UTF-8 code point in the\n string. A code point is the abstract character from a particular\n graphical representation. For example, a multi-byte UTF-8 character maps to a single code\n point.

    " + } + }, + "EndOffset": { + "target": "com.amazonaws.comprehend#Integer", + "traits": { + "smithy.api#documentation": "

    A character offset in the input text where the key phrase ends. The offset returns the\n position of each UTF-8 code point in the string. A code point is the abstract\n character from a particular graphical representation. For example, a multi-byte UTF-8\n character maps to a single code point.

    " } } }, @@ -3753,6 +3936,12 @@ "com.amazonaws.comprehend#KeyPhrasesDetectionJobFilter": { "type": "structure", "members": { + "JobName": { + "target": "com.amazonaws.comprehend#JobName", + "traits": { + "smithy.api#documentation": "

    Filters on the name of the job.

    " + } + }, "JobStatus": { "target": "com.amazonaws.comprehend#JobStatus", "traits": { @@ -3765,12 +3954,6 @@ "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", - "traits": { - "smithy.api#documentation": "

    Filters on the name of the job.

    " - } - }, "SubmitTimeAfter": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { @@ -3785,22 +3968,16 @@ "com.amazonaws.comprehend#KeyPhrasesDetectionJobProperties": { "type": "structure", "members": { - "EndTime": { - "target": "com.amazonaws.comprehend#Timestamp", - "traits": { - "smithy.api#documentation": "

    The time that the key phrases detection job completed.

    " - } - }, - "SubmitTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The time that the key phrases detection job was submitted for processing.

    " + "smithy.api#documentation": "

    The identifier assigned to the key phrases detection job.

    " } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The name that you assigned the key phrases detection job.

    " } }, "JobStatus": { @@ -3809,28 +3986,28 @@ "smithy.api#documentation": "

    The current status of the key phrases detection job. If the status is FAILED,\n the Message field shows the reason for the failure.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " + "smithy.api#documentation": "

    A description of the status of a job.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The input data configuration that you supplied when you created the key phrases detection\n job.

    " + "smithy.api#documentation": "

    The time that the key phrases detection job was submitted for processing.

    " } }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    A description of the status of a job.

    " + "smithy.api#documentation": "

    The time that the key phrases detection job completed.

    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The identifier assigned to the key phrases detection job.

    " + "smithy.api#documentation": "

    The input data configuration that you supplied when you created the key phrases detection\n job.

    " } }, "OutputDataConfig": { @@ -3839,22 +4016,28 @@ "smithy.api#documentation": "

    The output data configuration that you supplied when you created the key phrases detection\n job.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    The name that you assigned the key phrases detection job.

    " + "smithy.api#documentation": "

    The language code of the input documents.

    " } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your key phrases detection job. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The language code of the input documents.

    " + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your key phrases detection job. For more information, see Amazon\n VPC.

    " } } }, @@ -4060,18 +4243,18 @@ "com.amazonaws.comprehend#ListDocumentClassifiersRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "Filter": { "target": "com.amazonaws.comprehend#DocumentClassifierFilter", "traits": { "smithy.api#documentation": "

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date\n and time that they were submitted. You can only set one filter at a time.

    " } }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } + }, "MaxResults": { "target": "com.amazonaws.comprehend#MaxResultsInteger", "traits": { @@ -4131,18 +4314,18 @@ "com.amazonaws.comprehend#ListDominantLanguageDetectionJobsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "Filter": { "target": "com.amazonaws.comprehend#DominantLanguageDetectionJobFilter", "traits": { "smithy.api#documentation": "

    Filters that jobs that are returned. You can filter jobs on their name, status, or the\n date and time that they were submitted. You can only set one filter at a time.

    " } }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } + }, "MaxResults": { "target": "com.amazonaws.comprehend#MaxResultsInteger", "traits": { @@ -4154,17 +4337,17 @@ "com.amazonaws.comprehend#ListDominantLanguageDetectionJobsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "DominantLanguageDetectionJobPropertiesList": { "target": "com.amazonaws.comprehend#DominantLanguageDetectionJobPropertiesList", "traits": { "smithy.api#documentation": "

    A list containing the properties of each job that is returned.

    " } + }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } } } }, @@ -4194,10 +4377,10 @@ "com.amazonaws.comprehend#ListEndpointsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.comprehend#MaxResultsInteger", + "Filter": { + "target": "com.amazonaws.comprehend#EndpointFilter", "traits": { - "smithy.api#documentation": "

    The maximum number of results to return in each page. The default is 100.

    " + "smithy.api#documentation": "

    Filters the endpoints that are returned. You can filter endpoints on their name, model,\n status, or the date and time that they were created. You can only set one filter at a time.\n

    " } }, "NextToken": { @@ -4206,10 +4389,10 @@ "smithy.api#documentation": "

    Identifies the next page of results to return.

    " } }, - "Filter": { - "target": "com.amazonaws.comprehend#EndpointFilter", + "MaxResults": { + "target": "com.amazonaws.comprehend#MaxResultsInteger", "traits": { - "smithy.api#documentation": "

    Filters the endpoints that are returned. You can filter endpoints on their name, model,\n status, or the date and time that they were created. You can only set one filter at a time.\n

    " + "smithy.api#documentation": "

    The maximum number of results to return in each page. The default is 100.

    " } } } @@ -4265,18 +4448,18 @@ "com.amazonaws.comprehend#ListEntitiesDetectionJobsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "Filter": { "target": "com.amazonaws.comprehend#EntitiesDetectionJobFilter", "traits": { "smithy.api#documentation": "

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date\n and time that they were submitted. You can only set one filter at a time.

    " } }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } + }, "MaxResults": { "target": "com.amazonaws.comprehend#MaxResultsInteger", "traits": { @@ -4373,13 +4556,13 @@ } } }, - "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobs": { + "com.amazonaws.comprehend#ListEventsDetectionJobs": { "type": "operation", "input": { - "target": "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobsRequest" + "target": "com.amazonaws.comprehend#ListEventsDetectionJobsRequest" }, "output": { - "target": "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobsResponse" + "target": "com.amazonaws.comprehend#ListEventsDetectionJobsResponse" }, "errors": [ { @@ -4396,7 +4579,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Get a list of key phrase detection jobs that you have submitted.

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

    Gets a list of the events detection jobs that you have submitted.

    ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4404,21 +4587,92 @@ } } }, - "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobsRequest": { + "com.amazonaws.comprehend#ListEventsDetectionJobsRequest": { + "type": "structure", + "members": { + "Filter": { + "target": "com.amazonaws.comprehend#EventsDetectionJobFilter", + "traits": { + "smithy.api#documentation": "

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date\n and time that they were submitted. You can only set one filter at a time.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } + }, + "MaxResults": { + "target": "com.amazonaws.comprehend#MaxResultsInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return in each page.

    " + } + } + } + }, + "com.amazonaws.comprehend#ListEventsDetectionJobsResponse": { "type": "structure", "members": { + "EventsDetectionJobPropertiesList": { + "target": "com.amazonaws.comprehend#EventsDetectionJobPropertiesList", + "traits": { + "smithy.api#documentation": "

    A list containing the properties of each job that is returned.

    " + } + }, "NextToken": { "target": "com.amazonaws.comprehend#String", "traits": { "smithy.api#documentation": "

    Identifies the next page of results to return.

    " } + } + } + }, + "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobsRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" }, + { + "target": "com.amazonaws.comprehend#InvalidFilterException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Get a list of key phrase detection jobs that you have submitted.

    ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.comprehend#ListKeyPhrasesDetectionJobsRequest": { + "type": "structure", + "members": { "Filter": { "target": "com.amazonaws.comprehend#KeyPhrasesDetectionJobFilter", "traits": { "smithy.api#documentation": "

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date\n and time that they were submitted. You can only set one filter at a time.

    " } }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } + }, "MaxResults": { "target": "com.amazonaws.comprehend#MaxResultsInteger", "traits": { @@ -4551,18 +4805,18 @@ "com.amazonaws.comprehend#ListPiiEntitiesDetectionJobsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "Filter": { "target": "com.amazonaws.comprehend#PiiEntitiesDetectionJobFilter", "traits": { "smithy.api#documentation": "

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date\n and time that they were submitted. You can only set one filter at a time.

    " } }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } + }, "MaxResults": { "target": "com.amazonaws.comprehend#MaxResultsInteger", "traits": { @@ -4574,17 +4828,17 @@ "com.amazonaws.comprehend#ListPiiEntitiesDetectionJobsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "PiiEntitiesDetectionJobPropertiesList": { "target": "com.amazonaws.comprehend#PiiEntitiesDetectionJobPropertiesList", "traits": { "smithy.api#documentation": "

    A list containing the properties of each job that is returned.

    " } + }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } } } }, @@ -4622,12 +4876,6 @@ "com.amazonaws.comprehend#ListSentimentDetectionJobsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.comprehend#MaxResultsInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to return in each page. The default is 100.

    " - } - }, "Filter": { "target": "com.amazonaws.comprehend#SentimentDetectionJobFilter", "traits": { @@ -4639,23 +4887,29 @@ "traits": { "smithy.api#documentation": "

    Identifies the next page of results to return.

    " } + }, + "MaxResults": { + "target": "com.amazonaws.comprehend#MaxResultsInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return in each page. The default is 100.

    " + } } } }, "com.amazonaws.comprehend#ListSentimentDetectionJobsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.comprehend#String", - "traits": { - "smithy.api#documentation": "

    Identifies the next page of results to return.

    " - } - }, "SentimentDetectionJobPropertiesList": { "target": "com.amazonaws.comprehend#SentimentDetectionJobPropertiesList", "traits": { "smithy.api#documentation": "

    A list containing the properties of each job that is returned.

    " } + }, + "NextToken": { + "target": "com.amazonaws.comprehend#String", + "traits": { + "smithy.api#documentation": "

    Identifies the next page of results to return.

    " + } } } }, @@ -4697,17 +4951,17 @@ "com.amazonaws.comprehend#ListTagsForResourceResponse": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.comprehend#TagList", - "traits": { - "smithy.api#documentation": "

    Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value\n pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with\n \"Sales\" as the key might be added to a resource to indicate its use by the sales department.\n

    " - } - }, "ResourceArn": { "target": "com.amazonaws.comprehend#ComprehendArn", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are\n querying.

    " } + }, + "Tags": { + "target": "com.amazonaws.comprehend#TagList", + "traits": { + "smithy.api#documentation": "

    Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value\n pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with\n \"Sales\" as the key might be added to a resource to indicate its use by the sales department.\n

    " + } } } }, @@ -4745,6 +4999,12 @@ "com.amazonaws.comprehend#ListTopicsDetectionJobsRequest": { "type": "structure", "members": { + "Filter": { + "target": "com.amazonaws.comprehend#TopicsDetectionJobFilter", + "traits": { + "smithy.api#documentation": "

    Filters the jobs that are returned. Jobs can be filtered on their name, status, or the\n date and time that they were submitted. You can set only one filter at a time.

    " + } + }, "NextToken": { "target": "com.amazonaws.comprehend#String", "traits": { @@ -4756,12 +5016,6 @@ "traits": { "smithy.api#documentation": "

    The maximum number of results to return in each page. The default is 100.

    " } - }, - "Filter": { - "target": "com.amazonaws.comprehend#TopicsDetectionJobFilter", - "traits": { - "smithy.api#documentation": "

    Filters the jobs that are returned. Jobs can be filtered on their name, status, or the\n date and time that they were submitted. You can set only one filter at a time.

    " - } } } }, @@ -4850,18 +5104,18 @@ "com.amazonaws.comprehend#OutputDataConfig": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the\n output results from an analysis job. The KmsKeyId can be one of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      KMS Key Alias: \"alias/ExampleAlias\"\n

      \n
    • \n
    • \n

      ARN of a KMS Key Alias:\n \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"\n

      \n
    • \n
    " - } - }, "S3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { "smithy.api#documentation": "

    When you use the OutputDataConfig object with asynchronous operations, you\n specify the Amazon S3 location where you want to write the output data. The URI must be in the\n same region as the API endpoint that you are calling. The location is used as the prefix for\n the actual location of the output file.

    \n

    When the topic detection job is finished, the service creates an output file in a\n directory specific to the job. The S3Uri field contains the location of the\n output file, called output.tar.gz. It is a compressed archive that contains the\n ouput of the operation.

    ", "smithy.api#required": {} } + }, + "KmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", + "traits": { + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the\n output results from an analysis job. The KmsKeyId can be one of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      KMS Key Alias: \"alias/ExampleAlias\"\n

      \n
    • \n
    • \n

      ARN of a KMS Key Alias:\n \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"\n

      \n
    • \n
    " + } } }, "traits": { @@ -4871,17 +5125,17 @@ "com.amazonaws.comprehend#PartOfSpeechTag": { "type": "structure", "members": { - "Score": { - "target": "com.amazonaws.comprehend#Float", - "traits": { - "smithy.api#documentation": "

    The confidence that Amazon Comprehend has that the part of speech was correctly\n identified.

    " - } - }, "Tag": { "target": "com.amazonaws.comprehend#PartOfSpeechTagType", "traits": { "smithy.api#documentation": "

    Identifies the part of speech that the token represents.

    " } + }, + "Score": { + "target": "com.amazonaws.comprehend#Float", + "traits": { + "smithy.api#documentation": "

    The confidence that Amazon Comprehend has that the part of speech was correctly\n identified.

    " + } } }, "traits": { @@ -4970,12 +5224,6 @@ "com.amazonaws.comprehend#PiiEntitiesDetectionJobFilter": { "type": "structure", "members": { - "SubmitTimeBefore": { - "target": "com.amazonaws.comprehend#Timestamp", - "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " - } - }, "JobName": { "target": "com.amazonaws.comprehend#JobName", "traits": { @@ -4988,6 +5236,12 @@ "smithy.api#documentation": "

    Filters the list of jobs based on job status. Returns only jobs with the specified\n status.

    " } }, + "SubmitTimeBefore": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted before the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " + } + }, "SubmitTimeAfter": { "target": "com.amazonaws.comprehend#Timestamp", "traits": { @@ -5002,16 +5256,22 @@ "com.amazonaws.comprehend#PiiEntitiesDetectionJobProperties": { "type": "structure", "members": { - "EndTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The time that the PII entities detection job completed.

    " + "smithy.api#documentation": "

    The identifier assigned to the PII entities detection job.

    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#PiiOutputDataConfig", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The output data configuration that you supplied when you created the PII entities\n detection job.

    " + "smithy.api#documentation": "

    The name that you assigned the PII entities detection job.

    " + } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the PII entities detection job. If the status is\n FAILED, the Message field shows the reason for the failure.

    " } }, "Message": { @@ -5020,40 +5280,28 @@ "smithy.api#documentation": "

    A description of the status of a job.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The name that you assigned the PII entities detection job.

    " + "smithy.api#documentation": "

    The time that the PII entities detection job was submitted for processing.

    " } }, - "Mode": { - "target": "com.amazonaws.comprehend#PiiEntitiesDetectionMode", + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Specifies whether the output provides the locations (offsets) of PII entities or a file in\n which PII entities are redacted.

    " + "smithy.api#documentation": "

    The time that the PII entities detection job completed.

    " } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The language code of the input documents

    " + "smithy.api#documentation": "

    The input properties for a PII entities detection job.

    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#PiiOutputDataConfig", "traits": { - "smithy.api#documentation": "

    The identifier assigned to the PII entities detection job.

    " - } - }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " - } - }, - "SubmitTime": { - "target": "com.amazonaws.comprehend#Timestamp", - "traits": { - "smithy.api#documentation": "

    The time that the PII entities detection job was submitted for processing.

    " + "smithy.api#documentation": "

    The output data configuration that you supplied when you created the PII entities\n detection job.

    " } }, "RedactionConfig": { @@ -5062,16 +5310,22 @@ "smithy.api#documentation": "

    Provides configuration parameters for PII entity redaction.

    \n

    This parameter is required if you set the Mode parameter to\n ONLY_REDACTION. In that case, you must provide a RedactionConfig\n definition that includes the PiiEntityTypes parameter.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    The input properties for a PII entities detection job.

    " + "smithy.api#documentation": "

    The language code of the input documents

    " } }, - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    The current status of the PII entities detection job. If the status is\n FAILED, the Message field shows the reason for the failure.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " + } + }, + "Mode": { + "target": "com.amazonaws.comprehend#PiiEntitiesDetectionMode", + "traits": { + "smithy.api#documentation": "

    Specifies whether the output provides the locations (offsets) of PII entities or a file in\n which PII entities are redacted.

    " } } }, @@ -5118,22 +5372,16 @@ "com.amazonaws.comprehend#PiiEntity": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.comprehend#PiiEntityType", - "traits": { - "smithy.api#documentation": "

    The entity's type.

    " - } - }, "Score": { "target": "com.amazonaws.comprehend#Float", "traits": { "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of the\n detection.

    " } }, - "EndOffset": { - "target": "com.amazonaws.comprehend#Integer", + "Type": { + "target": "com.amazonaws.comprehend#PiiEntityType", "traits": { - "smithy.api#documentation": "

    A character offset in the input text that shows where the PII entity ends. The offset\n returns the position of each UTF-8 code point in the string. A code point\n is the abstract character from a particular graphical representation. For example, a\n multi-byte UTF-8 character maps to a single code point.

    " + "smithy.api#documentation": "

    The entity's type.

    " } }, "BeginOffset": { @@ -5141,6 +5389,12 @@ "traits": { "smithy.api#documentation": "

    A character offset in the input text that shows where the PII entity begins (the first\n character is at position 0). The offset returns the position of each UTF-8 code point in the\n string. A code point is the abstract character from a particular\n graphical representation. For example, a multi-byte UTF-8 character maps to a single code\n point.

    " } + }, + "EndOffset": { + "target": "com.amazonaws.comprehend#Integer", + "traits": { + "smithy.api#documentation": "

    A character offset in the input text that shows where the PII entity ends. The offset\n returns the position of each UTF-8 code point in the string. A code point\n is the abstract character from a particular graphical representation. For example, a\n multi-byte UTF-8 character maps to a single code point.

    " + } } }, "traits": { @@ -5249,18 +5503,18 @@ "com.amazonaws.comprehend#PiiOutputDataConfig": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the\n output results from an analysis job.

    " - } - }, "S3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { "smithy.api#documentation": "

    When you use the PiiOutputDataConfig object with asynchronous operations,\n you specify the Amazon S3 location where you want to write the output data.

    ", "smithy.api#required": {} } + }, + "KmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", + "traits": { + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the\n output results from an analysis job.

    " + } } }, "traits": { @@ -5270,18 +5524,18 @@ "com.amazonaws.comprehend#RedactionConfig": { "type": "structure", "members": { - "MaskMode": { - "target": "com.amazonaws.comprehend#PiiEntitiesDetectionMaskMode", - "traits": { - "smithy.api#documentation": "

    Specifies whether the PII entity is redacted with the mask character or the entity\n type.

    " - } - }, "PiiEntityTypes": { "target": "com.amazonaws.comprehend#ListOfPiiEntityTypes", "traits": { "smithy.api#documentation": "

    An array of the types of PII entities that Amazon Comprehend detects in the input text for\n your request.

    " } }, + "MaskMode": { + "target": "com.amazonaws.comprehend#PiiEntitiesDetectionMaskMode", + "traits": { + "smithy.api#documentation": "

    Specifies whether the PII entity is redacted with the mask character or the entity\n type.

    " + } + }, "MaskCharacter": { "target": "com.amazonaws.comprehend#MaskCharacter", "traits": { @@ -5380,6 +5634,12 @@ "com.amazonaws.comprehend#SentimentDetectionJobFilter": { "type": "structure", "members": { + "JobName": { + "target": "com.amazonaws.comprehend#JobName", + "traits": { + "smithy.api#documentation": "

    Filters on the name of the job.

    " + } + }, "JobStatus": { "target": "com.amazonaws.comprehend#JobStatus", "traits": { @@ -5397,12 +5657,6 @@ "traits": { "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Returns only jobs submitted after the specified time. Jobs are returned in descending order,\n newest to oldest.

    " } - }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", - "traits": { - "smithy.api#documentation": "

    Filters on the name of the job.

    " - } } }, "traits": { @@ -5412,28 +5666,34 @@ "com.amazonaws.comprehend#SentimentDetectionJobProperties": { "type": "structure", "members": { - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " + "smithy.api#documentation": "

    The identifier assigned to the sentiment detection job.

    " } }, - "SubmitTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The time that the sentiment detection job was submitted for processing.

    " + "smithy.api#documentation": "

    The name that you assigned to the sentiment detection job

    " } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your sentiment detection job. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    The current status of the sentiment detection job. If the status is FAILED,\n the Messages field shows the reason for the failure.

    " } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    The language code of the input documents.

    " + "smithy.api#documentation": "

    A description of the status of a job.

    " + } + }, + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time that the sentiment detection job was submitted for processing.

    " } }, "EndTime": { @@ -5442,28 +5702,28 @@ "smithy.api#documentation": "

    The time that the sentiment detection job ended.

    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The output data configuration that you supplied when you created the sentiment detection\n job.

    " + "smithy.api#documentation": "

    The input data configuration that you supplied when you created the sentiment detection\n job.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    The name that you assigned to the sentiment detection job

    " + "smithy.api#documentation": "

    The output data configuration that you supplied when you created the sentiment detection\n job.

    " } }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    A description of the status of a job.

    " + "smithy.api#documentation": "

    The language code of the input documents.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    The input data configuration that you supplied when you created the sentiment detection\n job.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input\n data.

    " } }, "VolumeKmsKeyId": { @@ -5472,16 +5732,10 @@ "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", - "traits": { - "smithy.api#documentation": "

    The identifier assigned to the sentiment detection job.

    " - } - }, - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", "traits": { - "smithy.api#documentation": "

    The current status of the sentiment detection job. If the status is FAILED,\n the Messages field shows the reason for the failure.

    " + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your sentiment detection job. For more information, see Amazon\n VPC.

    " } } }, @@ -5498,12 +5752,6 @@ "com.amazonaws.comprehend#SentimentScore": { "type": "structure", "members": { - "Mixed": { - "target": "com.amazonaws.comprehend#Float", - "traits": { - "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of its detection of\n the MIXED sentiment.

    " - } - }, "Positive": { "target": "com.amazonaws.comprehend#Float", "traits": { @@ -5521,6 +5769,12 @@ "traits": { "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of its detection of\n the NEUTRAL sentiment.

    " } + }, + "Mixed": { + "target": "com.amazonaws.comprehend#Float", + "traits": { + "smithy.api#documentation": "

    The level of confidence that Amazon Comprehend has in the accuracy of its detection of\n the MIXED sentiment.

    " + } } }, "traits": { @@ -5585,10 +5839,16 @@ "com.amazonaws.comprehend#StartDocumentClassificationJobRequest": { "type": "structure", "members": { - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

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

    The identifier of the job.

    " + } + }, + "DocumentClassifierArn": { + "target": "com.amazonaws.comprehend#DocumentClassifierArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the document classifier to use to process the\n job.

    ", "smithy.api#required": {} } }, @@ -5599,23 +5859,17 @@ "smithy.api#required": {} } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " - } - }, - "DocumentClassifierArn": { - "target": "com.amazonaws.comprehend#DocumentClassifierArn", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the document classifier to use to process the\n job.

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

    Specifies where to send the output files.

    ", "smithy.api#required": {} } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    Specifies where to send the output files.

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

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

    ", "smithy.api#required": {} } }, @@ -5626,10 +5880,10 @@ "smithy.api#idempotencyToken": {} } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The identifier of the job.

    " + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, "VpcConfig": { @@ -5643,17 +5897,17 @@ "com.amazonaws.comprehend#StartDocumentClassificationJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", - "traits": { - "smithy.api#documentation": "

    The status of the job:

    \n
      \n
    • \n

      SUBMITTED - The job has been received and queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. For details, use the operation.

      \n
    • \n
    • \n

      STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is\n processing the request.

      \n
    • \n
    • \n

      STOPPED - The job was successfully stopped without completing.

      \n
    • \n
    " - } - }, "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { "smithy.api#documentation": "

    The identifier generated for the job. To get the status of the job, use this identifier\n with the operation.

    " } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the job:

    \n
      \n
    • \n

      SUBMITTED - The job has been received and queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. For details, use the operation.

      \n
    • \n
    • \n

      STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is\n processing the request.

      \n
    • \n
    • \n

      STOPPED - The job was successfully stopped without completing.

      \n
    • \n
    " + } } } }, @@ -5686,19 +5940,6 @@ "com.amazonaws.comprehend#StartDominantLanguageDetectionJobRequest": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.comprehend#ClientRequestTokenString", - "traits": { - "smithy.api#documentation": "

    A unique identifier for the request. If you do not set the client request token, Amazon\n Comprehend generates one.

    ", - "smithy.api#idempotencyToken": {} - } - }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " - } - }, "InputDataConfig": { "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { @@ -5706,10 +5947,18 @@ "smithy.api#required": {} } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your dominant language detection job. For more information,\n see Amazon VPC.

    " + "smithy.api#documentation": "

    Specifies where to send the output files.

    ", + "smithy.api#required": {} + } + }, + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    ", + "smithy.api#required": {} } }, "JobName": { @@ -5718,21 +5967,26 @@ "smithy.api#documentation": "

    An identifier for the job.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "ClientRequestToken": { + "target": "com.amazonaws.comprehend#ClientRequestTokenString", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A unique identifier for the request. If you do not set the client request token, Amazon\n Comprehend generates one.

    ", + "smithy.api#idempotencyToken": {} } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    Specifies where to send the output files.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } - } - } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your dominant language detection job. For more information,\n see Amazon VPC.

    " + } + } + } }, "com.amazonaws.comprehend#StartDominantLanguageDetectionJobResponse": { "type": "structure", @@ -5786,18 +6040,18 @@ "com.amazonaws.comprehend#StartEntitiesDetectionJobRequest": { "type": "structure", "members": { - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The language of the input documents. All documents must be in the same language. You can\n specify any of the languages supported by Amazon Comprehend. If custom entities recognition is\n used, this parameter is ignored and the language used for training the model is used\n instead.

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

    Specifies the format and location of the input data for the job.

    ", "smithy.api#required": {} } }, - "ClientRequestToken": { - "target": "com.amazonaws.comprehend#ClientRequestTokenString", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

    Specifies where to send the output files.

    ", + "smithy.api#required": {} } }, "DataAccessRoleArn": { @@ -5807,11 +6061,10 @@ "smithy.api#required": {} } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    Specifies the format and location of the input data for the job.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The identifier of the job.

    " } }, "EntityRecognizerArn": { @@ -5820,12 +6073,87 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used\n by the StartEntitiesDetectionJob. This ARN is optional and is only used for a\n custom entity recognition job.

    " } }, + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", + "traits": { + "smithy.api#documentation": "

    The language of the input documents. All documents must be in the same language. You can\n specify any of the languages supported by Amazon Comprehend. If custom entities recognition is\n used, this parameter is ignored and the language used for training the model is used\n instead.

    ", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.comprehend#ClientRequestTokenString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", + "smithy.api#idempotencyToken": {} + } + }, "VolumeKmsKeyId": { "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your entity detection job. For more information, see Amazon\n VPC.

    " + } + } + } + }, + "com.amazonaws.comprehend#StartEntitiesDetectionJobResponse": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.comprehend#JobId", + "traits": { + "smithy.api#documentation": "

    The identifier generated for the job. To get the status of job, use this identifier with\n the operation.

    " + } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the job.

    \n
      \n
    • \n

      SUBMITTED - The job has been received and is queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. To get details, use the operation.

      \n
    • \n
    • \n

      STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is\n processing the request.

      \n
    • \n
    • \n

      STOPPED - The job was successfully stopped without completing.

      \n
    • \n
    " + } + } + } + }, + "com.amazonaws.comprehend#StartEventsDetectionJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#StartEventsDetectionJobRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#StartEventsDetectionJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#KmsKeyValidationException" + }, + { + "target": "com.amazonaws.comprehend#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Starts an asynchronous event detection job for a collection of documents.

    " + } + }, + "com.amazonaws.comprehend#StartEventsDetectionJobRequest": { + "type": "structure", + "members": { + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", + "traits": { + "smithy.api#documentation": "

    Specifies the format and location of the input data for the job.

    ", + "smithy.api#required": {} + } + }, "OutputDataConfig": { "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { @@ -5833,33 +6161,55 @@ "smithy.api#required": {} } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your entity detection job. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

    ", + "smithy.api#required": {} } }, "JobName": { "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The identifier of the job.

    " + "smithy.api#documentation": "

    The identifier of the events detection job.

    " + } + }, + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", + "traits": { + "smithy.api#documentation": "

    The language code of the input documents.

    ", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.comprehend#ClientRequestTokenString", + "traits": { + "smithy.api#documentation": "

    An unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    ", + "smithy.api#idempotencyToken": {} + } + }, + "TargetEventTypes": { + "target": "com.amazonaws.comprehend#TargetEventTypes", + "traits": { + "smithy.api#documentation": "

    The types of events to detect in the input documents.

    ", + "smithy.api#required": {} } } } }, - "com.amazonaws.comprehend#StartEntitiesDetectionJobResponse": { + "com.amazonaws.comprehend#StartEventsDetectionJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The status of the job.

    \n
      \n
    • \n

      SUBMITTED - The job has been received and is queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. To get details, use the operation.

      \n
    • \n
    • \n

      STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is\n processing the request.

      \n
    • \n
    • \n

      STOPPED - The job was successfully stopped without completing.

      \n
    • \n
    " + "smithy.api#documentation": "

    An unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    The identifier generated for the job. To get the status of job, use this identifier with\n the operation.

    " + "smithy.api#documentation": "

    The status of the events detection job.

    " } } } @@ -5893,12 +6243,6 @@ "com.amazonaws.comprehend#StartKeyPhrasesDetectionJobRequest": { "type": "structure", "members": { - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", - "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " - } - }, "InputDataConfig": { "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { @@ -5906,6 +6250,20 @@ "smithy.api#required": {} } }, + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", + "traits": { + "smithy.api#documentation": "

    Specifies where to send the output files.

    ", + "smithy.api#required": {} + } + }, + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    ", + "smithy.api#required": {} + } + }, "JobName": { "target": "com.amazonaws.comprehend#JobName", "traits": { @@ -5926,24 +6284,16 @@ "smithy.api#idempotencyToken": {} } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", - "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your key phrases detection job. For more information, see\n Amazon\n VPC.

    " - } - }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", "traits": { - "smithy.api#documentation": "

    Specifies where to send the output files.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your key phrases detection job. For more information, see\n Amazon\n VPC.

    " } } } @@ -5951,17 +6301,17 @@ "com.amazonaws.comprehend#StartKeyPhrasesDetectionJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", - "traits": { - "smithy.api#documentation": "

    The status of the job.

    \n
      \n
    • \n

      SUBMITTED - The job has been received and is queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. To get details, use the operation.

      \n
    • \n
    " - } - }, "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { "smithy.api#documentation": "

    The identifier generated for the job. To get the status of a job, use this identifier with\n the operation.

    " } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the job.

    \n
      \n
    • \n

      SUBMITTED - The job has been received and is queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. To get details, use the operation.

      \n
    • \n
    " + } } } }, @@ -5994,24 +6344,17 @@ "com.amazonaws.comprehend#StartPiiEntitiesDetectionJobRequest": { "type": "structure", "members": { - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The language of the input documents.

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

    The input properties for a PII entities detection job.

    ", "smithy.api#required": {} } }, - "ClientRequestToken": { - "target": "com.amazonaws.comprehend#ClientRequestTokenString", - "traits": { - "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", - "smithy.api#idempotencyToken": {} - } - }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

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

    Provides configuration parameters for the output of PII entity detection jobs.

    ", "smithy.api#required": {} } }, @@ -6022,31 +6365,38 @@ "smithy.api#required": {} } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "RedactionConfig": { + "target": "com.amazonaws.comprehend#RedactionConfig", "traits": { - "smithy.api#documentation": "

    The identifier of the job.

    " + "smithy.api#documentation": "

    Provides configuration parameters for PII entity redaction.

    \n

    This parameter is required if you set the Mode parameter to\n ONLY_REDACTION. In that case, you must provide a RedactionConfig\n definition that includes the PiiEntityTypes parameter.

    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    Provides configuration parameters for the output of PII entity detection jobs.

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

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n grants Amazon Comprehend read access to your input data.

    ", "smithy.api#required": {} } }, - "RedactionConfig": { - "target": "com.amazonaws.comprehend#RedactionConfig", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    Provides configuration parameters for PII entity redaction.

    \n

    This parameter is required if you set the Mode parameter to\n ONLY_REDACTION. In that case, you must provide a RedactionConfig\n definition that includes the PiiEntityTypes parameter.

    " + "smithy.api#documentation": "

    The identifier of the job.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    The input properties for a PII entities detection job.

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

    The language of the input documents.

    ", "smithy.api#required": {} } + }, + "ClientRequestToken": { + "target": "com.amazonaws.comprehend#ClientRequestTokenString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the request. If you don't set the client request token, Amazon\n Comprehend generates one.

    ", + "smithy.api#idempotencyToken": {} + } } } }, @@ -6096,19 +6446,6 @@ "com.amazonaws.comprehend#StartSentimentDetectionJobRequest": { "type": "structure", "members": { - "JobName": { - "target": "com.amazonaws.comprehend#JobName", - "traits": { - "smithy.api#documentation": "

    The identifier of the job.

    " - } - }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", - "traits": { - "smithy.api#documentation": "

    Specifies where to send the output files.

    ", - "smithy.api#required": {} - } - }, "InputDataConfig": { "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { @@ -6116,10 +6453,11 @@ "smithy.api#required": {} } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies where to send the output files.

    ", + "smithy.api#required": {} } }, "DataAccessRoleArn": { @@ -6129,10 +6467,17 @@ "smithy.api#required": {} } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", + "traits": { + "smithy.api#documentation": "

    The identifier of the job.

    " + } + }, + "LanguageCode": { + "target": "com.amazonaws.comprehend#LanguageCode", "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your sentiment detection job. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

    ", + "smithy.api#required": {} } }, "ClientRequestToken": { @@ -6142,11 +6487,16 @@ "smithy.api#idempotencyToken": {} } }, - "LanguageCode": { - "target": "com.amazonaws.comprehend#LanguageCode", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The language of the input documents. You can specify any of the primary languages\n supported by Amazon Comprehend. All documents must be in the same language.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + } + }, + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", + "traits": { + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your sentiment detection job. For more information, see Amazon\n VPC.

    " } } } @@ -6197,12 +6547,6 @@ "com.amazonaws.comprehend#StartTopicsDetectionJobRequest": { "type": "structure", "members": { - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", - "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your topic detection job. For more information, see Amazon\n VPC.

    " - } - }, "InputDataConfig": { "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { @@ -6210,16 +6554,24 @@ "smithy.api#required": {} } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    The identifier of the job.

    " + "smithy.api#documentation": "

    Specifies where to send the output files. The output is a compressed archive with two\n files, topic-terms.csv that lists the terms associated with each topic, and\n doc-topics.csv that lists the documents associated with each topic

    ", + "smithy.api#required": {} } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role\n that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    ", + "smithy.api#required": {} + } + }, + "JobName": { + "target": "com.amazonaws.comprehend#JobName", + "traits": { + "smithy.api#documentation": "

    The identifier of the job.

    " } }, "NumberOfTopics": { @@ -6235,18 +6587,16 @@ "smithy.api#idempotencyToken": {} } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role\n that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", "traits": { - "smithy.api#documentation": "

    Specifies where to send the output files. The output is a compressed archive with two\n files, topic-terms.csv that lists the terms associated with each topic, and\n doc-topics.csv that lists the documents associated with each topic

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for your topic detection job. For more information, see Amazon\n VPC.

    " } } } @@ -6254,17 +6604,17 @@ "com.amazonaws.comprehend#StartTopicsDetectionJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", - "traits": { - "smithy.api#documentation": "

    The status of the job:

    \n
      \n
    • \n

      SUBMITTED - The job has been received and is queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is\n available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. To get details, use the\n DescribeTopicDetectionJob operation.

      \n
    • \n
    " - } - }, "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { "smithy.api#documentation": "

    The identifier generated for the job. To get the status of the job, use this identifier\n with the DescribeTopicDetectionJob operation.

    " } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the job:

    \n
      \n
    • \n

      SUBMITTED - The job has been received and is queued for processing.

      \n
    • \n
    • \n

      IN_PROGRESS - Amazon Comprehend is processing the job.

      \n
    • \n
    • \n

      COMPLETED - The job was successfully completed and the output is\n available.

      \n
    • \n
    • \n

      FAILED - The job did not complete. To get details, use the\n DescribeTopicDetectionJob operation.

      \n
    • \n
    " + } } } }, @@ -6358,16 +6708,68 @@ "com.amazonaws.comprehend#StopEntitiesDetectionJobResponse": { "type": "structure", "members": { + "JobId": { + "target": "com.amazonaws.comprehend#JobId", + "traits": { + "smithy.api#documentation": "

    The identifier of the entities detection job to stop.

    " + } + }, "JobStatus": { "target": "com.amazonaws.comprehend#JobStatus", "traits": { "smithy.api#documentation": "

    Either STOP_REQUESTED if the job is currently running, or\n STOPPED if the job was previously stopped with the\n StopEntitiesDetectionJob operation.

    " } + } + } + }, + "com.amazonaws.comprehend#StopEventsDetectionJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#StopEventsDetectionJobRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#StopEventsDetectionJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" }, + { + "target": "com.amazonaws.comprehend#JobNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Stops an events detection job in progress.

    " + } + }, + "com.amazonaws.comprehend#StopEventsDetectionJobRequest": { + "type": "structure", + "members": { "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The identifier of the entities detection job to stop.

    " + "smithy.api#documentation": "

    The identifier of the events detection job to stop.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.comprehend#StopEventsDetectionJobResponse": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.comprehend#JobId", + "traits": { + "smithy.api#documentation": "

    The identifier of the events detection job to stop.

    " + } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the events detection job.

    " } } } @@ -6462,17 +6864,17 @@ "com.amazonaws.comprehend#StopPiiEntitiesDetectionJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", - "traits": { - "smithy.api#documentation": "

    The status of the PII entities detection job.

    " - } - }, "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { "smithy.api#documentation": "

    The identifier of the PII entities detection job to stop.

    " } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the PII entities detection job.

    " + } } } }, @@ -6514,17 +6916,17 @@ "com.amazonaws.comprehend#StopSentimentDetectionJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", - "traits": { - "smithy.api#documentation": "

    Either STOP_REQUESTED if the job is currently running, or\n STOPPED if the job was previously stopped with the\n StopSentimentDetectionJob operation.

    " - } - }, "JobId": { "target": "com.amazonaws.comprehend#JobId", "traits": { "smithy.api#documentation": "

    The identifier of the sentiment detection job to stop.

    " } + }, + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", + "traits": { + "smithy.api#documentation": "

    Either STOP_REQUESTED if the job is currently running, or\n STOPPED if the job was previously stopped with the\n StopSentimentDetectionJob operation.

    " + } } } }, @@ -6676,6 +7078,12 @@ "com.amazonaws.comprehend#SyntaxToken": { "type": "structure", "members": { + "TokenId": { + "target": "com.amazonaws.comprehend#Integer", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a token.

    " + } + }, "Text": { "target": "com.amazonaws.comprehend#String", "traits": { @@ -6688,12 +7096,6 @@ "smithy.api#documentation": "

    The zero-based offset from the beginning of the source text to the first character in the\n word.

    " } }, - "TokenId": { - "target": "com.amazonaws.comprehend#Integer", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a token.

    " - } - }, "EndOffset": { "target": "com.amazonaws.comprehend#Integer", "traits": { @@ -6814,6 +7216,17 @@ } } }, + "com.amazonaws.comprehend#TargetEventTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.comprehend#EventTypeString" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.comprehend#TextSizeLimitExceededException": { "type": "structure", "members": { @@ -6878,10 +7291,10 @@ "smithy.api#documentation": "

    " } }, - "SubmitTimeAfter": { - "target": "com.amazonaws.comprehend#Timestamp", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Only returns jobs submitted after the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " + "smithy.api#documentation": "

    Filters the list of topic detection jobs based on job status. Returns only jobs with\n the specified status.

    " } }, "SubmitTimeBefore": { @@ -6890,10 +7303,10 @@ "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Only returns jobs submitted before the specified time. Jobs are returned in descending order,\n newest to oldest.

    " } }, - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", + "SubmitTimeAfter": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    Filters the list of topic detection jobs based on job status. Returns only jobs with\n the specified status.

    " + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing.\n Only returns jobs submitted after the specified time. Jobs are returned in ascending order,\n oldest to newest.

    " } } }, @@ -6904,76 +7317,76 @@ "com.amazonaws.comprehend#TopicsDetectionJobProperties": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.comprehend#JobStatus", + "JobId": { + "target": "com.amazonaws.comprehend#JobId", "traits": { - "smithy.api#documentation": "

    The current status of the topic detection job. If the status is Failed,\n the reason for the failure is shown in the Message field.

    " + "smithy.api#documentation": "

    The identifier assigned to the topic detection job.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.comprehend#IamRoleArn", + "JobName": { + "target": "com.amazonaws.comprehend#JobName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your job data.

    " + "smithy.api#documentation": "

    The name of the topic detection job.

    " } }, - "VpcConfig": { - "target": "com.amazonaws.comprehend#VpcConfig", + "JobStatus": { + "target": "com.amazonaws.comprehend#JobStatus", "traits": { - "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your topic detection job. For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    The current status of the topic detection job. If the status is Failed,\n the reason for the failure is shown in the Message field.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.comprehend#InputDataConfig", + "Message": { + "target": "com.amazonaws.comprehend#AnyLengthString", "traits": { - "smithy.api#documentation": "

    The input data configuration supplied when you created the topic detection\n job.

    " + "smithy.api#documentation": "

    A description for the status of a job.

    " } }, - "JobId": { - "target": "com.amazonaws.comprehend#JobId", + "SubmitTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The identifier assigned to the topic detection job.

    " + "smithy.api#documentation": "

    The time that the topic detection job was submitted for processing.

    " } }, - "NumberOfTopics": { - "target": "com.amazonaws.comprehend#Integer", + "EndTime": { + "target": "com.amazonaws.comprehend#Timestamp", "traits": { - "smithy.api#documentation": "

    The number of topics to detect supplied when you created the topic detection job. The\n default is 10.

    " + "smithy.api#documentation": "

    The time that the topic detection job was completed.

    " } }, - "VolumeKmsKeyId": { - "target": "com.amazonaws.comprehend#KmsKeyId", + "InputDataConfig": { + "target": "com.amazonaws.comprehend#InputDataConfig", "traits": { - "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The input data configuration supplied when you created the topic detection\n job.

    " } }, - "SubmitTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "OutputDataConfig": { + "target": "com.amazonaws.comprehend#OutputDataConfig", "traits": { - "smithy.api#documentation": "

    The time that the topic detection job was submitted for processing.

    " + "smithy.api#documentation": "

    The output data configuration supplied when you created the topic detection\n job.

    " } }, - "Message": { - "target": "com.amazonaws.comprehend#AnyLengthString", + "NumberOfTopics": { + "target": "com.amazonaws.comprehend#Integer", "traits": { - "smithy.api#documentation": "

    A description for the status of a job.

    " + "smithy.api#documentation": "

    The number of topics to detect supplied when you created the topic detection job. The\n default is 10.

    " } }, - "JobName": { - "target": "com.amazonaws.comprehend#JobName", + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

    The name of the topic detection job.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants\n Amazon Comprehend read access to your job data.

    " } }, - "EndTime": { - "target": "com.amazonaws.comprehend#Timestamp", + "VolumeKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", "traits": { - "smithy.api#documentation": "

    The time that the topic detection job was completed.

    " + "smithy.api#documentation": "

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n data on the storage volume attached to the ML compute instance(s) that process the analysis\n job. The VolumeKmsKeyId can be either of the following formats:

    \n
      \n
    • \n

      KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    • \n

      Amazon Resource Name (ARN) of a KMS Key:\n \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"\n

      \n
    • \n
    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.comprehend#OutputDataConfig", + "VpcConfig": { + "target": "com.amazonaws.comprehend#VpcConfig", "traits": { - "smithy.api#documentation": "

    The output data configuration supplied when you created the topic detection\n job.

    " + "smithy.api#documentation": "

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the\n resources you are using for your topic detection job. For more information, see Amazon\n VPC.

    " } } }, @@ -7090,17 +7503,17 @@ "com.amazonaws.comprehend#UpdateEndpointRequest": { "type": "structure", "members": { - "DesiredInferenceUnits": { - "target": "com.amazonaws.comprehend#InferenceUnitsInteger", + "EndpointArn": { + "target": "com.amazonaws.comprehend#ComprehendEndpointArn", "traits": { - "smithy.api#documentation": "

    The desired number of inference units to be used by the model using this endpoint.\n \n Each inference unit represents of a throughput of 100 characters per second.

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

    The Amazon Resource Number (ARN) of the endpoint being updated.

    ", "smithy.api#required": {} } }, - "EndpointArn": { - "target": "com.amazonaws.comprehend#ComprehendEndpointArn", + "DesiredInferenceUnits": { + "target": "com.amazonaws.comprehend#InferenceUnitsInteger", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Number (ARN) of the endpoint being updated.

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

    The desired number of inference units to be used by the model using this endpoint.\n \n Each inference unit represents of a throughput of 100 characters per second.

    ", "smithy.api#required": {} } } @@ -7129,7 +7542,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for the job. For For more information, see Amazon\n VPC.

    " + "smithy.api#documentation": "

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing\n the resources you are using for the job. For more information, see Amazon\n VPC.

    " } } } diff --git a/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json b/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json index 830b9ed8cf46c..9c2566f4fd703 100644 --- a/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json +++ b/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json @@ -141,7 +141,7 @@ } }, "com.amazonaws.dynamodb#AttributeValue": { - "type": "structure", + "type": "union", "members": { "S": { "target": "com.amazonaws.dynamodb#StringAttributeValue", @@ -727,6 +727,49 @@ } } }, + "com.amazonaws.dynamodb#BatchExecuteStatement": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#BatchExecuteStatementInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#BatchExecuteStatementOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

    \nThis operation allows you to perform batch reads and writes on data stored in DynamoDB, using PartiQL.\n

    " + } + }, + "com.amazonaws.dynamodb#BatchExecuteStatementInput": { + "type": "structure", + "members": { + "Statements": { + "target": "com.amazonaws.dynamodb#PartiQLBatchRequest", + "traits": { + "smithy.api#documentation": "

    \nThe list of PartiQL statements representing the batch to run.\n

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dynamodb#BatchExecuteStatementOutput": { + "type": "structure", + "members": { + "Responses": { + "target": "com.amazonaws.dynamodb#PartiQLBatchResponse", + "traits": { + "smithy.api#documentation": "

    \nThe response to each PartiQL statement in the batch.\n

    " + } + } + } + }, "com.amazonaws.dynamodb#BatchGetItem": { "type": "operation", "input": { @@ -824,6 +867,130 @@ "target": "com.amazonaws.dynamodb#ItemList" } }, + "com.amazonaws.dynamodb#BatchStatementError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.dynamodb#BatchStatementErrorCodeEnum", + "traits": { + "smithy.api#documentation": "

    \nThe error code associated with the failed PartiQL batch statement.\n

    " + } + }, + "Message": { + "target": "com.amazonaws.dynamodb#String", + "traits": { + "smithy.api#documentation": "

    \nThe error message associated with the PartiQL batch resposne.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \nAn error associated with a statement in a PartiQL batch that was run.\n

    " + } + }, + "com.amazonaws.dynamodb#BatchStatementErrorCodeEnum": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ConditionalCheckFailed", + "name": "ConditionalCheckFailed" + }, + { + "value": "ItemCollectionSizeLimitExceeded", + "name": "ItemCollectionSizeLimitExceeded" + }, + { + "value": "RequestLimitExceeded", + "name": "RequestLimitExceeded" + }, + { + "value": "ValidationError", + "name": "ValidationError" + }, + { + "value": "ProvisionedThroughputExceeded", + "name": "ProvisionedThroughputExceeded" + }, + { + "value": "TransactionConflict", + "name": "TransactionConflict" + }, + { + "value": "ThrottlingError", + "name": "ThrottlingError" + }, + { + "value": "InternalServerError", + "name": "InternalServerError" + }, + { + "value": "ResourceNotFound", + "name": "ResourceNotFound" + }, + { + "value": "AccessDenied", + "name": "AccessDenied" + }, + { + "value": "DuplicateItem", + "name": "DuplicateItem" + } + ] + } + }, + "com.amazonaws.dynamodb#BatchStatementRequest": { + "type": "structure", + "members": { + "Statement": { + "target": "com.amazonaws.dynamodb#PartiQLStatement", + "traits": { + "smithy.api#documentation": "

    \nA valid PartiQL statement.\n

    ", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.dynamodb#PreparedStatementParameters", + "traits": { + "smithy.api#documentation": "

    \nThe parameters associated with a PartiQL statement in the batch request.\n

    " + } + }, + "ConsistentRead": { + "target": "com.amazonaws.dynamodb#ConsistentRead", + "traits": { + "smithy.api#documentation": "

    \nThe read consistency of the PartiQL batch request. \n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \nA PartiQL batch statement request. \n

    " + } + }, + "com.amazonaws.dynamodb#BatchStatementResponse": { + "type": "structure", + "members": { + "Error": { + "target": "com.amazonaws.dynamodb#BatchStatementError", + "traits": { + "smithy.api#documentation": "

    \nThe error associated with a failed PartiQL batch statement.\n

    " + } + }, + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "

    \nThe table name associated with a failed PartiQL batch statement.\n

    " + } + }, + "Item": { + "target": "com.amazonaws.dynamodb#AttributeMap", + "traits": { + "smithy.api#documentation": "

    \nA DynamoDB item associated with a BatchStatementResponse\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \nA PartiQL batch statement response..\n

    " + } + }, "com.amazonaws.dynamodb#BatchWriteItem": { "type": "operation", "input": { @@ -2412,6 +2579,58 @@ } } }, + "com.amazonaws.dynamodb#DescribeKinesisStreamingDestination": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns information about the status of Kinesis streaming.

    " + } + }, + "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationInput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "

    The name of the table being described.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationOutput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "

    The name of the table being described.

    " + } + }, + "KinesisDataStreamDestinations": { + "target": "com.amazonaws.dynamodb#KinesisDataStreamDestinations", + "traits": { + "smithy.api#documentation": "

    The list of replica structures for the table being described.

    " + } + } + } + }, "com.amazonaws.dynamodb#DescribeLimits": { "type": "operation", "input": { @@ -2612,16 +2831,82 @@ } } }, + "com.amazonaws.dynamodb#DestinationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLING" + }, + { + "value": "ACTIVE" + }, + { + "value": "DISABLING" + }, + { + "value": "DISABLED" + }, + { + "value": "ENABLE_FAILED" + } + ] + } + }, + "com.amazonaws.dynamodb#DisableKinesisStreamingDestination": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceInUseException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Stops replication from the DynamoDB table to the Kinesis data stream. This is done\n without deleting either of the resources.

    " + } + }, "com.amazonaws.dynamodb#Double": { "type": "double", "traits": { "smithy.api#box": {} } }, + "com.amazonaws.dynamodb#DuplicateItemException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

    \nThere was an attempt to insert an item with the same primary key as an item that already exists in the DynamoDB table.\n

    ", + "smithy.api#error": "client" + } + }, "com.amazonaws.dynamodb#DynamoDB_20120810": { "type": "service", "version": "2012-08-10", "operations": [ + { + "target": "com.amazonaws.dynamodb#BatchExecuteStatement" + }, { "target": "com.amazonaws.dynamodb#BatchGetItem" }, @@ -2667,6 +2952,9 @@ { "target": "com.amazonaws.dynamodb#DescribeGlobalTableSettings" }, + { + "target": "com.amazonaws.dynamodb#DescribeKinesisStreamingDestination" + }, { "target": "com.amazonaws.dynamodb#DescribeLimits" }, @@ -2679,6 +2967,18 @@ { "target": "com.amazonaws.dynamodb#DescribeTimeToLive" }, + { + "target": "com.amazonaws.dynamodb#DisableKinesisStreamingDestination" + }, + { + "target": "com.amazonaws.dynamodb#EnableKinesisStreamingDestination" + }, + { + "target": "com.amazonaws.dynamodb#ExecuteStatement" + }, + { + "target": "com.amazonaws.dynamodb#ExecuteTransaction" + }, { "target": "com.amazonaws.dynamodb#ExportTableToPointInTime" }, @@ -2777,6 +3077,35 @@ } } }, + "com.amazonaws.dynamodb#EnableKinesisStreamingDestination": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceInUseException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Starts table data replication to the specified Kinesis data stream at a timestamp chosen\n during the enable workflow. If this operation doesn't return results immediately, use\n DescribeKinesisStreamingDestination to check if streaming to the Kinesis data stream is\n ACTIVE.

    " + } + }, "com.amazonaws.dynamodb#Endpoint": { "type": "structure", "members": { @@ -2814,6 +3143,156 @@ "com.amazonaws.dynamodb#ExceptionName": { "type": "string" }, + "com.amazonaws.dynamodb#ExecuteStatement": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#ExecuteStatementInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#ExecuteStatementOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#ConditionalCheckFailedException" + }, + { + "target": "com.amazonaws.dynamodb#DuplicateItemException" + }, + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#TransactionConflictException" + } + ], + "traits": { + "smithy.api#documentation": "

    \nThis operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL.\n

    " + } + }, + "com.amazonaws.dynamodb#ExecuteStatementInput": { + "type": "structure", + "members": { + "Statement": { + "target": "com.amazonaws.dynamodb#PartiQLStatement", + "traits": { + "smithy.api#documentation": "

    \nThe PartiQL statement representing the operation to run.\n

    ", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.dynamodb#PreparedStatementParameters", + "traits": { + "smithy.api#documentation": "

    \nThe parameters for the PartiQL statement, if any.\n

    " + } + }, + "ConsistentRead": { + "target": "com.amazonaws.dynamodb#ConsistentRead", + "traits": { + "smithy.api#documentation": "

    \nThe consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.\n

    " + } + }, + "NextToken": { + "target": "com.amazonaws.dynamodb#PartiQLNextToken", + "traits": { + "smithy.api#documentation": "

    \nSet this value to get remaining results, if NextToken was returned in the statement response.\n

    " + } + } + } + }, + "com.amazonaws.dynamodb#ExecuteStatementOutput": { + "type": "structure", + "members": { + "Items": { + "target": "com.amazonaws.dynamodb#ItemList", + "traits": { + "smithy.api#documentation": "

    \nIf a read operation was used, this property will contain the result of the reade operation; a map of attribute names and their values. For the write operations this value will be empty.\n

    " + } + }, + "NextToken": { + "target": "com.amazonaws.dynamodb#PartiQLNextToken", + "traits": { + "smithy.api#documentation": "

    \nIf the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results.\n

    " + } + } + } + }, + "com.amazonaws.dynamodb#ExecuteTransaction": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#ExecuteTransactionInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#ExecuteTransactionOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#IdempotentParameterMismatchException" + }, + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#TransactionCanceledException" + }, + { + "target": "com.amazonaws.dynamodb#TransactionInProgressException" + } + ], + "traits": { + "smithy.api#documentation": "

    \nThis operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL.\n

    " + } + }, + "com.amazonaws.dynamodb#ExecuteTransactionInput": { + "type": "structure", + "members": { + "TransactStatements": { + "target": "com.amazonaws.dynamodb#ParameterizedStatements", + "traits": { + "smithy.api#documentation": "

    \nThe list of PartiQL statements representing the transaction to run.\n

    ", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.dynamodb#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    \nSet this value to get remaining results, if NextToken was returned in the statement response.\n

    ", + "smithy.api#idempotencyToken": {} + } + } + } + }, + "com.amazonaws.dynamodb#ExecuteTransactionOutput": { + "type": "structure", + "members": { + "Responses": { + "target": "com.amazonaws.dynamodb#ItemResponseList", + "traits": { + "smithy.api#documentation": "

    \nThe response to a PartiQL transaction.\n

    " + } + } + } + }, "com.amazonaws.dynamodb#ExpectedAttributeMap": { "type": "map", "key": { @@ -4096,6 +4575,80 @@ "smithy.api#documentation": "

    Represents a set of primary keys and, for each key, the attributes to retrieve from the table.

    \n

    For each primary key, you must provide all of the key attributes. For example, with a\n simple primary key, you only need to provide the partition key. For a composite\n primary key, you must provide both the partition key and the sort key.

    " } }, + "com.amazonaws.dynamodb#KinesisDataStreamDestination": { + "type": "structure", + "members": { + "StreamArn": { + "target": "com.amazonaws.dynamodb#StreamArn", + "traits": { + "smithy.api#documentation": "

    The ARN for a specific Kinesis data stream.

    " + } + }, + "DestinationStatus": { + "target": "com.amazonaws.dynamodb#DestinationStatus", + "traits": { + "smithy.api#documentation": "

    The current status of replication.

    " + } + }, + "DestinationStatusDescription": { + "target": "com.amazonaws.dynamodb#String", + "traits": { + "smithy.api#documentation": "

    The human-readable string that corresponds to the replica status.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Describes a Kinesis data stream destination.

    " + } + }, + "com.amazonaws.dynamodb#KinesisDataStreamDestinations": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#KinesisDataStreamDestination" + } + }, + "com.amazonaws.dynamodb#KinesisStreamingDestinationInput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "

    The name of the DynamoDB table.

    ", + "smithy.api#required": {} + } + }, + "StreamArn": { + "target": "com.amazonaws.dynamodb#StreamArn", + "traits": { + "smithy.api#documentation": "

    The ARN for a Kinesis data stream.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dynamodb#KinesisStreamingDestinationOutput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "

    The name of the table being modified.

    " + } + }, + "StreamArn": { + "target": "com.amazonaws.dynamodb#StreamArn", + "traits": { + "smithy.api#documentation": "

    The ARN for the specific Kinesis data stream.

    " + } + }, + "DestinationStatus": { + "target": "com.amazonaws.dynamodb#DestinationStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the replication.

    " + } + } + } + }, "com.amazonaws.dynamodb#LastUpdateDateTime": { "type": "timestamp" }, @@ -4717,6 +5270,75 @@ "target": "com.amazonaws.dynamodb#NumberAttributeValue" } }, + "com.amazonaws.dynamodb#ParameterizedStatement": { + "type": "structure", + "members": { + "Statement": { + "target": "com.amazonaws.dynamodb#PartiQLStatement", + "traits": { + "smithy.api#documentation": "

    \nA PartiQL statment that uses parameters.\n

    ", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.dynamodb#PreparedStatementParameters", + "traits": { + "smithy.api#documentation": "

    \nThe parameter values.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \nRepresents a PartiQL statment that uses parameters.\n

    " + } + }, + "com.amazonaws.dynamodb#ParameterizedStatements": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ParameterizedStatement" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.dynamodb#PartiQLBatchRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#BatchStatementRequest" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.dynamodb#PartiQLBatchResponse": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#BatchStatementResponse" + } + }, + "com.amazonaws.dynamodb#PartiQLNextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32768 + } + } + }, + "com.amazonaws.dynamodb#PartiQLStatement": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 8192 + } + } + }, "com.amazonaws.dynamodb#PointInTimeRecoveryDescription": { "type": "structure", "members": { @@ -4801,6 +5423,17 @@ } } }, + "com.amazonaws.dynamodb#PreparedStatementParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#AttributeValue" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.dynamodb#Projection": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json index 969d3df5972a0..93d22ed6fca66 100644 --- a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json +++ b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json @@ -14978,7 +14978,13 @@ "target": "com.amazonaws.ec2#DescribeByoipCidrsResult" }, "traits": { - "smithy.api#documentation": "

    Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

    \n

    To describe the address pools that were created when you provisioned the address\n ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

    " + "smithy.api#documentation": "

    Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

    \n

    To describe the address pools that were created when you provisioned the address\n ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

    ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ByoipCidrs", + "pageSize": "MaxResults" + } } }, "com.amazonaws.ec2#DescribeByoipCidrsMaxResults": { @@ -35715,6 +35721,9 @@ }, { "value": "m6gd.16xlarge" + }, + { + "value": "mac1.metal" } ] } @@ -45168,6 +45177,31 @@ ] } }, + "com.amazonaws.ec2#PrivateDnsDetails": { + "type": "structure", + "members": { + "PrivateDnsName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

    The private DNS name assigned to the VPC endpoint service.

    ", + "smithy.api#xmlName": "privateDnsName" + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the Private DNS name for interface endpoints.

    " + } + }, + "com.amazonaws.ec2#PrivateDnsDetailsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PrivateDnsDetails", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#PrivateDnsNameConfiguration": { "type": "structure", "members": { @@ -51954,6 +51988,14 @@ "smithy.api#xmlName": "privateDnsName" } }, + "PrivateDnsNames": { + "target": "com.amazonaws.ec2#PrivateDnsDetailsSet", + "traits": { + "aws.protocols#ec2QueryName": "PrivateDnsNameSet", + "smithy.api#documentation": "

    The private DNS names assigned to the VPC endpoint service.

    ", + "smithy.api#xmlName": "privateDnsNameSet" + } + }, "VpcEndpointPolicySupported": { "target": "com.amazonaws.ec2#Boolean", "traits": { diff --git a/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json b/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json index cf0d14bbf48b6..16530b160dde8 100644 --- a/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json +++ b/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json @@ -205,6 +205,9 @@ { "target": "com.amazonaws.ecs#UntagResource" }, + { + "target": "com.amazonaws.ecs#UpdateCapacityProvider" + }, { "target": "com.amazonaws.ecs#UpdateClusterSettings" }, @@ -260,10 +263,10 @@ "com.amazonaws.ecs#Attachment": { "type": "structure", "members": { - "status": { + "id": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the attachment. Valid values are PRECREATED,\n\t\t\t\tCREATED, ATTACHING, ATTACHED,\n\t\t\t\tDETACHING, DETACHED, and DELETED.

    " + "smithy.api#documentation": "

    The unique identifier for the attachment.

    " } }, "type": { @@ -272,10 +275,10 @@ "smithy.api#documentation": "

    The type of the attachment, such as ElasticNetworkInterface.

    " } }, - "id": { + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The unique identifier for the attachment.

    " + "smithy.api#documentation": "

    The status of the attachment. Valid values are PRECREATED,\n\t\t\t\tCREATED, ATTACHING, ATTACHED,\n\t\t\t\tDETACHING, DETACHED, and DELETED.

    " } }, "details": { @@ -298,17 +301,17 @@ "com.amazonaws.ecs#AttachmentStateChange": { "type": "structure", "members": { - "status": { + "attachmentArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the attachment.

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

    The Amazon Resource Name (ARN) of the attachment.

    ", "smithy.api#required": {} } }, - "attachmentArn": { + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the attachment.

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

    The status of the attachment.

    ", "smithy.api#required": {} } } @@ -332,16 +335,17 @@ "com.amazonaws.ecs#Attribute": { "type": "structure", "members": { - "value": { + "name": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The value of the attribute. The value must contain between 1 and 128\n\t\t\tcharacters and may contain letters (uppercase and lowercase), numbers, hyphens,\n\t\t\tunderscores, periods, at signs (@), forward slashes, back slashes, colons, or spaces.\n\t\t\tThe value cannot contain any leading or trailing whitespace.

    " + "smithy.api#documentation": "

    The name of the attribute. The name must contain between 1 and 128\n\t\t\tcharacters and name may contain letters (uppercase and lowercase), numbers, hyphens,\n\t\t\tunderscores, forward slashes, back slashes, or periods.

    ", + "smithy.api#required": {} } }, - "targetId": { + "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The ID of the target. You can specify the short form ID for a resource or the full\n\t\t\tAmazon Resource Name (ARN).

    " + "smithy.api#documentation": "

    The value of the attribute. The value must contain between 1 and 128\n\t\t\tcharacters and may contain letters (uppercase and lowercase), numbers, hyphens,\n\t\t\tunderscores, periods, at signs (@), forward slashes, back slashes, colons, or spaces.\n\t\t\tThe value cannot contain any leading or trailing whitespace.

    " } }, "targetType": { @@ -350,11 +354,10 @@ "smithy.api#documentation": "

    The type of the target with which to attach the attribute. This parameter is required\n\t\t\tif you use the short form ID for a resource instead of the full ARN.

    " } }, - "name": { + "targetId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the attribute. The name must contain between 1 and 128\n\t\t\tcharacters and name may contain letters (uppercase and lowercase), numbers, hyphens,\n\t\t\tunderscores, forward slashes, back slashes, or periods.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The ID of the target. You can specify the short form ID for a resource or the full\n\t\t\tAmazon Resource Name (ARN).

    " } } }, @@ -383,10 +386,11 @@ "com.amazonaws.ecs#AutoScalingGroupProvider": { "type": "structure", "members": { - "managedTerminationProtection": { - "target": "com.amazonaws.ecs#ManagedTerminationProtection", + "autoScalingGroupArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

    \n\t\t \n\t\t\t

    When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection will not work.

    \n\t\t
    \n\t\t

    When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

    \n\t\t

    When managed termination protection is disabled, your Amazon EC2 instances are not\n\t\t\tprotected from termination when the Auto Scaling group scales in.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

    ", + "smithy.api#required": {} } }, "managedScaling": { @@ -395,11 +399,10 @@ "smithy.api#documentation": "

    The managed scaling settings for the Auto Scaling group capacity provider.

    " } }, - "autoScalingGroupArn": { - "target": "com.amazonaws.ecs#String", + "managedTerminationProtection": { + "target": "com.amazonaws.ecs#ManagedTerminationProtection", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

    \n\t\t \n\t\t\t

    When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection will not work.

    \n\t\t
    \n\t\t

    When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

    \n\t\t

    When managed termination protection is disabled, your Amazon EC2 instances are not\n\t\t\tprotected from termination when the Auto Scaling group scales in.

    " } } }, @@ -407,9 +410,33 @@ "smithy.api#documentation": "

    The details of the Auto Scaling group for the capacity provider.

    " } }, + "com.amazonaws.ecs#AutoScalingGroupProviderUpdate": { + "type": "structure", + "members": { + "managedScaling": { + "target": "com.amazonaws.ecs#ManagedScaling" + }, + "managedTerminationProtection": { + "target": "com.amazonaws.ecs#ManagedTerminationProtection", + "traits": { + "smithy.api#documentation": "

    The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

    \n\t\t \n\t\t\t

    When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection will not work.

    \n\t\t
    \n\t\t

    When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

    \n\t\t

    When managed termination protection is disabled, your Amazon EC2 instances are not\n\t\t\tprotected from termination when the Auto Scaling group scales in.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The details of the Auto Scaling group capacity provider to update.

    " + } + }, "com.amazonaws.ecs#AwsVpcConfiguration": { "type": "structure", "members": { + "subnets": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

    The IDs of the subnets associated with the task or service. There is a limit of 16\n\t\t\tsubnets that can be specified per AwsVpcConfiguration.

    \n\t\t \n\t\t \n\t\t\t

    All specified subnets must be from the same VPC.

    \n\t\t
    ", + "smithy.api#required": {} + } + }, "securityGroups": { "target": "com.amazonaws.ecs#StringList", "traits": { @@ -421,13 +448,6 @@ "traits": { "smithy.api#documentation": "

    Whether the task's elastic network interface receives a public IP address. The default\n\t\t\tvalue is DISABLED.

    " } - }, - "subnets": { - "target": "com.amazonaws.ecs#StringList", - "traits": { - "smithy.api#documentation": "

    The IDs of the subnets associated with the task or service. There is a limit of 16\n\t\t\tsubnets that can be specified per AwsVpcConfiguration.

    \n\t\t \n\t\t \n\t\t\t

    All specified subnets must be from the same VPC.

    \n\t\t
    ", - "smithy.api#required": {} - } } }, "traits": { @@ -464,16 +484,16 @@ "com.amazonaws.ecs#CapacityProvider": { "type": "structure", "members": { - "updateStatusReason": { + "capacityProviderArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The update status reason. This provides further details about the update status for\n\t\t\tthe capacity provider.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the capacity provider.

    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "name": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the capacity provider to help you categorize and\n\t\t\torganize it. Each tag consists of a key and an optional value, both of which you\n\t\t\tdefine.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    The name of the capacity provider.

    " } }, "status": { @@ -482,28 +502,28 @@ "smithy.api#documentation": "

    The current status of the capacity provider. Only capacity providers in an\n\t\t\t\tACTIVE state can be used in a cluster. When a capacity provider is\n\t\t\tsuccessfully deleted, it will have an INACTIVE status.

    " } }, - "capacityProviderArn": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the capacity provider.

    " - } - }, "autoScalingGroupProvider": { "target": "com.amazonaws.ecs#AutoScalingGroupProvider", "traits": { "smithy.api#documentation": "

    The Auto Scaling group settings for the capacity provider.

    " } }, - "name": { + "updateStatus": { + "target": "com.amazonaws.ecs#CapacityProviderUpdateStatus", + "traits": { + "smithy.api#documentation": "

    The update status of the capacity provider. The following are the possible states that\n\t\t\twill be returned.

    \n\t\t
    \n
    DELETE_IN_PROGRESS
    \n
    \n\t\t\t\t\t

    The capacity provider is in the process of being deleted.

    \n\t\t\t\t
    \n
    DELETE_COMPLETE
    \n
    \n\t\t\t\t\t

    The capacity provider has been successfully deleted and will have an\n\t\t\t\t\t\t\tINACTIVE status.

    \n\t\t\t\t
    \n
    DELETE_FAILED
    \n
    \n\t\t\t\t\t

    The capacity provider was unable to be deleted. The update status reason\n\t\t\t\t\t\twill provide further details about why the delete failed.

    \n\t\t\t\t
    \n
    " + } + }, + "updateStatusReason": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the capacity provider.

    " + "smithy.api#documentation": "

    The update status reason. This provides further details about the update status for\n\t\t\tthe capacity provider.

    " } }, - "updateStatus": { - "target": "com.amazonaws.ecs#CapacityProviderUpdateStatus", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The update status of the capacity provider. The following are the possible states that\n\t\t\twill be returned.

    \n\t\t
    \n
    DELETE_IN_PROGRESS
    \n
    \n\t\t\t\t\t

    The capacity provider is in the process of being deleted.

    \n\t\t\t\t
    \n
    DELETE_COMPLETE
    \n
    \n\t\t\t\t\t

    The capacity provider has been successfully deleted and will have an\n\t\t\t\t\t\t\tINACTIVE status.

    \n\t\t\t\t
    \n
    DELETE_FAILED
    \n
    \n\t\t\t\t\t

    The capacity provider was unable to be deleted. The update status reason\n\t\t\t\t\t\twill provide further details about why the delete failed.

    \n\t\t\t\t
    \n
    " + "smithy.api#documentation": "

    The metadata that you apply to the capacity provider to help you categorize and\n\t\t\torganize it. Each tag consists of a key and an optional value, both of which you\n\t\t\tdefine.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } } }, @@ -552,12 +572,6 @@ "com.amazonaws.ecs#CapacityProviderStrategyItem": { "type": "structure", "members": { - "weight": { - "target": "com.amazonaws.ecs#CapacityProviderStrategyItemWeight", - "traits": { - "smithy.api#documentation": "

    The weight value designates the relative percentage of the total\n\t\t\tnumber of tasks launched that should use the specified capacity provider.

    \n\t\t

    For example, if you have a strategy that contains two capacity providers and both have\n\t\t\ta weight of 1, then when the base is satisfied, the tasks will\n\t\t\tbe split evenly across the two capacity providers. Using that same logic, if you specify\n\t\t\ta weight of 1 for capacityProviderA and a weight of\n\t\t\t\t4 for capacityProviderB, then for every one task\n\t\t\tthat is run using capacityProviderA, four tasks would use\n\t\t\t\tcapacityProviderB.

    " - } - }, "capacityProvider": { "target": "com.amazonaws.ecs#String", "traits": { @@ -565,6 +579,12 @@ "smithy.api#required": {} } }, + "weight": { + "target": "com.amazonaws.ecs#CapacityProviderStrategyItemWeight", + "traits": { + "smithy.api#documentation": "

    The weight value designates the relative percentage of the total\n\t\t\tnumber of tasks launched that should use the specified capacity provider.

    \n\t\t

    For example, if you have a strategy that contains two capacity providers and both have\n\t\t\ta weight of 1, then when the base is satisfied, the tasks will\n\t\t\tbe split evenly across the two capacity providers. Using that same logic, if you specify\n\t\t\ta weight of 1 for capacityProviderA and a weight of\n\t\t\t\t4 for capacityProviderB, then for every one task\n\t\t\tthat is run using capacityProviderA, four tasks would use\n\t\t\t\tcapacityProviderB.

    " + } + }, "base": { "target": "com.amazonaws.ecs#CapacityProviderStrategyItemBase", "traits": { @@ -609,6 +629,18 @@ { "value": "DELETE_FAILED", "name": "DELETE_FAILED" + }, + { + "value": "UPDATE_IN_PROGRESS", + "name": "UPDATE_IN_PROGRESS" + }, + { + "value": "UPDATE_COMPLETE", + "name": "UPDATE_COMPLETE" + }, + { + "value": "UPDATE_FAILED", + "name": "UPDATE_FAILED" } ] } @@ -634,28 +666,28 @@ "com.amazonaws.ecs#Cluster": { "type": "structure", "members": { - "settings": { - "target": "com.amazonaws.ecs#ClusterSettings", + "clusterArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The settings for the cluster. This parameter indicates whether CloudWatch Container Insights\n\t\t\tis enabled or disabled for a cluster.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

    " } }, - "activeServicesCount": { - "target": "com.amazonaws.ecs#Integer", + "clusterName": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of services that are running on the cluster in an ACTIVE\n\t\t\tstate. You can view these services with ListServices.

    " + "smithy.api#documentation": "

    A user-generated string that you use to identify your cluster.

    " } }, - "attachments": { - "target": "com.amazonaws.ecs#Attachments", + "status": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The resources attached to a cluster. When using a capacity provider with a cluster,\n\t\t\tthe Auto Scaling plan that is created will be returned as a cluster attachment.

    " + "smithy.api#documentation": "

    The status of the cluster. The following are the possible states that will be\n\t\t\treturned.

    \n\t\t
    \n
    ACTIVE
    \n
    \n\t\t\t\t\t

    The cluster is ready to accept tasks and if applicable you can register\n\t\t\t\t\t\tcontainer instances with the cluster.

    \n\t\t\t\t
    \n
    PROVISIONING
    \n
    \n\t\t\t\t\t

    The cluster has capacity providers associated with it and the resources\n\t\t\t\t\t\tneeded for the capacity provider are being created.

    \n\t\t\t\t
    \n
    DEPROVISIONING
    \n
    \n\t\t\t\t\t

    The cluster has capacity providers associated with it and the resources\n\t\t\t\t\t\tneeded for the capacity provider are being deleted.

    \n\t\t\t\t
    \n
    FAILED
    \n
    \n\t\t\t\t\t

    The cluster has capacity providers associated with it and the resources\n\t\t\t\t\t\tneeded for the capacity provider have failed to create.

    \n\t\t\t\t
    \n
    INACTIVE
    \n
    \n\t\t\t\t\t

    The cluster has been deleted. Clusters with an INACTIVE\n\t\t\t\t\t\tstatus may remain discoverable in your account for a period of time.\n\t\t\t\t\t\tHowever, this behavior is subject to change in the future, so you should not\n\t\t\t\t\t\trely on INACTIVE clusters persisting.

    \n\t\t\t\t
    \n
    " } }, - "capacityProviders": { - "target": "com.amazonaws.ecs#StringList", + "registeredContainerInstancesCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The capacity providers associated with the cluster.

    " + "smithy.api#documentation": "

    The number of container instances registered into the cluster. This includes container\n\t\t\tinstances in both ACTIVE and DRAINING status.

    " } }, "runningTasksCount": { @@ -664,58 +696,58 @@ "smithy.api#documentation": "

    The number of tasks in the cluster that are in the RUNNING state.

    " } }, - "statistics": { - "target": "com.amazonaws.ecs#Statistics", + "pendingTasksCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    Additional information about your clusters that are separated by launch type,\n\t\t\tincluding:

    \n\t\t
      \n
    • \n\t\t\t\t

      runningEC2TasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      RunningFargateTasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      pendingEC2TasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      pendingFargateTasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      activeEC2ServiceCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      activeFargateServiceCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      drainingEC2ServiceCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      drainingFargateServiceCount

      \n\t\t\t
    • \n
    " + "smithy.api#documentation": "

    The number of tasks in the cluster that are in the PENDING state.

    " } }, - "defaultCapacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "activeServicesCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The default capacity provider strategy for the cluster. When services or tasks are run\n\t\t\tin the cluster with no launch type or capacity provider strategy specified, the default\n\t\t\tcapacity provider strategy is used.

    " + "smithy.api#documentation": "

    The number of services that are running on the cluster in an ACTIVE\n\t\t\tstate. You can view these services with ListServices.

    " } }, - "status": { - "target": "com.amazonaws.ecs#String", + "statistics": { + "target": "com.amazonaws.ecs#Statistics", "traits": { - "smithy.api#documentation": "

    The status of the cluster. The following are the possible states that will be\n\t\t\treturned.

    \n\t\t
    \n
    ACTIVE
    \n
    \n\t\t\t\t\t

    The cluster is ready to accept tasks and if applicable you can register\n\t\t\t\t\t\tcontainer instances with the cluster.

    \n\t\t\t\t
    \n
    PROVISIONING
    \n
    \n\t\t\t\t\t

    The cluster has capacity providers associated with it and the resources\n\t\t\t\t\t\tneeded for the capacity provider are being created.

    \n\t\t\t\t
    \n
    DEPROVISIONING
    \n
    \n\t\t\t\t\t

    The cluster has capacity providers associated with it and the resources\n\t\t\t\t\t\tneeded for the capacity provider are being deleted.

    \n\t\t\t\t
    \n
    FAILED
    \n
    \n\t\t\t\t\t

    The cluster has capacity providers associated with it and the resources\n\t\t\t\t\t\tneeded for the capacity provider have failed to create.

    \n\t\t\t\t
    \n
    INACTIVE
    \n
    \n\t\t\t\t\t

    The cluster has been deleted. Clusters with an INACTIVE\n\t\t\t\t\t\tstatus may remain discoverable in your account for a period of time.\n\t\t\t\t\t\tHowever, this behavior is subject to change in the future, so you should not\n\t\t\t\t\t\trely on INACTIVE clusters persisting.

    \n\t\t\t\t
    \n
    " + "smithy.api#documentation": "

    Additional information about your clusters that are separated by launch type,\n\t\t\tincluding:

    \n\t\t
      \n
    • \n\t\t\t\t

      runningEC2TasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      RunningFargateTasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      pendingEC2TasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      pendingFargateTasksCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      activeEC2ServiceCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      activeFargateServiceCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      drainingEC2ServiceCount

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      drainingFargateServiceCount

      \n\t\t\t
    • \n
    " } }, - "pendingTasksCount": { - "target": "com.amazonaws.ecs#Integer", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The number of tasks in the cluster that are in the PENDING state.

    " + "smithy.api#documentation": "

    The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "clusterArn": { - "target": "com.amazonaws.ecs#String", + "settings": { + "target": "com.amazonaws.ecs#ClusterSettings", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

    " + "smithy.api#documentation": "

    The settings for the cluster. This parameter indicates whether CloudWatch Container Insights\n\t\t\tis enabled or disabled for a cluster.

    " } }, - "clusterName": { - "target": "com.amazonaws.ecs#String", + "capacityProviders": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    A user-generated string that you use to identify your cluster.

    " + "smithy.api#documentation": "

    The capacity providers associated with the cluster.

    " } }, - "registeredContainerInstancesCount": { - "target": "com.amazonaws.ecs#Integer", + "defaultCapacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

    The number of container instances registered into the cluster. This includes container\n\t\t\tinstances in both ACTIVE and DRAINING status.

    " + "smithy.api#documentation": "

    The default capacity provider strategy for the cluster. When services or tasks are run\n\t\t\tin the cluster with no launch type or capacity provider strategy specified, the default\n\t\t\tcapacity provider strategy is used.

    " } }, - "attachmentsStatus": { - "target": "com.amazonaws.ecs#String", + "attachments": { + "target": "com.amazonaws.ecs#Attachments", "traits": { - "smithy.api#documentation": "

    The status of the capacity providers associated with the cluster. The following are\n\t\t\tthe states that will be returned:

    \n\t\t
    \n
    UPDATE_IN_PROGRESS
    \n
    \n\t\t\t\t\t

    The available capacity providers for the cluster are updating. This occurs\n\t\t\t\t\t\twhen the Auto Scaling plan is provisioning or deprovisioning.

    \n\t\t\t\t
    \n
    UPDATE_COMPLETE
    \n
    \n\t\t\t\t\t

    The capacity providers have successfully updated.

    \n\t\t\t\t
    \n
    UPDATE_FAILED
    \n
    \n\t\t\t\t\t

    The capacity provider updates failed.

    \n\t\t\t\t
    \n
    " + "smithy.api#documentation": "

    The resources attached to a cluster. When using a capacity provider with a cluster,\n\t\t\tthe Auto Scaling plan that is created will be returned as a cluster attachment.

    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "attachmentsStatus": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    The status of the capacity providers associated with the cluster. The following are\n\t\t\tthe states that will be returned:

    \n\t\t
    \n
    UPDATE_IN_PROGRESS
    \n
    \n\t\t\t\t\t

    The available capacity providers for the cluster are updating. This occurs\n\t\t\t\t\t\twhen the Auto Scaling plan is provisioning or deprovisioning.

    \n\t\t\t\t
    \n
    UPDATE_COMPLETE
    \n
    \n\t\t\t\t\t

    The capacity providers have successfully updated.

    \n\t\t\t\t
    \n
    UPDATE_FAILED
    \n
    \n\t\t\t\t\t

    The capacity provider updates failed.

    \n\t\t\t\t
    \n
    " } } }, @@ -882,28 +914,22 @@ "com.amazonaws.ecs#Container": { "type": "structure", "members": { - "networkBindings": { - "target": "com.amazonaws.ecs#NetworkBindings", - "traits": { - "smithy.api#documentation": "

    The network bindings associated with the container.

    " - } - }, - "memoryReservation": { + "containerArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The soft limit (in MiB) of memory set for the container.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the container.

    " } }, - "cpu": { + "taskArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of CPU units set for the container. The value will be 0 if no\n\t\t\tvalue was specified in the container definition when the task definition was\n\t\t\tregistered.

    " + "smithy.api#documentation": "

    The ARN of the task.

    " } }, - "memory": { + "name": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The hard limit (in MiB) of memory set for the container.

    " + "smithy.api#documentation": "

    The name of the container.

    " } }, "image": { @@ -912,46 +938,40 @@ "smithy.api#documentation": "

    The image used for the container.

    " } }, - "reason": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    A short (255 max characters) human-readable string to provide additional details about\n\t\t\ta running or stopped container.

    " - } - }, "imageDigest": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The container image manifest digest.

    \n\t\t \n\t\t\t

    The imageDigest is only returned if the container is using an image\n\t\t\t\thosted in Amazon ECR, otherwise it is omitted.

    \n\t\t
    " } }, - "gpuIds": { - "target": "com.amazonaws.ecs#GpuIds", - "traits": { - "smithy.api#documentation": "

    The IDs of each GPU assigned to the container.

    " - } - }, "runtimeId": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The ID of the Docker container.

    " } }, - "containerArn": { + "lastStatus": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the container.

    " + "smithy.api#documentation": "

    The last known status of the container.

    " } }, - "healthStatus": { - "target": "com.amazonaws.ecs#HealthStatus", + "exitCode": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The health status of the container. If health checks are not configured for this\n\t\t\tcontainer in its task definition, then it reports the health status as\n\t\t\t\tUNKNOWN.

    " + "smithy.api#documentation": "

    The exit code returned from the container.

    " } }, - "taskArn": { + "reason": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The ARN of the task.

    " + "smithy.api#documentation": "

    A short (255 max characters) human-readable string to provide additional details about\n\t\t\ta running or stopped container.

    " + } + }, + "networkBindings": { + "target": "com.amazonaws.ecs#NetworkBindings", + "traits": { + "smithy.api#documentation": "

    The network bindings associated with the container.

    " } }, "networkInterfaces": { @@ -960,22 +980,34 @@ "smithy.api#documentation": "

    The network interfaces associated with the container.

    " } }, - "name": { - "target": "com.amazonaws.ecs#String", + "healthStatus": { + "target": "com.amazonaws.ecs#HealthStatus", "traits": { - "smithy.api#documentation": "

    The name of the container.

    " + "smithy.api#documentation": "

    The health status of the container. If health checks are not configured for this\n\t\t\tcontainer in its task definition, then it reports the health status as\n\t\t\t\tUNKNOWN.

    " } }, - "lastStatus": { + "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The last known status of the container.

    " + "smithy.api#documentation": "

    The number of CPU units set for the container. The value will be 0 if no\n\t\t\tvalue was specified in the container definition when the task definition was\n\t\t\tregistered.

    " } }, - "exitCode": { - "target": "com.amazonaws.ecs#BoxedInteger", + "memory": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The exit code returned from the container.

    " + "smithy.api#documentation": "

    The hard limit (in MiB) of memory set for the container.

    " + } + }, + "memoryReservation": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The soft limit (in MiB) of memory set for the container.

    " + } + }, + "gpuIds": { + "target": "com.amazonaws.ecs#GpuIds", + "traits": { + "smithy.api#documentation": "

    The IDs of each GPU assigned to the container.

    " } } }, @@ -1009,58 +1041,58 @@ "com.amazonaws.ecs#ContainerDefinition": { "type": "structure", "members": { - "disableNetworking": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "name": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    When this parameter is true, networking is disabled within the container. This\n\t\t\tparameter maps to NetworkDisabled in the Create a container\n\t\t\tsection of the Docker Remote API.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " + "smithy.api#documentation": "

    The name of a container. If you are linking multiple containers together in a task\n\t\t\tdefinition, the name of one container can be entered in the\n\t\t\t\tlinks of another container to connect the containers.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--name option to docker\n\t\t\trun.

    " } }, - "extraHosts": { - "target": "com.amazonaws.ecs#HostEntryList", + "image": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    A list of hostnames and IP address mappings to append to the /etc/hosts\n\t\t\tfile on the container. This parameter maps to ExtraHosts in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--add-host option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    This parameter is not supported for Windows containers or tasks that use the\n\t\t\t\t\tawsvpc network mode.

    \n\t\t
    " + "smithy.api#documentation": "

    The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. Images in the Docker Hub registry are available by default. Other repositories\n\t\t\tare specified with either \n\t\t\t\t repository-url/image:tag\n\t\t\t or \n\t\t\t\t repository-url/image@digest\n\t\t\t . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\tIMAGE parameter of docker\n\t\t\t\trun.

    \n\t\t
      \n
    • \n\t\t\t\t

      When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image are not propagated to already running\n\t\t\t\t\ttasks.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

      \n\t\t\t
    • \n
    " } }, - "ulimits": { - "target": "com.amazonaws.ecs#UlimitList", + "repositoryCredentials": { + "target": "com.amazonaws.ecs#RepositoryCredentials", "traits": { - "smithy.api#documentation": "

    A list of ulimits to set in the container. If a ulimit value is specified\n\t\t\tin a task definition, it will override the default values set by Docker. This parameter\n\t\t\tmaps to Ulimits in the Create a container section of the\n\t\t\tDocker Remote API and the --ulimit option to docker run. Valid naming values are displayed\n\t\t\tin the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " + "smithy.api#documentation": "

    The private repository authentication credentials to use.

    " } }, - "pseudoTerminal": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "cpu": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    When this parameter is true, a TTY is allocated. This parameter maps to\n\t\t\t\tTty in the Create a container section of the\n\t\t\tDocker Remote API and the --tty option to docker run.

    " + "smithy.api#documentation": "

    The number of cpu units reserved for the container. This parameter maps\n\t\t\tto CpuShares in the Create a container section of the\n\t\t\tDocker Remote API and the --cpu-shares option to docker run.

    \n\t\t

    This field is optional for tasks using the Fargate launch type, and the\n\t\t\tonly requirement is that the total amount of CPU reserved for all containers within a\n\t\t\ttask be lower than the task-level cpu value.

    \n\t\t \n\t\t\t

    You can determine the number of CPU units that are available per EC2 instance type\n\t\t\t\tby multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page\n\t\t\t\tby 1,024.

    \n\t\t
    \n\t\t

    Linux containers share unallocated CPU units with other containers on the container\n\t\t\tinstance with the same ratio as their allocated amount. For example, if you run a\n\t\t\tsingle-container task on a single-core instance type with 512 CPU units specified for\n\t\t\tthat container, and that is the only task running on the container instance, that\n\t\t\tcontainer could use the full 1,024 CPU unit share at any given time. However, if you\n\t\t\tlaunched another copy of the same task on that container instance, each task would be\n\t\t\tguaranteed a minimum of 512 CPU units when needed, and each container could float to\n\t\t\thigher CPU usage if the other container was not using it, but if both tasks were 100%\n\t\t\tactive all of the time, they would be limited to 512 CPU units.

    \n\t\t

    On Linux container instances, the Docker daemon on the container instance uses the CPU\n\t\t\tvalue to calculate the relative CPU share ratios for running containers. For more\n\t\t\tinformation, see CPU share\n\t\t\t\tconstraint in the Docker documentation. The minimum valid CPU share value\n\t\t\tthat the Linux kernel allows is 2. However, the CPU parameter is not required, and you\n\t\t\tcan use CPU values below 2 in your container definitions. For CPU values below 2\n\t\t\t(including null), the behavior varies based on your Amazon ECS container agent\n\t\t\tversion:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n\t\t\t\t\t Agent versions less than or equal to 1.1.0:\n\t\t\t\t\tNull and zero CPU values are passed to Docker as 0, which Docker then converts\n\t\t\t\t\tto 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux\n\t\t\t\t\tkernel converts to two CPU shares.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n\t\t\t\t\t Agent versions greater than or equal to 1.2.0:\n\t\t\t\t\tNull, zero, and CPU values of 1 are passed to Docker as 2.

      \n\t\t\t
    • \n
    \n\t\t

    On Windows container instances, the CPU limit is enforced as an absolute limit, or a\n\t\t\tquota. Windows containers only have access to the specified amount of CPU that is\n\t\t\tdescribed in the task definition. A null or zero CPU value is passed to Docker as\n\t\t\t\t0, which Windows interprets as 1% of one CPU.

    " } }, - "volumesFrom": { - "target": "com.amazonaws.ecs#VolumeFromList", + "memory": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    Data volumes to mount from another container. This parameter maps to\n\t\t\t\tVolumesFrom in the Create a container section of the\n\t\t\tDocker Remote API and the --volumes-from option to docker run.

    " + "smithy.api#documentation": "

    The amount (in MiB) of memory to present to the container. If your container attempts\n\t\t\tto exceed the memory specified here, the container is killed. The total amount of memory\n\t\t\treserved for all containers within a task must be lower than the task\n\t\t\t\tmemory value, if one is specified. This parameter maps to\n\t\t\t\tMemory in the Create a container section of the\n\t\t\tDocker Remote API and the --memory option to docker run.

    \n\t\t

    If using the Fargate launch type, this parameter is optional.

    \n\t\t

    If using the EC2 launch type, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. If you specify both a container-level\n\t\t\t\tmemory and memoryReservation value, memory\n\t\t\tmust be greater than memoryReservation. If you specify\n\t\t\t\tmemoryReservation, then that value is subtracted from the available\n\t\t\tmemory resources for the container instance on which the container is placed. Otherwise,\n\t\t\tthe value of memory is used.

    \n\t\t

    The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should\n\t\t\tnot specify fewer than 4 MiB of memory for your containers.

    " } }, - "healthCheck": { - "target": "com.amazonaws.ecs#HealthCheck", + "memoryReservation": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The container health check command and associated configuration parameters for the\n\t\t\tcontainer. This parameter maps to HealthCheck in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\tHEALTHCHECK parameter of docker\n\t\t\t\trun.

    " + "smithy.api#documentation": "

    The soft limit (in MiB) of memory to reserve for the container. When system memory is\n\t\t\tunder heavy contention, Docker attempts to keep the container memory to this soft limit.\n\t\t\tHowever, your container can consume more memory when it needs to, up to either the hard\n\t\t\tlimit specified with the memory parameter (if applicable), or all of the\n\t\t\tavailable memory on the container instance, whichever comes first. This parameter maps\n\t\t\tto MemoryReservation in the Create a container section of\n\t\t\tthe Docker Remote API and the --memory-reservation option to docker run.

    \n\t\t

    If a task-level memory value is not specified, you must specify a non-zero integer for\n\t\t\tone or both of memory or memoryReservation in a container\n\t\t\tdefinition. If you specify both, memory must be greater than\n\t\t\t\tmemoryReservation. If you specify memoryReservation, then\n\t\t\tthat value is subtracted from the available memory resources for the container instance\n\t\t\ton which the container is placed. Otherwise, the value of memory is\n\t\t\tused.

    \n\t\t

    For example, if your container normally uses 128 MiB of memory, but occasionally\n\t\t\tbursts to 256 MiB of memory for short periods of time, you can set a\n\t\t\t\tmemoryReservation of 128 MiB, and a memory hard limit of\n\t\t\t300 MiB. This configuration would allow the container to only reserve 128 MiB of memory\n\t\t\tfrom the remaining resources on the container instance, but also allow the container to\n\t\t\tconsume more memory resources when needed.

    \n\t\t

    The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should\n\t\t\tnot specify fewer than 4 MiB of memory for your containers.

    " } }, - "dnsSearchDomains": { + "links": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    A list of DNS search domains that are presented to the container. This parameter maps\n\t\t\tto DnsSearch in the Create a container section of the\n\t\t\tDocker Remote API and the --dns-search option to docker run.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " + "smithy.api#documentation": "

    The links parameter allows containers to communicate with each other\n\t\t\twithout the need for port mappings. This parameter is only supported if the network mode\n\t\t\tof a task definition is bridge. The name:internalName\n\t\t\tconstruct is analogous to name:alias in Docker links.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to\n\t\t\t\tLegacy container links\n\t\t\tin the Docker documentation. This parameter maps to Links in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--link option to docker\n\t\t\trun.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    \n \n\t\t\t

    Containers that are collocated on a single container instance may be able to\n\t\t\t\tcommunicate with each other without requiring links or host port mappings. Network\n\t\t\t\tisolation is achieved on the container instance using security groups and VPC\n\t\t\t\tsettings.

    \n\t\t
    " } }, - "memory": { - "target": "com.amazonaws.ecs#BoxedInteger", + "portMappings": { + "target": "com.amazonaws.ecs#PortMappingList", "traits": { - "smithy.api#documentation": "

    The amount (in MiB) of memory to present to the container. If your container attempts\n\t\t\tto exceed the memory specified here, the container is killed. The total amount of memory\n\t\t\treserved for all containers within a task must be lower than the task\n\t\t\t\tmemory value, if one is specified. This parameter maps to\n\t\t\t\tMemory in the Create a container section of the\n\t\t\tDocker Remote API and the --memory option to docker run.

    \n\t\t

    If using the Fargate launch type, this parameter is optional.

    \n\t\t

    If using the EC2 launch type, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. If you specify both a container-level\n\t\t\t\tmemory and memoryReservation value, memory\n\t\t\tmust be greater than memoryReservation. If you specify\n\t\t\t\tmemoryReservation, then that value is subtracted from the available\n\t\t\tmemory resources for the container instance on which the container is placed. Otherwise,\n\t\t\tthe value of memory is used.

    \n\t\t

    The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should\n\t\t\tnot specify fewer than 4 MiB of memory for your containers.

    " + "smithy.api#documentation": "

    The list of port mappings for the container. Port mappings allow containers to access\n\t\t\tports on the host container instance to send or receive traffic.

    \n\t\t

    For task definitions that use the awsvpc network mode, you should only\n\t\t\tspecify the containerPort. The hostPort can be left blank or\n\t\t\tit must be the same value as the containerPort.

    \n\t\t

    Port mappings on Windows use the NetNAT gateway address rather than\n\t\t\t\tlocalhost. There is no loopback for port mappings on Windows, so you\n\t\t\tcannot access a container's mapped port from the host itself.

    \n\t\t

    This parameter maps to PortBindings in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--publish option to docker\n\t\t\t\trun. If the network mode of a task definition is set to none,\n\t\t\tthen you can't specify port mappings. If the network mode of a task definition is set to\n\t\t\t\thost, then host ports must either be undefined or they must match the\n\t\t\tcontainer port in the port mapping.

    \n\t\t \n\t\t\t

    After a task reaches the RUNNING status, manual and automatic host\n\t\t\t\tand container port assignments are visible in the Network\n\t\t\t\t\tBindings section of a container description for a selected task in\n\t\t\t\tthe Amazon ECS console. The assignments are also visible in the\n\t\t\t\t\tnetworkBindings section DescribeTasks\n\t\t\t\tresponses.

    \n\t\t
    " } }, - "user": { - "target": "com.amazonaws.ecs#String", + "essential": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    The user name to use inside the container. This parameter maps to User in\n\t\t\tthe Create a container section of the Docker Remote API and the\n\t\t\t\t--user option to docker\n\t\t\trun.

    \n\t\t

    You can use the following formats. If specifying a UID or GID, you must specify it as\n\t\t\ta positive integer.

    \n\t\t
      \n
    • \n\t\t\t\t

      \n user\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n user:group\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n uid\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n uid:gid\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n user:gid\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n uid:group\n

      \n\t\t\t
    • \n
    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " + "smithy.api#documentation": "

    If the essential parameter of a container is marked as true,\n\t\t\tand that container fails or stops for any reason, all other containers that are part of\n\t\t\tthe task are stopped. If the essential parameter of a container is marked\n\t\t\tas false, then its failure does not affect the rest of the containers in a\n\t\t\ttask. If this parameter is omitted, a container is assumed to be essential.

    \n\t\t

    All tasks must have at least one essential container. If you have an application that\n\t\t\tis composed of multiple containers, you should group containers that are used for a\n\t\t\tcommon purpose into components, and separate the different components into multiple task\n\t\t\tdefinitions. For more information, see Application\n\t\t\t\tArchitecture in the Amazon Elastic Container Service Developer Guide.

    " } }, "entryPoint": { @@ -1069,100 +1101,100 @@ "smithy.api#documentation": "\n\t\t\t

    Early versions of the Amazon ECS container agent do not properly handle\n\t\t\t\t\tentryPoint parameters. If you have problems using\n\t\t\t\t\tentryPoint, update your container agent or enter your commands and\n\t\t\t\targuments as command array items instead.

    \n\t\t
    \n\t\t

    The entry point that is passed to the container. This parameter maps to\n\t\t\t\tEntrypoint in the Create a container section of the\n\t\t\tDocker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

    " } }, - "interactive": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "command": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    When this parameter is true, this allows you to deploy containerized\n\t\t\tapplications that require stdin or a tty to be allocated. This\n\t\t\tparameter maps to OpenStdin in the Create a container\n\t\t\tsection of the Docker Remote API and the --interactive option to docker run.

    " + "smithy.api#documentation": "

    The command that is passed to the container. This parameter maps to Cmd\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\tCOMMAND parameter to docker\n\t\t\t\trun. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each\n\t\t\targument should be a separated string in the array.

    " } }, - "logConfiguration": { - "target": "com.amazonaws.ecs#LogConfiguration", + "environment": { + "target": "com.amazonaws.ecs#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

    The log configuration specification for the container.

    \n\t\t

    This parameter maps to LogConfig in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--log-driver option to docker\n\t\t\t\trun. By default, containers use the same logging driver that the Docker\n\t\t\tdaemon uses. However the container may use a different logging driver than the Docker\n\t\t\tdaemon by specifying a log driver with this parameter in the container definition. To\n\t\t\tuse a different logging driver for a container, the log system must be configured\n\t\t\tproperly on the container instance (or on a different log server for remote logging\n\t\t\toptions). For more information on the options for different supported log drivers, see\n\t\t\t\tConfigure\n\t\t\t\tlogging drivers in the Docker documentation.

    \n\t\t \n\t\t\t

    Amazon ECS currently supports a subset of the logging drivers available to the Docker\n\t\t\t\tdaemon (shown in the LogConfiguration data type). Additional log\n\t\t\t\tdrivers may be available in future releases of the Amazon ECS container agent.

    \n\t\t
    \n\t\t

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

    \n\t\t \n\t\t\t

    The Amazon ECS container agent running on a container instance must register the\n\t\t\t\tlogging drivers available on that instance with the\n\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\tcontainers placed on that instance can use these log configuration options. For more\n\t\t\t\tinformation, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

    \n\t\t
    " + "smithy.api#documentation": "

    The environment variables to pass to a container. This parameter maps to\n\t\t\t\tEnv in the Create a container section of the\n\t\t\tDocker Remote API and the --env option to docker run.

    \n\t\t \n\t\t\t

    We do not recommend using plaintext environment variables for sensitive\n\t\t\t\tinformation, such as credential data.

    \n\t\t
    " } }, - "links": { - "target": "com.amazonaws.ecs#StringList", + "environmentFiles": { + "target": "com.amazonaws.ecs#EnvironmentFiles", "traits": { - "smithy.api#documentation": "

    The links parameter allows containers to communicate with each other\n\t\t\twithout the need for port mappings. This parameter is only supported if the network mode\n\t\t\tof a task definition is bridge. The name:internalName\n\t\t\tconstruct is analogous to name:alias in Docker links.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to\n\t\t\t\tLegacy container links\n\t\t\tin the Docker documentation. This parameter maps to Links in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--link option to docker\n\t\t\trun.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    \n \n\t\t\t

    Containers that are collocated on a single container instance may be able to\n\t\t\t\tcommunicate with each other without requiring links or host port mappings. Network\n\t\t\t\tisolation is achieved on the container instance using security groups and VPC\n\t\t\t\tsettings.

    \n\t\t
    " + "smithy.api#documentation": "

    A list of files containing the environment variables to pass to a container. This\n\t\t\tparameter maps to the --env-file option to docker run.

    \n\t\t

    You can specify up to ten environment files. The file must have a .env\n\t\t\tfile extension. Each line in an environment file should contain an environment variable\n\t\t\tin VARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information on the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

    \n\t\t

    If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they are processed from the top down. It is recommended to use unique\n\t\t\tvariable names. For more information, see Specifying Environment\n\t\t\t\tVariables in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    This field is not valid for containers in tasks using the Fargate launch\n\t\t\ttype.

    " } }, - "startTimeout": { - "target": "com.amazonaws.ecs#BoxedInteger", + "mountPoints": { + "target": "com.amazonaws.ecs#MountPointList", "traits": { - "smithy.api#documentation": "

    Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it does not reach the desired status within that\n\t\t\ttime then containerA will give up and not start. This results in the task transitioning\n\t\t\tto a STOPPED state.

    \n\t\t \n\t\t\t

    When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it is enforced indendently from this start timeout value.

    \n\t\t
    \n\t\t

    For tasks using the Fargate launch type, this parameter requires that\n\t\t\tthe task or service uses platform version 1.3.0 or later.

    \n\t\t

    For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The mount points for data volumes in your container.

    \n\t\t

    This parameter maps to Volumes in the Create a container\n\t\t\tsection of the Docker Remote API and the --volume option to docker run.

    \n\t\t

    Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers cannot mount directories on a\n\t\t\tdifferent drive, and mount point cannot be across drives.

    " } }, - "hostname": { - "target": "com.amazonaws.ecs#String", + "volumesFrom": { + "target": "com.amazonaws.ecs#VolumeFromList", "traits": { - "smithy.api#documentation": "

    The hostname to use for your container. This parameter maps to Hostname\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\t--hostname option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    The hostname parameter is not supported if you are using the\n\t\t\t\t\tawsvpc network mode.

    \n\t\t
    " + "smithy.api#documentation": "

    Data volumes to mount from another container. This parameter maps to\n\t\t\t\tVolumesFrom in the Create a container section of the\n\t\t\tDocker Remote API and the --volumes-from option to docker run.

    " } }, - "resourceRequirements": { - "target": "com.amazonaws.ecs#ResourceRequirements", + "linuxParameters": { + "target": "com.amazonaws.ecs#LinuxParameters", "traits": { - "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. The only supported\n\t\t\tresource is a GPU.

    " + "smithy.api#documentation": "

    Linux-specific modifications that are applied to the container, such as Linux kernel\n\t\t\tcapabilities. For more information see KernelCapabilities.

    \n\t\t \n\t\t\t

    This parameter is not supported for Windows containers.

    \n\t\t
    " } }, - "firelensConfiguration": { - "target": "com.amazonaws.ecs#FirelensConfiguration", + "secrets": { + "target": "com.amazonaws.ecs#SecretList", "traits": { - "smithy.api#documentation": "

    The FireLens configuration for the container. This is used to specify and configure a\n\t\t\tlog router for container logs. For more information, see Custom Log Routing\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The secrets to pass to the container. For more information, see Specifying\n\t\t\t\tSensitive Data in the Amazon Elastic Container Service Developer Guide.

    " } }, - "image": { - "target": "com.amazonaws.ecs#String", + "dependsOn": { + "target": "com.amazonaws.ecs#ContainerDependencies", "traits": { - "smithy.api#documentation": "

    The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. Images in the Docker Hub registry are available by default. Other repositories\n\t\t\tare specified with either \n\t\t\t\t repository-url/image:tag\n\t\t\t or \n\t\t\t\t repository-url/image@digest\n\t\t\t . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\tIMAGE parameter of docker\n\t\t\t\trun.

    \n\t\t
      \n
    • \n\t\t\t\t

      When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image are not propagated to already running\n\t\t\t\t\ttasks.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

      \n\t\t\t
    • \n
    " + "smithy.api#documentation": "

    The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

    \n\t\t

    For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later.

    " } }, - "memoryReservation": { + "startTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The soft limit (in MiB) of memory to reserve for the container. When system memory is\n\t\t\tunder heavy contention, Docker attempts to keep the container memory to this soft limit.\n\t\t\tHowever, your container can consume more memory when it needs to, up to either the hard\n\t\t\tlimit specified with the memory parameter (if applicable), or all of the\n\t\t\tavailable memory on the container instance, whichever comes first. This parameter maps\n\t\t\tto MemoryReservation in the Create a container section of\n\t\t\tthe Docker Remote API and the --memory-reservation option to docker run.

    \n\t\t

    If a task-level memory value is not specified, you must specify a non-zero integer for\n\t\t\tone or both of memory or memoryReservation in a container\n\t\t\tdefinition. If you specify both, memory must be greater than\n\t\t\t\tmemoryReservation. If you specify memoryReservation, then\n\t\t\tthat value is subtracted from the available memory resources for the container instance\n\t\t\ton which the container is placed. Otherwise, the value of memory is\n\t\t\tused.

    \n\t\t

    For example, if your container normally uses 128 MiB of memory, but occasionally\n\t\t\tbursts to 256 MiB of memory for short periods of time, you can set a\n\t\t\t\tmemoryReservation of 128 MiB, and a memory hard limit of\n\t\t\t300 MiB. This configuration would allow the container to only reserve 128 MiB of memory\n\t\t\tfrom the remaining resources on the container instance, but also allow the container to\n\t\t\tconsume more memory resources when needed.

    \n\t\t

    The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should\n\t\t\tnot specify fewer than 4 MiB of memory for your containers.

    " + "smithy.api#documentation": "

    Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it does not reach the desired status within that\n\t\t\ttime then containerA will give up and not start. This results in the task transitioning\n\t\t\tto a STOPPED state.

    \n\t\t \n\t\t\t

    When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it is enforced indendently from this start timeout value.

    \n\t\t
    \n\t\t

    For tasks using the Fargate launch type, this parameter requires that\n\t\t\tthe task or service uses platform version 1.3.0 or later.

    \n\t\t

    For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    " } }, - "portMappings": { - "target": "com.amazonaws.ecs#PortMappingList", + "stopTimeout": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The list of port mappings for the container. Port mappings allow containers to access\n\t\t\tports on the host container instance to send or receive traffic.

    \n\t\t

    For task definitions that use the awsvpc network mode, you should only\n\t\t\tspecify the containerPort. The hostPort can be left blank or\n\t\t\tit must be the same value as the containerPort.

    \n\t\t

    Port mappings on Windows use the NetNAT gateway address rather than\n\t\t\t\tlocalhost. There is no loopback for port mappings on Windows, so you\n\t\t\tcannot access a container's mapped port from the host itself.

    \n\t\t

    This parameter maps to PortBindings in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--publish option to docker\n\t\t\t\trun. If the network mode of a task definition is set to none,\n\t\t\tthen you can't specify port mappings. If the network mode of a task definition is set to\n\t\t\t\thost, then host ports must either be undefined or they must match the\n\t\t\tcontainer port in the port mapping.

    \n\t\t \n\t\t\t

    After a task reaches the RUNNING status, manual and automatic host\n\t\t\t\tand container port assignments are visible in the Network\n\t\t\t\t\tBindings section of a container description for a selected task in\n\t\t\t\tthe Amazon ECS console. The assignments are also visible in the\n\t\t\t\t\tnetworkBindings section DescribeTasks\n\t\t\t\tresponses.

    \n\t\t
    " + "smithy.api#documentation": "

    Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

    \n\t\t

    For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the\n\t\t\tparameter is not specified, the default value of 30 seconds is used.

    \n\t\t

    For tasks using the EC2 launch type, if the stopTimeout\n\t\t\tparameter is not specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to enable a container stop\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    " } }, - "dependsOn": { - "target": "com.amazonaws.ecs#ContainerDependencies", + "hostname": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

    \n\t\t

    For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later.

    " + "smithy.api#documentation": "

    The hostname to use for your container. This parameter maps to Hostname\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\t--hostname option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    The hostname parameter is not supported if you are using the\n\t\t\t\t\tawsvpc network mode.

    \n\t\t
    " } }, - "cpu": { - "target": "com.amazonaws.ecs#Integer", + "user": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of cpu units reserved for the container. This parameter maps\n\t\t\tto CpuShares in the Create a container section of the\n\t\t\tDocker Remote API and the --cpu-shares option to docker run.

    \n\t\t

    This field is optional for tasks using the Fargate launch type, and the\n\t\t\tonly requirement is that the total amount of CPU reserved for all containers within a\n\t\t\ttask be lower than the task-level cpu value.

    \n\t\t \n\t\t\t

    You can determine the number of CPU units that are available per EC2 instance type\n\t\t\t\tby multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page\n\t\t\t\tby 1,024.

    \n\t\t
    \n\t\t

    Linux containers share unallocated CPU units with other containers on the container\n\t\t\tinstance with the same ratio as their allocated amount. For example, if you run a\n\t\t\tsingle-container task on a single-core instance type with 512 CPU units specified for\n\t\t\tthat container, and that is the only task running on the container instance, that\n\t\t\tcontainer could use the full 1,024 CPU unit share at any given time. However, if you\n\t\t\tlaunched another copy of the same task on that container instance, each task would be\n\t\t\tguaranteed a minimum of 512 CPU units when needed, and each container could float to\n\t\t\thigher CPU usage if the other container was not using it, but if both tasks were 100%\n\t\t\tactive all of the time, they would be limited to 512 CPU units.

    \n\t\t

    On Linux container instances, the Docker daemon on the container instance uses the CPU\n\t\t\tvalue to calculate the relative CPU share ratios for running containers. For more\n\t\t\tinformation, see CPU share\n\t\t\t\tconstraint in the Docker documentation. The minimum valid CPU share value\n\t\t\tthat the Linux kernel allows is 2. However, the CPU parameter is not required, and you\n\t\t\tcan use CPU values below 2 in your container definitions. For CPU values below 2\n\t\t\t(including null), the behavior varies based on your Amazon ECS container agent\n\t\t\tversion:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n\t\t\t\t\t Agent versions less than or equal to 1.1.0:\n\t\t\t\t\tNull and zero CPU values are passed to Docker as 0, which Docker then converts\n\t\t\t\t\tto 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux\n\t\t\t\t\tkernel converts to two CPU shares.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n\t\t\t\t\t Agent versions greater than or equal to 1.2.0:\n\t\t\t\t\tNull, zero, and CPU values of 1 are passed to Docker as 2.

      \n\t\t\t
    • \n
    \n\t\t

    On Windows container instances, the CPU limit is enforced as an absolute limit, or a\n\t\t\tquota. Windows containers only have access to the specified amount of CPU that is\n\t\t\tdescribed in the task definition. A null or zero CPU value is passed to Docker as\n\t\t\t\t0, which Windows interprets as 1% of one CPU.

    " + "smithy.api#documentation": "

    The user to use inside the container. This parameter maps to User in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--user option to docker\n\t\t\trun.

    \n\t\t \n\t\t\t

    When running tasks using the host network mode, you should not run\n\t\t\t\tcontainers using the root user (UID 0). It is considered best practice to use a\n\t\t\t\tnon-root user.

    \n\t\t
    \n\t\t

    You can specify the user using the following formats. If specifying a UID\n\t\t\tor GID, you must specify it as a positive integer.

    \n\t\t
      \n
    • \n\t\t\t\t

      \n user\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n user:group\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n uid\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n uid:gid\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n user:gid\n

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n uid:group\n

      \n\t\t\t
    • \n
    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " } }, - "stopTimeout": { - "target": "com.amazonaws.ecs#BoxedInteger", + "workingDirectory": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

    \n\t\t

    For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the\n\t\t\tparameter is not specified, the default value of 30 seconds is used.

    \n\t\t

    For tasks using the EC2 launch type, if the stopTimeout\n\t\t\tparameter is not specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to enable a container stop\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The working directory in which to run commands inside the container. This parameter\n\t\t\tmaps to WorkingDir in the Create a container section of the\n\t\t\tDocker Remote API and the --workdir option to docker run.

    " } }, - "dockerLabels": { - "target": "com.amazonaws.ecs#DockerLabelsMap", + "disableNetworking": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    A key/value map of labels to add to the container. This parameter maps to\n\t\t\t\tLabels in the Create a container section of the\n\t\t\tDocker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

    " + "smithy.api#documentation": "

    When this parameter is true, networking is disabled within the container. This\n\t\t\tparameter maps to NetworkDisabled in the Create a container\n\t\t\tsection of the Docker Remote API.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " } }, - "essential": { + "privileged": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    If the essential parameter of a container is marked as true,\n\t\t\tand that container fails or stops for any reason, all other containers that are part of\n\t\t\tthe task are stopped. If the essential parameter of a container is marked\n\t\t\tas false, then its failure does not affect the rest of the containers in a\n\t\t\ttask. If this parameter is omitted, a container is assumed to be essential.

    \n\t\t

    All tasks must have at least one essential container. If you have an application that\n\t\t\tis composed of multiple containers, you should group containers that are used for a\n\t\t\tcommon purpose into components, and separate the different components into multiple task\n\t\t\tdefinitions. For more information, see Application\n\t\t\t\tArchitecture in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    When this parameter is true, the container is given elevated privileges on the host\n\t\t\tcontainer instance (similar to the root user). This parameter maps to\n\t\t\t\tPrivileged in the Create a container section of the\n\t\t\tDocker Remote API and the --privileged option to docker run.

    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " } }, - "linuxParameters": { - "target": "com.amazonaws.ecs#LinuxParameters", + "readonlyRootFilesystem": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    Linux-specific modifications that are applied to the container, such as Linux kernel\n\t\t\tcapabilities. For more information see KernelCapabilities.

    \n\t\t \n\t\t\t

    This parameter is not supported for Windows containers.

    \n\t\t
    " + "smithy.api#documentation": "

    When this parameter is true, the container is given read-only access to its root file\n\t\t\tsystem. This parameter maps to ReadonlyRootfs in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--read-only option to docker\n\t\t\t\trun.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " } }, "dnsServers": { @@ -1171,76 +1203,76 @@ "smithy.api#documentation": "

    A list of DNS servers that are presented to the container. This parameter maps to\n\t\t\t\tDns in the Create a container section of the\n\t\t\tDocker Remote API and the --dns option to docker run.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " } }, - "repositoryCredentials": { - "target": "com.amazonaws.ecs#RepositoryCredentials", + "dnsSearchDomains": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    The private repository authentication credentials to use.

    " + "smithy.api#documentation": "

    A list of DNS search domains that are presented to the container. This parameter maps\n\t\t\tto DnsSearch in the Create a container section of the\n\t\t\tDocker Remote API and the --dns-search option to docker run.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " } }, - "systemControls": { - "target": "com.amazonaws.ecs#SystemControls", + "extraHosts": { + "target": "com.amazonaws.ecs#HostEntryList", "traits": { - "smithy.api#documentation": "

    A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the Create a container section of the\n\t\t\tDocker Remote API and the --sysctl option to docker run.

    \n\t\t \n\t\t\t

    It is not recommended that you specify network-related systemControls\n\t\t\t\tparameters for multiple containers in a single task that also uses either the\n\t\t\t\t\tawsvpc or host network modes. For tasks that use the\n\t\t\t\t\tawsvpc network mode, the container that is started last determines\n\t\t\t\twhich systemControls parameters take effect. For tasks that use the\n\t\t\t\t\thost network mode, it changes the container instance's namespaced\n\t\t\t\tkernel parameters as well as the containers.

    \n\t\t
    " + "smithy.api#documentation": "

    A list of hostnames and IP address mappings to append to the /etc/hosts\n\t\t\tfile on the container. This parameter maps to ExtraHosts in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--add-host option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    This parameter is not supported for Windows containers or tasks that use the\n\t\t\t\t\tawsvpc network mode.

    \n\t\t
    " } }, - "mountPoints": { - "target": "com.amazonaws.ecs#MountPointList", + "dockerSecurityOptions": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    The mount points for data volumes in your container.

    \n\t\t

    This parameter maps to Volumes in the Create a container\n\t\t\tsection of the Docker Remote API and the --volume option to docker run.

    \n\t\t

    Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers cannot mount directories on a\n\t\t\tdifferent drive, and mount point cannot be across drives.

    " + "smithy.api#documentation": "

    A list of strings to provide custom labels for SELinux and AppArmor multi-level\n\t\t\tsecurity systems. This field is not valid for containers in tasks using the\n\t\t\tFargate launch type.

    \n\t\t

    With Windows containers, this parameter can be used to reference a credential spec\n\t\t\tfile when configuring a container for Active Directory authentication. For more\n\t\t\tinformation, see Using gMSAs for Windows\n\t\t\t\tContainers in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    This parameter maps to SecurityOpt in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--security-opt option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    The Amazon ECS container agent running on a container instance must register with the\n\t\t\t\t\tECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true\n\t\t\t\tenvironment variables before containers placed on that instance can use these\n\t\t\t\tsecurity options. For more information, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

    \n\t\t
    \n\t\t

    For more information about valid values, see Docker\n\t\t\t\tRun Security Configuration.

    \n\t\t

    Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" |\n\t\t\t\"credentialspec:CredentialSpecFilePath\"

    " } }, - "name": { - "target": "com.amazonaws.ecs#String", + "interactive": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    The name of a container. If you are linking multiple containers together in a task\n\t\t\tdefinition, the name of one container can be entered in the\n\t\t\t\tlinks of another container to connect the containers.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--name option to docker\n\t\t\trun.

    " + "smithy.api#documentation": "

    When this parameter is true, this allows you to deploy containerized\n\t\t\tapplications that require stdin or a tty to be allocated. This\n\t\t\tparameter maps to OpenStdin in the Create a container\n\t\t\tsection of the Docker Remote API and the --interactive option to docker run.

    " } }, - "dockerSecurityOptions": { - "target": "com.amazonaws.ecs#StringList", + "pseudoTerminal": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    A list of strings to provide custom labels for SELinux and AppArmor multi-level\n\t\t\tsecurity systems. This field is not valid for containers in tasks using the\n\t\t\tFargate launch type.

    \n\t\t

    With Windows containers, this parameter can be used to reference a credential spec\n\t\t\tfile when configuring a container for Active Directory authentication. For more\n\t\t\tinformation, see Using gMSAs for Windows\n\t\t\t\tContainers in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    This parameter maps to SecurityOpt in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--security-opt option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    The Amazon ECS container agent running on a container instance must register with the\n\t\t\t\t\tECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true\n\t\t\t\tenvironment variables before containers placed on that instance can use these\n\t\t\t\tsecurity options. For more information, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

    \n\t\t
    \n\t\t

    For more information about valid values, see Docker\n\t\t\t\tRun Security Configuration.

    \n\t\t

    Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" |\n\t\t\t\"credentialspec:CredentialSpecFilePath\"

    " + "smithy.api#documentation": "

    When this parameter is true, a TTY is allocated. This parameter maps to\n\t\t\t\tTty in the Create a container section of the\n\t\t\tDocker Remote API and the --tty option to docker run.

    " } }, - "environmentFiles": { - "target": "com.amazonaws.ecs#EnvironmentFiles", + "dockerLabels": { + "target": "com.amazonaws.ecs#DockerLabelsMap", "traits": { - "smithy.api#documentation": "

    A list of files containing the environment variables to pass to a container. This\n\t\t\tparameter maps to the --env-file option to docker run.

    \n\t\t

    You can specify up to ten environment files. The file must have a .env\n\t\t\tfile extension. Each line in an environment file should contain an environment variable\n\t\t\tin VARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information on the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

    \n\t\t

    If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they are processed from the top down. It is recommended to use unique\n\t\t\tvariable names. For more information, see Specifying Environment\n\t\t\t\tVariables in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    This field is not valid for containers in tasks using the Fargate launch\n\t\t\ttype.

    " + "smithy.api#documentation": "

    A key/value map of labels to add to the container. This parameter maps to\n\t\t\t\tLabels in the Create a container section of the\n\t\t\tDocker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

    " } }, - "environment": { - "target": "com.amazonaws.ecs#EnvironmentVariables", + "ulimits": { + "target": "com.amazonaws.ecs#UlimitList", "traits": { - "smithy.api#documentation": "

    The environment variables to pass to a container. This parameter maps to\n\t\t\t\tEnv in the Create a container section of the\n\t\t\tDocker Remote API and the --env option to docker run.

    \n\t\t \n\t\t\t

    We do not recommend using plaintext environment variables for sensitive\n\t\t\t\tinformation, such as credential data.

    \n\t\t
    " + "smithy.api#documentation": "

    A list of ulimits to set in the container. If a ulimit value is specified\n\t\t\tin a task definition, it will override the default values set by Docker. This parameter\n\t\t\tmaps to Ulimits in the Create a container section of the\n\t\t\tDocker Remote API and the --ulimit option to docker run. Valid naming values are displayed\n\t\t\tin the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " } }, - "readonlyRootFilesystem": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "logConfiguration": { + "target": "com.amazonaws.ecs#LogConfiguration", "traits": { - "smithy.api#documentation": "

    When this parameter is true, the container is given read-only access to its root file\n\t\t\tsystem. This parameter maps to ReadonlyRootfs in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--read-only option to docker\n\t\t\t\trun.

    \n \n

    This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

    \n
    " + "smithy.api#documentation": "

    The log configuration specification for the container.

    \n\t\t

    This parameter maps to LogConfig in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--log-driver option to docker\n\t\t\t\trun. By default, containers use the same logging driver that the Docker\n\t\t\tdaemon uses. However the container may use a different logging driver than the Docker\n\t\t\tdaemon by specifying a log driver with this parameter in the container definition. To\n\t\t\tuse a different logging driver for a container, the log system must be configured\n\t\t\tproperly on the container instance (or on a different log server for remote logging\n\t\t\toptions). For more information on the options for different supported log drivers, see\n\t\t\t\tConfigure\n\t\t\t\tlogging drivers in the Docker documentation.

    \n\t\t \n\t\t\t

    Amazon ECS currently supports a subset of the logging drivers available to the Docker\n\t\t\t\tdaemon (shown in the LogConfiguration data type). Additional log\n\t\t\t\tdrivers may be available in future releases of the Amazon ECS container agent.

    \n\t\t
    \n\t\t

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

    \n\t\t \n\t\t\t

    The Amazon ECS container agent running on a container instance must register the\n\t\t\t\tlogging drivers available on that instance with the\n\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\tcontainers placed on that instance can use these log configuration options. For more\n\t\t\t\tinformation, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

    \n\t\t
    " } }, - "workingDirectory": { - "target": "com.amazonaws.ecs#String", + "healthCheck": { + "target": "com.amazonaws.ecs#HealthCheck", "traits": { - "smithy.api#documentation": "

    The working directory in which to run commands inside the container. This parameter\n\t\t\tmaps to WorkingDir in the Create a container section of the\n\t\t\tDocker Remote API and the --workdir option to docker run.

    " + "smithy.api#documentation": "

    The container health check command and associated configuration parameters for the\n\t\t\tcontainer. This parameter maps to HealthCheck in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\tHEALTHCHECK parameter of docker\n\t\t\t\trun.

    " } }, - "privileged": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "systemControls": { + "target": "com.amazonaws.ecs#SystemControls", "traits": { - "smithy.api#documentation": "

    When this parameter is true, the container is given elevated privileges on the host\n\t\t\tcontainer instance (similar to the root user). This parameter maps to\n\t\t\t\tPrivileged in the Create a container section of the\n\t\t\tDocker Remote API and the --privileged option to docker run.

    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " + "smithy.api#documentation": "

    A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the Create a container section of the\n\t\t\tDocker Remote API and the --sysctl option to docker run.

    \n\t\t \n\t\t\t

    It is not recommended that you specify network-related systemControls\n\t\t\t\tparameters for multiple containers in a single task that also uses either the\n\t\t\t\t\tawsvpc or host network modes. For tasks that use the\n\t\t\t\t\tawsvpc network mode, the container that is started last determines\n\t\t\t\twhich systemControls parameters take effect. For tasks that use the\n\t\t\t\t\thost network mode, it changes the container instance's namespaced\n\t\t\t\tkernel parameters as well as the containers.

    \n\t\t
    " } }, - "command": { - "target": "com.amazonaws.ecs#StringList", + "resourceRequirements": { + "target": "com.amazonaws.ecs#ResourceRequirements", "traits": { - "smithy.api#documentation": "

    The command that is passed to the container. This parameter maps to Cmd\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\tCOMMAND parameter to docker\n\t\t\t\trun. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each\n\t\t\targument should be a separated string in the array.

    " + "smithy.api#documentation": "

    The type and amount of a resource to assign to a container. The only supported\n\t\t\tresource is a GPU.

    " } }, - "secrets": { - "target": "com.amazonaws.ecs#SecretList", + "firelensConfiguration": { + "target": "com.amazonaws.ecs#FirelensConfiguration", "traits": { - "smithy.api#documentation": "

    The secrets to pass to the container. For more information, see Specifying\n\t\t\t\tSensitive Data in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The FireLens configuration for the container. This is used to specify and configure a\n\t\t\tlog router for container logs. For more information, see Custom Log Routing\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    " } } }, @@ -1263,17 +1295,17 @@ "com.amazonaws.ecs#ContainerDependency": { "type": "structure", "members": { - "condition": { - "target": "com.amazonaws.ecs#ContainerCondition", + "containerName": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The dependency condition of the container. The following are the available conditions\n\t\t\tand their behavior:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n START - This condition emulates the behavior of links and\n\t\t\t\t\tvolumes today. It validates that a dependent container is started before\n\t\t\t\t\tpermitting other containers to start.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n COMPLETE - This condition validates that a dependent\n\t\t\t\t\tcontainer runs to completion (exits) before permitting other containers to\n\t\t\t\t\tstart. This can be useful for nonessential containers that run a script and then\n\t\t\t\t\texit. This condition cannot be set on an essential container.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n SUCCESS - This condition is the same as\n\t\t\t\t\t\tCOMPLETE, but it also requires that the container exits with a\n\t\t\t\t\t\tzero status. This condition cannot be set on an essential\n\t\t\t\t\tcontainer.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n HEALTHY - This condition validates that the dependent\n\t\t\t\t\tcontainer passes its Docker health check before permitting other containers to\n\t\t\t\t\tstart. This requires that the dependent container has health checks configured.\n\t\t\t\t\tThis condition is confirmed only at task startup.

      \n\t\t\t
    • \n
    ", + "smithy.api#documentation": "

    The name of a container.

    ", "smithy.api#required": {} } }, - "containerName": { - "target": "com.amazonaws.ecs#String", + "condition": { + "target": "com.amazonaws.ecs#ContainerCondition", "traits": { - "smithy.api#documentation": "

    The name of a container.

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

    The dependency condition of the container. The following are the available conditions\n\t\t\tand their behavior:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n START - This condition emulates the behavior of links and\n\t\t\t\t\tvolumes today. It validates that a dependent container is started before\n\t\t\t\t\tpermitting other containers to start.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n COMPLETE - This condition validates that a dependent\n\t\t\t\t\tcontainer runs to completion (exits) before permitting other containers to\n\t\t\t\t\tstart. This can be useful for nonessential containers that run a script and then\n\t\t\t\t\texit. This condition cannot be set on an essential container.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n SUCCESS - This condition is the same as\n\t\t\t\t\t\tCOMPLETE, but it also requires that the container exits with a\n\t\t\t\t\t\tzero status. This condition cannot be set on an essential\n\t\t\t\t\tcontainer.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n HEALTHY - This condition validates that the dependent\n\t\t\t\t\tcontainer passes its Docker health check before permitting other containers to\n\t\t\t\t\tstart. This requires that the dependent container has health checks configured.\n\t\t\t\t\tThis condition is confirmed only at task startup.

      \n\t\t\t
    • \n
    ", "smithy.api#required": {} } } @@ -1285,28 +1317,10 @@ "com.amazonaws.ecs#ContainerInstance": { "type": "structure", "members": { - "registeredResources": { - "target": "com.amazonaws.ecs#Resources", - "traits": { - "smithy.api#documentation": "

    For CPU and memory resource types, this parameter describes the amount of each\n\t\t\tresource that was available on the container instance when the container agent\n\t\t\tregistered it with Amazon ECS. This value represents the total amount of CPU and memory that\n\t\t\tcan be allocated on this container instance to tasks. For port resource types, this\n\t\t\tparameter describes the ports that were reserved by the Amazon ECS container agent when it\n\t\t\tregistered the container instance with Amazon ECS.

    " - } - }, - "remainingResources": { - "target": "com.amazonaws.ecs#Resources", - "traits": { - "smithy.api#documentation": "

    For CPU and memory resource types, this parameter describes the remaining CPU and\n\t\t\tmemory that has not already been allocated to tasks and is therefore available for new\n\t\t\ttasks. For port resource types, this parameter describes the ports that were reserved by\n\t\t\tthe Amazon ECS container agent (at instance registration time) and any task containers that\n\t\t\thave reserved port mappings on the host (with the host or\n\t\t\t\tbridge network mode). Any port that is not specified here is available\n\t\t\tfor new tasks.

    " - } - }, - "tags": { - "target": "com.amazonaws.ecs#Tags", - "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value, both of which you\n\t\t\tdefine.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " - } - }, - "status": { + "containerInstanceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the container instance. The valid values are REGISTERING,\n\t\t\t\tREGISTRATION_FAILED, ACTIVE, INACTIVE,\n\t\t\t\tDEREGISTERING, or DRAINING.

    \n\t\t

    If your account has opted in to the awsvpcTrunking account setting, then\n\t\t\tany newly registered container instance will transition to a REGISTERING\n\t\t\tstatus while the trunk elastic network interface is provisioned for the instance. If the\n\t\t\tregistration fails, the instance will transition to a REGISTRATION_FAILED\n\t\t\tstatus. You can describe the container instance and see the reason for failure in the\n\t\t\t\tstatusReason parameter. Once the container instance is terminated, the\n\t\t\tinstance transitions to a DEREGISTERING status while the trunk elastic\n\t\t\tnetwork interface is deprovisioned. The instance then transitions to an\n\t\t\t\tINACTIVE status.

    \n\t\t

    The ACTIVE status indicates that the container instance can accept tasks.\n\t\t\tThe DRAINING indicates that new tasks are not placed on the container\n\t\t\tinstance and any service tasks running on the container instance are removed if\n\t\t\tpossible. For more information, see Container Instance Draining in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

    " } }, "ec2InstanceId": { @@ -1327,46 +1341,64 @@ "smithy.api#documentation": "

    The version counter for the container instance. Every time a container instance\n\t\t\texperiences a change that triggers a CloudWatch event, the version counter is\n\t\t\tincremented. If you are replicating your Amazon ECS container instance state with CloudWatch\n\t\t\tEvents, you can compare the version of a container instance reported by the Amazon ECS APIs\n\t\t\twith the version reported in CloudWatch Events for the container instance (inside the\n\t\t\t\tdetail object) to verify that the version in your event stream is\n\t\t\tcurrent.

    " } }, - "containerInstanceArn": { + "versionInfo": { + "target": "com.amazonaws.ecs#VersionInfo", + "traits": { + "smithy.api#documentation": "

    The version information for the Amazon ECS container agent and Docker daemon running on the\n\t\t\tcontainer instance.

    " + } + }, + "remainingResources": { + "target": "com.amazonaws.ecs#Resources", + "traits": { + "smithy.api#documentation": "

    For CPU and memory resource types, this parameter describes the remaining CPU and\n\t\t\tmemory that has not already been allocated to tasks and is therefore available for new\n\t\t\ttasks. For port resource types, this parameter describes the ports that were reserved by\n\t\t\tthe Amazon ECS container agent (at instance registration time) and any task containers that\n\t\t\thave reserved port mappings on the host (with the host or\n\t\t\t\tbridge network mode). Any port that is not specified here is available\n\t\t\tfor new tasks.

    " + } + }, + "registeredResources": { + "target": "com.amazonaws.ecs#Resources", + "traits": { + "smithy.api#documentation": "

    For CPU and memory resource types, this parameter describes the amount of each\n\t\t\tresource that was available on the container instance when the container agent\n\t\t\tregistered it with Amazon ECS. This value represents the total amount of CPU and memory that\n\t\t\tcan be allocated on this container instance to tasks. For port resource types, this\n\t\t\tparameter describes the ports that were reserved by the Amazon ECS container agent when it\n\t\t\tregistered the container instance with Amazon ECS.

    " + } + }, + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

    " + "smithy.api#documentation": "

    The status of the container instance. The valid values are REGISTERING,\n\t\t\t\tREGISTRATION_FAILED, ACTIVE, INACTIVE,\n\t\t\t\tDEREGISTERING, or DRAINING.

    \n\t\t

    If your account has opted in to the awsvpcTrunking account setting, then\n\t\t\tany newly registered container instance will transition to a REGISTERING\n\t\t\tstatus while the trunk elastic network interface is provisioned for the instance. If the\n\t\t\tregistration fails, the instance will transition to a REGISTRATION_FAILED\n\t\t\tstatus. You can describe the container instance and see the reason for failure in the\n\t\t\t\tstatusReason parameter. Once the container instance is terminated, the\n\t\t\tinstance transitions to a DEREGISTERING status while the trunk elastic\n\t\t\tnetwork interface is deprovisioned. The instance then transitions to an\n\t\t\t\tINACTIVE status.

    \n\t\t

    The ACTIVE status indicates that the container instance can accept tasks.\n\t\t\tThe DRAINING indicates that new tasks are not placed on the container\n\t\t\tinstance and any service tasks running on the container instance are removed if\n\t\t\tpossible. For more information, see Container Instance Draining in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

    " } }, - "pendingTasksCount": { - "target": "com.amazonaws.ecs#Integer", + "statusReason": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of tasks on the container instance that are in the PENDING\n\t\t\tstatus.

    " + "smithy.api#documentation": "

    The reason that the container instance reached its current status.

    " } }, - "agentUpdateStatus": { - "target": "com.amazonaws.ecs#AgentUpdateStatus", + "agentConnected": { + "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

    The status of the most recent agent update. If an update has never been requested,\n\t\t\tthis value is NULL.

    " + "smithy.api#documentation": "

    This parameter returns true if the agent is connected to Amazon ECS.\n\t\t\tRegistered instances with an agent that may be unhealthy or stopped return\n\t\t\t\tfalse. Only instances connected to an agent can accept placement\n\t\t\trequests.

    " } }, - "attachments": { - "target": "com.amazonaws.ecs#Attachments", + "runningTasksCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The resources attached to a container instance, such as elastic network\n\t\t\tinterfaces.

    " + "smithy.api#documentation": "

    The number of tasks on the container instance that are in the RUNNING\n\t\t\tstatus.

    " } }, - "attributes": { - "target": "com.amazonaws.ecs#Attributes", + "pendingTasksCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The attributes set for the container instance, either by the Amazon ECS container agent at\n\t\t\tinstance registration or manually with the PutAttributes\n\t\t\toperation.

    " + "smithy.api#documentation": "

    The number of tasks on the container instance that are in the PENDING\n\t\t\tstatus.

    " } }, - "runningTasksCount": { - "target": "com.amazonaws.ecs#Integer", + "agentUpdateStatus": { + "target": "com.amazonaws.ecs#AgentUpdateStatus", "traits": { - "smithy.api#documentation": "

    The number of tasks on the container instance that are in the RUNNING\n\t\t\tstatus.

    " + "smithy.api#documentation": "

    The status of the most recent agent update. If an update has never been requested,\n\t\t\tthis value is NULL.

    " } }, - "statusReason": { - "target": "com.amazonaws.ecs#String", + "attributes": { + "target": "com.amazonaws.ecs#Attributes", "traits": { - "smithy.api#documentation": "

    The reason that the container instance reached its current status.

    " + "smithy.api#documentation": "

    The attributes set for the container instance, either by the Amazon ECS container agent at\n\t\t\tinstance registration or manually with the PutAttributes\n\t\t\toperation.

    " } }, "registeredAt": { @@ -1375,16 +1407,16 @@ "smithy.api#documentation": "

    The Unix timestamp for when the container instance was registered.

    " } }, - "versionInfo": { - "target": "com.amazonaws.ecs#VersionInfo", + "attachments": { + "target": "com.amazonaws.ecs#Attachments", "traits": { - "smithy.api#documentation": "

    The version information for the Amazon ECS container agent and Docker daemon running on the\n\t\t\tcontainer instance.

    " + "smithy.api#documentation": "

    The resources attached to a container instance, such as elastic network\n\t\t\tinterfaces.

    " } }, - "agentConnected": { - "target": "com.amazonaws.ecs#Boolean", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    This parameter returns true if the agent is connected to Amazon ECS.\n\t\t\tRegistered instances with an agent that may be unhealthy or stopped return\n\t\t\t\tfalse. Only instances connected to an agent can accept placement\n\t\t\trequests.

    " + "smithy.api#documentation": "

    The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value, both of which you\n\t\t\tdefine.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } } }, @@ -1445,10 +1477,10 @@ "com.amazonaws.ecs#ContainerOverride": { "type": "structure", "members": { - "cpu": { - "target": "com.amazonaws.ecs#BoxedInteger", + "name": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of cpu units reserved for the container, instead of the\n\t\t\tdefault value from the task definition. You must also specify a container name.

    " + "smithy.api#documentation": "

    The name of the container that receives the override. This parameter is required if\n\t\t\tany override is specified.

    " } }, "command": { @@ -1457,40 +1489,40 @@ "smithy.api#documentation": "

    The command to send to the container that overrides the default command from the\n\t\t\tDocker image or the task definition. You must also specify a container name.

    " } }, - "memoryReservation": { - "target": "com.amazonaws.ecs#BoxedInteger", + "environment": { + "target": "com.amazonaws.ecs#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

    The soft limit (in MiB) of memory to reserve for the container, instead of the default\n\t\t\tvalue from the task definition. You must also specify a container name.

    " + "smithy.api#documentation": "

    The environment variables to send to the container. You can add new environment\n\t\t\tvariables, which are added to the container at launch, or you can override the existing\n\t\t\tenvironment variables from the Docker image or the task definition. You must also\n\t\t\tspecify a container name.

    " } }, - "resourceRequirements": { - "target": "com.amazonaws.ecs#ResourceRequirements", + "environmentFiles": { + "target": "com.amazonaws.ecs#EnvironmentFiles", "traits": { - "smithy.api#documentation": "

    The type and amount of a resource to assign to a container, instead of the default\n\t\t\tvalue from the task definition. The only supported resource is a GPU.

    " + "smithy.api#documentation": "

    A list of files containing the environment variables to pass to a container, instead\n\t\t\tof the value from the container definition.

    " } }, - "name": { - "target": "com.amazonaws.ecs#String", + "cpu": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The name of the container that receives the override. This parameter is required if\n\t\t\tany override is specified.

    " + "smithy.api#documentation": "

    The number of cpu units reserved for the container, instead of the\n\t\t\tdefault value from the task definition. You must also specify a container name.

    " } }, - "environmentFiles": { - "target": "com.amazonaws.ecs#EnvironmentFiles", + "memory": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    A list of files containing the environment variables to pass to a container, instead\n\t\t\tof the value from the container definition.

    " + "smithy.api#documentation": "

    The hard limit (in MiB) of memory to present to the container, instead of the default\n\t\t\tvalue from the task definition. If your container attempts to exceed the memory\n\t\t\tspecified here, the container is killed. You must also specify a container name.

    " } }, - "memory": { + "memoryReservation": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The hard limit (in MiB) of memory to present to the container, instead of the default\n\t\t\tvalue from the task definition. If your container attempts to exceed the memory\n\t\t\tspecified here, the container is killed. You must also specify a container name.

    " + "smithy.api#documentation": "

    The soft limit (in MiB) of memory to reserve for the container, instead of the default\n\t\t\tvalue from the task definition. You must also specify a container name.

    " } }, - "environment": { - "target": "com.amazonaws.ecs#EnvironmentVariables", + "resourceRequirements": { + "target": "com.amazonaws.ecs#ResourceRequirements", "traits": { - "smithy.api#documentation": "

    The environment variables to send to the container. You can add new environment\n\t\t\tvariables, which are added to the container at launch, or you can override the existing\n\t\t\tenvironment variables from the Docker image or the task definition. You must also\n\t\t\tspecify a container name.

    " + "smithy.api#documentation": "

    The type and amount of a resource to assign to a container, instead of the default\n\t\t\tvalue from the task definition. The only supported resource is a GPU.

    " } } }, @@ -1507,28 +1539,28 @@ "com.amazonaws.ecs#ContainerStateChange": { "type": "structure", "members": { - "exitCode": { - "target": "com.amazonaws.ecs#BoxedInteger", + "containerName": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The exit code for the container, if the state change is a result of the container\n\t\t\texiting.

    " + "smithy.api#documentation": "

    The name of the container.

    " } }, - "runtimeId": { + "imageDigest": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The ID of the Docker container.

    " + "smithy.api#documentation": "

    The container image SHA 256 digest.

    " } }, - "status": { + "runtimeId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the container.

    " + "smithy.api#documentation": "

    The ID of the Docker container.

    " } }, - "imageDigest": { - "target": "com.amazonaws.ecs#String", + "exitCode": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The container image SHA 256 digest.

    " + "smithy.api#documentation": "

    The exit code for the container, if the state change is a result of the container\n\t\t\texiting.

    " } }, "networkBindings": { @@ -1543,10 +1575,10 @@ "smithy.api#documentation": "

    The reason for the state change.

    " } }, - "containerName": { + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the container.

    " + "smithy.api#documentation": "

    The status of the container.

    " } } }, @@ -1598,17 +1630,17 @@ "com.amazonaws.ecs#CreateCapacityProviderRequest": { "type": "structure", "members": { - "autoScalingGroupProvider": { - "target": "com.amazonaws.ecs#AutoScalingGroupProvider", + "name": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The details of the Auto Scaling group for the capacity provider.

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

    The name of the capacity provider. Up to 255 characters are allowed, including letters\n\t\t\t(upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed\n\t\t\twith \"aws\", \"ecs\", or \"fargate\".

    ", "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.ecs#String", + "autoScalingGroupProvider": { + "target": "com.amazonaws.ecs#AutoScalingGroupProvider", "traits": { - "smithy.api#documentation": "

    The name of the capacity provider. Up to 255 characters are allowed, including letters\n\t\t\t(upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed\n\t\t\twith \"aws\", \"ecs\", or \"fargate\".

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

    The details of the Auto Scaling group for the capacity provider.

    ", "smithy.api#required": {} } }, @@ -1669,12 +1701,6 @@ "smithy.api#documentation": "

    The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "defaultCapacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", - "traits": { - "smithy.api#documentation": "

    The capacity provider strategy to use by default for the cluster.

    \n\t\t

    When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified then the default capacity provider strategy for the cluster is\n\t\t\tused.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    If a default capacity provider strategy is not defined for a cluster during creation,\n\t\t\tit can be defined later with the PutClusterCapacityProviders API\n\t\t\toperation.

    " - } - }, "settings": { "target": "com.amazonaws.ecs#ClusterSettings", "traits": { @@ -1686,6 +1712,12 @@ "traits": { "smithy.api#documentation": "

    The short name of one or more capacity providers to associate\n\t\t\twith the cluster.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created and not already associated with another cluster. New\n\t\t\tcapacity providers can be created with the CreateCapacityProvider API\n\t\t\toperation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " } + }, + "defaultCapacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "traits": { + "smithy.api#documentation": "

    The capacity provider strategy to use by default for the cluster.

    \n\t\t

    When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified then the default capacity provider strategy for the cluster is\n\t\t\tused.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    If a default capacity provider strategy is not defined for a cluster during creation,\n\t\t\tit can be defined later with the PutClusterCapacityProviders API\n\t\t\toperation.

    " + } } } }, @@ -1741,6 +1773,25 @@ "com.amazonaws.ecs#CreateServiceRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " + } + }, + "serviceName": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within\n\t\t\ta cluster, but you can have similarly named services in multiple clusters within a\n\t\t\tRegion or across multiple Regions.

    ", + "smithy.api#required": {} + } + }, + "taskDefinition": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision is\n\t\t\tnot specified, the latest ACTIVE revision is used.

    \n\t\t

    A task definition must be specified if the service is using either the\n\t\t\t\tECS or CODE_DEPLOY deployment controllers.

    " + } + }, "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { @@ -1753,28 +1804,28 @@ "smithy.api#documentation": "

    The details of the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    \n\t\t \n\t\t\t

    Service discovery is supported for Fargate tasks if you are using\n\t\t\t\tplatform version v1.1.0 or later. For more information, see AWS Fargate Platform\n\t\t\t\t\tVersions.

    \n\t\t
    " } }, - "deploymentController": { - "target": "com.amazonaws.ecs#DeploymentController", + "desiredCount": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The deployment controller to use for the service.

    " + "smithy.api#documentation": "

    The number of instantiations of the specified task definition to place and keep\n\t\t\trunning on your cluster.

    \n\t\t

    This is required if schedulingStrategy is REPLICA or is not\n\t\t\tspecified. If schedulingStrategy is DAEMON then this is not\n\t\t\trequired.

    " } }, - "propagateTags": { - "target": "com.amazonaws.ecs#PropagateTags", + "clientToken": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition or the service to the\n\t\t\ttasks in the service. If no value is specified, the tags are not propagated. Tags can\n\t\t\tonly be propagated to the tasks within the service during service creation. To add tags\n\t\t\tto a task after service creation, use the TagResource API\n\t\t\taction.

    " + "smithy.api#documentation": "

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. Up to 32 ASCII characters are allowed.

    " } }, - "schedulingStrategy": { - "target": "com.amazonaws.ecs#SchedulingStrategy", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The scheduling strategy to use for the service. For more information, see Services.

    \n\t\t

    There are two service scheduler strategies available:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. This\n\t\t\t\t\tscheduler strategy is required if the service is using the\n\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\ttypes.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat do not meet the placement constraints. When you're using this strategy, you\n\t\t\t\t\tdon't need to specify a desired number of tasks, a task placement strategy, or\n\t\t\t\t\tuse Service Auto Scaling policies.

      \n\t\t\t\t \n\t\t\t\t\t

      Tasks using the Fargate launch type or the\n\t\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\t\ttypes don't support the DAEMON scheduling strategy.

      \n\t\t\t\t
      \n\t\t\t
    • \n
    " + "smithy.api#documentation": "

    The launch type on which to run your service. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

    " } }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration", + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

    The network configuration for the service. This parameter is required for task\n\t\t\tdefinitions that use the awsvpc network mode to receive their own elastic\n\t\t\tnetwork interface, and it is not supported for other network modes. For more\n\t\t\tinformation, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The capacity provider strategy to use for the service.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " } }, "platformVersion": { @@ -1783,12 +1834,6 @@ "smithy.api#documentation": "

    The platform version that your tasks in the service are running on. A platform version\n\t\t\tis specified only for tasks using the Fargate launch type. If one isn't\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "cluster": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " - } - }, "role": { "target": "com.amazonaws.ecs#String", "traits": { @@ -1801,23 +1846,10 @@ "smithy.api#documentation": "

    Optional deployment parameters that control how many tasks run during the deployment\n\t\t\tand the ordering of stopping and starting tasks.

    " } }, - "serviceName": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within\n\t\t\ta cluster, but you can have similarly named services in multiple clusters within a\n\t\t\tRegion or across multiple Regions.

    ", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.ecs#Tags", - "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " - } - }, - "enableECSManagedTags": { - "target": "com.amazonaws.ecs#Boolean", + "placementConstraints": { + "target": "com.amazonaws.ecs#PlacementConstraints", "traits": { - "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For\n\t\t\tmore information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    An array of placement constraint objects to use for tasks in your service. You can\n\t\t\tspecify a maximum of 10 constraints per task (this limit includes constraints in the\n\t\t\ttask definition and those specified at runtime).

    " } }, "placementStrategy": { @@ -1826,46 +1858,46 @@ "smithy.api#documentation": "

    The placement strategy objects to use for tasks in your service. You can specify a\n\t\t\tmaximum of five strategy rules per service.

    " } }, - "desiredCount": { - "target": "com.amazonaws.ecs#BoxedInteger", + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

    The number of instantiations of the specified task definition to place and keep\n\t\t\trunning on your cluster.

    \n\t\t

    This is required if schedulingStrategy is REPLICA or is not\n\t\t\tspecified. If schedulingStrategy is DAEMON then this is not\n\t\t\trequired.

    " + "smithy.api#documentation": "

    The network configuration for the service. This parameter is required for task\n\t\t\tdefinitions that use the awsvpc network mode to receive their own elastic\n\t\t\tnetwork interface, and it is not supported for other network modes. For more\n\t\t\tinformation, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    " } }, - "clientToken": { - "target": "com.amazonaws.ecs#String", + "healthCheckGracePeriodSeconds": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. Up to 32 ASCII characters are allowed.

    " + "smithy.api#documentation": "

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore\n\t\t\tunhealthy Elastic Load Balancing target health checks after a task has first started. This is only used\n\t\t\twhen your service is configured to use a load balancer. If your service has a load\n\t\t\tbalancer defined and you don't specify a health check grace period value, the default\n\t\t\tvalue of 0 is used.

    \n\t\t

    If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you\n\t\t\tcan specify a health check grace period of up to 2,147,483,647 seconds. During that\n\t\t\ttime, the Amazon ECS service scheduler ignores health check status. This grace period can\n\t\t\tprevent the service scheduler from marking tasks as unhealthy and stopping them before\n\t\t\tthey have time to come up.

    " } }, - "placementConstraints": { - "target": "com.amazonaws.ecs#PlacementConstraints", + "schedulingStrategy": { + "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

    An array of placement constraint objects to use for tasks in your service. You can\n\t\t\tspecify a maximum of 10 constraints per task (this limit includes constraints in the\n\t\t\ttask definition and those specified at runtime).

    " + "smithy.api#documentation": "

    The scheduling strategy to use for the service. For more information, see Services.

    \n\t\t

    There are two service scheduler strategies available:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. This\n\t\t\t\t\tscheduler strategy is required if the service is using the\n\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\ttypes.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat do not meet the placement constraints. When you're using this strategy, you\n\t\t\t\t\tdon't need to specify a desired number of tasks, a task placement strategy, or\n\t\t\t\t\tuse Service Auto Scaling policies.

      \n\t\t\t\t \n\t\t\t\t\t

      Tasks using the Fargate launch type or the\n\t\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\t\ttypes don't support the DAEMON scheduling strategy.

      \n\t\t\t\t
      \n\t\t\t
    • \n
    " } }, - "taskDefinition": { - "target": "com.amazonaws.ecs#String", + "deploymentController": { + "target": "com.amazonaws.ecs#DeploymentController", "traits": { - "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision is\n\t\t\tnot specified, the latest ACTIVE revision is used.

    \n\t\t

    A task definition must be specified if the service is using either the\n\t\t\t\tECS or CODE_DEPLOY deployment controllers.

    " + "smithy.api#documentation": "

    The deployment controller to use for the service.

    " } }, - "healthCheckGracePeriodSeconds": { - "target": "com.amazonaws.ecs#BoxedInteger", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore\n\t\t\tunhealthy Elastic Load Balancing target health checks after a task has first started. This is only used\n\t\t\twhen your service is configured to use a load balancer. If your service has a load\n\t\t\tbalancer defined and you don't specify a health check grace period value, the default\n\t\t\tvalue of 0 is used.

    \n\t\t

    If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you\n\t\t\tcan specify a health check grace period of up to 2,147,483,647 seconds. During that\n\t\t\ttime, the Amazon ECS service scheduler ignores health check status. This grace period can\n\t\t\tprevent the service scheduler from marking tasks as unhealthy and stopping them before\n\t\t\tthey have time to come up.

    " + "smithy.api#documentation": "

    The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "enableECSManagedTags": { + "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

    The capacity provider strategy to use for the service.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " + "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For\n\t\t\tmore information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "propagateTags": { + "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

    The launch type on which to run your service. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

    " + "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition or the service to the\n\t\t\ttasks in the service. If no value is specified, the tags are not propagated. Tags can\n\t\t\tonly be propagated to the tasks within the service during service creation. To add tags\n\t\t\tto a task after service creation, use the TagResource API\n\t\t\taction.

    " } } } @@ -1928,79 +1960,79 @@ "com.amazonaws.ecs#CreateTaskSetRequest": { "type": "structure", "members": { - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", - "traits": { - "smithy.api#documentation": "

    The capacity provider strategy to use for the task set.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " - } - }, - "scale": { - "target": "com.amazonaws.ecs#Scale" - }, - "tags": { - "target": "com.amazonaws.ecs#Tags", - "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " - } - }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "service": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The launch type that new tasks in the task set will use. For more information, see\n\t\t\t\tAmazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

    ", + "smithy.api#required": {} } }, - "clientToken": { + "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. Up to 32 ASCII characters are allowed.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the\n\t\t\ttask set in.

    ", + "smithy.api#required": {} } }, - "platformVersion": { + "externalId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The platform version that the tasks in the task set should use. A platform version is\n\t\t\tspecified only for tasks using the Fargate launch type. If one isn't\n\t\t\tspecified, the LATEST platform version is used by default.

    " + "smithy.api#documentation": "

    An optional non-unique tag that identifies this task set in external systems. If the\n\t\t\ttask set is associated with a service discovery registry, the tasks in this task set\n\t\t\twill have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided\n\t\t\tvalue.

    " } }, - "cluster": { + "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the\n\t\t\ttask set in.

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

    The task definition for the tasks in the task set to use.

    ", "smithy.api#required": {} } }, + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration" + }, "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { "smithy.api#documentation": "

    A load balancer object representing the load balancer to use with the task set. The\n\t\t\tsupported load balancer types are either an Application Load Balancer or a Network Load Balancer.

    " } }, - "externalId": { - "target": "com.amazonaws.ecs#String", + "serviceRegistries": { + "target": "com.amazonaws.ecs#ServiceRegistries", "traits": { - "smithy.api#documentation": "

    An optional non-unique tag that identifies this task set in external systems. If the\n\t\t\ttask set is associated with a service discovery registry, the tasks in this task set\n\t\t\twill have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided\n\t\t\tvalue.

    " + "smithy.api#documentation": "

    The details of the service discovery registries to assign to this task set. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    " } }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration" + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", + "traits": { + "smithy.api#documentation": "

    The launch type that new tasks in the task set will use. For more information, see\n\t\t\t\tAmazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

    " + } }, - "service": { + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "traits": { + "smithy.api#documentation": "

    The capacity provider strategy to use for the task set.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " + } + }, + "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The platform version that the tasks in the task set should use. A platform version is\n\t\t\tspecified only for tasks using the Fargate launch type. If one isn't\n\t\t\tspecified, the LATEST platform version is used by default.

    " } }, - "taskDefinition": { + "scale": { + "target": "com.amazonaws.ecs#Scale" + }, + "clientToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The task definition for the tasks in the task set to use.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. Up to 32 ASCII characters are allowed.

    " } }, - "serviceRegistries": { - "target": "com.amazonaws.ecs#ServiceRegistries", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The details of the service discovery registries to assign to this task set. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    " + "smithy.api#documentation": "

    The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } } } @@ -2039,18 +2071,18 @@ "com.amazonaws.ecs#DeleteAccountSettingRequest": { "type": "structure", "members": { - "principalArn": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you\n\t\t\tspecify the root user, it disables the account setting for all IAM users, IAM roles, and\n\t\t\tthe root user of the account unless an IAM user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

    " - } - }, "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { "smithy.api#documentation": "

    The resource name for which to disable the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected.

    ", "smithy.api#required": {} } + }, + "principalArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you\n\t\t\tspecify the root user, it disables the account setting for all IAM users, IAM roles, and\n\t\t\tthe root user of the account unless an IAM user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

    " + } } } }, @@ -2091,18 +2123,18 @@ "com.amazonaws.ecs#DeleteAttributesRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete\n\t\t\tattributes. If you do not specify a cluster, the default cluster is assumed.

    " + } + }, "attributes": { "target": "com.amazonaws.ecs#Attributes", "traits": { "smithy.api#documentation": "

    The attributes to delete from your resource. You can specify up to 10 attributes per\n\t\t\trequest. For custom attributes, specify the attribute name and target ID, but do not\n\t\t\tspecify the value. If you specify the target ID using the short form, you must also\n\t\t\tspecify the target type.

    ", "smithy.api#required": {} } - }, - "cluster": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete\n\t\t\tattributes. If you do not specify a cluster, the default cluster is assumed.

    " - } } } }, @@ -2259,18 +2291,18 @@ "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " } }, - "force": { - "target": "com.amazonaws.ecs#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

    If true, allows you to delete a service even if it has not been scaled\n\t\t\tdown to zero tasks. It is only necessary to use this if the service is using the\n\t\t\t\tREPLICA scheduling strategy.

    " - } - }, "service": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The name of the service to delete.

    ", "smithy.api#required": {} } + }, + "force": { + "target": "com.amazonaws.ecs#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

    If true, allows you to delete a service even if it has not been scaled\n\t\t\tdown to zero tasks. It is only necessary to use this if the service is using the\n\t\t\t\tREPLICA scheduling strategy.

    " + } } } }, @@ -2329,12 +2361,6 @@ "com.amazonaws.ecs#DeleteTaskSetRequest": { "type": "structure", "members": { - "force": { - "target": "com.amazonaws.ecs#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

    If true, this allows you to delete a task set even if it hasn't been\n\t\t\tscaled down to zero.

    " - } - }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { @@ -2355,6 +2381,12 @@ "smithy.api#documentation": "

    The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

    ", "smithy.api#required": {} } + }, + "force": { + "target": "com.amazonaws.ecs#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

    If true, this allows you to delete a task set even if it hasn't been\n\t\t\tscaled down to zero.

    " + } } } }, @@ -2369,28 +2401,34 @@ "com.amazonaws.ecs#Deployment": { "type": "structure", "members": { - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "id": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The capacity provider strategy that the deployment is using.

    " + "smithy.api#documentation": "

    The ID of the deployment.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "status": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The launch type the tasks in the service are using. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The status of the deployment. The following describes each state:

    \n\t\t
    \n
    PRIMARY
    \n
    \n\t\t\t\t\t

    The most recent deployment of a service.

    \n\t\t\t\t
    \n
    ACTIVE
    \n
    \n\t\t\t\t\t

    A service deployment that still has running tasks, but are in the process\n\t\t\t\t\t\tof being replaced with a new PRIMARY deployment.

    \n\t\t\t\t
    \n
    INACTIVE
    \n
    \n\t\t\t\t\t

    A deployment that has been completely replaced.

    \n\t\t\t\t
    \n
    " } }, - "updatedAt": { - "target": "com.amazonaws.ecs#Timestamp", + "taskDefinition": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the service deployment was last updated.

    " + "smithy.api#documentation": "

    The most recent task definition that was specified for the tasks in the service to\n\t\t\tuse.

    " } }, - "id": { - "target": "com.amazonaws.ecs#String", + "desiredCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The ID of the deployment.

    " + "smithy.api#documentation": "

    The most recent desired count of tasks that was specified for the service to deploy or\n\t\t\tmaintain.

    " + } + }, + "pendingCount": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#documentation": "

    The number of tasks in the deployment that are in the PENDING\n\t\t\tstatus.

    " } }, "runningCount": { @@ -2399,46 +2437,58 @@ "smithy.api#documentation": "

    The number of tasks in the deployment that are in the RUNNING\n\t\t\tstatus.

    " } }, + "failedTasks": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#documentation": "

    The number of consecutively failed tasks in the deployment. A task is considered a\n\t\t\tfailure if the service scheduler can't launch the task, the task doesn't transition to a\n\t\t\t\tRUNNING state, or if it fails any of its defined health checks and is\n\t\t\tstopped.

    \n\t\t \n\t\t\t

    Once a service deployment has one or more successfully running tasks, the failed\n\t\t\t\ttask count resets to zero and stops being evaluated.

    \n\t\t
    " + } + }, "createdAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { "smithy.api#documentation": "

    The Unix timestamp for when the service deployment was created.

    " } }, - "pendingCount": { - "target": "com.amazonaws.ecs#Integer", + "updatedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The number of tasks in the deployment that are in the PENDING\n\t\t\tstatus.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the service deployment was last updated.

    " } }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration", + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

    The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

    " + "smithy.api#documentation": "

    The capacity provider strategy that the deployment is using.

    " } }, - "desiredCount": { - "target": "com.amazonaws.ecs#Integer", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The most recent desired count of tasks that was specified for the service to deploy or\n\t\t\tmaintain.

    " + "smithy.api#documentation": "

    The launch type the tasks in the service are using. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " } }, - "status": { + "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the deployment. The following describes each state:

    \n\t\t
    \n
    PRIMARY
    \n
    \n\t\t\t\t\t

    The most recent deployment of a service.

    \n\t\t\t\t
    \n
    ACTIVE
    \n
    \n\t\t\t\t\t

    A service deployment that still has running tasks, but are in the process\n\t\t\t\t\t\tof being replaced with a new PRIMARY deployment.

    \n\t\t\t\t
    \n
    INACTIVE
    \n
    \n\t\t\t\t\t

    A deployment that has been completely replaced.

    \n\t\t\t\t
    \n
    " + "smithy.api#documentation": "

    The platform version on which your tasks in the service are running. A platform\n\t\t\tversion is only specified for tasks using the Fargate launch type. If one\n\t\t\tis not specified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "platformVersion": { - "target": "com.amazonaws.ecs#String", + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

    The platform version on which your tasks in the service are running. A platform\n\t\t\tversion is only specified for tasks using the Fargate launch type. If one\n\t\t\tis not specified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

    " } }, - "taskDefinition": { + "rolloutState": { + "target": "com.amazonaws.ecs#DeploymentRolloutState", + "traits": { + "smithy.api#documentation": "\n\t\t\t

    The rolloutState of a service is only returned for services that use\n\t\t\t\tthe rolling update (ECS) deployment type that are not behind a\n\t\t\t\tClassic Load Balancer.

    \n\t\t
    \n\t\t

    The rollout state of the deployment. When a service deployment is started, it begins\n\t\t\tin an IN_PROGRESS state. When the service reaches a steady state, the\n\t\t\tdeployment will transition to a COMPLETED state. If the service fails to\n\t\t\treach a steady state and circuit breaker is enabled, the deployment will transition to a\n\t\t\t\tFAILED state. A deployment in FAILED state will launch no\n\t\t\tnew tasks. For more information, see DeploymentCircuitBreaker.

    " + } + }, + "rolloutStateReason": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The most recent task definition that was specified for the tasks in the service to\n\t\t\tuse.

    " + "smithy.api#documentation": "

    A description of the rollout state of a deployment.

    " } } }, @@ -2446,13 +2496,35 @@ "smithy.api#documentation": "

    The details of an Amazon ECS service deployment. This is used only when a service uses the\n\t\t\t\tECS deployment controller type.

    " } }, + "com.amazonaws.ecs#DeploymentCircuitBreaker": { + "type": "structure", + "members": { + "enable": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether to enable the deployment circuit breaker logic for the service.

    ", + "smithy.api#required": {} + } + }, + "rollback": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If\n\t\t\trollback is enabled, when a service deployment fails, the service is rolled back to the\n\t\t\tlast deployment that completed successfully.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n\t\t\t

    The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type that are not behind a Classic Load Balancer.

    \n\t\t
    \n\t\t

    The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If enabled, a\n\t\t\tservice deployment will transition to a failed state and stop launching new tasks. You\n\t\t\tcan also enable Amazon ECS to roll back your service to the last completed deployment after a\n\t\t\tfailure. For more information, see Rolling\n\t\t\t\tupdate in the Amazon Elastic Container Service Developer Guide.

    " + } + }, "com.amazonaws.ecs#DeploymentConfiguration": { "type": "structure", "members": { - "minimumHealthyPercent": { - "target": "com.amazonaws.ecs#BoxedInteger", + "deploymentCircuitBreaker": { + "target": "com.amazonaws.ecs#DeploymentCircuitBreaker", "traits": { - "smithy.api#documentation": "

    If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tminimum healthy percent represents a lower limit on\n\t\t\tthe number of tasks in a service that must remain in the RUNNING state\n\t\t\tduring a deployment, as a percentage of the desired number of tasks (rounded up to the\n\t\t\tnearest integer), and while any container instances are in the DRAINING\n\t\t\tstate if the service contains tasks using the EC2 launch type. This\n\t\t\tparameter enables you to deploy without using additional cluster capacity. For example,\n\t\t\tif your service has a desired number of four tasks and a minimum healthy percent of 50%,\n\t\t\tthe scheduler may stop two existing tasks to free up cluster capacity before starting\n\t\t\ttwo new tasks. Tasks for services that do not use a load balancer\n\t\t\tare considered healthy if they are in the RUNNING state; tasks for services\n\t\t\tthat do use a load balancer are considered healthy if they are in\n\t\t\tthe RUNNING state and they are reported as healthy by the load balancer.\n\t\t\tThe default value for minimum healthy percent is 100%.

    \n\t\t

    If a service is using the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and tasks that use the EC2\n\t\t\tlaunch type, the minimum healthy percent value is set\n\t\t\tto the default value and is used to define the lower limit on the number of the tasks in\n\t\t\tthe service that remain in the RUNNING state while the container instances\n\t\t\tare in the DRAINING state. If the tasks in the service use the\n\t\t\tFargate launch type, the minimum healthy percent value is not used,\n\t\t\talthough it is returned when describing your service.

    " + "smithy.api#documentation": "\n\t\t\t

    The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type.

    \n\t\t
    \n\t\t

    The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If deployment\n\t\t\tcircuit breaker is enabled, a service deployment will transition to a failed state and\n\t\t\tstop launching new tasks. If rollback is enabled, when a service deployment fails, the\n\t\t\tservice is rolled back to the last deployment that completed successfully.

    " } }, "maximumPercent": { @@ -2460,6 +2532,12 @@ "traits": { "smithy.api#documentation": "

    If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tmaximum percent parameter represents an upper limit\n\t\t\ton the number of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment, as a percentage of the desired\n\t\t\tnumber of tasks (rounded down to the nearest integer), and while any container instances\n\t\t\tare in the DRAINING state if the service contains tasks using the\n\t\t\tEC2 launch type. This parameter enables you to define the deployment batch\n\t\t\tsize. For example, if your service has a desired number of four tasks and a maximum\n\t\t\tpercent value of 200%, the scheduler may start four new tasks before stopping the four\n\t\t\tolder tasks (provided that the cluster resources required to do this are available). The\n\t\t\tdefault value for maximum percent is 200%.

    \n\t\t

    If a service is using the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and tasks that use the EC2\n\t\t\tlaunch type, the maximum percent value is set to the\n\t\t\tdefault value and is used to define the upper limit on the number of the tasks in the\n\t\t\tservice that remain in the RUNNING state while the container instances are\n\t\t\tin the DRAINING state. If the tasks in the service use the\n\t\t\tFargate launch type, the maximum percent value is not used, although it is\n\t\t\treturned when describing your service.

    " } + }, + "minimumHealthyPercent": { + "target": "com.amazonaws.ecs#BoxedInteger", + "traits": { + "smithy.api#documentation": "

    If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tminimum healthy percent represents a lower limit on\n\t\t\tthe number of tasks in a service that must remain in the RUNNING state\n\t\t\tduring a deployment, as a percentage of the desired number of tasks (rounded up to the\n\t\t\tnearest integer), and while any container instances are in the DRAINING\n\t\t\tstate if the service contains tasks using the EC2 launch type. This\n\t\t\tparameter enables you to deploy without using additional cluster capacity. For example,\n\t\t\tif your service has a desired number of four tasks and a minimum healthy percent of 50%,\n\t\t\tthe scheduler may stop two existing tasks to free up cluster capacity before starting\n\t\t\ttwo new tasks. Tasks for services that do not use a load balancer\n\t\t\tare considered healthy if they are in the RUNNING state; tasks for services\n\t\t\tthat do use a load balancer are considered healthy if they are in\n\t\t\tthe RUNNING state and they are reported as healthy by the load balancer.\n\t\t\tThe default value for minimum healthy percent is 100%.

    \n\t\t

    If a service is using the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and tasks that use the EC2\n\t\t\tlaunch type, the minimum healthy percent value is set\n\t\t\tto the default value and is used to define the lower limit on the number of the tasks in\n\t\t\tthe service that remain in the RUNNING state while the container instances\n\t\t\tare in the DRAINING state. If the tasks in the service use the\n\t\t\tFargate launch type, the minimum healthy percent value is not used,\n\t\t\talthough it is returned when describing your service.

    " + } } }, "traits": { @@ -2500,6 +2578,25 @@ ] } }, + "com.amazonaws.ecs#DeploymentRolloutState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + } + ] + } + }, "com.amazonaws.ecs#Deployments": { "type": "list", "member": { @@ -2639,29 +2736,29 @@ "com.amazonaws.ecs#DescribeCapacityProvidersRequest": { "type": "structure", "members": { - "maxResults": { - "target": "com.amazonaws.ecs#BoxedInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of account setting results returned by\n\t\t\t\tDescribeCapacityProviders in paginated output. When this parameter is\n\t\t\tused, DescribeCapacityProviders only returns maxResults\n\t\t\tresults in a single page along with a nextToken response element. The\n\t\t\tremaining results of the initial request can be seen by sending another\n\t\t\t\tDescribeCapacityProviders request with the returned\n\t\t\t\tnextToken value. This value can be between\n\t\t\t1 and 10. If this\n\t\t\tparameter is not used, then DescribeCapacityProviders returns up to\n\t\t\t10 results and a nextToken value\n\t\t\tif applicable.

    " - } - }, "capacityProviders": { "target": "com.amazonaws.ecs#StringList", "traits": { "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to\n\t\t\t\t100 capacity providers can be described in an action.

    " } }, - "nextToken": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a previous paginated\n\t\t\t\tDescribeCapacityProviders request where maxResults was\n\t\t\tused and the results exceeded the value of that parameter. Pagination continues from the\n\t\t\tend of the previous results that returned the nextToken value.

    \n\t\t \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " - } - }, "include": { "target": "com.amazonaws.ecs#CapacityProviderFieldList", "traits": { "smithy.api#documentation": "

    Specifies whether or not you want to see the resource tags for the capacity provider.\n\t\t\tIf TAGS is specified, the tags are included in the response. If this field\n\t\t\tis omitted, tags are not included in the response.

    " } + }, + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of account setting results returned by\n\t\t\t\tDescribeCapacityProviders in paginated output. When this parameter is\n\t\t\tused, DescribeCapacityProviders only returns maxResults\n\t\t\tresults in a single page along with a nextToken response element. The\n\t\t\tremaining results of the initial request can be seen by sending another\n\t\t\t\tDescribeCapacityProviders request with the returned\n\t\t\t\tnextToken value. This value can be between\n\t\t\t1 and 10. If this\n\t\t\tparameter is not used, then DescribeCapacityProviders returns up to\n\t\t\t10 results and a nextToken value\n\t\t\tif applicable.

    " + } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value returned from a previous paginated\n\t\t\t\tDescribeCapacityProviders request where maxResults was\n\t\t\tused and the results exceeded the value of that parameter. Pagination continues from the\n\t\t\tend of the previous results that returned the nextToken value.

    \n\t\t \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + } } } }, @@ -2674,17 +2771,17 @@ "smithy.api#documentation": "

    The list of capacity providers.

    " } }, - "nextToken": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future\n\t\t\t\tDescribeCapacityProviders request. When the results of a\n\t\t\t\tDescribeCapacityProviders request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. This value is null\n\t\t\twhen there are no more results to return.

    " - } - }, "failures": { "target": "com.amazonaws.ecs#Failures", "traits": { "smithy.api#documentation": "

    Any failures associated with the call.

    " } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future\n\t\t\t\tDescribeCapacityProviders request. When the results of a\n\t\t\t\tDescribeCapacityProviders request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. This value is null\n\t\t\twhen there are no more results to return.

    " + } } } }, @@ -2731,17 +2828,17 @@ "com.amazonaws.ecs#DescribeClustersResponse": { "type": "structure", "members": { - "failures": { - "target": "com.amazonaws.ecs#Failures", - "traits": { - "smithy.api#documentation": "

    Any failures associated with the call.

    " - } - }, "clusters": { "target": "com.amazonaws.ecs#Clusters", "traits": { "smithy.api#documentation": "

    The list of clusters.

    " } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "

    Any failures associated with the call.

    " + } } } }, @@ -2774,12 +2871,6 @@ "com.amazonaws.ecs#DescribeContainerInstancesRequest": { "type": "structure", "members": { - "include": { - "target": "com.amazonaws.ecs#ContainerInstanceFieldList", - "traits": { - "smithy.api#documentation": "

    Specifies whether you want to see the resource tags for the container instance. If\n\t\t\t\tTAGS is specified, the tags are included in the response. If this field\n\t\t\tis omitted, tags are not included in the response.

    " - } - }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { @@ -2789,8 +2880,14 @@ "containerInstances": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

    ", + "smithy.api#required": {} + } + }, + "include": { + "target": "com.amazonaws.ecs#ContainerInstanceFieldList", + "traits": { + "smithy.api#documentation": "

    Specifies whether you want to see the resource tags for the container instance. If\n\t\t\t\tTAGS is specified, the tags are included in the response. If this field\n\t\t\tis omitted, tags are not included in the response.

    " } } } @@ -2841,6 +2938,12 @@ "com.amazonaws.ecs#DescribeServicesRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are\n\t\t\tdescribing were launched in any cluster other than the default cluster.

    " + } + }, "services": { "target": "com.amazonaws.ecs#StringList", "traits": { @@ -2853,12 +2956,6 @@ "traits": { "smithy.api#documentation": "

    Specifies whether you want to see the resource tags for the service. If\n\t\t\t\tTAGS is specified, the tags are included in the response. If this field\n\t\t\tis omitted, tags are not included in the response.

    " } - }, - "cluster": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are\n\t\t\tdescribing were launched in any cluster other than the default cluster.

    " - } } } }, @@ -2905,18 +3002,18 @@ "com.amazonaws.ecs#DescribeTaskDefinitionRequest": { "type": "structure", "members": { - "include": { - "target": "com.amazonaws.ecs#TaskDefinitionFieldList", - "traits": { - "smithy.api#documentation": "

    Specifies whether to see the resource tags for the task definition. If\n\t\t\t\tTAGS is specified, the tags are included in the response. If this field\n\t\t\tis omitted, tags are not included in the response.

    " - } - }, "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The family for the latest ACTIVE revision,\n\t\t\t\tfamily and revision (family:revision) for a\n\t\t\tspecific revision in the family, or full Amazon Resource Name (ARN) of the task definition to\n\t\t\tdescribe.

    ", "smithy.api#required": {} } + }, + "include": { + "target": "com.amazonaws.ecs#TaskDefinitionFieldList", + "traits": { + "smithy.api#documentation": "

    Specifies whether to see the resource tags for the task definition. If\n\t\t\t\tTAGS is specified, the tags are included in the response. If this field\n\t\t\tis omitted, tags are not included in the response.

    " + } } } }, @@ -2978,12 +3075,6 @@ "com.amazonaws.ecs#DescribeTaskSetsRequest": { "type": "structure", "members": { - "taskSets": { - "target": "com.amazonaws.ecs#StringList", - "traits": { - "smithy.api#documentation": "

    The ID or full Amazon Resource Name (ARN) of task sets to\n\t\t\tdescribe.

    " - } - }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { @@ -2998,6 +3089,12 @@ "smithy.api#required": {} } }, + "taskSets": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

    The ID or full Amazon Resource Name (ARN) of task sets to\n\t\t\tdescribe.

    " + } + }, "include": { "target": "com.amazonaws.ecs#TaskSetFieldList", "traits": { @@ -3112,12 +3209,6 @@ "com.amazonaws.ecs#Device": { "type": "structure", "members": { - "permissions": { - "target": "com.amazonaws.ecs#DeviceCgroupPermissions", - "traits": { - "smithy.api#documentation": "

    The explicit permissions to provide to the container for the device. By default, the\n\t\t\tcontainer has permissions for read, write, and\n\t\t\t\tmknod for the device.

    " - } - }, "hostPath": { "target": "com.amazonaws.ecs#String", "traits": { @@ -3130,6 +3221,12 @@ "traits": { "smithy.api#documentation": "

    The path inside the container at which to expose the host device.

    " } + }, + "permissions": { + "target": "com.amazonaws.ecs#DeviceCgroupPermissions", + "traits": { + "smithy.api#documentation": "

    The explicit permissions to provide to the container for the device. By default, the\n\t\t\tcontainer has permissions for read, write, and\n\t\t\t\tmknod for the device.

    " + } } }, "traits": { @@ -3190,16 +3287,16 @@ "com.amazonaws.ecs#DiscoverPollEndpointRequest": { "type": "structure", "members": { - "cluster": { + "containerInstance": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance\n\t\t\tbelongs.

    " + "smithy.api#documentation": "

    The container instance ID or full ARN of the container instance.\n\t\t\tThe ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

    " } }, - "containerInstance": { + "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The container instance ID or full ARN of the container instance.\n\t\t\tThe ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance\n\t\t\tbelongs.

    " } } } @@ -3233,16 +3330,16 @@ "com.amazonaws.ecs#DockerVolumeConfiguration": { "type": "structure", "members": { - "autoprovision": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "scope": { + "target": "com.amazonaws.ecs#Scope", "traits": { - "smithy.api#documentation": "

    If this value is true, the Docker volume is created if it does not\n\t\t\talready exist.

    \n\t\t \n\t\t\t

    This field is only used if the scope is shared.

    \n\t\t
    " + "smithy.api#documentation": "

    The scope for the Docker volume that determines its lifecycle. Docker volumes that are\n\t\t\tscoped to a task are automatically provisioned when the task starts and\n\t\t\tdestroyed when the task stops. Docker volumes that are scoped as shared\n\t\t\tpersist after the task stops.

    " } }, - "labels": { - "target": "com.amazonaws.ecs#StringMap", + "autoprovision": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    Custom metadata to add to your Docker volume. This parameter maps to\n\t\t\t\tLabels in the Create a volume section of the\n\t\t\tDocker Remote API and the xxlabel option to docker\n\t\t\t\tvolume create.

    " + "smithy.api#documentation": "

    If this value is true, the Docker volume is created if it does not\n\t\t\talready exist.

    \n\t\t \n\t\t\t

    This field is only used if the scope is shared.

    \n\t\t
    " } }, "driver": { @@ -3257,10 +3354,10 @@ "smithy.api#documentation": "

    A map of Docker driver-specific options passed through. This parameter maps to\n\t\t\t\tDriverOpts in the Create a volume section of the\n\t\t\tDocker Remote API and the xxopt option to docker\n\t\t\t\tvolume create.

    " } }, - "scope": { - "target": "com.amazonaws.ecs#Scope", + "labels": { + "target": "com.amazonaws.ecs#StringMap", "traits": { - "smithy.api#documentation": "

    The scope for the Docker volume that determines its lifecycle. Docker volumes that are\n\t\t\tscoped to a task are automatically provisioned when the task starts and\n\t\t\tdestroyed when the task stops. Docker volumes that are scoped as shared\n\t\t\tpersist after the task stops.

    " + "smithy.api#documentation": "

    Custom metadata to add to your Docker volume. This parameter maps to\n\t\t\t\tLabels in the Create a volume section of the\n\t\t\tDocker Remote API and the xxlabel option to docker\n\t\t\t\tvolume create.

    " } } }, @@ -3274,17 +3371,17 @@ "com.amazonaws.ecs#EFSAuthorizationConfig": { "type": "structure", "members": { - "iam": { - "target": "com.amazonaws.ecs#EFSAuthorizationConfigIAM", - "traits": { - "smithy.api#documentation": "

    Whether or not to use the Amazon ECS task IAM role defined in a task definition when\n\t\t\tmounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the\n\t\t\t\tEFSVolumeConfiguration. If this parameter is omitted, the default value\n\t\t\tof DISABLED is used. For more information, see Using\n\t\t\t\tAmazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

    " - } - }, "accessPointId": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The Amazon EFS access point ID to use. If an access point is specified, the root directory\n\t\t\tvalue specified in the EFSVolumeConfiguration must either be omitted or set\n\t\t\tto / which will enforce the path set on the EFS access point. If an access\n\t\t\tpoint is used, transit encryption must be enabled in the\n\t\t\t\tEFSVolumeConfiguration. For more information, see Working with Amazon\n\t\t\t\tEFS Access Points in the Amazon Elastic File System User Guide.

    " } + }, + "iam": { + "target": "com.amazonaws.ecs#EFSAuthorizationConfigIAM", + "traits": { + "smithy.api#documentation": "

    Whether or not to use the Amazon ECS task IAM role defined in a task definition when\n\t\t\tmounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the\n\t\t\t\tEFSVolumeConfiguration. If this parameter is omitted, the default value\n\t\t\tof DISABLED is used. For more information, see Using\n\t\t\t\tAmazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

    " + } } }, "traits": { @@ -3324,12 +3421,6 @@ "com.amazonaws.ecs#EFSVolumeConfiguration": { "type": "structure", "members": { - "transitEncryptionPort": { - "target": "com.amazonaws.ecs#BoxedInteger", - "traits": { - "smithy.api#documentation": "

    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS\n\t\t\tserver. If you do not specify a transit encryption port, it will use the port selection\n\t\t\tstrategy that the Amazon EFS mount helper uses. For more information, see EFS Mount\n\t\t\t\tHelper in the Amazon Elastic File System User Guide.

    " - } - }, "fileSystemId": { "target": "com.amazonaws.ecs#String", "traits": { @@ -3337,16 +3428,22 @@ "smithy.api#required": {} } }, + "rootDirectory": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The directory within the Amazon EFS file system to mount as the root directory inside the\n\t\t\thost. If this parameter is omitted, the root of the Amazon EFS volume will be used.\n\t\t\tSpecifying / will have the same effect as omitting this parameter.

    \n\t\t \n\t\t\t

    If an EFS access point is specified in the authorizationConfig, the\n\t\t\t\troot directory parameter must either be omitted or set to / which will\n\t\t\t\tenforce the path set on the EFS access point.

    \n\t\t
    " + } + }, "transitEncryption": { "target": "com.amazonaws.ecs#EFSTransitEncryption", "traits": { "smithy.api#documentation": "

    Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host\n\t\t\tand the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is\n\t\t\tused. If this parameter is omitted, the default value of DISABLED is used.\n\t\t\tFor more information, see Encrypting Data in Transit in\n\t\t\tthe Amazon Elastic File System User Guide.

    " } }, - "rootDirectory": { - "target": "com.amazonaws.ecs#String", + "transitEncryptionPort": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The directory within the Amazon EFS file system to mount as the root directory inside the\n\t\t\thost. If this parameter is omitted, the root of the Amazon EFS volume will be used.\n\t\t\tSpecifying / will have the same effect as omitting this parameter.

    \n\t\t \n\t\t\t

    If an EFS access point is specified in the authorizationConfig, the\n\t\t\t\troot directory parameter must either be omitted or set to / which will\n\t\t\t\tenforce the path set on the EFS access point.

    \n\t\t
    " + "smithy.api#documentation": "

    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS\n\t\t\tserver. If you do not specify a transit encryption port, it will use the port selection\n\t\t\tstrategy that the Amazon EFS mount helper uses. For more information, see EFS Mount\n\t\t\t\tHelper in the Amazon Elastic File System User Guide.

    " } }, "authorizationConfig": { @@ -3408,17 +3505,17 @@ "com.amazonaws.ecs#FSxWindowsFileServerAuthorizationConfig": { "type": "structure", "members": { - "domain": { + "credentialsParameter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted EC2\n\t\t\tAD.

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

    The authorization credential option to use. The authorization credential options can\n\t\t\tbe provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager\n\t\t\tParameter Store parameter. The ARNs refer to the stored credentials.

    ", "smithy.api#required": {} } }, - "credentialsParameter": { + "domain": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The authorization credential option to use.

    \n\t\t

    The authorization credential options can be provided using either the AWS Secrets Manager ARN or\n\t\t\tthe AWS Systems Manager ARN. The ARNs refer to the stored credentials.

    \n\t\t

    \n options:\n

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

    A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on\n\t\t\tAmazon EC2.

    ", "smithy.api#required": {} } } @@ -3430,17 +3527,17 @@ "com.amazonaws.ecs#FSxWindowsFileServerVolumeConfiguration": { "type": "structure", "members": { - "rootDirectory": { + "fileSystemId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The directory within the Amazon FSx for Windows File Server file system to mount as the root directory\n\t\t\tinside the host.

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

    The Amazon FSx for Windows File Server file system ID to use.

    ", "smithy.api#required": {} } }, - "fileSystemId": { + "rootDirectory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon FSx for Windows File Server file system ID to use.

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

    The directory within the Amazon FSx for Windows File Server file system to mount as the root directory\n\t\t\tinside the host.

    ", "smithy.api#required": {} } }, @@ -3459,22 +3556,22 @@ "com.amazonaws.ecs#Failure": { "type": "structure", "members": { - "reason": { + "arn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The reason for the failure.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the failed resource.

    " } }, - "detail": { + "reason": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The details of the failure.

    " + "smithy.api#documentation": "

    The reason for the failure.

    " } }, - "arn": { + "detail": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the failed resource.

    " + "smithy.api#documentation": "

    The details of the failure.

    " } } }, @@ -3542,35 +3639,35 @@ "com.amazonaws.ecs#HealthCheck": { "type": "structure", "members": { - "retries": { - "target": "com.amazonaws.ecs#BoxedInteger", + "command": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    The number of times to retry a failed health check before the container is considered\n\t\t\tunhealthy. You may specify between 1 and 10 retries. The default value is 3.

    " + "smithy.api#documentation": "

    A string array representing the command that the container runs to determine if it is\n\t\t\thealthy. The string array must start with CMD to execute the command\n\t\t\targuments directly, or CMD-SHELL to run the command with the container's\n\t\t\tdefault shell. For example:

    \n\t\t

    \n\t\t\t [ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]\n\t\t

    \n\t\t

    An exit code of 0 indicates success, and non-zero exit code indicates failure. For\n\t\t\tmore information, see HealthCheck in the Create a container\n\t\t\tsection of the Docker Remote API.

    ", + "smithy.api#required": {} } }, - "timeout": { + "interval": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The time period in seconds to wait for a health check to succeed before it is\n\t\t\tconsidered a failure. You may specify between 2 and 60 seconds. The default value is\n\t\t\t5.

    " + "smithy.api#documentation": "

    The time period in seconds between each health check execution. You may specify\n\t\t\tbetween 5 and 300 seconds. The default value is 30 seconds.

    " } }, - "startPeriod": { + "timeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The optional grace period within which to provide containers time to bootstrap before\n\t\t\tfailed health checks count towards the maximum number of retries. You may specify\n\t\t\tbetween 0 and 300 seconds. The startPeriod is disabled by default.

    \n\t\t \n\t\t\t

    If a health check succeeds within the startPeriod, then the container\n\t\t\t\tis considered healthy and any subsequent failures count toward the maximum number of\n\t\t\t\tretries.

    \n\t\t
    " + "smithy.api#documentation": "

    The time period in seconds to wait for a health check to succeed before it is\n\t\t\tconsidered a failure. You may specify between 2 and 60 seconds. The default value is\n\t\t\t5.

    " } }, - "interval": { + "retries": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The time period in seconds between each health check execution. You may specify\n\t\t\tbetween 5 and 300 seconds. The default value is 30 seconds.

    " + "smithy.api#documentation": "

    The number of times to retry a failed health check before the container is considered\n\t\t\tunhealthy. You may specify between 1 and 10 retries. The default value is 3.

    " } }, - "command": { - "target": "com.amazonaws.ecs#StringList", + "startPeriod": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    A string array representing the command that the container runs to determine if it is\n\t\t\thealthy. The string array must start with CMD to execute the command\n\t\t\targuments directly, or CMD-SHELL to run the command with the container's\n\t\t\tdefault shell. For example:

    \n\t\t

    \n\t\t\t [ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]\n\t\t

    \n\t\t

    An exit code of 0 indicates success, and non-zero exit code indicates failure. For\n\t\t\tmore information, see HealthCheck in the Create a container\n\t\t\tsection of the Docker Remote API.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The optional grace period within which to provide containers time to bootstrap before\n\t\t\tfailed health checks count towards the maximum number of retries. You may specify\n\t\t\tbetween 0 and 300 seconds. The startPeriod is disabled by default.

    \n\t\t \n\t\t\t

    If a health check succeeds within the startPeriod, then the container\n\t\t\t\tis considered healthy and any subsequent failures count toward the maximum number of\n\t\t\t\tretries.

    \n\t\t
    " } } }, @@ -3600,17 +3697,17 @@ "com.amazonaws.ecs#HostEntry": { "type": "structure", "members": { - "ipAddress": { + "hostname": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The IP address to use in the /etc/hosts entry.

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

    The hostname to use in the /etc/hosts entry.

    ", "smithy.api#required": {} } }, - "hostname": { + "ipAddress": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The hostname to use in the /etc/hosts entry.

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

    The IP address to use in the /etc/hosts entry.

    ", "smithy.api#required": {} } } @@ -3750,16 +3847,16 @@ "com.amazonaws.ecs#KeyValuePair": { "type": "structure", "members": { - "value": { + "name": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The value of the key-value pair. For environment variables, this is the value of the\n\t\t\tenvironment variable.

    " + "smithy.api#documentation": "

    The name of the key-value pair. For environment variables, this is the name of the\n\t\t\tenvironment variable.

    " } }, - "name": { + "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the key-value pair. For environment variables, this is the name of the\n\t\t\tenvironment variable.

    " + "smithy.api#documentation": "

    The value of the key-value pair. For environment variables, this is the value of the\n\t\t\tenvironment variable.

    " } } }, @@ -3797,18 +3894,18 @@ "com.amazonaws.ecs#LinuxParameters": { "type": "structure", "members": { - "tmpfs": { - "target": "com.amazonaws.ecs#TmpfsList", - "traits": { - "smithy.api#documentation": "

    The container path, mount options, and size (in MiB) of the tmpfs mount. This\n\t\t\tparameter maps to the --tmpfs option to docker run.

    \n\t\t \n\t\t\t

    If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\ttmpfs parameter is not supported.

    \n\t\t
    " - } - }, "capabilities": { "target": "com.amazonaws.ecs#KernelCapabilities", "traits": { "smithy.api#documentation": "

    The Linux capabilities for the container that are added to or dropped from the default\n\t\t\tconfiguration provided by Docker.

    \n\t\t \n\t\t\t

    For tasks that use the Fargate launch type,\n\t\t\t\t\tcapabilities is supported for all platform versions but the\n\t\t\t\t\tadd parameter is only supported if using platform version 1.4.0 or\n\t\t\t\tlater.

    \n\t\t
    " } }, + "devices": { + "target": "com.amazonaws.ecs#DevicesList", + "traits": { + "smithy.api#documentation": "

    Any host devices to expose to the container. This parameter maps to\n\t\t\t\tDevices in the Create a container section of the\n\t\t\tDocker Remote API and the --device option to docker run.

    \n\t\t \n\t\t\t

    If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\tdevices parameter is not supported.

    \n\t\t
    " + } + }, "initProcessEnabled": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { @@ -3821,6 +3918,12 @@ "smithy.api#documentation": "

    The value for the size (in MiB) of the /dev/shm volume. This parameter\n\t\t\tmaps to the --shm-size option to docker\n\t\t\t\trun.

    \n\t\t \n\t\t\t

    If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\tsharedMemorySize parameter is not supported.

    \n\t\t
    " } }, + "tmpfs": { + "target": "com.amazonaws.ecs#TmpfsList", + "traits": { + "smithy.api#documentation": "

    The container path, mount options, and size (in MiB) of the tmpfs mount. This\n\t\t\tparameter maps to the --tmpfs option to docker run.

    \n\t\t \n\t\t\t

    If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\ttmpfs parameter is not supported.

    \n\t\t
    " + } + }, "maxSwap": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { @@ -3832,12 +3935,6 @@ "traits": { "smithy.api#documentation": "

    This allows you to tune a container's memory swappiness behavior. A\n\t\t\t\tswappiness value of 0 will cause swapping to not happen\n\t\t\tunless absolutely necessary. A swappiness value of 100 will\n\t\t\tcause pages to be swapped very aggressively. Accepted values are whole numbers between\n\t\t\t\t0 and 100. If the swappiness parameter is not\n\t\t\tspecified, a default value of 60 is used. If a value is not specified for\n\t\t\t\tmaxSwap then this parameter is ignored. This parameter maps to the\n\t\t\t\t--memory-swappiness option to docker run.

    \n\t\t \n\t\t\t

    If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\tswappiness parameter is not supported.

    \n\t\t
    " } - }, - "devices": { - "target": "com.amazonaws.ecs#DevicesList", - "traits": { - "smithy.api#documentation": "

    Any host devices to expose to the container. This parameter maps to\n\t\t\t\tDevices in the Create a container section of the\n\t\t\tDocker Remote API and the --device option to docker run.

    \n\t\t \n\t\t\t

    If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\tdevices parameter is not supported.

    \n\t\t
    " - } } }, "traits": { @@ -3876,10 +3973,10 @@ "com.amazonaws.ecs#ListAccountSettingsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.ecs#String", + "name": { + "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a ListAccountSettings\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    The name of the account setting you want to list the settings for.

    " } }, "value": { @@ -3888,10 +3985,10 @@ "smithy.api#documentation": "

    The value of the account settings with which to filter results. You must also specify\n\t\t\tan account setting name to use this parameter.

    " } }, - "name": { - "target": "com.amazonaws.ecs#SettingName", + "principalArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the account setting you want to list the settings for.

    " + "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tthis field is omitted, the account settings are listed only for the authenticated\n\t\t\tuser.

    " } }, "effectiveSettings": { @@ -3900,16 +3997,16 @@ "smithy.api#documentation": "

    Specifies whether to return the effective settings. If true, the account\n\t\t\tsettings for the root user or the default setting for the principalArn are\n\t\t\treturned. If false, the account settings for the principalArn\n\t\t\tare returned if they are set. Otherwise, no account settings are returned.

    " } }, - "maxResults": { - "target": "com.amazonaws.ecs#Integer", + "nextToken": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The maximum number of account setting results returned by\n\t\t\t\tListAccountSettings in paginated output. When this parameter is used,\n\t\t\t\tListAccountSettings only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListAccountSettings\n\t\t\trequest with the returned nextToken value. This value can be between\n\t\t\t1 and 10. If this\n\t\t\tparameter is not used, then ListAccountSettings returns up to\n\t\t\t10 results and a nextToken value\n\t\t\tif applicable.

    " + "smithy.api#documentation": "

    The nextToken value returned from a ListAccountSettings\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } }, - "principalArn": { - "target": "com.amazonaws.ecs#String", + "maxResults": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tthis field is omitted, the account settings are listed only for the authenticated\n\t\t\tuser.

    " + "smithy.api#documentation": "

    The maximum number of account setting results returned by\n\t\t\t\tListAccountSettings in paginated output. When this parameter is used,\n\t\t\t\tListAccountSettings only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListAccountSettings\n\t\t\trequest with the returned nextToken value. This value can be between\n\t\t\t1 and 10. If this\n\t\t\tparameter is not used, then ListAccountSettings returns up to\n\t\t\t10 results and a nextToken value\n\t\t\tif applicable.

    " } } } @@ -3960,6 +4057,12 @@ "com.amazonaws.ecs#ListAttributesRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster to list attributes.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " + } + }, "targetType": { "target": "com.amazonaws.ecs#TargetType", "traits": { @@ -3967,16 +4070,10 @@ "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.ecs#BoxedInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of cluster results returned by ListAttributes in\n\t\t\tpaginated output. When this parameter is used, ListAttributes only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListAttributes request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this\n\t\t\tparameter is not used, then ListAttributes returns up to\n\t\t\t100 results and a nextToken value if applicable.

    " - } - }, - "nextToken": { + "attributeName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a ListAttributes request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    The name of the attribute with which to filter the results.

    " } }, "attributeValue": { @@ -3985,16 +4082,16 @@ "smithy.api#documentation": "

    The value of the attribute with which to filter results. You must also specify an\n\t\t\tattribute name to use this parameter.

    " } }, - "cluster": { + "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster to list attributes.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " + "smithy.api#documentation": "

    The nextToken value returned from a ListAttributes request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } }, - "attributeName": { - "target": "com.amazonaws.ecs#String", + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The name of the attribute with which to filter the results.

    " + "smithy.api#documentation": "

    The maximum number of cluster results returned by ListAttributes in\n\t\t\tpaginated output. When this parameter is used, ListAttributes only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListAttributes request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this\n\t\t\tparameter is not used, then ListAttributes returns up to\n\t\t\t100 results and a nextToken value if applicable.

    " } } } @@ -4064,18 +4161,18 @@ }, "com.amazonaws.ecs#ListClustersResponse": { "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future ListClusters\n\t\t\trequest. When the results of a ListClusters request exceed\n\t\t\t\tmaxResults, this value can be used to retrieve the next page of\n\t\t\tresults. This value is null when there are no more results to\n\t\t\treturn.

    " - } - }, + "members": { "clusterArns": { "target": "com.amazonaws.ecs#StringList", "traits": { "smithy.api#documentation": "

    The list of full Amazon Resource Name (ARN) entries for each cluster associated with your\n\t\t\taccount.

    " } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future ListClusters\n\t\t\trequest. When the results of a ListClusters request exceed\n\t\t\t\tmaxResults, this value can be used to retrieve the next page of\n\t\t\tresults. This value is null when there are no more results to\n\t\t\treturn.

    " + } } } }, @@ -4114,16 +4211,16 @@ "com.amazonaws.ecs#ListContainerInstancesRequest": { "type": "structure", "members": { - "filter": { + "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    You can filter the results of a ListContainerInstances operation with\n\t\t\tcluster query language statements. For more information, see Cluster Query Language in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to\n\t\t\tlist. If you do not specify a cluster, the default cluster is assumed.

    " } }, - "cluster": { + "filter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to\n\t\t\tlist. If you do not specify a cluster, the default cluster is assumed.

    " + "smithy.api#documentation": "

    You can filter the results of a ListContainerInstances operation with\n\t\t\tcluster query language statements. For more information, see Cluster Query Language in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

    " } }, "nextToken": { @@ -4149,17 +4246,17 @@ "com.amazonaws.ecs#ListContainerInstancesResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future\n\t\t\t\tListContainerInstances request. When the results of a\n\t\t\t\tListContainerInstances request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. This value is null\n\t\t\twhen there are no more results to return.

    " - } - }, "containerInstanceArns": { "target": "com.amazonaws.ecs#StringList", "traits": { "smithy.api#documentation": "

    The list of container instances with full ARN entries for each container instance\n\t\t\tassociated with the specified cluster.

    " } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future\n\t\t\t\tListContainerInstances request. When the results of a\n\t\t\t\tListContainerInstances request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. This value is null\n\t\t\twhen there are no more results to return.

    " + } } } }, @@ -4198,16 +4295,22 @@ "com.amazonaws.ecs#ListServicesRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " + } + }, "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The nextToken value returned from a ListServices request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } }, - "schedulingStrategy": { - "target": "com.amazonaws.ecs#SchedulingStrategy", + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The scheduling strategy for services to list.

    " + "smithy.api#documentation": "

    The maximum number of service results returned by ListServices in\n\t\t\tpaginated output. When this parameter is used, ListServices only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListServices request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If\n\t\t\tthis parameter is not used, then ListServices returns up to\n\t\t\t10 results and a nextToken value if\n\t\t\tapplicable.

    " } }, "launchType": { @@ -4216,16 +4319,10 @@ "smithy.api#documentation": "

    The launch type for the services to list.

    " } }, - "maxResults": { - "target": "com.amazonaws.ecs#BoxedInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of service results returned by ListServices in\n\t\t\tpaginated output. When this parameter is used, ListServices only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListServices request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If\n\t\t\tthis parameter is not used, then ListServices returns up to\n\t\t\t10 results and a nextToken value if\n\t\t\tapplicable.

    " - } - }, - "cluster": { - "target": "com.amazonaws.ecs#String", + "schedulingStrategy": { + "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " + "smithy.api#documentation": "

    The scheduling strategy for services to list.

    " } } } @@ -4328,10 +4425,10 @@ "com.amazonaws.ecs#ListTaskDefinitionFamiliesRequest": { "type": "structure", "members": { - "maxResults": { - "target": "com.amazonaws.ecs#BoxedInteger", + "familyPrefix": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The maximum number of task definition family results returned by\n\t\t\t\tListTaskDefinitionFamilies in paginated output. When this parameter is\n\t\t\tused, ListTaskDefinitions only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another\n\t\t\t\tListTaskDefinitionFamilies request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and\n\t\t\t100. If this parameter is not used, then\n\t\t\t\tListTaskDefinitionFamilies returns up to 100 results\n\t\t\tand a nextToken value if applicable.

    " + "smithy.api#documentation": "

    The familyPrefix is a string that is used to filter the results of\n\t\t\t\tListTaskDefinitionFamilies. If you specify a familyPrefix,\n\t\t\tonly task definition family names that begin with the familyPrefix string\n\t\t\tare returned.

    " } }, "status": { @@ -4340,16 +4437,16 @@ "smithy.api#documentation": "

    The task definition family status with which to filter the\n\t\t\t\tListTaskDefinitionFamilies results. By default, both\n\t\t\t\tACTIVE and INACTIVE task definition families are listed.\n\t\t\tIf this parameter is set to ACTIVE, only task definition families that have\n\t\t\tan ACTIVE task definition revision are returned. If this parameter is set\n\t\t\tto INACTIVE, only task definition families that do not have any\n\t\t\t\tACTIVE task definition revisions are returned. If you paginate the\n\t\t\tresulting output, be sure to keep the status value constant in each\n\t\t\tsubsequent request.

    " } }, - "familyPrefix": { + "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The familyPrefix is a string that is used to filter the results of\n\t\t\t\tListTaskDefinitionFamilies. If you specify a familyPrefix,\n\t\t\tonly task definition family names that begin with the familyPrefix string\n\t\t\tare returned.

    " + "smithy.api#documentation": "

    The nextToken value returned from a\n\t\t\t\tListTaskDefinitionFamilies request indicating that more results are\n\t\t\tavailable to fulfill the request and further calls will be needed. If\n\t\t\t\tmaxResults was provided, it is possible the number of results to be\n\t\t\tfewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } }, - "nextToken": { - "target": "com.amazonaws.ecs#String", + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a\n\t\t\t\tListTaskDefinitionFamilies request indicating that more results are\n\t\t\tavailable to fulfill the request and further calls will be needed. If\n\t\t\t\tmaxResults was provided, it is possible the number of results to be\n\t\t\tfewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    The maximum number of task definition family results returned by\n\t\t\t\tListTaskDefinitionFamilies in paginated output. When this parameter is\n\t\t\tused, ListTaskDefinitions only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another\n\t\t\t\tListTaskDefinitionFamilies request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and\n\t\t\t100. If this parameter is not used, then\n\t\t\t\tListTaskDefinitionFamilies returns up to 100 results\n\t\t\tand a nextToken value if applicable.

    " } } } @@ -4357,17 +4454,17 @@ "com.amazonaws.ecs#ListTaskDefinitionFamiliesResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future\n\t\t\t\tListTaskDefinitionFamilies request. When the results of a\n\t\t\t\tListTaskDefinitionFamilies request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. This value is null\n\t\t\twhen there are no more results to return.

    " - } - }, "families": { "target": "com.amazonaws.ecs#StringList", "traits": { "smithy.api#documentation": "

    The list of task definition family names that match the\n\t\t\t\tListTaskDefinitionFamilies request.

    " } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future\n\t\t\t\tListTaskDefinitionFamilies request. When the results of a\n\t\t\t\tListTaskDefinitionFamilies request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. This value is null\n\t\t\twhen there are no more results to return.

    " + } } } }, @@ -4403,22 +4500,16 @@ "com.amazonaws.ecs#ListTaskDefinitionsRequest": { "type": "structure", "members": { - "maxResults": { - "target": "com.amazonaws.ecs#BoxedInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of task definition results returned by\n\t\t\t\tListTaskDefinitions in paginated output. When this parameter is used,\n\t\t\t\tListTaskDefinitions only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListTaskDefinitions\n\t\t\trequest with the returned nextToken value. This value can be between\n\t\t\t1 and 100. If this parameter is not used, then\n\t\t\t\tListTaskDefinitions returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

    " - } - }, "familyPrefix": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The full family name with which to filter the ListTaskDefinitions\n\t\t\tresults. Specifying a familyPrefix limits the listed task definitions to\n\t\t\ttask definition revisions that belong to that family.

    " } }, - "nextToken": { - "target": "com.amazonaws.ecs#String", + "status": { + "target": "com.amazonaws.ecs#TaskDefinitionStatus", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a ListTaskDefinitions\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    The task definition status with which to filter the ListTaskDefinitions\n\t\t\tresults. By default, only ACTIVE task definitions are listed. By setting\n\t\t\tthis parameter to INACTIVE, you can view task definitions that are\n\t\t\t\tINACTIVE as long as an active task or service still references them. If\n\t\t\tyou paginate the resulting output, be sure to keep the status value\n\t\t\tconstant in each subsequent request.

    " } }, "sort": { @@ -4427,10 +4518,16 @@ "smithy.api#documentation": "

    The order in which to sort the results. Valid values are ASC and\n\t\t\t\tDESC. By default (ASC), task definitions are listed\n\t\t\tlexicographically by family name and in ascending numerical order by revision so that\n\t\t\tthe newest task definitions in a family are listed last. Setting this parameter to\n\t\t\t\tDESC reverses the sort order on family name and revision so that the\n\t\t\tnewest task definitions in a family are listed first.

    " } }, - "status": { - "target": "com.amazonaws.ecs#TaskDefinitionStatus", + "nextToken": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The task definition status with which to filter the ListTaskDefinitions\n\t\t\tresults. By default, only ACTIVE task definitions are listed. By setting\n\t\t\tthis parameter to INACTIVE, you can view task definitions that are\n\t\t\t\tINACTIVE as long as an active task or service still references them. If\n\t\t\tyou paginate the resulting output, be sure to keep the status value\n\t\t\tconstant in each subsequent request.

    " + "smithy.api#documentation": "

    The nextToken value returned from a ListTaskDefinitions\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + } + }, + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of task definition results returned by\n\t\t\t\tListTaskDefinitions in paginated output. When this parameter is used,\n\t\t\t\tListTaskDefinitions only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListTaskDefinitions\n\t\t\trequest with the returned nextToken value. This value can be between\n\t\t\t1 and 100. If this parameter is not used, then\n\t\t\t\tListTaskDefinitions returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

    " } } } @@ -4496,28 +4593,28 @@ "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the tasks to list.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "containerInstance": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The launch type for services to list.

    " + "smithy.api#documentation": "

    The container instance ID or full ARN of the container instance with which to filter\n\t\t\tthe ListTasks results. Specifying a containerInstance limits\n\t\t\tthe results to tasks that belong to that container instance.

    " } }, - "serviceName": { + "family": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the service with which to filter the ListTasks results.\n\t\t\tSpecifying a serviceName limits the results to tasks that belong to that\n\t\t\tservice.

    " + "smithy.api#documentation": "

    The name of the family with which to filter the ListTasks results.\n\t\t\tSpecifying a family limits the results to tasks that belong to that\n\t\t\tfamily.

    " } }, - "family": { + "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the family with which to filter the ListTasks results.\n\t\t\tSpecifying a family limits the results to tasks that belong to that\n\t\t\tfamily.

    " + "smithy.api#documentation": "

    The nextToken value returned from a ListTasks request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " } }, - "desiredStatus": { - "target": "com.amazonaws.ecs#DesiredStatus", + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The task desired status with which to filter the ListTasks results.\n\t\t\tSpecifying a desiredStatus of STOPPED limits the results to\n\t\t\ttasks that Amazon ECS has set the desired status to STOPPED. This can be useful\n\t\t\tfor debugging tasks that are not starting properly or have died or finished. The default\n\t\t\tstatus filter is RUNNING, which shows tasks that Amazon ECS has set the desired\n\t\t\tstatus to RUNNING.

    \n\t\t \n\t\t\t

    Although you can filter results based on a desired status of PENDING,\n\t\t\t\tthis does not return any results. Amazon ECS never sets the desired status of a task to\n\t\t\t\tthat value (only a task's lastStatus may have a value of\n\t\t\t\t\tPENDING).

    \n\t\t
    " + "smithy.api#documentation": "

    The maximum number of task results returned by ListTasks in paginated\n\t\t\toutput. When this parameter is used, ListTasks only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListTasks request with the returned nextToken value.\n\t\t\tThis value can be between 1 and 100. If this parameter is\n\t\t\tnot used, then ListTasks returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

    " } }, "startedBy": { @@ -4526,22 +4623,22 @@ "smithy.api#documentation": "

    The startedBy value with which to filter the task results. Specifying a\n\t\t\t\tstartedBy value limits the results to tasks that were started with that\n\t\t\tvalue.

    " } }, - "containerInstance": { + "serviceName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The container instance ID or full ARN of the container instance with which to filter\n\t\t\tthe ListTasks results. Specifying a containerInstance limits\n\t\t\tthe results to tasks that belong to that container instance.

    " + "smithy.api#documentation": "

    The name of the service with which to filter the ListTasks results.\n\t\t\tSpecifying a serviceName limits the results to tasks that belong to that\n\t\t\tservice.

    " } }, - "nextToken": { - "target": "com.amazonaws.ecs#String", + "desiredStatus": { + "target": "com.amazonaws.ecs#DesiredStatus", "traits": { - "smithy.api#documentation": "

    The nextToken value returned from a ListTasks request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

    \n \n

    This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

    \n
    " + "smithy.api#documentation": "

    The task desired status with which to filter the ListTasks results.\n\t\t\tSpecifying a desiredStatus of STOPPED limits the results to\n\t\t\ttasks that Amazon ECS has set the desired status to STOPPED. This can be useful\n\t\t\tfor debugging tasks that are not starting properly or have died or finished. The default\n\t\t\tstatus filter is RUNNING, which shows tasks that Amazon ECS has set the desired\n\t\t\tstatus to RUNNING.

    \n\t\t \n\t\t\t

    Although you can filter results based on a desired status of PENDING,\n\t\t\t\tthis does not return any results. Amazon ECS never sets the desired status of a task to\n\t\t\t\tthat value (only a task's lastStatus may have a value of\n\t\t\t\t\tPENDING).

    \n\t\t
    " } }, - "maxResults": { - "target": "com.amazonaws.ecs#BoxedInteger", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The maximum number of task results returned by ListTasks in paginated\n\t\t\toutput. When this parameter is used, ListTasks only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListTasks request with the returned nextToken value.\n\t\t\tThis value can be between 1 and 100. If this parameter is\n\t\t\tnot used, then ListTasks returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

    " + "smithy.api#documentation": "

    The launch type for services to list.

    " } } } @@ -4549,45 +4646,45 @@ "com.amazonaws.ecs#ListTasksResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The nextToken value to include in a future ListTasks\n\t\t\trequest. When the results of a ListTasks request exceed\n\t\t\t\tmaxResults, this value can be used to retrieve the next page of\n\t\t\tresults. This value is null when there are no more results to\n\t\t\treturn.

    " - } - }, "taskArns": { "target": "com.amazonaws.ecs#StringList", "traits": { "smithy.api#documentation": "

    The list of task ARN entries for the ListTasks request.

    " } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The nextToken value to include in a future ListTasks\n\t\t\trequest. When the results of a ListTasks request exceed\n\t\t\t\tmaxResults, this value can be used to retrieve the next page of\n\t\t\tresults. This value is null when there are no more results to\n\t\t\treturn.

    " + } } } }, "com.amazonaws.ecs#LoadBalancer": { "type": "structure", "members": { - "containerName": { + "targetGroupArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the container (as it appears in a container definition) to associate with\n\t\t\tthe load balancer.

    " + "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or\n\t\t\ttask set.

    \n\t\t

    A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a\n\t\t\tClassic Load Balancer the target group ARN should be omitted.

    \n\t\t

    For services using the ECS deployment controller, you can specify one or\n\t\t\tmultiple target groups. For more information, see Registering Multiple Target Groups with a Service in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

    \n\t\t

    For services using the CODE_DEPLOY deployment controller, you are\n\t\t\trequired to define two target groups for the load balancer. For more information, see\n\t\t\t\tBlue/Green Deployment with CodeDeploy in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n\t\t \n\t\t\t

    If your service's task definition uses the awsvpc network mode (which\n\t\t\t\tis required for the Fargate launch type), you must choose\n\t\t\t\t\tip as the target type, not instance, when creating\n\t\t\t\tyour target groups because tasks that use the awsvpc network mode are\n\t\t\t\tassociated with an elastic network interface, not an Amazon EC2 instance.

    \n\t\t
    " } }, - "containerPort": { - "target": "com.amazonaws.ecs#BoxedInteger", + "loadBalancerName": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The port on the container to associate with the load balancer. This port must\n\t\t\tcorrespond to a containerPort in the task definition the tasks in the\n\t\t\tservice are using. For tasks that use the EC2 launch type, the container\n\t\t\tinstance they are launched on must allow ingress traffic on the hostPort of\n\t\t\tthe port mapping.

    " + "smithy.api#documentation": "

    The name of the load balancer to associate with the Amazon ECS service or task set.

    \n\t\t

    A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer\n\t\t\tor a Network Load Balancer the load balancer name parameter should be omitted.

    " } }, - "targetGroupArn": { + "containerName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or\n\t\t\ttask set.

    \n\t\t

    A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a\n\t\t\tClassic Load Balancer the target group ARN should be omitted.

    \n\t\t

    For services using the ECS deployment controller, you can specify one or\n\t\t\tmultiple target groups. For more information, see Registering Multiple Target Groups with a Service in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

    \n\t\t

    For services using the CODE_DEPLOY deployment controller, you are\n\t\t\trequired to define two target groups for the load balancer. For more information, see\n\t\t\t\tBlue/Green Deployment with CodeDeploy in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n\t\t \n\t\t\t

    If your service's task definition uses the awsvpc network mode (which\n\t\t\t\tis required for the Fargate launch type), you must choose\n\t\t\t\t\tip as the target type, not instance, when creating\n\t\t\t\tyour target groups because tasks that use the awsvpc network mode are\n\t\t\t\tassociated with an elastic network interface, not an Amazon EC2 instance.

    \n\t\t
    " + "smithy.api#documentation": "

    The name of the container (as it appears in a container definition) to associate with\n\t\t\tthe load balancer.

    " } }, - "loadBalancerName": { - "target": "com.amazonaws.ecs#String", + "containerPort": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The name of the load balancer to associate with the Amazon ECS service or task set.

    \n\t\t

    A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer\n\t\t\tor a Network Load Balancer the load balancer name parameter should be omitted.

    " + "smithy.api#documentation": "

    The port on the container to associate with the load balancer. This port must\n\t\t\tcorrespond to a containerPort in the task definition the tasks in the\n\t\t\tservice are using. For tasks that use the EC2 launch type, the container\n\t\t\tinstance they are launched on must allow ingress traffic on the hostPort of\n\t\t\tthe port mapping.

    " } } }, @@ -4682,28 +4779,34 @@ "com.amazonaws.ecs#ManagedScaling": { "type": "structure", "members": { - "minimumScalingStepSize": { - "target": "com.amazonaws.ecs#ManagedScalingStepSize", + "status": { + "target": "com.amazonaws.ecs#ManagedScalingStatus", + "traits": { + "smithy.api#documentation": "

    Whether or not to enable managed scaling for the capacity provider.

    " + } + }, + "targetCapacity": { + "target": "com.amazonaws.ecs#ManagedScalingTargetCapacity", "traits": { - "smithy.api#documentation": "

    The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter If this parameter is omitted, the default\n\t\t\tvalue of 1 is used.

    \n\t\t

    When additional capacity is required, Amazon ECS will scale up the minimum scaling step\n\t\t\tsize even if the actual demand is less than the minimum scaling step size.

    \n\t\t

    If you use a capacity provider with an Auto Scaling group configured with more than\n\t\t\tone Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum\n\t\t\tscaling step size value and will ignore both the maximum scaling step size as well as\n\t\t\tthe capacity demand.

    " + "smithy.api#documentation": "

    The target capacity value for the capacity provider. The specified value must be\n\t\t\tgreater than 0 and less than or equal to 100. A value of\n\t\t\t\t100 will result in the Amazon EC2 instances in your Auto Scaling group being\n\t\t\tcompletely utilized.

    " } }, - "maximumScalingStepSize": { + "minimumScalingStepSize": { "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "

    The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter. If this parameter is omitted, the default\n\t\t\tvalue of 10000 is used.

    " + "smithy.api#documentation": "

    The minimum number of container instances that Amazon ECS will scale in or scale out at one\n\t\t\ttime. If this parameter is omitted, the default value of 1 is used.

    " } }, - "targetCapacity": { - "target": "com.amazonaws.ecs#ManagedScalingTargetCapacity", + "maximumScalingStepSize": { + "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "

    The target capacity value for the capacity provider. The specified value must be\n\t\t\tgreater than 0 and less than or equal to 100. A value of\n\t\t\t\t100 will result in the Amazon EC2 instances in your Auto Scaling group being\n\t\t\tcompletely utilized.

    " + "smithy.api#documentation": "

    The maximum number of container instances that Amazon ECS will scale in or scale out at one\n\t\t\ttime. If this parameter is omitted, the default value of 10000 is\n\t\t\tused.

    " } }, - "status": { - "target": "com.amazonaws.ecs#ManagedScalingStatus", + "instanceWarmupPeriod": { + "target": "com.amazonaws.ecs#ManagedScalingInstanceWarmupPeriod", "traits": { - "smithy.api#documentation": "

    Whether or not to enable managed scaling for the capacity provider.

    " + "smithy.api#documentation": "

    The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute\n\t\t\tto CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value\n\t\t\tof 300 seconds is used.

    " } } }, @@ -4711,6 +4814,16 @@ "smithy.api#documentation": "

    The managed scaling settings for the Auto Scaling group capacity provider.

    \n\t\t

    When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of\n\t\t\tthe Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an\n\t\t\tAmazon ECS-managed CloudWatch metric with the specified targetCapacity value as the\n\t\t\ttarget value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If managed scaling is disabled, the user must manage the scaling of the Auto Scaling\n\t\t\tgroup.

    " } }, + "com.amazonaws.ecs#ManagedScalingInstanceWarmupPeriod": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 10000 + } + } + }, "com.amazonaws.ecs#ManagedScalingStatus": { "type": "string", "traits": { @@ -4776,10 +4889,10 @@ "com.amazonaws.ecs#MountPoint": { "type": "structure", "members": { - "readOnly": { - "target": "com.amazonaws.ecs#BoxedBoolean", + "sourceVolume": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    If this value is true, the container has read-only access to the volume.\n\t\t\tIf this value is false, then the container can write to the volume. The\n\t\t\tdefault value is false.

    " + "smithy.api#documentation": "

    The name of the volume to mount. Must be a volume name referenced in the\n\t\t\t\tname parameter of task definition volume.

    " } }, "containerPath": { @@ -4788,10 +4901,10 @@ "smithy.api#documentation": "

    The path on the container to mount the host volume at.

    " } }, - "sourceVolume": { - "target": "com.amazonaws.ecs#String", + "readOnly": { + "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

    The name of the volume to mount. Must be a volume name referenced in the\n\t\t\t\tname parameter of task definition volume.

    " + "smithy.api#documentation": "

    If this value is true, the container has read-only access to the volume.\n\t\t\tIf this value is false, then the container can write to the volume. The\n\t\t\tdefault value is false.

    " } } }, @@ -4808,10 +4921,10 @@ "com.amazonaws.ecs#NetworkBinding": { "type": "structure", "members": { - "hostPort": { - "target": "com.amazonaws.ecs#BoxedInteger", + "bindIP": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The port number on the host that is used with the network binding.

    " + "smithy.api#documentation": "

    The IP address that the container is bound to on the container instance.

    " } }, "containerPort": { @@ -4820,10 +4933,10 @@ "smithy.api#documentation": "

    The port number on the container that is used with the network binding.

    " } }, - "bindIP": { - "target": "com.amazonaws.ecs#String", + "hostPort": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The IP address that the container is bound to on the container instance.

    " + "smithy.api#documentation": "

    The port number on the host that is used with the network binding.

    " } }, "protocol": { @@ -4860,12 +4973,6 @@ "com.amazonaws.ecs#NetworkInterface": { "type": "structure", "members": { - "ipv6Address": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The private IPv6 address for the network interface.

    " - } - }, "attachmentId": { "target": "com.amazonaws.ecs#String", "traits": { @@ -4877,6 +4984,12 @@ "traits": { "smithy.api#documentation": "

    The private IPv4 address for the network interface.

    " } + }, + "ipv6Address": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The private IPv6 address for the network interface.

    " + } } }, "traits": { @@ -4989,17 +5102,17 @@ "com.amazonaws.ecs#PlacementStrategy": { "type": "structure", "members": { - "field": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The field to apply the placement strategy against. For the spread\n\t\t\tplacement strategy, valid values are instanceId (or host,\n\t\t\twhich has the same effect), or any platform or custom attribute that is applied to a\n\t\t\tcontainer instance, such as attribute:ecs.availability-zone. For the\n\t\t\t\tbinpack placement strategy, valid values are cpu and\n\t\t\t\tmemory. For the random placement strategy, this field is\n\t\t\tnot used.

    " - } - }, "type": { "target": "com.amazonaws.ecs#PlacementStrategyType", "traits": { "smithy.api#documentation": "

    The type of placement strategy. The random placement strategy randomly\n\t\t\tplaces tasks on available candidates. The spread placement strategy spreads\n\t\t\tplacement across available candidates evenly based on the field parameter.\n\t\t\tThe binpack strategy places tasks on available candidates that have the\n\t\t\tleast available amount of the resource that is specified with the field\n\t\t\tparameter. For example, if you binpack on memory, a task is placed on the instance with\n\t\t\tthe least amount of remaining memory (but still enough to run the task).

    " } + }, + "field": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The field to apply the placement strategy against. For the spread\n\t\t\tplacement strategy, valid values are instanceId (or host,\n\t\t\twhich has the same effect), or any platform or custom attribute that is applied to a\n\t\t\tcontainer instance, such as attribute:ecs.availability-zone. For the\n\t\t\t\tbinpack placement strategy, valid values are cpu and\n\t\t\t\tmemory. For the random placement strategy, this field is\n\t\t\tnot used.

    " + } } }, "traits": { @@ -5028,19 +5141,19 @@ "com.amazonaws.ecs#PlatformDevice": { "type": "structure", "members": { - "type": { - "target": "com.amazonaws.ecs#PlatformDeviceType", - "traits": { - "smithy.api#documentation": "

    The type of device that is available on the container instance. The only supported\n\t\t\tvalue is GPU.

    ", - "smithy.api#required": {} - } - }, "id": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The ID for the GPU(s) on the container instance. The available GPU IDs can also be\n\t\t\tobtained on the container instance in the\n\t\t\t\t/var/lib/ecs/gpu/nvidia_gpu_info.json file.

    ", "smithy.api#required": {} } + }, + "type": { + "target": "com.amazonaws.ecs#PlatformDeviceType", + "traits": { + "smithy.api#documentation": "

    The type of device that is available on the container instance. The only supported\n\t\t\tvalue is GPU.

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -5091,10 +5204,10 @@ "com.amazonaws.ecs#PortMapping": { "type": "structure", "members": { - "protocol": { - "target": "com.amazonaws.ecs#TransportProtocol", + "containerPort": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The protocol used for the port mapping. Valid values are tcp and\n\t\t\t\tudp. The default is tcp.

    " + "smithy.api#documentation": "

    The port number on the container that is bound to the user-specified or automatically\n\t\t\tassigned host port.

    \n\t\t

    If you are using containers in a task with the awsvpc or\n\t\t\t\thost network mode, exposed ports should be specified using\n\t\t\t\tcontainerPort.

    \n\t\t

    If you are using containers in a task with the bridge network mode and\n\t\t\tyou specify a container port and not a host port, your container automatically receives\n\t\t\ta host port in the ephemeral port range. For more information, see\n\t\t\thostPort. Port mappings that are automatically assigned in this way do not\n\t\t\tcount toward the 100 reserved ports limit of a container instance.

    " } }, "hostPort": { @@ -5103,10 +5216,10 @@ "smithy.api#documentation": "

    The port number on the container instance to reserve for your container.

    \n\t\t

    If you are using containers in a task with the awsvpc or\n\t\t\t\thost network mode, the hostPort can either be left blank\n\t\t\tor set to the same value as the containerPort.

    \n\t\t

    If you are using containers in a task with the bridge network mode, you\n\t\t\tcan specify a non-reserved host port for your container port mapping, or you can omit\n\t\t\tthe hostPort (or set it to 0) while specifying a\n\t\t\t\tcontainerPort and your container automatically receives a port in the\n\t\t\tephemeral port range for your container instance operating system and Docker\n\t\t\tversion.

    \n\t\t

    The default ephemeral port range for Docker version 1.6.0 and later is listed on the\n\t\t\tinstance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel\n\t\t\tparameter is unavailable, the default ephemeral port range from 49153 through 65535 is\n\t\t\tused. Do not attempt to specify a host port in the ephemeral port range as these are\n\t\t\treserved for automatic assignment. In general, ports below 32768 are outside of the\n\t\t\tephemeral port range.

    \n\t\t \n\t\t\t

    The default ephemeral port range from 49153 through 65535 is always used for\n\t\t\t\tDocker versions before 1.6.0.

    \n\t\t
    \n\t\t

    The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the\n\t\t\tAmazon ECS container agent ports 51678-51680. Any host port that was previously specified in\n\t\t\ta running task is also reserved while the task is running (after a task stops, the host\n\t\t\tport is released). The current reserved ports are displayed in the\n\t\t\t\tremainingResources of DescribeContainerInstances\n\t\t\toutput. A container instance can have up to 100 reserved ports at a time, including the\n\t\t\tdefault reserved ports. Automatically assigned ports don't count toward the 100 reserved\n\t\t\tports limit.

    " } }, - "containerPort": { - "target": "com.amazonaws.ecs#BoxedInteger", + "protocol": { + "target": "com.amazonaws.ecs#TransportProtocol", "traits": { - "smithy.api#documentation": "

    The port number on the container that is bound to the user-specified or automatically\n\t\t\tassigned host port.

    \n\t\t

    If you are using containers in a task with the awsvpc or\n\t\t\t\thost network mode, exposed ports should be specified using\n\t\t\t\tcontainerPort.

    \n\t\t

    If you are using containers in a task with the bridge network mode and\n\t\t\tyou specify a container port and not a host port, your container automatically receives\n\t\t\ta host port in the ephemeral port range. For more information, see\n\t\t\thostPort. Port mappings that are automatically assigned in this way do not\n\t\t\tcount toward the 100 reserved ports limit of a container instance.

    " + "smithy.api#documentation": "

    The protocol used for the port mapping. Valid values are tcp and\n\t\t\t\tudp. The default is tcp.

    " } } }, @@ -5138,12 +5251,6 @@ "com.amazonaws.ecs#ProxyConfiguration": { "type": "structure", "members": { - "properties": { - "target": "com.amazonaws.ecs#ProxyConfigurationProperties", - "traits": { - "smithy.api#documentation": "

    The set of network configuration parameters to provide the Container Network Interface\n\t\t\t(CNI) plugin, specified as key-value pairs.

    \n\t\t
      \n
    • \n\t\t\t\t

      \n IgnoredUID - (Required) The user ID (UID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredGID is specified, this field can be empty.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n IgnoredGID - (Required) The group ID (GID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredUID is specified, this field can be empty.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n AppPorts - (Required) The list of ports that the\n\t\t\t\t\tapplication uses. Network traffic to these ports is forwarded to the\n\t\t\t\t\t\tProxyIngressPort and ProxyEgressPort.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n ProxyIngressPort - (Required) Specifies the port that\n\t\t\t\t\tincoming traffic to the AppPorts is directed to.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n ProxyEgressPort - (Required) Specifies the port that\n\t\t\t\t\toutgoing traffic from the AppPorts is directed to.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n EgressIgnoredPorts - (Required) The egress traffic going to\n\t\t\t\t\tthe specified ports is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n EgressIgnoredIPs - (Required) The egress traffic going to\n\t\t\t\t\tthe specified IP addresses is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

      \n\t\t\t
    • \n
    " - } - }, "type": { "target": "com.amazonaws.ecs#ProxyConfigurationType", "traits": { @@ -5156,10 +5263,16 @@ "smithy.api#documentation": "

    The name of the container that will serve as the App Mesh proxy.

    ", "smithy.api#required": {} } + }, + "properties": { + "target": "com.amazonaws.ecs#ProxyConfigurationProperties", + "traits": { + "smithy.api#documentation": "

    The set of network configuration parameters to provide the Container Network Interface\n\t\t\t(CNI) plugin, specified as key-value pairs.

    \n\t\t
      \n
    • \n\t\t\t\t

      \n IgnoredUID - (Required) The user ID (UID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredGID is specified, this field can be empty.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n IgnoredGID - (Required) The group ID (GID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredUID is specified, this field can be empty.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n AppPorts - (Required) The list of ports that the\n\t\t\t\t\tapplication uses. Network traffic to these ports is forwarded to the\n\t\t\t\t\t\tProxyIngressPort and ProxyEgressPort.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n ProxyIngressPort - (Required) Specifies the port that\n\t\t\t\t\tincoming traffic to the AppPorts is directed to.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n ProxyEgressPort - (Required) Specifies the port that\n\t\t\t\t\toutgoing traffic from the AppPorts is directed to.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n EgressIgnoredPorts - (Required) The egress traffic going to\n\t\t\t\t\tthe specified ports is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n EgressIgnoredIPs - (Required) The egress traffic going to\n\t\t\t\t\tthe specified IP addresses is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

      \n\t\t\t
    • \n
    " + } } }, "traits": { - "smithy.api#documentation": "

    The configuration details for the App Mesh proxy.

    \n\t\t

    For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent and at least version 1.26.0-1 of the\n\t\t\t\tecs-init package to enable a proxy configuration. If your container\n\t\t\tinstances are launched from the Amazon ECS-optimized AMI version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later.

    " + "smithy.api#documentation": "

    The configuration details for the App Mesh proxy.

    \n\t\t

    For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent and at least version 1.26.0-1 of the\n\t\t\t\tecs-init package to enable a proxy configuration. If your container\n\t\t\tinstances are launched from the Amazon ECS-optimized AMI version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n\t\t

    " } }, "com.amazonaws.ecs#ProxyConfigurationProperties": { @@ -5228,17 +5341,17 @@ "com.amazonaws.ecs#PutAccountSettingDefaultRequest": { "type": "structure", "members": { - "value": { - "target": "com.amazonaws.ecs#String", + "name": { + "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

    The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled and disabled.

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

    The resource name for which to modify the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected. If containerInsights is specified, the default\n\t\t\tsetting for CloudWatch Container Insights for your clusters is affected.

    ", "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.ecs#SettingName", + "value": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The resource name for which to modify the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected. If containerInsights is specified, the default\n\t\t\tsetting for CloudWatch Container Insights for your clusters is affected.

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

    The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled and disabled.

    ", "smithy.api#required": {} } } @@ -5255,10 +5368,11 @@ "com.amazonaws.ecs#PutAccountSettingRequest": { "type": "structure", "members": { - "principalArn": { - "target": "com.amazonaws.ecs#String", + "name": { + "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you\n\t\t\tspecify the root user, it modifies the account setting for all IAM users, IAM roles, and\n\t\t\tthe root user of the account unless an IAM user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

    " + "smithy.api#documentation": "

    The Amazon ECS resource name for which to modify the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the elastic network interface (ENI) limit\n\t\t\tfor your Amazon ECS container instances is affected. If containerInsights is\n\t\t\tspecified, the default setting for CloudWatch Container Insights for your clusters is\n\t\t\taffected.

    ", + "smithy.api#required": {} } }, "value": { @@ -5268,11 +5382,10 @@ "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.ecs#SettingName", + "principalArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon ECS resource name for which to modify the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the elastic network interface (ENI) limit\n\t\t\tfor your Amazon ECS container instances is affected. If containerInsights is\n\t\t\tspecified, the default setting for CloudWatch Container Insights for your clusters is\n\t\t\taffected.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you\n\t\t\tspecify the root user, it modifies the account setting for all IAM users, IAM roles, and\n\t\t\tthe root user of the account unless an IAM user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

    " } } } @@ -5317,18 +5430,18 @@ "com.amazonaws.ecs#PutAttributesRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply\n\t\t\tattributes. If you do not specify a cluster, the default cluster is assumed.

    " + } + }, "attributes": { "target": "com.amazonaws.ecs#Attributes", "traits": { "smithy.api#documentation": "

    The attributes to apply to your resource. You can specify up to 10 custom attributes\n\t\t\tper resource. You can specify up to 10 attributes in a single call.

    ", "smithy.api#required": {} } - }, - "cluster": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply\n\t\t\tattributes. If you do not specify a cluster, the default cluster is assumed.

    " - } } } }, @@ -5435,10 +5548,10 @@ "com.amazonaws.ecs#RegisterContainerInstanceRequest": { "type": "structure", "members": { - "platformDevices": { - "target": "com.amazonaws.ecs#PlatformDevices", + "cluster": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The devices that are available on the container instance. The only supported device\n\t\t\ttype is a GPU.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container\n\t\t\tinstance. If you do not specify a cluster, the default cluster is assumed.

    " } }, "instanceIdentityDocument": { @@ -5459,10 +5572,10 @@ "smithy.api#documentation": "

    The resources available on the instance.

    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "versionInfo": { + "target": "com.amazonaws.ecs#VersionInfo", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value, both of which you\n\t\t\tdefine.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    The version information for the Amazon ECS container agent and Docker daemon running on the\n\t\t\tcontainer instance.

    " } }, "containerInstanceArn": { @@ -5477,16 +5590,16 @@ "smithy.api#documentation": "

    The container instance attributes that this container instance supports.

    " } }, - "versionInfo": { - "target": "com.amazonaws.ecs#VersionInfo", + "platformDevices": { + "target": "com.amazonaws.ecs#PlatformDevices", "traits": { - "smithy.api#documentation": "

    The version information for the Amazon ECS container agent and Docker daemon running on the\n\t\t\tcontainer instance.

    " + "smithy.api#documentation": "

    The devices that are available on the container instance. The only supported device\n\t\t\ttype is a GPU.

    " } }, - "cluster": { - "target": "com.amazonaws.ecs#String", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container\n\t\t\tinstance. If you do not specify a cluster, the default cluster is assumed.

    " + "smithy.api#documentation": "

    The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value, both of which you\n\t\t\tdefine.

    \n

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } } } @@ -5541,26 +5654,36 @@ "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can\n\t\t\tassume. All containers in this task are granted the permissions that are specified in\n\t\t\tthis role. For more information, see IAM Roles for\n\t\t\t\tTasks in the Amazon Elastic Container Service Developer Guide.

    " } }, - "volumes": { - "target": "com.amazonaws.ecs#VolumeList", + "executionRoleArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    A list of volume definitions in JSON format that containers in your task may\n\t\t\tuse.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent\n permission to make AWS API calls on your behalf. The task execution IAM role is required\n depending on the requirements of your task. For more information, see Amazon ECS task\n execution IAM role in the Amazon Elastic Container Service Developer Guide.

    " } }, - "cpu": { - "target": "com.amazonaws.ecs#String", + "networkMode": { + "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "

    The number of CPU units used by the task. It can be expressed as an integer using CPU\n\t\t\tunits, for example 1024, or as a string using vCPUs, for example 1\n\t\t\t\tvCPU or 1 vcpu, in a task definition. String values are\n\t\t\tconverted to an integer indicating the CPU units when the task definition is\n\t\t\tregistered.

    \n\t\t \n\t\t\t

    Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

    \n\t\t
    \n\t\t

    If you are using the EC2 launch type, this field is optional. Supported\n\t\t\tvalues are between 128 CPU units (0.125 vCPUs) and\n\t\t\t\t10240 CPU units (10 vCPUs).

    \n\t\t

    If you are using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the memory parameter:

    \n
      \n
    • \n

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      \n
    • \n
    • \n

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      \n
    • \n
    • \n

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      \n
    • \n
    • \n

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      \n
    • \n
    • \n

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      \n
    • \n
    " + "smithy.api#documentation": "

    The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

    \n

    For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

    \n

    With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

    \n \n

    When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

    \n
    \n

    If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

    \n \n

    Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the\n ecs-init package, or AWS Fargate infrastructure support the\n awsvpc network mode.

    \n
    \n

    If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

    \n

    Docker for Windows uses different network modes than Docker for Linux. When you\n register a task definition with Windows containers, you must not specify a network mode.\n If you use the console to register a task definition with Windows containers, you must\n choose the network mode object.

    \n

    For more information, see Network\n settings in the Docker run reference.

    " } }, - "pidMode": { - "target": "com.amazonaws.ecs#PidMode", + "containerDefinitions": { + "target": "com.amazonaws.ecs#ContainerDefinitions", "traits": { - "smithy.api#documentation": "

    The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

    \n

    If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " + "smithy.api#documentation": "

    A list of container definitions in JSON format that describe the different containers\n\t\t\tthat make up your task.

    ", + "smithy.api#required": {} } }, - "proxyConfiguration": { - "target": "com.amazonaws.ecs#ProxyConfiguration" + "volumes": { + "target": "com.amazonaws.ecs#VolumeList", + "traits": { + "smithy.api#documentation": "

    A list of volume definitions in JSON format that containers in your task may\n\t\t\tuse.

    " + } + }, + "placementConstraints": { + "target": "com.amazonaws.ecs#TaskDefinitionPlacementConstraints", + "traits": { + "smithy.api#documentation": "

    An array of placement constraint objects to use for the task. You can specify a\n\t\t\tmaximum of 10 constraints per task (this limit includes constraints in the task\n\t\t\tdefinition and those specified at runtime).

    " + } }, "requiresCompatibilities": { "target": "com.amazonaws.ecs#CompatibilityList", @@ -5568,29 +5691,28 @@ "smithy.api#documentation": "

    The task launch type that Amazon ECS should validate the task definition against. This\n\t\t\tensures that the task definition parameters are compatible with the specified launch\n\t\t\ttype. If no value is specified, it defaults to EC2.

    " } }, - "memory": { + "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The amount of memory (in MiB) used by the task. It can be expressed as an integer\n\t\t\tusing MiB, for example 1024, or as a string using GB, for example\n\t\t\t\t1GB or 1 GB, in a task definition. String values are\n\t\t\tconverted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

    \n\t\t \n\t\t\t

    Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

    \n\t\t
    \n\t\t

    If using the EC2 launch type, this field is optional.

    \n\t\t

    If using the Fargate launch type, this field is required and you must\n\t\t\tuse one of the following values, which determines your range of supported values for the\n\t\t\t\tcpu parameter:

    \n
      \n
    • \n

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      \n
    • \n
    • \n

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      \n
    • \n
    • \n

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      \n
    • \n
    • \n

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      \n
    • \n
    • \n

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      \n
    • \n
    " + "smithy.api#documentation": "

    The number of CPU units used by the task. It can be expressed as an integer using CPU\n\t\t\tunits, for example 1024, or as a string using vCPUs, for example 1\n\t\t\t\tvCPU or 1 vcpu, in a task definition. String values are\n\t\t\tconverted to an integer indicating the CPU units when the task definition is\n\t\t\tregistered.

    \n\t\t \n\t\t\t

    Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

    \n\t\t
    \n\t\t

    If you are using the EC2 launch type, this field is optional. Supported\n\t\t\tvalues are between 128 CPU units (0.125 vCPUs) and\n\t\t\t\t10240 CPU units (10 vCPUs).

    \n\t\t

    If you are using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the memory parameter:

    \n
      \n
    • \n

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      \n
    • \n
    • \n

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      \n
    • \n
    • \n

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      \n
    • \n
    • \n

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      \n
    • \n
    • \n

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      \n
    • \n
    " } }, - "networkMode": { - "target": "com.amazonaws.ecs#NetworkMode", + "memory": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n The default Docker network mode is bridge. If you are using the\n Fargate launch type, the awsvpc network mode is required. If\n you are using the EC2 launch type, any network mode can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

    \n

    With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

    \n

    If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

    \n \n

    Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the\n ecs-init package, or AWS Fargate infrastructure support the\n awsvpc network mode.

    \n
    \n

    If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

    \n

    Docker for Windows uses different network modes than Docker for Linux. When you\n register a task definition with Windows containers, you must not specify a network mode.\n If you use the console to register a task definition with Windows containers, you must\n choose the network mode object.

    \n

    For more information, see Network\n settings in the Docker run reference.

    " + "smithy.api#documentation": "

    The amount of memory (in MiB) used by the task. It can be expressed as an integer\n\t\t\tusing MiB, for example 1024, or as a string using GB, for example\n\t\t\t\t1GB or 1 GB, in a task definition. String values are\n\t\t\tconverted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

    \n\t\t \n\t\t\t

    Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

    \n\t\t
    \n\t\t

    If using the EC2 launch type, this field is optional.

    \n\t\t

    If using the Fargate launch type, this field is required and you must\n\t\t\tuse one of the following values, which determines your range of supported values for the\n\t\t\t\tcpu parameter:

    \n
      \n
    • \n

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      \n
    • \n
    • \n

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      \n
    • \n
    • \n

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      \n
    • \n
    • \n

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      \n
    • \n
    • \n

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      \n
    • \n
    " } }, - "placementConstraints": { - "target": "com.amazonaws.ecs#TaskDefinitionPlacementConstraints", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    An array of placement constraint objects to use for the task. You can specify a\n\t\t\tmaximum of 10 constraints per task (this limit includes constraints in the task\n\t\t\tdefinition and those specified at runtime).

    " + "smithy.api#documentation": "

    The metadata that you apply to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "containerDefinitions": { - "target": "com.amazonaws.ecs#ContainerDefinitions", + "pidMode": { + "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "

    A list of container definitions in JSON format that describe the different containers\n\t\t\tthat make up your task.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

    \n

    If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " } }, "ipcMode": { @@ -5599,40 +5721,31 @@ "smithy.api#documentation": "

    The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

    \n

    If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

    \n

    If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

    \n
      \n
    • \n

      For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

      \n
    • \n
    • \n

      For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

      \n
    • \n
    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " } }, + "proxyConfiguration": { + "target": "com.amazonaws.ecs#ProxyConfiguration" + }, "inferenceAccelerators": { "target": "com.amazonaws.ecs#InferenceAccelerators", "traits": { "smithy.api#documentation": "

    The Elastic Inference accelerators to use for the containers in the task.

    " } - }, - "executionRoleArn": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent\n permission to make AWS API calls on your behalf. The task execution IAM role is required\n depending on the requirements of your task. For more information, see Amazon ECS task\n execution IAM role in the Amazon Elastic Container Service Developer Guide.

    " - } - }, - "tags": { - "target": "com.amazonaws.ecs#Tags", - "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " - } } } }, "com.amazonaws.ecs#RegisterTaskDefinitionResponse": { "type": "structure", "members": { - "tags": { - "target": "com.amazonaws.ecs#Tags", - "traits": { - "smithy.api#documentation": "

    The list of tags associated with the task definition.

    " - } - }, "taskDefinition": { "target": "com.amazonaws.ecs#TaskDefinition", "traits": { "smithy.api#documentation": "

    The full description of the registered task definition.

    " } + }, + "tags": { + "target": "com.amazonaws.ecs#Tags", + "traits": { + "smithy.api#documentation": "

    The list of tags associated with the task definition.

    " + } } } }, @@ -5660,28 +5773,22 @@ "com.amazonaws.ecs#Resource": { "type": "structure", "members": { - "doubleValue": { - "target": "com.amazonaws.ecs#Double", - "traits": { - "smithy.api#documentation": "

    When the doubleValue type is set, the value of the resource must be a\n\t\t\tdouble precision floating-point type.

    " - } - }, "name": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The name of the resource, such as CPU, MEMORY,\n\t\t\t\tPORTS, PORTS_UDP, or a user-defined resource.

    " } }, - "integerValue": { - "target": "com.amazonaws.ecs#Integer", + "type": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    When the integerValue type is set, the value of the resource must be an\n\t\t\tinteger.

    " + "smithy.api#documentation": "

    The type of the resource, such as INTEGER, DOUBLE,\n\t\t\t\tLONG, or STRINGSET.

    " } }, - "stringSetValue": { - "target": "com.amazonaws.ecs#StringList", + "doubleValue": { + "target": "com.amazonaws.ecs#Double", "traits": { - "smithy.api#documentation": "

    When the stringSetValue type is set, the value of the resource must be a\n\t\t\tstring type.

    " + "smithy.api#documentation": "

    When the doubleValue type is set, the value of the resource must be a\n\t\t\tdouble precision floating-point type.

    " } }, "longValue": { @@ -5690,10 +5797,16 @@ "smithy.api#documentation": "

    When the longValue type is set, the value of the resource must be an\n\t\t\textended precision floating-point type.

    " } }, - "type": { - "target": "com.amazonaws.ecs#String", + "integerValue": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The type of the resource, such as INTEGER, DOUBLE,\n\t\t\t\tLONG, or STRINGSET.

    " + "smithy.api#documentation": "

    When the integerValue type is set, the value of the resource must be an\n\t\t\tinteger.

    " + } + }, + "stringSetValue": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

    When the stringSetValue type is set, the value of the resource must be a\n\t\t\tstring type.

    " } } }, @@ -5818,53 +5931,52 @@ "com.amazonaws.ecs#RunTaskRequest": { "type": "structure", "members": { - "platformVersion": { - "target": "com.amazonaws.ecs#String", + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

    The platform version the task should run. A platform version is only specified for\n\t\t\ttasks using the Fargate launch type. If one is not specified, the\n\t\t\t\tLATEST platform version is used by default. For more information, see\n\t\t\t\tAWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The capacity provider strategy to use for the task.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " } }, - "taskDefinition": { + "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run. If a revision is not specified,\n\t\t\tthe latest ACTIVE revision is used.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "count": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The launch type on which to run your task. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

    " + "smithy.api#documentation": "

    The number of instantiations of the specified task to place on your cluster. You can\n\t\t\tspecify up to 10 tasks per call.

    " } }, - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "enableECSManagedTags": { + "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

    The capacity provider strategy to use for the task.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    " + "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see\n\t\t\t\tTagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " } }, - "propagateTags": { - "target": "com.amazonaws.ecs#PropagateTags", + "group": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition to the task. If no\n\t\t\tvalue is specified, the tags are not propagated. Tags can only be propagated to the task\n\t\t\tduring task creation. To add tags to a task after task creation, use the TagResource API action.

    \n\t\t \n\t\t\t

    An error will be received if you specify the SERVICE option when\n\t\t\t\trunning a task.

    \n\t\t
    " + "smithy.api#documentation": "

    The name of the task group to associate with the task. The default value is the family\n\t\t\tname of the task definition (for example, family:my-family-name).

    " } }, - "placementStrategy": { - "target": "com.amazonaws.ecs#PlacementStrategies", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The placement strategy objects to use for the task. You can specify a maximum of five\n\t\t\tstrategy rules per task.

    " + "smithy.api#documentation": "

    The launch type on which to run your task. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

    " } }, - "group": { - "target": "com.amazonaws.ecs#String", + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

    The name of the task group to associate with the task. The default value is the family\n\t\t\tname of the task definition (for example, family:my-family-name).

    " + "smithy.api#documentation": "

    The network configuration for the task. This parameter is required for task\n\t\t\tdefinitions that use the awsvpc network mode to receive their own elastic\n\t\t\tnetwork interface, and it is not supported for other network modes. For more\n\t\t\tinformation, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    " } }, - "enableECSManagedTags": { - "target": "com.amazonaws.ecs#Boolean", + "overrides": { + "target": "com.amazonaws.ecs#TaskOverride", "traits": { - "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see\n\t\t\t\tTagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it should receive. You can override the\n\t\t\tdefault command for a container (that is specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

    \n\t\t \n\t\t\t

    A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\t\tformatting characters of the override structure.

    \n\t\t
    " } }, "placementConstraints": { @@ -5873,22 +5985,22 @@ "smithy.api#documentation": "

    An array of placement constraint objects to use for the task. You can specify up to 10\n\t\t\tconstraints per task (including constraints in the task definition and those specified\n\t\t\tat runtime).

    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "placementStrategy": { + "target": "com.amazonaws.ecs#PlacementStrategies", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    The placement strategy objects to use for the task. You can specify a maximum of five\n\t\t\tstrategy rules per task.

    " } }, - "count": { - "target": "com.amazonaws.ecs#BoxedInteger", + "platformVersion": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of instantiations of the specified task to place on your cluster. You can\n\t\t\tspecify up to 10 tasks per call.

    " + "smithy.api#documentation": "

    The platform version the task should run. A platform version is only specified for\n\t\t\ttasks using the Fargate launch type. If one is not specified, the\n\t\t\t\tLATEST platform version is used by default. For more information, see\n\t\t\t\tAWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "overrides": { - "target": "com.amazonaws.ecs#TaskOverride", + "propagateTags": { + "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

    A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it should receive. You can override the\n\t\t\tdefault command for a container (that is specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

    \n\t\t \n\t\t\t

    A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\t\tformatting characters of the override structure.

    \n\t\t
    " + "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition to the task. If no\n\t\t\tvalue is specified, the tags are not propagated. Tags can only be propagated to the task\n\t\t\tduring task creation. To add tags to a task after task creation, use the TagResource API action.

    \n\t\t \n\t\t\t

    An error will be received if you specify the SERVICE option when\n\t\t\t\trunning a task.

    \n\t\t
    " } }, "referenceId": { @@ -5903,16 +6015,17 @@ "smithy.api#documentation": "

    An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens, and underscores are allowed.

    \n\t\t

    If a task is started by an Amazon ECS service, then the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

    " } }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The network configuration for the task. This parameter is required for task\n\t\t\tdefinitions that use the awsvpc network mode to receive their own elastic\n\t\t\tnetwork interface, and it is not supported for other network modes. For more\n\t\t\tinformation, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "cluster": { + "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " + "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run. If a revision is not specified,\n\t\t\tthe latest ACTIVE revision is used.

    ", + "smithy.api#required": {} } } } @@ -5920,34 +6033,34 @@ "com.amazonaws.ecs#RunTaskResponse": { "type": "structure", "members": { - "failures": { - "target": "com.amazonaws.ecs#Failures", - "traits": { - "smithy.api#documentation": "

    Any failures associated with the call.

    " - } - }, "tasks": { "target": "com.amazonaws.ecs#Tasks", "traits": { "smithy.api#documentation": "

    A full description of the tasks that were run. The tasks that were successfully placed\n\t\t\ton your cluster are described here.

    " } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "

    Any failures associated with the call.

    " + } } } }, "com.amazonaws.ecs#Scale": { "type": "structure", "members": { - "unit": { - "target": "com.amazonaws.ecs#ScaleUnit", - "traits": { - "smithy.api#documentation": "

    The unit of measure for the scale value.

    " - } - }, "value": { "target": "com.amazonaws.ecs#Double", "traits": { "smithy.api#documentation": "

    The value, specified as a percent total of a service's desiredCount, to\n\t\t\tscale the task set. Accepted values are numbers between 0 and 100.

    " } + }, + "unit": { + "target": "com.amazonaws.ecs#ScaleUnit", + "traits": { + "smithy.api#documentation": "

    The unit of measure for the scale value.

    " + } } }, "traits": { @@ -6038,22 +6151,22 @@ "com.amazonaws.ecs#Service": { "type": "structure", "members": { - "taskSets": { - "target": "com.amazonaws.ecs#TaskSets", + "serviceArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL\n\t\t\tdeployment. An Amazon ECS task set includes details such as the desired number of tasks, how\n\t\t\tmany tasks are running, and whether the task set serves production traffic.

    " + "smithy.api#documentation": "

    The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

    " } }, - "placementStrategy": { - "target": "com.amazonaws.ecs#PlacementStrategies", + "serviceName": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The placement strategy that determines how tasks for the service are placed.

    " + "smithy.api#documentation": "

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within\n\t\t\ta cluster, but you can have similarly named services in multiple clusters within a\n\t\t\tRegion or across multiple Regions.

    " } }, - "status": { + "clusterArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the service. The valid values are ACTIVE,\n\t\t\t\tDRAINING, or INACTIVE.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster that hosts the service.

    " } }, "loadBalancers": { @@ -6062,58 +6175,58 @@ "smithy.api#documentation": "

    A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the\n\t\t\tcontainer name (as it appears in a container definition), and the container port to\n\t\t\taccess from the load balancer.

    " } }, - "propagateTags": { - "target": "com.amazonaws.ecs#PropagateTags", + "serviceRegistries": { + "target": "com.amazonaws.ecs#ServiceRegistries", "traits": { - "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition or the service to the\n\t\t\ttask. If no value is specified, the tags are not propagated.

    " + "smithy.api#documentation": "

    The details of the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    " } }, - "taskDefinition": { + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The task definition to use for tasks in the service. This value is specified when the\n\t\t\tservice is created with CreateService, and it can be modified with\n\t\t\t\tUpdateService.

    " + "smithy.api#documentation": "

    The status of the service. The valid values are ACTIVE,\n\t\t\t\tDRAINING, or INACTIVE.

    " } }, - "platformVersion": { - "target": "com.amazonaws.ecs#String", + "desiredCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The platform version on which to run your service. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one is not\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The desired number of instantiations of the task definition to keep running on the\n\t\t\tservice. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

    " } }, - "deployments": { - "target": "com.amazonaws.ecs#Deployments", + "runningCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The current state of deployments for the service.

    " + "smithy.api#documentation": "

    The number of tasks in the cluster that are in the RUNNING state.

    " } }, - "roleArn": { - "target": "com.amazonaws.ecs#String", + "pendingCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The ARN of the IAM role associated with the service that allows the Amazon ECS container\n\t\t\tagent to register container instances with an Elastic Load Balancing load balancer.

    " + "smithy.api#documentation": "

    The number of tasks in the cluster that are in the PENDING state.

    " } }, - "serviceArn": { - "target": "com.amazonaws.ecs#String", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

    " + "smithy.api#documentation": "

    The launch type on which your service is running. If no value is specified, it will\n\t\t\tdefault to EC2. Valid values include EC2 and\n\t\t\t\tFARGATE. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " } }, - "createdBy": { - "target": "com.amazonaws.ecs#String", + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

    The principal that created the service.

    " + "smithy.api#documentation": "

    The capacity provider strategy associated with the service.

    " } }, - "deploymentController": { - "target": "com.amazonaws.ecs#DeploymentController", + "platformVersion": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The deployment controller type the service is using. When using the DescribeServices\n\t\t\tAPI, this field is omitted if the service is using the ECS deployment\n\t\t\tcontroller type.

    " + "smithy.api#documentation": "

    The platform version on which to run your service. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one is not\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "serviceRegistries": { - "target": "com.amazonaws.ecs#ServiceRegistries", + "taskDefinition": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The details of the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    " + "smithy.api#documentation": "

    The task definition to use for tasks in the service. This value is specified when the\n\t\t\tservice is created with CreateService, and it can be modified with\n\t\t\t\tUpdateService.

    " } }, "deploymentConfiguration": { @@ -6122,40 +6235,34 @@ "smithy.api#documentation": "

    Optional deployment parameters that control how many tasks run during the deployment\n\t\t\tand the ordering of stopping and starting tasks.

    " } }, - "clusterArn": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster that hosts the service.

    " - } - }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "taskSets": { + "target": "com.amazonaws.ecs#TaskSets", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL\n\t\t\tdeployment. An Amazon ECS task set includes details such as the desired number of tasks, how\n\t\t\tmany tasks are running, and whether the task set serves production traffic.

    " } }, - "enableECSManagedTags": { - "target": "com.amazonaws.ecs#Boolean", + "deployments": { + "target": "com.amazonaws.ecs#Deployments", "traits": { - "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more\n\t\t\tinformation, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The current state of deployments for the service.

    " } }, - "runningCount": { - "target": "com.amazonaws.ecs#Integer", + "roleArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The number of tasks in the cluster that are in the RUNNING state.

    " + "smithy.api#documentation": "

    The ARN of the IAM role associated with the service that allows the Amazon ECS container\n\t\t\tagent to register container instances with an Elastic Load Balancing load balancer.

    " } }, - "pendingCount": { - "target": "com.amazonaws.ecs#Integer", + "events": { + "target": "com.amazonaws.ecs#ServiceEvents", "traits": { - "smithy.api#documentation": "

    The number of tasks in the cluster that are in the PENDING state.

    " + "smithy.api#documentation": "

    The event stream for your service. A maximum of 100 of the latest events are\n\t\t\tdisplayed.

    " } }, - "desiredCount": { - "target": "com.amazonaws.ecs#Integer", + "createdAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The desired number of instantiations of the task definition to keep running on the\n\t\t\tservice. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the service was created.

    " } }, "placementConstraints": { @@ -6164,16 +6271,16 @@ "smithy.api#documentation": "

    The placement constraints for the tasks in the service.

    " } }, - "createdAt": { - "target": "com.amazonaws.ecs#Timestamp", + "placementStrategy": { + "target": "com.amazonaws.ecs#PlacementStrategies", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the service was created.

    " + "smithy.api#documentation": "

    The placement strategy that determines how tasks for the service are placed.

    " } }, - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

    The capacity provider strategy associated with the service.

    " + "smithy.api#documentation": "

    The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

    " } }, "healthCheckGracePeriodSeconds": { @@ -6182,34 +6289,40 @@ "smithy.api#documentation": "

    The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing target health checks after a task has first started.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "schedulingStrategy": { + "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

    The launch type on which your service is running. If no value is specified, it will\n\t\t\tdefault to EC2. Valid values include EC2 and\n\t\t\t\tFARGATE. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The scheduling strategy to use for the service. For more information, see Services.

    \n\t\t

    There are two service scheduler strategies available:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement\n\t\t\t\t\tdecisions.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat do not meet the placement constraints.

      \n\t\t\t\t \n\t\t\t\t\t

      Fargate tasks do not support the DAEMON\n\t\t\t\t\t\tscheduling strategy.

      \n\t\t\t\t
      \n\t\t\t
    • \n
    " } }, - "events": { - "target": "com.amazonaws.ecs#ServiceEvents", + "deploymentController": { + "target": "com.amazonaws.ecs#DeploymentController", "traits": { - "smithy.api#documentation": "

    The event stream for your service. A maximum of 100 of the latest events are\n\t\t\tdisplayed.

    " + "smithy.api#documentation": "

    The deployment controller type the service is using. When using the DescribeServices\n\t\t\tAPI, this field is omitted if the service is using the ECS deployment\n\t\t\tcontroller type.

    " } }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

    " + "smithy.api#documentation": "

    The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "serviceName": { + "createdBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within\n\t\t\ta cluster, but you can have similarly named services in multiple clusters within a\n\t\t\tRegion or across multiple Regions.

    " + "smithy.api#documentation": "

    The principal that created the service.

    " } }, - "schedulingStrategy": { - "target": "com.amazonaws.ecs#SchedulingStrategy", + "enableECSManagedTags": { + "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

    The scheduling strategy to use for the service. For more information, see Services.

    \n\t\t

    There are two service scheduler strategies available:

    \n\t\t
      \n
    • \n\t\t\t\t

      \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement\n\t\t\t\t\tdecisions.

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat do not meet the placement constraints.

      \n\t\t\t\t \n\t\t\t\t\t

      Fargate tasks do not support the DAEMON\n\t\t\t\t\t\tscheduling strategy.

      \n\t\t\t\t
      \n\t\t\t
    • \n
    " + "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more\n\t\t\tinformation, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " + } + }, + "propagateTags": { + "target": "com.amazonaws.ecs#PropagateTags", + "traits": { + "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition or the service to the\n\t\t\ttask. If no value is specified, the tags are not propagated.

    " } } }, @@ -6299,28 +6412,28 @@ "com.amazonaws.ecs#ServiceRegistry": { "type": "structure", "members": { - "containerPort": { - "target": "com.amazonaws.ecs#BoxedInteger", + "registryArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The port value, already specified in the task definition, to be used for your service\n\t\t\tdiscovery service. If the task definition your service task specifies uses the\n\t\t\t\tbridge or host network mode, you must specify a\n\t\t\t\tcontainerName and containerPort combination from the task\n\t\t\tdefinition. If the task definition your service task specifies uses the\n\t\t\t\tawsvpc network mode and a type SRV DNS record is used, you must specify\n\t\t\teither a containerName and containerPort combination or a\n\t\t\t\tport value, but not both.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is\n\t\t\tAWS Cloud Map. For more information, see CreateService.

    " } }, - "containerName": { - "target": "com.amazonaws.ecs#String", + "port": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The container name value, already specified in the task definition, to be used for\n\t\t\tyour service discovery service. If the task definition that your service task specifies\n\t\t\tuses the bridge or host network mode, you must specify a\n\t\t\t\tcontainerName and containerPort combination from the task\n\t\t\tdefinition. If the task definition that your service task specifies uses the\n\t\t\t\tawsvpc network mode and a type SRV DNS record is used, you must specify\n\t\t\teither a containerName and containerPort combination or a\n\t\t\t\tport value, but not both.

    " + "smithy.api#documentation": "

    The port value used if your service discovery service specified an SRV record. This\n\t\t\tfield may be used if both the awsvpc network mode and SRV records are\n\t\t\tused.

    " } }, - "registryArn": { + "containerName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is\n\t\t\tAWS Cloud Map. For more information, see CreateService.

    " + "smithy.api#documentation": "

    The container name value, already specified in the task definition, to be used for\n\t\t\tyour service discovery service. If the task definition that your service task specifies\n\t\t\tuses the bridge or host network mode, you must specify a\n\t\t\t\tcontainerName and containerPort combination from the task\n\t\t\tdefinition. If the task definition that your service task specifies uses the\n\t\t\t\tawsvpc network mode and a type SRV DNS record is used, you must specify\n\t\t\teither a containerName and containerPort combination or a\n\t\t\t\tport value, but not both.

    " } }, - "port": { + "containerPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The port value used if your service discovery service specified an SRV record. This\n\t\t\tfield may be used if both the awsvpc network mode and SRV records are\n\t\t\tused.

    " + "smithy.api#documentation": "

    The port value, already specified in the task definition, to be used for your service\n\t\t\tdiscovery service. If the task definition your service task specifies uses the\n\t\t\t\tbridge or host network mode, you must specify a\n\t\t\t\tcontainerName and containerPort combination from the task\n\t\t\tdefinition. If the task definition your service task specifies uses the\n\t\t\t\tawsvpc network mode and a type SRV DNS record is used, you must specify\n\t\t\teither a containerName and containerPort combination or a\n\t\t\t\tport value, but not both.

    " } } }, @@ -6337,12 +6450,6 @@ "com.amazonaws.ecs#Setting": { "type": "structure", "members": { - "principalArn": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tthis field is omitted, the authenticated user is assumed.

    " - } - }, "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { @@ -6354,6 +6461,12 @@ "traits": { "smithy.api#documentation": "

    Whether the account setting is enabled or disabled for the specified resource.

    " } + }, + "principalArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tthis field is omitted, the authenticated user is assumed.

    " + } } }, "traits": { @@ -6452,41 +6565,47 @@ "com.amazonaws.ecs#StartTaskRequest": { "type": "structure", "members": { - "propagateTags": { - "target": "com.amazonaws.ecs#PropagateTags", + "cluster": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition or the service to the\n\t\t\ttask. If no value is specified, the tags are not propagated.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " } }, - "startedBy": { - "target": "com.amazonaws.ecs#String", + "containerInstances": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens, and underscores are allowed.

    \n\t\t

    If a task is started by an Amazon ECS service, then the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

    " + "smithy.api#documentation": "

    The container instance IDs or full ARN entries for the container instances on which\n\t\t\tyou would like to place your task. You can specify up to 10 container instances.

    ", + "smithy.api#required": {} } }, - "overrides": { - "target": "com.amazonaws.ecs#TaskOverride", + "enableECSManagedTags": { + "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

    A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it should receive. You can override the\n\t\t\tdefault command for a container (that is specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

    \n\t\t \n\t\t\t

    A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\t\tformatting characters of the override structure.

    \n\t\t
    " + "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see\n\t\t\t\tTagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " } }, - "containerInstances": { - "target": "com.amazonaws.ecs#StringList", + "group": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The name of the task group to associate with the task. The default value is the family\n\t\t\tname of the task definition (for example, family:my-family-name).

    " + } + }, + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

    The container instance IDs or full ARN entries for the container instances on which\n\t\t\tyou would like to place your task. You can specify up to 10 container instances.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

    " } }, - "group": { - "target": "com.amazonaws.ecs#String", + "overrides": { + "target": "com.amazonaws.ecs#TaskOverride", "traits": { - "smithy.api#documentation": "

    The name of the task group to associate with the task. The default value is the family\n\t\t\tname of the task definition (for example, family:my-family-name).

    " + "smithy.api#documentation": "

    A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it should receive. You can override the\n\t\t\tdefault command for a container (that is specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

    \n\t\t \n\t\t\t

    A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\t\tformatting characters of the override structure.

    \n\t\t
    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "propagateTags": { + "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies whether to propagate the tags from the task definition or the service to the\n\t\t\ttask. If no value is specified, the tags are not propagated.

    " } }, "referenceId": { @@ -6495,29 +6614,23 @@ "smithy.api#documentation": "

    The reference ID to use for the task.

    " } }, - "taskDefinition": { + "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to start. If a revision is not specified,\n\t\t\tthe latest ACTIVE revision is used.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens, and underscores are allowed.

    \n\t\t

    If a task is started by an Amazon ECS service, then the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

    " } }, - "enableECSManagedTags": { - "target": "com.amazonaws.ecs#Boolean", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    Specifies whether to enable Amazon ECS managed tags for the task. For more information, see\n\t\t\t\tTagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "cluster": { + "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " - } - }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration", - "traits": { - "smithy.api#documentation": "

    The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

    " + "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to start. If a revision is not specified,\n\t\t\tthe latest ACTIVE revision is used.

    ", + "smithy.api#required": {} } } } @@ -6525,17 +6638,17 @@ "com.amazonaws.ecs#StartTaskResponse": { "type": "structure", "members": { - "failures": { - "target": "com.amazonaws.ecs#Failures", - "traits": { - "smithy.api#documentation": "

    Any failures associated with the call.

    " - } - }, "tasks": { "target": "com.amazonaws.ecs#Tasks", "traits": { "smithy.api#documentation": "

    A full description of the tasks that were started. Each task that was successfully\n\t\t\tplaced on your container instances is described.

    " } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "

    Any failures associated with the call.

    " + } } } }, @@ -6653,18 +6766,18 @@ "com.amazonaws.ecs#SubmitAttachmentStateChangesRequest": { "type": "structure", "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The short name or full ARN of the cluster that hosts the container instance the\n\t\t\tattachment belongs to.

    " + } + }, "attachments": { "target": "com.amazonaws.ecs#AttachmentStateChanges", "traits": { "smithy.api#documentation": "

    Any attachments associated with the state change request.

    ", "smithy.api#required": {} } - }, - "cluster": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The short name or full ARN of the cluster that hosts the container instance the\n\t\t\tattachment belongs to.

    " - } } } }, @@ -6705,28 +6818,22 @@ "com.amazonaws.ecs#SubmitContainerStateChangeRequest": { "type": "structure", "members": { - "task": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

    " - } - }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The short name or full ARN of the cluster that hosts the container.

    " } }, - "exitCode": { - "target": "com.amazonaws.ecs#BoxedInteger", + "task": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The exit code returned for the state change request.

    " + "smithy.api#documentation": "

    The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

    " } }, - "status": { + "containerName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the state change request.

    " + "smithy.api#documentation": "

    The name of the container.

    " } }, "runtimeId": { @@ -6735,16 +6842,16 @@ "smithy.api#documentation": "

    The ID of the Docker container.

    " } }, - "networkBindings": { - "target": "com.amazonaws.ecs#NetworkBindings", + "status": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The network bindings of the container.

    " + "smithy.api#documentation": "

    The status of the state change request.

    " } }, - "containerName": { - "target": "com.amazonaws.ecs#String", + "exitCode": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    The name of the container.

    " + "smithy.api#documentation": "

    The exit code returned for the state change request.

    " } }, "reason": { @@ -6752,6 +6859,12 @@ "traits": { "smithy.api#documentation": "

    The reason for the state change request.

    " } + }, + "networkBindings": { + "target": "com.amazonaws.ecs#NetworkBindings", + "traits": { + "smithy.api#documentation": "

    The network bindings of the container.

    " + } } } }, @@ -6795,58 +6908,58 @@ "com.amazonaws.ecs#SubmitTaskStateChangeRequest": { "type": "structure", "members": { - "containers": { - "target": "com.amazonaws.ecs#ContainerStateChanges", + "cluster": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Any containers associated with the state change request.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

    " } }, - "pullStartedAt": { - "target": "com.amazonaws.ecs#Timestamp", + "task": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the container image pull began.

    " + "smithy.api#documentation": "

    The task ID or full ARN of the task in the state change request.

    " } }, - "reason": { + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The reason for the state change request.

    " + "smithy.api#documentation": "

    The status of the state change request.

    " } }, - "pullStoppedAt": { - "target": "com.amazonaws.ecs#Timestamp", + "reason": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the container image pull completed.

    " + "smithy.api#documentation": "

    The reason for the state change request.

    " } }, - "task": { - "target": "com.amazonaws.ecs#String", + "containers": { + "target": "com.amazonaws.ecs#ContainerStateChanges", "traits": { - "smithy.api#documentation": "

    The task ID or full ARN of the task in the state change request.

    " + "smithy.api#documentation": "

    Any containers associated with the state change request.

    " } }, - "status": { - "target": "com.amazonaws.ecs#String", + "attachments": { + "target": "com.amazonaws.ecs#AttachmentStateChanges", "traits": { - "smithy.api#documentation": "

    The status of the state change request.

    " + "smithy.api#documentation": "

    Any attachments associated with the state change request.

    " } }, - "executionStoppedAt": { + "pullStartedAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task execution stopped.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the container image pull began.

    " } }, - "cluster": { - "target": "com.amazonaws.ecs#String", + "pullStoppedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the container image pull completed.

    " } }, - "attachments": { - "target": "com.amazonaws.ecs#AttachmentStateChanges", + "executionStoppedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    Any attachments associated with the state change request.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task execution stopped.

    " } } } @@ -6891,17 +7004,17 @@ "com.amazonaws.ecs#Tag": { "type": "structure", "members": { - "value": { - "target": "com.amazonaws.ecs#TagValue", - "traits": { - "smithy.api#documentation": "

    The optional part of a key-value pair that make up a tag. A value acts as\n\t\t\ta descriptor within a tag category (key).

    " - } - }, "key": { "target": "com.amazonaws.ecs#TagKey", "traits": { "smithy.api#documentation": "

    One part of a key-value pair that make up a tag. A key is a general label\n\t\t\tthat acts like a category for more specific tag values.

    " } + }, + "value": { + "target": "com.amazonaws.ecs#TagValue", + "traits": { + "smithy.api#documentation": "

    The optional part of a key-value pair that make up a tag. A value acts as\n\t\t\ta descriptor within a tag category (key).

    " + } } }, "traits": { @@ -7024,16 +7137,28 @@ "com.amazonaws.ecs#Task": { "type": "structure", "members": { - "taskArn": { + "attachments": { + "target": "com.amazonaws.ecs#Attachments", + "traits": { + "smithy.api#documentation": "

    The Elastic Network Adapter associated with the task if the task uses the\n\t\t\t\tawsvpc network mode.

    " + } + }, + "attributes": { + "target": "com.amazonaws.ecs#Attributes", + "traits": { + "smithy.api#documentation": "

    The attributes of the task

    " + } + }, + "availabilityZone": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task.

    " + "smithy.api#documentation": "

    The availability zone of the task.

    " } }, - "platformVersion": { + "capacityProviderName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The platform version on which your task is running. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one is not\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The capacity provider associated with the task.

    " } }, "clusterArn": { @@ -7042,28 +7167,28 @@ "smithy.api#documentation": "

    The ARN of the cluster that hosts the task.

    " } }, - "capacityProviderName": { - "target": "com.amazonaws.ecs#String", + "connectivity": { + "target": "com.amazonaws.ecs#Connectivity", "traits": { - "smithy.api#documentation": "

    The capacity provider associated with the task.

    " + "smithy.api#documentation": "

    The connectivity status of a task.

    " } }, - "executionStoppedAt": { + "connectivityAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task execution stopped.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task last went into CONNECTED\n\t\t\tstatus.

    " } }, - "availabilityZone": { + "containerInstanceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The availability zone of the task.

    " + "smithy.api#documentation": "

    The ARN of the container instances that host the task.

    " } }, - "startedAt": { - "target": "com.amazonaws.ecs#Timestamp", + "containers": { + "target": "com.amazonaws.ecs#Containers", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task started (the task transitioned from the\n\t\t\t\tPENDING state to the RUNNING state).

    " + "smithy.api#documentation": "

    The containers associated with the task.

    " } }, "cpu": { @@ -7072,100 +7197,100 @@ "smithy.api#documentation": "

    The number of CPU units used by the task as expressed in a task definition. It can be\n\t\t\texpressed as an integer using CPU units, for example 1024. It can also be\n\t\t\texpressed as a string using vCPUs, for example 1 vCPU or 1\n\t\t\t\tvcpu. String values are converted to an integer indicating the CPU units when\n\t\t\tthe task definition is registered.

    \n\t\t

    If you are using the EC2 launch type, this field is optional. Supported\n\t\t\tvalues are between 128 CPU units (0.125 vCPUs) and\n\t\t\t\t10240 CPU units (10 vCPUs).

    \n\t\t

    If you are using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the memory parameter:

    \n
      \n
    • \n

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      \n
    • \n
    • \n

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      \n
    • \n
    • \n

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      \n
    • \n
    • \n

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      \n
    • \n
    • \n

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      \n
    • \n
    " } }, - "pullStartedAt": { + "createdAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the container image pull began.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task was created (the task entered the\n\t\t\t\tPENDING state).

    " } }, - "createdAt": { - "target": "com.amazonaws.ecs#Timestamp", + "desiredStatus": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task was created (the task entered the\n\t\t\t\tPENDING state).

    " + "smithy.api#documentation": "

    The desired status of the task. For more information, see Task\n\t\t\tLifecycle.

    " } }, - "inferenceAccelerators": { - "target": "com.amazonaws.ecs#InferenceAccelerators", + "executionStoppedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The Elastic Inference accelerator associated with the task.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task execution stopped.

    " } }, - "containerInstanceArn": { + "group": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The ARN of the container instances that host the task.

    " + "smithy.api#documentation": "

    The name of the task group associated with the task.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "healthStatus": { + "target": "com.amazonaws.ecs#HealthStatus", "traits": { - "smithy.api#documentation": "

    The launch type on which your task is running. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The health status for the task, which is determined by the health of the essential\n\t\t\tcontainers in the task. If all essential containers in the task are reporting as\n\t\t\t\tHEALTHY, then the task status also reports as HEALTHY. If\n\t\t\tany essential containers in the task are reporting as UNHEALTHY or\n\t\t\t\tUNKNOWN, then the task status also reports as UNHEALTHY or\n\t\t\t\tUNKNOWN, accordingly.

    \n\t\t \n\t\t\t

    The Amazon ECS container agent does not monitor or report on Docker health checks that\n\t\t\t\tare embedded in a container image (such as those specified in a parent image or from\n\t\t\t\tthe image's Dockerfile) and not specified in the container definition. Health check\n\t\t\t\tparameters that are specified in a container definition override any Docker health\n\t\t\t\tchecks that exist in the container image.

    \n\t\t
    " } }, - "attachments": { - "target": "com.amazonaws.ecs#Attachments", + "inferenceAccelerators": { + "target": "com.amazonaws.ecs#InferenceAccelerators", "traits": { - "smithy.api#documentation": "

    The Elastic Network Adapter associated with the task if the task uses the\n\t\t\t\tawsvpc network mode.

    " + "smithy.api#documentation": "

    The Elastic Inference accelerator associated with the task.

    " } }, - "group": { + "lastStatus": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the task group associated with the task.

    " + "smithy.api#documentation": "

    The last known status of the task. For more information, see Task\n\t\t\t\tLifecycle.

    " } }, - "desiredStatus": { - "target": "com.amazonaws.ecs#String", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The desired status of the task. For more information, see Task\n\t\t\tLifecycle.

    " + "smithy.api#documentation": "

    The launch type on which your task is running. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " } }, - "startedBy": { + "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The tag specified when a task is started. If the task is started by an Amazon ECS service,\n\t\t\tthen the startedBy parameter contains the deployment ID of the service that\n\t\t\tstarts it.

    " + "smithy.api#documentation": "

    The amount of memory (in MiB) used by the task as expressed in a task definition. It\n\t\t\tcan be expressed as an integer using MiB, for example 1024. It can also be\n\t\t\texpressed as a string using GB, for example 1GB or 1 GB.\n\t\t\tString values are converted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

    \n\t\t

    If you are using the EC2 launch type, this field is optional.

    \n\t\t

    If you are using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the cpu parameter:

    \n
      \n
    • \n

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      \n
    • \n
    • \n

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      \n
    • \n
    • \n

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      \n
    • \n
    • \n

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      \n
    • \n
    • \n

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      \n
    • \n
    " } }, - "pullStoppedAt": { - "target": "com.amazonaws.ecs#Timestamp", + "overrides": { + "target": "com.amazonaws.ecs#TaskOverride", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the container image pull completed.

    " + "smithy.api#documentation": "

    One or more container overrides.

    " } }, - "connectivity": { - "target": "com.amazonaws.ecs#Connectivity", + "platformVersion": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The connectivity status of a task.

    " + "smithy.api#documentation": "

    The platform version on which your task is running. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one is not\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "connectivityAt": { + "pullStartedAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task last went into CONNECTED\n\t\t\tstatus.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the container image pull began.

    " } }, - "healthStatus": { - "target": "com.amazonaws.ecs#HealthStatus", + "pullStoppedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The health status for the task, which is determined by the health of the essential\n\t\t\tcontainers in the task. If all essential containers in the task are reporting as\n\t\t\t\tHEALTHY, then the task status also reports as HEALTHY. If\n\t\t\tany essential containers in the task are reporting as UNHEALTHY or\n\t\t\t\tUNKNOWN, then the task status also reports as UNHEALTHY or\n\t\t\t\tUNKNOWN, accordingly.

    \n\t\t \n\t\t\t

    The Amazon ECS container agent does not monitor or report on Docker health checks that\n\t\t\t\tare embedded in a container image (such as those specified in a parent image or from\n\t\t\t\tthe image's Dockerfile) and not specified in the container definition. Health check\n\t\t\t\tparameters that are specified in a container definition override any Docker health\n\t\t\t\tchecks that exist in the container image.

    \n\t\t
    " + "smithy.api#documentation": "

    The Unix timestamp for when the container image pull completed.

    " } }, - "version": { - "target": "com.amazonaws.ecs#Long", + "startedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The version counter for the task. Every time a task experiences a change that triggers\n\t\t\ta CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task\n\t\t\tstate with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API\n\t\t\tactions with the version reported in CloudWatch Events for the task (inside the\n\t\t\t\tdetail object) to verify that the version in your event stream is\n\t\t\tcurrent.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task started (the task transitioned from the\n\t\t\t\tPENDING state to the RUNNING state).

    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "startedBy": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    The tag specified when a task is started. If the task is started by an Amazon ECS service,\n\t\t\tthen the startedBy parameter contains the deployment ID of the service that\n\t\t\tstarts it.

    " } }, - "overrides": { - "target": "com.amazonaws.ecs#TaskOverride", + "stopCode": { + "target": "com.amazonaws.ecs#TaskStopCode", "traits": { - "smithy.api#documentation": "

    One or more container overrides.

    " + "smithy.api#documentation": "

    The stop code indicating why a task was stopped. The stoppedReason may\n\t\t\tcontain additional details.

    " } }, "stoppedAt": { @@ -7174,52 +7299,40 @@ "smithy.api#documentation": "

    The Unix timestamp for when the task was stopped (the task transitioned from the\n\t\t\t\tRUNNING state to the STOPPED state).

    " } }, - "attributes": { - "target": "com.amazonaws.ecs#Attributes", - "traits": { - "smithy.api#documentation": "

    The attributes of the task

    " - } - }, "stoppedReason": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The reason that the task was stopped.

    " } }, - "containers": { - "target": "com.amazonaws.ecs#Containers", + "stoppingAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The containers associated with the task.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task stops (transitions from the RUNNING\n\t\t\tstate to STOPPED).

    " } }, - "taskDefinitionArn": { - "target": "com.amazonaws.ecs#String", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The ARN of the task definition that creates the task.

    " + "smithy.api#documentation": "

    The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } }, - "memory": { + "taskArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The amount of memory (in MiB) used by the task as expressed in a task definition. It\n\t\t\tcan be expressed as an integer using MiB, for example 1024. It can also be\n\t\t\texpressed as a string using GB, for example 1GB or 1 GB.\n\t\t\tString values are converted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

    \n\t\t

    If you are using the EC2 launch type, this field is optional.

    \n\t\t

    If you are using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the cpu parameter:

    \n
      \n
    • \n

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      \n
    • \n
    • \n

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      \n
    • \n
    • \n

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      \n
    • \n
    • \n

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      \n
    • \n
    • \n

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      \n
    • \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task.

    " } }, - "lastStatus": { + "taskDefinitionArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The last known status of the task. For more information, see Task\n\t\t\t\tLifecycle.

    " - } - }, - "stoppingAt": { - "target": "com.amazonaws.ecs#Timestamp", - "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task stops (transitions from the RUNNING\n\t\t\tstate to STOPPED).

    " + "smithy.api#documentation": "

    The ARN of the task definition that creates the task.

    " } }, - "stopCode": { - "target": "com.amazonaws.ecs#TaskStopCode", + "version": { + "target": "com.amazonaws.ecs#Long", "traits": { - "smithy.api#documentation": "

    The stop code indicating why a task was stopped. The stoppedReason may\n\t\t\tcontain additional details.

    " + "smithy.api#documentation": "

    The version counter for the task. Every time a task experiences a change that triggers\n\t\t\ta CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task\n\t\t\tstate with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API\n\t\t\tactions with the version reported in CloudWatch Events for the task (inside the\n\t\t\t\tdetail object) to verify that the version in your event stream is\n\t\t\tcurrent.

    " } } }, @@ -7230,88 +7343,88 @@ "com.amazonaws.ecs#TaskDefinition": { "type": "structure", "members": { - "taskRoleArn": { + "taskDefinitionArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the\n\t\t\ttask permission to call AWS APIs on your behalf. For more information, see Amazon ECS\n\t\t\t\tTask Role in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    IAM roles for tasks on Windows require that the -EnableTaskIAMRole option\n\t\t\tis set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some\n\t\t\tconfiguration code in order to take advantage of the feature. For more information, see\n\t\t\t\tWindows IAM Roles\n\t\t\t\tfor Tasks in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the task definition.

    " } }, - "revision": { - "target": "com.amazonaws.ecs#Integer", + "containerDefinitions": { + "target": "com.amazonaws.ecs#ContainerDefinitions", "traits": { - "smithy.api#documentation": "

    The revision of the task in a particular family. The revision is a version number of a\n\t\t\ttask definition in a family. When you register a task definition for the first time, the\n\t\t\trevision is 1. Each time that you register a new revision of a task\n\t\t\tdefinition in the same family, the revision value always increases by one, even if you\n\t\t\thave deregistered previous revisions in this family.

    " + "smithy.api#documentation": "

    A list of container definitions in JSON format that describe the different containers\n\t\t\tthat make up your task. For more information about container definition parameters and\n\t\t\tdefaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "status": { - "target": "com.amazonaws.ecs#TaskDefinitionStatus", + "family": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the task definition.

    " + "smithy.api#documentation": "

    The name of a family that this task definition is registered to. Up to 255 letters\n\t\t\t(uppercase and lowercase), numbers, hyphens, and underscores are allowed.

    \n\t\t

    A family groups multiple versions of a task definition. Amazon ECS gives the first task\n\t\t\tdefinition that you registered to a family a revision number of 1. Amazon ECS gives\n\t\t\tsequential revision numbers to each task definition that you add.

    " } }, - "proxyConfiguration": { - "target": "com.amazonaws.ecs#ProxyConfiguration", + "taskRoleArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The configuration details for the App Mesh proxy.

    \n\t\t

    Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tand at least version 1.26.0-1 of the ecs-init package to enable a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS-optimized AMI\n\t\t\tversion 20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the\n\t\t\ttask permission to call AWS APIs on your behalf. For more information, see Amazon ECS\n\t\t\t\tTask Role in the Amazon Elastic Container Service Developer Guide.

    \n\t\t

    IAM roles for tasks on Windows require that the -EnableTaskIAMRole option\n\t\t\tis set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some\n\t\t\tconfiguration code in order to take advantage of the feature. For more information, see\n\t\t\t\tWindows IAM Roles\n\t\t\t\tfor Tasks in the Amazon Elastic Container Service Developer Guide.

    " } }, - "placementConstraints": { - "target": "com.amazonaws.ecs#TaskDefinitionPlacementConstraints", + "executionRoleArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    An array of placement constraint objects to use for tasks. This field is not valid if\n\t\t\tyou are using the Fargate launch type for your task.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent\n permission to make AWS API calls on your behalf. The task execution IAM role is required\n depending on the requirements of your task. For more information, see Amazon ECS task\n execution IAM role in the Amazon Elastic Container Service Developer Guide.

    " } }, "networkMode": { "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "

    The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n The default Docker network mode is bridge. If you are using the\n Fargate launch type, the awsvpc network mode is required. If\n you are using the EC2 launch type, any network mode can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

    \n

    With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

    \n

    If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

    \n \n

    Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the\n ecs-init package, or AWS Fargate infrastructure support the\n awsvpc network mode.

    \n
    \n

    If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

    \n

    Docker for Windows uses different network modes than Docker for Linux. When you\n register a task definition with Windows containers, you must not specify a network mode.\n If you use the console to register a task definition with Windows containers, you must\n choose the network mode object.

    \n

    For more information, see Network\n settings in the Docker run reference.

    " + "smithy.api#documentation": "

    The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

    \n

    For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

    \n

    With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

    \n \n

    When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

    \n
    \n

    If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

    \n \n

    Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the\n ecs-init package, or AWS Fargate infrastructure support the\n awsvpc network mode.

    \n
    \n

    If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

    \n

    Docker for Windows uses different network modes than Docker for Linux. When you\n register a task definition with Windows containers, you must not specify a network mode.\n If you use the console to register a task definition with Windows containers, you must\n choose the network mode object.

    \n

    For more information, see Network\n settings in the Docker run reference.

    " } }, - "family": { - "target": "com.amazonaws.ecs#String", + "revision": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The name of a family that this task definition is registered to. Up to 255 letters\n\t\t\t(uppercase and lowercase), numbers, hyphens, and underscores are allowed.

    \n\t\t

    A family groups multiple versions of a task definition. Amazon ECS gives the first task\n\t\t\tdefinition that you registered to a family a revision number of 1. Amazon ECS gives\n\t\t\tsequential revision numbers to each task definition that you add.

    " + "smithy.api#documentation": "

    The revision of the task in a particular family. The revision is a version number of a\n\t\t\ttask definition in a family. When you register a task definition for the first time, the\n\t\t\trevision is 1. Each time that you register a new revision of a task\n\t\t\tdefinition in the same family, the revision value always increases by one, even if you\n\t\t\thave deregistered previous revisions in this family.

    " } }, - "requiresCompatibilities": { - "target": "com.amazonaws.ecs#CompatibilityList", + "volumes": { + "target": "com.amazonaws.ecs#VolumeList", "traits": { - "smithy.api#documentation": "

    The launch type the task requires. If no value is specified, it will default to\n\t\t\t\tEC2. Valid values include EC2 and\n\t\t\tFARGATE.

    " + "smithy.api#documentation": "

    The list of volume definitions for the task.

    \n\t\t

    If your tasks are using the Fargate launch type, the host\n\t\t\tand sourcePath parameters are not supported.

    \n\t\t

    For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "pidMode": { - "target": "com.amazonaws.ecs#PidMode", + "status": { + "target": "com.amazonaws.ecs#TaskDefinitionStatus", "traits": { - "smithy.api#documentation": "

    The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

    \n

    If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " + "smithy.api#documentation": "

    The status of the task definition.

    " } }, - "taskDefinitionArn": { - "target": "com.amazonaws.ecs#String", + "requiresAttributes": { + "target": "com.amazonaws.ecs#RequiresAttributes", "traits": { - "smithy.api#documentation": "

    The full Amazon Resource Name (ARN) of the task definition.

    " + "smithy.api#documentation": "

    The container instance attributes required by your task. This field is not valid if\n\t\t\tyou are using the Fargate launch type for your task.

    " } }, - "compatibilities": { - "target": "com.amazonaws.ecs#CompatibilityList", + "placementConstraints": { + "target": "com.amazonaws.ecs#TaskDefinitionPlacementConstraints", "traits": { - "smithy.api#documentation": "

    The launch type to use with your task. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    An array of placement constraint objects to use for tasks. This field is not valid if\n\t\t\tyou are using the Fargate launch type for your task.

    " } }, - "containerDefinitions": { - "target": "com.amazonaws.ecs#ContainerDefinitions", + "compatibilities": { + "target": "com.amazonaws.ecs#CompatibilityList", "traits": { - "smithy.api#documentation": "

    A list of container definitions in JSON format that describe the different containers\n\t\t\tthat make up your task. For more information about container definition parameters and\n\t\t\tdefaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The launch type to use with your task. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " } }, - "inferenceAccelerators": { - "target": "com.amazonaws.ecs#InferenceAccelerators", + "requiresCompatibilities": { + "target": "com.amazonaws.ecs#CompatibilityList", "traits": { - "smithy.api#documentation": "

    The Elastic Inference accelerator associated with the task.

    " + "smithy.api#documentation": "

    The launch type the task requires. If no value is specified, it will default to\n\t\t\t\tEC2. Valid values include EC2 and\n\t\t\tFARGATE.

    " } }, - "ipcMode": { - "target": "com.amazonaws.ecs#IpcMode", + "cpu": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

    \n

    If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

    \n

    If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

    \n
      \n
    • \n

      For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

      \n
    • \n
    • \n

      For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

      \n
    • \n
    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " + "smithy.api#documentation": "

    The number of cpu units used by the task. If you are using the EC2 launch\n\t\t\ttype, this field is optional and any value can be used. If you are using the Fargate\n\t\t\tlaunch type, this field is required and you must use one of the following values, which\n\t\t\tdetermines your range of valid values for the memory parameter:

    \n\t\t
      \n
    • \n

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      \n
    • \n
    • \n

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      \n
    • \n
    • \n

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      \n
    • \n
    • \n

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      \n
    • \n
    • \n

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      \n
    • \n
    " } }, "memory": { @@ -7320,28 +7433,28 @@ "smithy.api#documentation": "

    The amount (in MiB) of memory used by the task.

    \n\t\t

    If using the EC2 launch type, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. This field is optional and any value can\n\t\t\tbe used. If a task-level memory value is specified then the container-level memory value\n\t\t\tis optional. For more information regarding container-level memory and memory\n\t\t\treservation, see ContainerDefinition.

    \n\t\t

    If using the Fargate launch type, this field is required and you must\n\t\t\tuse one of the following values, which determines your range of valid values for the\n\t\t\t\tcpu parameter:

    \n
      \n
    • \n

      512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      \n
    • \n
    • \n

      1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      \n
    • \n
    • \n

      2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      \n
    • \n
    • \n

      Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      \n
    • \n
    • \n

      Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

      \n
    • \n
    " } }, - "requiresAttributes": { - "target": "com.amazonaws.ecs#RequiresAttributes", + "inferenceAccelerators": { + "target": "com.amazonaws.ecs#InferenceAccelerators", "traits": { - "smithy.api#documentation": "

    The container instance attributes required by your task. This field is not valid if\n\t\t\tyou are using the Fargate launch type for your task.

    " + "smithy.api#documentation": "

    The Elastic Inference accelerator associated with the task.

    " } }, - "executionRoleArn": { - "target": "com.amazonaws.ecs#String", + "pidMode": { + "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent\n permission to make AWS API calls on your behalf. The task execution IAM role is required\n depending on the requirements of your task. For more information, see Amazon ECS task\n execution IAM role in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

    \n

    If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " } }, - "cpu": { - "target": "com.amazonaws.ecs#String", + "ipcMode": { + "target": "com.amazonaws.ecs#IpcMode", "traits": { - "smithy.api#documentation": "

    The number of cpu units used by the task. If you are using the EC2 launch\n\t\t\ttype, this field is optional and any value can be used. If you are using the Fargate\n\t\t\tlaunch type, this field is required and you must use one of the following values, which\n\t\t\tdetermines your range of valid values for the memory parameter:

    \n\t\t
      \n
    • \n

      256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      \n
    • \n
    • \n

      512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      \n
    • \n
    • \n

      1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      \n
    • \n
    • \n

      2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      \n
    • \n
    • \n

      4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

      \n
    • \n
    " + "smithy.api#documentation": "

    The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

    \n

    If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

    \n

    If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

    \n
      \n
    • \n

      For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

      \n
    • \n
    • \n

      For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

      \n
    • \n
    \n \n

    This parameter is not supported for Windows containers or tasks using the Fargate launch type.

    \n
    " } }, - "volumes": { - "target": "com.amazonaws.ecs#VolumeList", + "proxyConfiguration": { + "target": "com.amazonaws.ecs#ProxyConfiguration", "traits": { - "smithy.api#documentation": "

    The list of volume definitions for the task.

    \n\t\t

    If your tasks are using the Fargate launch type, the host\n\t\t\tand sourcePath parameters are not supported.

    \n\t\t

    For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The configuration details for the App Mesh proxy.

    \n\t\t

    Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tand at least version 1.26.0-1 of the ecs-init package to enable a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS-optimized AMI\n\t\t\tversion 20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

    " } } }, @@ -7463,10 +7576,16 @@ "smithy.api#documentation": "

    One or more container overrides sent to a task.

    " } }, - "memory": { + "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The memory override for the task.

    " + "smithy.api#documentation": "

    The cpu override for the task.

    " + } + }, + "inferenceAcceleratorOverrides": { + "target": "com.amazonaws.ecs#InferenceAcceleratorOverrides", + "traits": { + "smithy.api#documentation": "

    The Elastic Inference accelerator override for the task.

    " } }, "executionRoleArn": { @@ -7475,10 +7594,10 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

    " } }, - "cpu": { + "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The cpu override for the task.

    " + "smithy.api#documentation": "

    The memory override for the task.

    " } }, "taskRoleArn": { @@ -7486,12 +7605,6 @@ "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers\n\t\t\tin this task are granted the permissions that are specified in this role.

    " } - }, - "inferenceAcceleratorOverrides": { - "target": "com.amazonaws.ecs#InferenceAcceleratorOverrides", - "traits": { - "smithy.api#documentation": "

    The Elastic Inference accelerator override for the task.

    " - } } }, "traits": { @@ -7501,46 +7614,46 @@ "com.amazonaws.ecs#TaskSet": { "type": "structure", "members": { - "serviceRegistries": { - "target": "com.amazonaws.ecs#ServiceRegistries", + "id": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The details of the service discovery registries to assign to this task set. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    " + "smithy.api#documentation": "

    The ID of the task set.

    " } }, - "serviceArn": { + "taskSetArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the service the task set exists in.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task set.

    " } }, - "externalId": { + "serviceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The external ID associated with the task set.

    \n\t\t

    If a task set is created by an AWS CodeDeploy deployment, the externalId parameter\n\t\t\tcontains the AWS CodeDeploy deployment ID.

    \n\t\t

    If a task set is created for an external deployment and is associated with a service\n\t\t\tdiscovery registry, the externalId parameter contains the\n\t\t\t\tECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the service the task set exists in.

    " } }, - "loadBalancers": { - "target": "com.amazonaws.ecs#LoadBalancers", + "clusterArn": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    Details on a load balancer that is used with a task set.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists\n\t\t\tin.

    " } }, - "platformVersion": { + "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The platform version on which the tasks in the task set are running. A platform\n\t\t\tversion is only specified for tasks using the Fargate launch type. If one\n\t\t\tis not specified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy\n\t\t\tdeployment, the startedBy parameter is CODE_DEPLOY. For a task\n\t\t\tset created for an external deployment, the startedBy field isn't used.

    " } }, - "computedDesiredCount": { - "target": "com.amazonaws.ecs#Integer", + "externalId": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The computed desired count for the task set. This is calculated by multiplying the\n\t\t\tservice's desiredCount by the task set's scale percentage. The\n\t\t\tresult is always rounded up. For example, if the computed desired count is 1.2, it\n\t\t\trounds up to 2 tasks.

    " + "smithy.api#documentation": "

    The external ID associated with the task set.

    \n\t\t

    If a task set is created by an AWS CodeDeploy deployment, the externalId parameter\n\t\t\tcontains the AWS CodeDeploy deployment ID.

    \n\t\t

    If a task set is created for an external deployment and is associated with a service\n\t\t\tdiscovery registry, the externalId parameter contains the\n\t\t\t\tECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

    " } }, - "id": { + "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The ID of the task set.

    " + "smithy.api#documentation": "

    The status of the task set. The following describes each state:

    \n\t\t
    \n
    PRIMARY
    \n
    \n\t\t\t\t\t

    The task set is serving production traffic.

    \n\t\t\t\t
    \n
    ACTIVE
    \n
    \n\t\t\t\t\t

    The task set is not serving production traffic.

    \n\t\t\t\t
    \n
    DRAINING
    \n
    \n\t\t\t\t\t

    The tasks in the task set are being stopped and their corresponding\n\t\t\t\t\t\ttargets are being deregistered from their target group.

    \n\t\t\t\t
    \n
    " } }, "taskDefinition": { @@ -7549,22 +7662,22 @@ "smithy.api#documentation": "

    The task definition the task set is using.

    " } }, - "launchType": { - "target": "com.amazonaws.ecs#LaunchType", + "computedDesiredCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The launch type the tasks in the task set are using. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " + "smithy.api#documentation": "

    The computed desired count for the task set. This is calculated by multiplying the\n\t\t\tservice's desiredCount by the task set's scale percentage. The\n\t\t\tresult is always rounded up. For example, if the computed desired count is 1.2, it\n\t\t\trounds up to 2 tasks.

    " } }, - "updatedAt": { - "target": "com.amazonaws.ecs#Timestamp", + "pendingCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The Unix timestamp for when the task set was last updated.

    " + "smithy.api#documentation": "

    The number of tasks in the task set that are in the PENDING status during\n\t\t\ta deployment. A task in the PENDING state is preparing to enter the\n\t\t\t\tRUNNING state. A task set enters the PENDING status when\n\t\t\tit launches for the first time or when it is restarted after being in the\n\t\t\t\tSTOPPED state.

    " } }, - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "runningCount": { + "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The capacity provider strategy associated with the task set.

    " + "smithy.api#documentation": "

    The number of tasks in the task set that are in the RUNNING status during\n\t\t\ta deployment. A task in the RUNNING state is running and ready for\n\t\t\tuse.

    " } }, "createdAt": { @@ -7573,34 +7686,46 @@ "smithy.api#documentation": "

    The Unix timestamp for when the task set was created.

    " } }, - "pendingCount": { - "target": "com.amazonaws.ecs#Integer", + "updatedAt": { + "target": "com.amazonaws.ecs#Timestamp", "traits": { - "smithy.api#documentation": "

    The number of tasks in the task set that are in the PENDING status during\n\t\t\ta deployment. A task in the PENDING state is preparing to enter the\n\t\t\t\tRUNNING state. A task set enters the PENDING status when\n\t\t\tit launches for the first time or when it is restarted after being in the\n\t\t\t\tSTOPPED state.

    " + "smithy.api#documentation": "

    The Unix timestamp for when the task set was last updated.

    " } }, - "tags": { - "target": "com.amazonaws.ecs#Tags", + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

    The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " + "smithy.api#documentation": "

    The launch type the tasks in the task set are using. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

    " + } + }, + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "traits": { + "smithy.api#documentation": "

    The capacity provider strategy associated with the task set.

    " } }, - "status": { + "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The status of the task set. The following describes each state:

    \n\t\t
    \n
    PRIMARY
    \n
    \n\t\t\t\t\t

    The task set is serving production traffic.

    \n\t\t\t\t
    \n
    ACTIVE
    \n
    \n\t\t\t\t\t

    The task set is not serving production traffic.

    \n\t\t\t\t
    \n
    DRAINING
    \n
    \n\t\t\t\t\t

    The tasks in the task set are being stopped and their corresponding\n\t\t\t\t\t\ttargets are being deregistered from their target group.

    \n\t\t\t\t
    \n
    " + "smithy.api#documentation": "

    The platform version on which the tasks in the task set are running. A platform\n\t\t\tversion is only specified for tasks using the Fargate launch type. If one\n\t\t\tis not specified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see AWS Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

    " } }, - "runningCount": { - "target": "com.amazonaws.ecs#Integer", + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

    The number of tasks in the task set that are in the RUNNING status during\n\t\t\ta deployment. A task in the RUNNING state is running and ready for\n\t\t\tuse.

    " + "smithy.api#documentation": "

    The network configuration for the task set.

    " } }, - "taskSetArn": { - "target": "com.amazonaws.ecs#String", + "loadBalancers": { + "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the task set.

    " + "smithy.api#documentation": "

    Details on a load balancer that is used with a task set.

    " + } + }, + "serviceRegistries": { + "target": "com.amazonaws.ecs#ServiceRegistries", + "traits": { + "smithy.api#documentation": "

    The details of the service discovery registries to assign to this task set. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

    " } }, "scale": { @@ -7621,22 +7746,10 @@ "smithy.api#documentation": "

    The Unix timestamp for when the task set stability status was retrieved.

    " } }, - "clusterArn": { - "target": "com.amazonaws.ecs#String", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists\n\t\t\tin.

    " - } - }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration", - "traits": { - "smithy.api#documentation": "

    The network configuration for the task set.

    " - } - }, - "startedBy": { - "target": "com.amazonaws.ecs#String", + "tags": { + "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

    The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy\n\t\t\tdeployment, the startedBy parameter is CODE_DEPLOY. For a task\n\t\t\tset created for an external deployment, the startedBy field isn't used.

    " + "smithy.api#documentation": "

    The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define.

    \n\t\t

    The following basic restrictions apply to tags:

    \n
      \n
    • \n

      Maximum number of tags per resource - 50

      \n
    • \n
    • \n

      For each resource, each tag key must be unique, and each tag key can have only\n one value.

      \n
    • \n
    • \n

      Maximum key length - 128 Unicode characters in UTF-8

      \n
    • \n
    • \n

      Maximum value length - 256 Unicode characters in UTF-8

      \n
    • \n
    • \n

      If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

      \n
    • \n
    • \n

      Tag keys and values are case-sensitive.

      \n
    • \n
    • \n

      Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

      \n
    • \n
    " } } }, @@ -7710,10 +7823,11 @@ "com.amazonaws.ecs#Tmpfs": { "type": "structure", "members": { - "mountOptions": { - "target": "com.amazonaws.ecs#StringList", + "containerPath": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The list of tmpfs volume mount options.

    \n\t\t

    Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" |\n\t\t\t\t\"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" |\n\t\t\t\t\"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" |\n\t\t\t\t\"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" |\n\t\t\t\t\"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\"\n\t\t\t\t| \"nr_inodes\" | \"nr_blocks\" | \"mpol\"\n

    " + "smithy.api#documentation": "

    The absolute file path where the tmpfs volume is to be mounted.

    ", + "smithy.api#required": {} } }, "size": { @@ -7723,11 +7837,10 @@ "smithy.api#required": {} } }, - "containerPath": { - "target": "com.amazonaws.ecs#String", + "mountOptions": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    The absolute file path where the tmpfs volume is to be mounted.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The list of tmpfs volume mount options.

    \n\t\t

    Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" |\n\t\t\t\t\"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" |\n\t\t\t\t\"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" |\n\t\t\t\t\"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" |\n\t\t\t\t\"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\"\n\t\t\t\t| \"nr_inodes\" | \"nr_blocks\" | \"mpol\"\n

    " } } }, @@ -7766,17 +7879,17 @@ "smithy.api#required": {} } }, - "hardLimit": { + "softLimit": { "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The hard limit for the ulimit type.

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

    The soft limit for the ulimit type.

    ", "smithy.api#required": {} } }, - "softLimit": { + "hardLimit": { "target": "com.amazonaws.ecs#Integer", "traits": { - "smithy.api#documentation": "

    The soft limit for the ulimit type.

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

    The hard limit for the ulimit type.

    ", "smithy.api#required": {} } } @@ -7902,25 +8015,75 @@ "com.amazonaws.ecs#UntagResourceRequest": { "type": "structure", "members": { + "resourceArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported\n\t\t\tresources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and\n\t\t\tcontainer instances.

    ", + "smithy.api#required": {} + } + }, "tagKeys": { "target": "com.amazonaws.ecs#TagKeys", "traits": { "smithy.api#documentation": "

    The keys of the tags to be removed.

    ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.ecs#UntagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.ecs#UpdateCapacityProvider": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#UpdateCapacityProviderRequest" + }, + "output": { + "target": "com.amazonaws.ecs#UpdateCapacityProviderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ecs#ClientException" }, - "resourceArn": { + { + "target": "com.amazonaws.ecs#InvalidParameterException" + }, + { + "target": "com.amazonaws.ecs#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

    Modifies the parameters for a capacity provider.

    " + } + }, + "com.amazonaws.ecs#UpdateCapacityProviderRequest": { + "type": "structure", + "members": { + "name": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported\n\t\t\tresources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and\n\t\t\tcontainer instances.

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

    An object representing the parameters to update for the Auto Scaling group capacity\n\t\t\tprovider.

    ", + "smithy.api#required": {} + } + }, + "autoScalingGroupProvider": { + "target": "com.amazonaws.ecs#AutoScalingGroupProviderUpdate", + "traits": { + "smithy.api#documentation": "

    The name of the capacity provider to update.

    ", "smithy.api#required": {} } } } }, - "com.amazonaws.ecs#UntagResourceResponse": { + "com.amazonaws.ecs#UpdateCapacityProviderResponse": { "type": "structure", - "members": {} + "members": { + "capacityProvider": { + "target": "com.amazonaws.ecs#CapacityProvider" + } + } }, "com.amazonaws.ecs#UpdateClusterSettings": { "type": "operation", @@ -8013,17 +8176,17 @@ "com.amazonaws.ecs#UpdateContainerAgentRequest": { "type": "structure", "members": { - "containerInstance": { + "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The container instance ID or full ARN entries for the container instance on which\n\t\t\tyou would like to update the Amazon ECS container agent.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is\n\t\t\trunning on. If you do not specify a cluster, the default cluster is assumed.

    " } }, - "cluster": { + "containerInstance": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is\n\t\t\trunning on. If you do not specify a cluster, the default cluster is assumed.

    " + "smithy.api#documentation": "

    The container instance ID or full ARN entries for the container instance on which\n\t\t\tyou would like to update the Amazon ECS container agent.

    ", + "smithy.api#required": {} } } } @@ -8074,17 +8237,17 @@ "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to\n\t\t\tupdate. If you do not specify a cluster, the default cluster is assumed.

    " } }, - "status": { - "target": "com.amazonaws.ecs#ContainerInstanceStatus", + "containerInstances": { + "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

    The container instance state with which to update the container instance. The only\n\t\t\tvalid values for this action are ACTIVE and DRAINING. A\n\t\t\tcontainer instance can only be updated to DRAINING status once it has\n\t\t\treached an ACTIVE state. If a container instance is in\n\t\t\t\tREGISTERING, DEREGISTERING, or\n\t\t\t\tREGISTRATION_FAILED state you can describe the container instance but\n\t\t\twill be unable to update the container instance state.

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

    A list of container instance IDs or full ARN entries.

    ", "smithy.api#required": {} } }, - "containerInstances": { - "target": "com.amazonaws.ecs#StringList", + "status": { + "target": "com.amazonaws.ecs#ContainerInstanceStatus", "traits": { - "smithy.api#documentation": "

    A list of container instance IDs or full ARN entries.

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

    The container instance state with which to update the container instance. The only\n\t\t\tvalid values for this action are ACTIVE and DRAINING. A\n\t\t\tcontainer instance can only be updated to DRAINING status once it has\n\t\t\treached an ACTIVE state. If a container instance is in\n\t\t\t\tREGISTERING, DEREGISTERING, or\n\t\t\t\tREGISTRATION_FAILED state you can describe the container instance but\n\t\t\twill be unable to update the container instance state.

    ", "smithy.api#required": {} } } @@ -8093,17 +8256,17 @@ "com.amazonaws.ecs#UpdateContainerInstancesStateResponse": { "type": "structure", "members": { - "failures": { - "target": "com.amazonaws.ecs#Failures", - "traits": { - "smithy.api#documentation": "

    Any failures associated with the call.

    " - } - }, "containerInstances": { "target": "com.amazonaws.ecs#ContainerInstances", "traits": { "smithy.api#documentation": "

    The list of container instances.

    " } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "

    Any failures associated with the call.

    " + } } } }, @@ -8204,17 +8367,17 @@ "com.amazonaws.ecs#UpdateServicePrimaryTaskSetRequest": { "type": "structure", "members": { - "service": { + "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

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

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset exists in.

    ", "smithy.api#required": {} } }, - "cluster": { + "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset exists in.

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

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    ", "smithy.api#required": {} } }, @@ -8238,25 +8401,17 @@ "com.amazonaws.ecs#UpdateServiceRequest": { "type": "structure", "members": { - "capacityProviderStrategy": { - "target": "com.amazonaws.ecs#CapacityProviderStrategy", - "traits": { - "smithy.api#documentation": "

    The capacity provider strategy to update the service to use.

    \n\t\t

    If the service is using the default capacity provider strategy for the cluster, the\n\t\t\tservice can be updated to use one or more capacity providers as opposed to the default\n\t\t\tcapacity provider strategy. However, when a service is using a capacity provider\n\t\t\tstrategy that is not the default capacity provider strategy, the service cannot be\n\t\t\tupdated to use the cluster's default capacity provider strategy.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    \n\t\t

    " - } - }, - "networkConfiguration": { - "target": "com.amazonaws.ecs#NetworkConfiguration" - }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

    " } }, - "placementStrategy": { - "target": "com.amazonaws.ecs#PlacementStrategies", + "service": { + "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The task placement strategy objects to update the service to use. If no value is\n\t\t\tspecified, the existing placement strategy for the service will remain unchanged. If\n\t\t\tthis value is specified, it will override the existing placement strategy defined for\n\t\t\tthe service. To remove an existing placement strategy, specify an empty object.

    \n\t\t

    You can specify a maximum of five strategy rules per service.

    " + "smithy.api#documentation": "

    The name of the service to update.

    ", + "smithy.api#required": {} } }, "desiredCount": { @@ -8265,23 +8420,37 @@ "smithy.api#documentation": "

    The number of instantiations of the task to place and keep running in your\n\t\t\tservice.

    " } }, - "service": { + "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The name of the service to update.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision is\n\t\t\tnot specified, the latest ACTIVE revision is used. If you modify the task\n\t\t\tdefinition with UpdateService, Amazon ECS spawns a task with the new version of\n\t\t\tthe task definition and then stops an old task after the new version is running.

    " } }, - "healthCheckGracePeriodSeconds": { - "target": "com.amazonaws.ecs#BoxedInteger", + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore\n\t\t\tunhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid\n\t\t\tif your service is configured to use a load balancer. If your service's tasks take a\n\t\t\twhile to start and respond to Elastic Load Balancing health checks, you can specify a health check grace\n\t\t\tperiod of up to 2,147,483,647 seconds. During that time, the Amazon ECS service\n\t\t\tscheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS\n\t\t\tservice scheduler from marking tasks as unhealthy and stopping them before they have\n\t\t\ttime to come up.

    " + "smithy.api#documentation": "

    The capacity provider strategy to update the service to use.

    \n\t\t

    If the service is using the default capacity provider strategy for the cluster, the\n\t\t\tservice can be updated to use one or more capacity providers as opposed to the default\n\t\t\tcapacity provider strategy. However, when a service is using a capacity provider\n\t\t\tstrategy that is not the default capacity provider strategy, the service cannot be\n\t\t\tupdated to use the cluster's default capacity provider strategy.

    \n\t\t

    A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

    \n\t\t

    If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

    \n\t\t

    To use a AWS Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The AWS Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

    \n\t\t

    The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

    \n\t\t

    " } }, - "taskDefinition": { - "target": "com.amazonaws.ecs#String", + "deploymentConfiguration": { + "target": "com.amazonaws.ecs#DeploymentConfiguration", "traits": { - "smithy.api#documentation": "

    The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision is\n\t\t\tnot specified, the latest ACTIVE revision is used. If you modify the task\n\t\t\tdefinition with UpdateService, Amazon ECS spawns a task with the new version of\n\t\t\tthe task definition and then stops an old task after the new version is running.

    " + "smithy.api#documentation": "

    Optional deployment parameters that control how many tasks run during the deployment\n\t\t\tand the ordering of stopping and starting tasks.

    " + } + }, + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration" + }, + "placementConstraints": { + "target": "com.amazonaws.ecs#PlacementConstraints", + "traits": { + "smithy.api#documentation": "

    An array of task placement constraint objects to update the service to use. If no\n\t\t\tvalue is specified, the existing placement constraints for the service will remain\n\t\t\tunchanged. If this value is specified, it will override any existing placement\n\t\t\tconstraints defined for the service. To remove all existing placement constraints,\n\t\t\tspecify an empty array.

    \n\t\t

    You can specify a maximum of 10 constraints per task (this limit includes constraints\n\t\t\tin the task definition and those specified at runtime).

    " + } + }, + "placementStrategy": { + "target": "com.amazonaws.ecs#PlacementStrategies", + "traits": { + "smithy.api#documentation": "

    The task placement strategy objects to update the service to use. If no value is\n\t\t\tspecified, the existing placement strategy for the service will remain unchanged. If\n\t\t\tthis value is specified, it will override the existing placement strategy defined for\n\t\t\tthe service. To remove an existing placement strategy, specify an empty object.

    \n\t\t

    You can specify a maximum of five strategy rules per service.

    " } }, "platformVersion": { @@ -8296,16 +8465,10 @@ "smithy.api#documentation": "

    Whether to force a new deployment of the service. Deployments are not forced by\n\t\t\tdefault. You can use this option to trigger a new deployment with no service definition\n\t\t\tchanges. For example, you can update a service's tasks to use a newer Docker image with\n\t\t\tthe same image/tag combination (my_image:latest) or to roll Fargate tasks\n\t\t\tonto a newer platform version.

    " } }, - "placementConstraints": { - "target": "com.amazonaws.ecs#PlacementConstraints", - "traits": { - "smithy.api#documentation": "

    An array of task placement constraint objects to update the service to use. If no\n\t\t\tvalue is specified, the existing placement constraints for the service will remain\n\t\t\tunchanged. If this value is specified, it will override any existing placement\n\t\t\tconstraints defined for the service. To remove all existing placement constraints,\n\t\t\tspecify an empty array.

    \n\t\t

    You can specify a maximum of 10 constraints per task (this limit includes constraints\n\t\t\tin the task definition and those specified at runtime).

    " - } - }, - "deploymentConfiguration": { - "target": "com.amazonaws.ecs#DeploymentConfiguration", + "healthCheckGracePeriodSeconds": { + "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

    Optional deployment parameters that control how many tasks run during the deployment\n\t\t\tand the ordering of stopping and starting tasks.

    " + "smithy.api#documentation": "

    The period of time, in seconds, that the Amazon ECS service scheduler should ignore\n\t\t\tunhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid\n\t\t\tif your service is configured to use a load balancer. If your service's tasks take a\n\t\t\twhile to start and respond to Elastic Load Balancing health checks, you can specify a health check grace\n\t\t\tperiod of up to 2,147,483,647 seconds. During that time, the Amazon ECS service\n\t\t\tscheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS\n\t\t\tservice scheduler from marking tasks as unhealthy and stopping them before they have\n\t\t\ttime to come up.

    " } } } @@ -8365,30 +8528,30 @@ "com.amazonaws.ecs#UpdateTaskSetRequest": { "type": "structure", "members": { - "scale": { - "target": "com.amazonaws.ecs#Scale", + "cluster": { + "target": "com.amazonaws.ecs#String", "traits": { + "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset exists in.

    ", "smithy.api#required": {} } }, - "taskSet": { + "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the task set to update.

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

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    ", "smithy.api#required": {} } }, - "cluster": { + "taskSet": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset exists in.

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

    The short name or full Amazon Resource Name (ARN) of the task set to update.

    ", "smithy.api#required": {} } }, - "service": { - "target": "com.amazonaws.ecs#String", + "scale": { + "target": "com.amazonaws.ecs#Scale", "traits": { - "smithy.api#documentation": "

    The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

    ", "smithy.api#required": {} } } @@ -8431,18 +8594,18 @@ "com.amazonaws.ecs#Volume": { "type": "structure", "members": { - "host": { - "target": "com.amazonaws.ecs#HostVolumeProperties", - "traits": { - "smithy.api#documentation": "

    This parameter is specified when you are using bind mount host volumes. The contents\n\t\t\tof the host parameter determine whether your bind mount host volume\n\t\t\tpersists on the host container instance and where it is stored. If the host\n\t\t\tparameter is empty, then the Docker daemon assigns a host path for your data volume.\n\t\t\tHowever, the data is not guaranteed to persist after the containers associated with it\n\t\t\tstop running.

    \n\t\t

    Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers cannot mount directories on a\n\t\t\tdifferent drive, and mount point cannot be across drives. For example, you can mount\n\t\t\t\tC:\\my\\path:C:\\my\\path and D:\\:D:\\, but not\n\t\t\t\tD:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

    " - } - }, "name": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the\n\t\t\t\tsourceVolume parameter of container definition\n\t\t\tmountPoints.

    " } }, + "host": { + "target": "com.amazonaws.ecs#HostVolumeProperties", + "traits": { + "smithy.api#documentation": "

    This parameter is specified when you are using bind mount host volumes. The contents\n\t\t\tof the host parameter determine whether your bind mount host volume\n\t\t\tpersists on the host container instance and where it is stored. If the host\n\t\t\tparameter is empty, then the Docker daemon assigns a host path for your data volume.\n\t\t\tHowever, the data is not guaranteed to persist after the containers associated with it\n\t\t\tstop running.

    \n\t\t

    Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers cannot mount directories on a\n\t\t\tdifferent drive, and mount point cannot be across drives. For example, you can mount\n\t\t\t\tC:\\my\\path:C:\\my\\path and D:\\:D:\\, but not\n\t\t\t\tD:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

    " + } + }, "dockerVolumeConfiguration": { "target": "com.amazonaws.ecs#DockerVolumeConfiguration", "traits": { @@ -8469,17 +8632,17 @@ "com.amazonaws.ecs#VolumeFrom": { "type": "structure", "members": { - "readOnly": { - "target": "com.amazonaws.ecs#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

    If this value is true, the container has read-only access to the volume.\n\t\t\tIf this value is false, then the container can write to the volume. The\n\t\t\tdefault value is false.

    " - } - }, "sourceContainer": { "target": "com.amazonaws.ecs#String", "traits": { "smithy.api#documentation": "

    The name of another container within the same task definition from which to mount\n\t\t\tvolumes.

    " } + }, + "readOnly": { + "target": "com.amazonaws.ecs#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

    If this value is true, the container has read-only access to the volume.\n\t\t\tIf this value is false, then the container can write to the volume. The\n\t\t\tdefault value is false.

    " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/elastic-beanstalk.2010-12-01.json b/codegen/sdk-codegen/aws-models/elastic-beanstalk.2010-12-01.json index 9364758ae1da4..3ae1c578cce50 100644 --- a/codegen/sdk-codegen/aws-models/elastic-beanstalk.2010-12-01.json +++ b/codegen/sdk-codegen/aws-models/elastic-beanstalk.2010-12-01.json @@ -213,17 +213,17 @@ "com.amazonaws.elasticbeanstalk#AbortEnvironmentUpdateMessage": { "type": "structure", "members": { - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", - "traits": { - "smithy.api#documentation": "

    This specifies the name of the environment with the in-progress update that you want to\n cancel.

    " - } - }, "EnvironmentId": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { "smithy.api#documentation": "

    This specifies the ID of the environment with the in-progress update that you want to\n cancel.

    " } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    This specifies the name of the environment with the in-progress update that you want to\n cancel.

    " + } } }, "traits": { @@ -293,52 +293,52 @@ "com.amazonaws.elasticbeanstalk#ApplicationDescription": { "type": "structure", "members": { - "DateUpdated": { - "target": "com.amazonaws.elasticbeanstalk#UpdateDate", + "ApplicationArn": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationArn", "traits": { - "smithy.api#documentation": "

    The date when the application was last modified.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the application.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    The name of the application.

    " + "smithy.api#documentation": "

    User-defined description of the application.

    " } }, - "Versions": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabelsList", + "ConfigurationTemplates": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateNamesList", "traits": { - "smithy.api#documentation": "

    The names of the versions for this application.

    " + "smithy.api#documentation": "

    The names of the configuration templates associated with this application.

    " } }, - "ResourceLifecycleConfig": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig", + "DateCreated": { + "target": "com.amazonaws.elasticbeanstalk#CreationDate", "traits": { - "smithy.api#documentation": "

    The lifecycle settings for the application.

    " + "smithy.api#documentation": "

    The date when the application was created.

    " } }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", + "Versions": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabelsList", "traits": { - "smithy.api#documentation": "

    User-defined description of the application.

    " + "smithy.api#documentation": "

    The names of the versions for this application.

    " } }, - "ApplicationArn": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationArn", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the application.

    " + "smithy.api#documentation": "

    The name of the application.

    " } }, - "ConfigurationTemplates": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateNamesList", + "DateUpdated": { + "target": "com.amazonaws.elasticbeanstalk#UpdateDate", "traits": { - "smithy.api#documentation": "

    The names of the configuration templates associated with this application.

    " + "smithy.api#documentation": "

    The date when the application was last modified.

    " } }, - "DateCreated": { - "target": "com.amazonaws.elasticbeanstalk#CreationDate", + "ResourceLifecycleConfig": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig", "traits": { - "smithy.api#documentation": "

    The date when the application was created.

    " + "smithy.api#documentation": "

    The lifecycle settings for the application.

    " } } }, @@ -383,22 +383,16 @@ "com.amazonaws.elasticbeanstalk#ApplicationMetrics": { "type": "structure", "members": { - "Latency": { - "target": "com.amazonaws.elasticbeanstalk#Latency", - "traits": { - "smithy.api#documentation": "

    Represents the average latency for the slowest X percent of requests over the last 10\n seconds. Latencies are in seconds with one millisecond resolution.

    " - } - }, "RequestCount": { "target": "com.amazonaws.elasticbeanstalk#RequestCount", "traits": { "smithy.api#documentation": "

    Average number of requests handled by the web server per second over the last 10\n seconds.

    " } }, - "StatusCodes": { - "target": "com.amazonaws.elasticbeanstalk#StatusCodes", + "Latency": { + "target": "com.amazonaws.elasticbeanstalk#Latency", "traits": { - "smithy.api#documentation": "

    Represents the percentage of requests over the last 10 seconds that resulted in each\n type of status code response.

    " + "smithy.api#documentation": "

    Represents the average latency for the slowest X percent of requests over the last 10\n seconds. Latencies are in seconds with one millisecond resolution.

    " } }, "Duration": { @@ -406,6 +400,12 @@ "traits": { "smithy.api#documentation": "

    The amount of time that the metrics cover (usually 10 seconds). For example, you might\n have 5 requests (request_count) within the most recent time slice of 10 seconds\n (duration).

    " } + }, + "StatusCodes": { + "target": "com.amazonaws.elasticbeanstalk#StatusCodes", + "traits": { + "smithy.api#documentation": "

    Represents the percentage of requests over the last 10 seconds that resulted in each\n type of status code response.

    " + } } }, "traits": { @@ -430,17 +430,17 @@ "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig": { "type": "structure", "members": { - "ServiceRole": { - "target": "com.amazonaws.elasticbeanstalk#String", - "traits": { - "smithy.api#documentation": "

    The ARN of an IAM service role that Elastic Beanstalk has permission to\n assume.

    \n

    The ServiceRole property is required the first time that you provide a\n VersionLifecycleConfig for the application in one of the supporting calls\n (CreateApplication or UpdateApplicationResourceLifecycle). After\n you provide it once, in either one of the calls, Elastic Beanstalk persists the Service Role with the\n application, and you don't need to specify it again in subsequent\n UpdateApplicationResourceLifecycle calls. You can, however, specify it in\n subsequent calls to change the Service Role to another value.

    " - } - }, "VersionLifecycleConfig": { "target": "com.amazonaws.elasticbeanstalk#ApplicationVersionLifecycleConfig", "traits": { "smithy.api#documentation": "

    Defines lifecycle settings for application versions.

    " } + }, + "ServiceRole": { + "target": "com.amazonaws.elasticbeanstalk#String", + "traits": { + "smithy.api#documentation": "

    The ARN of an IAM service role that Elastic Beanstalk has permission to\n assume.

    \n

    The ServiceRole property is required the first time that you provide a\n VersionLifecycleConfig for the application in one of the supporting calls\n (CreateApplication or UpdateApplicationResourceLifecycle). After\n you provide it once, in either one of the calls, Elastic Beanstalk persists the Service Role with the\n application, and you don't need to specify it again in subsequent\n UpdateApplicationResourceLifecycle calls. You can, however, specify it in\n subsequent calls to change the Service Role to another value.

    " + } } }, "traits": { @@ -450,17 +450,17 @@ "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleDescriptionMessage": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", - "traits": { - "smithy.api#documentation": "

    The name of the application.

    " - } - }, "ResourceLifecycleConfig": { "target": "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig", "traits": { "smithy.api#documentation": "

    The lifecycle configuration.

    " } + }, + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "traits": { + "smithy.api#documentation": "

    The name of the application.

    " + } } } }, @@ -470,22 +470,16 @@ "com.amazonaws.elasticbeanstalk#ApplicationVersionDescription": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", - "traits": { - "smithy.api#documentation": "

    The name of the application to which the application version belongs.

    " - } - }, - "SourceBundle": { - "target": "com.amazonaws.elasticbeanstalk#S3Location", + "BuildArn": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The storage location of the application version's source bundle in Amazon S3.

    " + "smithy.api#documentation": "

    Reference to the artifact from the AWS CodeBuild build.

    " } }, - "DateUpdated": { - "target": "com.amazonaws.elasticbeanstalk#UpdateDate", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    The last modified date of the application version.

    " + "smithy.api#documentation": "

    The description of the application version.

    " } }, "SourceBuildInformation": { @@ -494,28 +488,28 @@ "smithy.api#documentation": "

    If the version's source code was retrieved from AWS CodeCommit, the location of the\n source code for the application version.

    " } }, - "VersionLabel": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabel", + "DateCreated": { + "target": "com.amazonaws.elasticbeanstalk#CreationDate", "traits": { - "smithy.api#documentation": "

    A unique identifier for the application version.

    " + "smithy.api#documentation": "

    The creation date of the application version.

    " } }, - "Status": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationVersionStatus", + "SourceBundle": { + "target": "com.amazonaws.elasticbeanstalk#S3Location", "traits": { - "smithy.api#documentation": "

    The processing status of the application version. Reflects the state of the application\n version during its creation. Many of the values are only applicable if you specified\n True for the Process parameter of the\n CreateApplicationVersion action. The following list describes the possible\n values.

    \n
      \n
    • \n

      \n Unprocessed – Application version wasn't pre-processed or validated.\n Elastic Beanstalk will validate configuration files during deployment of the application version to an\n environment.

      \n
    • \n
    • \n

      \n Processing – Elastic Beanstalk is currently processing the application version.

      \n
    • \n
    • \n

      \n Building – Application version is currently undergoing an AWS CodeBuild build.

      \n
    • \n
    • \n

      \n Processed – Elastic Beanstalk was successfully pre-processed and validated.

      \n
    • \n
    • \n

      \n Failed – Either the AWS CodeBuild build failed or configuration files didn't\n pass validation. This application version isn't usable.

      \n
    • \n
    " + "smithy.api#documentation": "

    The storage location of the application version's source bundle in Amazon S3.

    " } }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The description of the application version.

    " + "smithy.api#documentation": "

    The name of the application to which the application version belongs.

    " } }, - "BuildArn": { - "target": "com.amazonaws.elasticbeanstalk#String", + "Status": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationVersionStatus", "traits": { - "smithy.api#documentation": "

    Reference to the artifact from the AWS CodeBuild build.

    " + "smithy.api#documentation": "

    The processing status of the application version. Reflects the state of the application\n version during its creation. Many of the values are only applicable if you specified\n True for the Process parameter of the\n CreateApplicationVersion action. The following list describes the possible\n values.

    \n
      \n
    • \n

      \n Unprocessed – Application version wasn't pre-processed or validated.\n Elastic Beanstalk will validate configuration files during deployment of the application version to an\n environment.

      \n
    • \n
    • \n

      \n Processing – Elastic Beanstalk is currently processing the application version.

      \n
    • \n
    • \n

      \n Building – Application version is currently undergoing an AWS CodeBuild build.

      \n
    • \n
    • \n

      \n Processed – Elastic Beanstalk was successfully pre-processed and validated.

      \n
    • \n
    • \n

      \n Failed – Either the AWS CodeBuild build failed or configuration files didn't\n pass validation. This application version isn't usable.

      \n
    • \n
    " } }, "ApplicationVersionArn": { @@ -524,10 +518,16 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the application version.

    " } }, - "DateCreated": { - "target": "com.amazonaws.elasticbeanstalk#CreationDate", + "VersionLabel": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { - "smithy.api#documentation": "

    The creation date of the application version.

    " + "smithy.api#documentation": "

    A unique identifier for the application version.

    " + } + }, + "DateUpdated": { + "target": "com.amazonaws.elasticbeanstalk#UpdateDate", + "traits": { + "smithy.api#documentation": "

    The last modified date of the application version.

    " } } }, @@ -558,17 +558,17 @@ "com.amazonaws.elasticbeanstalk#ApplicationVersionDescriptionsMessage": { "type": "structure", "members": { - "ApplicationVersions": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationVersionDescriptionList", - "traits": { - "smithy.api#documentation": "

    List of ApplicationVersionDescription objects sorted in order of\n creation.

    " - } - }, "NextToken": { "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { "smithy.api#documentation": "

    In a paginated request, the token that you can pass in a subsequent request to get the\n next response page.

    " } + }, + "ApplicationVersions": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationVersionDescriptionList", + "traits": { + "smithy.api#documentation": "

    List of ApplicationVersionDescription objects sorted in order of\n creation.

    " + } } }, "traits": { @@ -578,17 +578,17 @@ "com.amazonaws.elasticbeanstalk#ApplicationVersionLifecycleConfig": { "type": "structure", "members": { - "MaxCountRule": { - "target": "com.amazonaws.elasticbeanstalk#MaxCountRule", - "traits": { - "smithy.api#documentation": "

    Specify a max count rule to restrict the number of application versions that are\n retained for an application.

    " - } - }, "MaxAgeRule": { "target": "com.amazonaws.elasticbeanstalk#MaxAgeRule", "traits": { "smithy.api#documentation": "

    Specify a max age rule to restrict the length of time that application versions are\n retained for an application.

    " } + }, + "MaxCountRule": { + "target": "com.amazonaws.elasticbeanstalk#MaxCountRule", + "traits": { + "smithy.api#documentation": "

    Specify a max count rule to restrict the number of application versions that are\n retained for an application.

    " + } } }, "traits": { @@ -673,16 +673,16 @@ "com.amazonaws.elasticbeanstalk#ApplyEnvironmentManagedActionResult": { "type": "structure", "members": { - "ActionDescription": { - "target": "com.amazonaws.elasticbeanstalk#String", + "ActionType": { + "target": "com.amazonaws.elasticbeanstalk#ActionType", "traits": { - "smithy.api#documentation": "

    A description of the managed action.

    " + "smithy.api#documentation": "

    The type of managed action.

    " } }, - "Status": { + "ActionDescription": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The status of the managed action.

    " + "smithy.api#documentation": "

    A description of the managed action.

    " } }, "ActionId": { @@ -691,10 +691,10 @@ "smithy.api#documentation": "

    The action ID of the managed action.

    " } }, - "ActionType": { - "target": "com.amazonaws.elasticbeanstalk#ActionType", + "Status": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The type of managed action.

    " + "smithy.api#documentation": "

    The status of the managed action.

    " } } }, @@ -719,17 +719,17 @@ "com.amazonaws.elasticbeanstalk#AssociateEnvironmentOperationsRoleMessage": { "type": "structure", "members": { - "OperationsRole": { - "target": "com.amazonaws.elasticbeanstalk#OperationsRole", + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's\n operations role.

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

    The name of the environment to which to set the operations role.

    ", "smithy.api#required": {} } }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "OperationsRole": { + "target": "com.amazonaws.elasticbeanstalk#OperationsRole", "traits": { - "smithy.api#documentation": "

    The name of the environment to which to set the operations role.

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

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's\n operations role.

    ", "smithy.api#required": {} } } @@ -797,12 +797,6 @@ "com.amazonaws.elasticbeanstalk#BuildConfiguration": { "type": "structure", "members": { - "ArtifactName": { - "target": "com.amazonaws.elasticbeanstalk#String", - "traits": { - "smithy.api#documentation": "

    The name of the artifact of the CodeBuild build.\n If provided, Elastic Beanstalk stores the build artifact in the S3 location \n S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip.\n If not provided, Elastic Beanstalk stores the build artifact in the S3 location \n S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.\n

    " - } - }, "CodeBuildServiceRole": { "target": "com.amazonaws.elasticbeanstalk#NonEmptyString", "traits": { @@ -810,10 +804,16 @@ "smithy.api#required": {} } }, - "ComputeType": { - "target": "com.amazonaws.elasticbeanstalk#ComputeType", + "TimeoutInMinutes": { + "target": "com.amazonaws.elasticbeanstalk#BoxedInt", "traits": { - "smithy.api#documentation": "

    Information about the compute resources the build project will use.

    \n
      \n
    • \n

      \n BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds\n

      \n
    • \n
    • \n\t

      \n BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds\n

      \n
    • \n
    • \n\t

      \n BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds\n

      \n
    • \n
    " + "smithy.api#documentation": "

    How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

    " + } + }, + "ArtifactName": { + "target": "com.amazonaws.elasticbeanstalk#String", + "traits": { + "smithy.api#documentation": "

    The name of the artifact of the CodeBuild build.\n If provided, Elastic Beanstalk stores the build artifact in the S3 location \n S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip.\n If not provided, Elastic Beanstalk stores the build artifact in the S3 location \n S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.\n

    " } }, "Image": { @@ -823,10 +823,10 @@ "smithy.api#required": {} } }, - "TimeoutInMinutes": { - "target": "com.amazonaws.elasticbeanstalk#BoxedInt", + "ComputeType": { + "target": "com.amazonaws.elasticbeanstalk#ComputeType", "traits": { - "smithy.api#documentation": "

    How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

    " + "smithy.api#documentation": "

    Information about the compute resources the build project will use.

    \n
      \n
    • \n

      \n BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds\n

      \n
    • \n
    • \n\t

      \n BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds\n

      \n
    • \n
    • \n\t

      \n BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds\n

      \n
    • \n
    " } } }, @@ -851,16 +851,16 @@ "com.amazonaws.elasticbeanstalk#CPUUtilization": { "type": "structure", "members": { - "User": { + "Nice": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    Percentage of time that the CPU has spent in the User state over the last\n 10 seconds.

    " + "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the Nice state over the last\n 10 seconds.

    " } }, - "Idle": { + "SoftIRQ": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    Percentage of time that the CPU has spent in the Idle state over the last\n 10 seconds.

    " + "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the SoftIRQ state over the\n last 10 seconds.

    " } }, "IRQ": { @@ -875,16 +875,16 @@ "smithy.api#documentation": "

    Available on Windows environments only.

    \n

    Percentage of time that the CPU has spent in the Privileged state over the\n last 10 seconds.

    " } }, - "SoftIRQ": { + "Idle": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the SoftIRQ state over the\n last 10 seconds.

    " + "smithy.api#documentation": "

    Percentage of time that the CPU has spent in the Idle state over the last\n 10 seconds.

    " } }, - "IOWait": { + "User": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the I/O Wait state over the\n last 10 seconds.

    " + "smithy.api#documentation": "

    Percentage of time that the CPU has spent in the User state over the last\n 10 seconds.

    " } }, "System": { @@ -893,10 +893,10 @@ "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the System state over the\n last 10 seconds.

    " } }, - "Nice": { + "IOWait": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the Nice state over the last\n 10 seconds.

    " + "smithy.api#documentation": "

    Available on Linux environments only.

    \n

    Percentage of time that the CPU has spent in the I/O Wait state over the\n last 10 seconds.

    " } } }, @@ -949,16 +949,16 @@ "com.amazonaws.elasticbeanstalk#CheckDNSAvailabilityResultMessage": { "type": "structure", "members": { - "Available": { - "target": "com.amazonaws.elasticbeanstalk#CnameAvailability", + "FullyQualifiedCNAME": { + "target": "com.amazonaws.elasticbeanstalk#DNSCname", "traits": { - "smithy.api#documentation": "

    Indicates if the specified CNAME is available:

    \n
      \n
    • \n

      \n true : The CNAME is available.

      \n
    • \n
    • \n

      \n false : The CNAME is not available.

      \n
    • \n
    " + "smithy.api#documentation": "

    The fully qualified CNAME to reserve when CreateEnvironment is called\n with the provided prefix.

    " } }, - "FullyQualifiedCNAME": { - "target": "com.amazonaws.elasticbeanstalk#DNSCname", + "Available": { + "target": "com.amazonaws.elasticbeanstalk#CnameAvailability", "traits": { - "smithy.api#documentation": "

    The fully qualified CNAME to reserve when CreateEnvironment is called\n with the provided prefix.

    " + "smithy.api#documentation": "

    Indicates if the specified CNAME is available:

    \n
      \n
    • \n

      \n true : The CNAME is available.

      \n
    • \n
    • \n

      \n false : The CNAME is not available.

      \n
    • \n
    " } } }, @@ -1011,10 +1011,10 @@ "com.amazonaws.elasticbeanstalk#ComposeEnvironmentsMessage": { "type": "structure", "members": { - "VersionLabels": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabels", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    A list of version labels, specifying one or more application source bundles that belong\n to the target application. Each source bundle must include an environment manifest that\n specifies the name of the environment and the name of the solution stack to use, and\n optionally can specify environment links to create.

    " + "smithy.api#documentation": "

    The name of the application to which the specified source bundles belong.

    " } }, "GroupName": { @@ -1023,10 +1023,10 @@ "smithy.api#documentation": "

    The name of the group to which the target environments belong. Specify a group name\n only if the environment name defined in each target environment's manifest ends with a +\n (plus) character. See Environment Manifest\n (env.yaml) for details.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "VersionLabels": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabels", "traits": { - "smithy.api#documentation": "

    The name of the application to which the specified source bundles belong.

    " + "smithy.api#documentation": "

    A list of version labels, specifying one or more application source bundles that belong\n to the target application. Each source bundle must include an environment manifest that\n specifies the name of the environment and the name of the solution stack to use, and\n optionally can specify environment links to create.

    " } } }, @@ -1075,16 +1075,16 @@ "com.amazonaws.elasticbeanstalk#ConfigurationOptionDescription": { "type": "structure", "members": { - "DefaultValue": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionDefaultValue", + "Namespace": { + "target": "com.amazonaws.elasticbeanstalk#OptionNamespace", "traits": { - "smithy.api#documentation": "

    The default value for this configuration option.

    " + "smithy.api#documentation": "

    A unique namespace identifying the option's associated AWS resource.

    " } }, - "ChangeSeverity": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSeverity", + "Regex": { + "target": "com.amazonaws.elasticbeanstalk#OptionRestrictionRegex", "traits": { - "smithy.api#documentation": "

    An indication of which action is required if the value for this configuration option\n changes:

    \n
      \n
    • \n

      \n NoInterruption : There is no interruption to the environment or application\n availability.

      \n
    • \n
    • \n

      \n RestartEnvironment : The environment is entirely restarted, all AWS resources\n are deleted and recreated, and the environment is unavailable during the\n process.

      \n
    • \n
    • \n

      \n RestartApplicationServer : The environment is available the entire time.\n However, a short application outage occurs when the application servers on the running\n Amazon EC2 instances are restarted.

      \n
    • \n
    " + "smithy.api#documentation": "

    If specified, the configuration option must be a string value that satisfies this\n regular expression.

    " } }, "MaxLength": { @@ -1093,10 +1093,10 @@ "smithy.api#documentation": "

    If specified, the configuration option must be a string value no longer than this\n value.

    " } }, - "UserDefined": { - "target": "com.amazonaws.elasticbeanstalk#UserDefinedOption", + "MinValue": { + "target": "com.amazonaws.elasticbeanstalk#OptionRestrictionMinValue", "traits": { - "smithy.api#documentation": "

    An indication of whether the user defined this configuration option:

    \n
      \n
    • \n

      \n true : This configuration option was defined by the user. It is a valid\n choice for specifying if this as an Option to Remove when updating\n configuration settings.

      \n
    • \n
    • \n

      \n false : This configuration was not defined by the user.

      \n
    • \n
    \n

    Constraint: You can remove only UserDefined options from a configuration.

    \n

    Valid Values: true | false\n

    " + "smithy.api#documentation": "

    If specified, the configuration option must be a numeric value greater than this\n value.

    " } }, "Name": { @@ -1105,40 +1105,40 @@ "smithy.api#documentation": "

    The name of the configuration option.

    " } }, - "Namespace": { - "target": "com.amazonaws.elasticbeanstalk#OptionNamespace", + "ValueOptions": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionPossibleValues", "traits": { - "smithy.api#documentation": "

    A unique namespace identifying the option's associated AWS resource.

    " + "smithy.api#documentation": "

    If specified, values for the configuration option are selected from this\n list.

    " } }, - "MaxValue": { - "target": "com.amazonaws.elasticbeanstalk#OptionRestrictionMaxValue", + "ChangeSeverity": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSeverity", "traits": { - "smithy.api#documentation": "

    If specified, the configuration option must be a numeric value less than this\n value.

    " + "smithy.api#documentation": "

    An indication of which action is required if the value for this configuration option\n changes:

    \n
      \n
    • \n

      \n NoInterruption : There is no interruption to the environment or application\n availability.

      \n
    • \n
    • \n

      \n RestartEnvironment : The environment is entirely restarted, all AWS resources\n are deleted and recreated, and the environment is unavailable during the\n process.

      \n
    • \n
    • \n

      \n RestartApplicationServer : The environment is available the entire time.\n However, a short application outage occurs when the application servers on the running\n Amazon EC2 instances are restarted.

      \n
    • \n
    " } }, - "MinValue": { - "target": "com.amazonaws.elasticbeanstalk#OptionRestrictionMinValue", + "ValueType": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionValueType", "traits": { - "smithy.api#documentation": "

    If specified, the configuration option must be a numeric value greater than this\n value.

    " + "smithy.api#documentation": "

    An indication of which type of values this option has and whether it is allowable to\n select one or more than one of the possible values:

    \n
      \n
    • \n

      \n Scalar : Values for this option are a single selection from the possible\n values, or an unformatted string, or numeric value governed by the\n MIN/MAX/Regex constraints.

      \n
    • \n
    • \n

      \n List : Values for this option are multiple selections from the possible\n values.

      \n
    • \n
    • \n

      \n Boolean : Values for this option are either true or\n false .

      \n
    • \n
    • \n

      \n Json : Values for this option are a JSON representation of a\n ConfigDocument.

      \n
    • \n
    " } }, - "Regex": { - "target": "com.amazonaws.elasticbeanstalk#OptionRestrictionRegex", + "DefaultValue": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionDefaultValue", "traits": { - "smithy.api#documentation": "

    If specified, the configuration option must be a string value that satisfies this\n regular expression.

    " + "smithy.api#documentation": "

    The default value for this configuration option.

    " } }, - "ValueOptions": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionPossibleValues", + "UserDefined": { + "target": "com.amazonaws.elasticbeanstalk#UserDefinedOption", "traits": { - "smithy.api#documentation": "

    If specified, values for the configuration option are selected from this\n list.

    " + "smithy.api#documentation": "

    An indication of whether the user defined this configuration option:

    \n
      \n
    • \n

      \n true : This configuration option was defined by the user. It is a valid\n choice for specifying if this as an Option to Remove when updating\n configuration settings.

      \n
    • \n
    • \n

      \n false : This configuration was not defined by the user.

      \n
    • \n
    \n

    Constraint: You can remove only UserDefined options from a configuration.

    \n

    Valid Values: true | false\n

    " } }, - "ValueType": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionValueType", + "MaxValue": { + "target": "com.amazonaws.elasticbeanstalk#OptionRestrictionMaxValue", "traits": { - "smithy.api#documentation": "

    An indication of which type of values this option has and whether it is allowable to\n select one or more than one of the possible values:

    \n
      \n
    • \n

      \n Scalar : Values for this option are a single selection from the possible\n values, or an unformatted string, or numeric value governed by the\n MIN/MAX/Regex constraints.

      \n
    • \n
    • \n

      \n List : Values for this option are multiple selections from the possible\n values.

      \n
    • \n
    • \n

      \n Boolean : Values for this option are either true or\n false .

      \n
    • \n
    • \n

      \n Json : Values for this option are a JSON representation of a\n ConfigDocument.

      \n
    • \n
    " + "smithy.api#documentation": "

    If specified, the configuration option must be a numeric value less than this\n value.

    " } } }, @@ -1167,18 +1167,6 @@ "com.amazonaws.elasticbeanstalk#ConfigurationOptionSetting": { "type": "structure", "members": { - "OptionName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionName", - "traits": { - "smithy.api#documentation": "

    The name of the configuration option.

    " - } - }, - "ResourceName": { - "target": "com.amazonaws.elasticbeanstalk#ResourceName", - "traits": { - "smithy.api#documentation": "

    A unique resource name for the option setting. Use it for a time–based scaling configuration option.

    " - } - }, "Value": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionValue", "traits": { @@ -1190,6 +1178,18 @@ "traits": { "smithy.api#documentation": "

    A unique namespace that identifies the option's associated AWS resource.

    " } + }, + "OptionName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionName", + "traits": { + "smithy.api#documentation": "

    The name of the configuration option.

    " + } + }, + "ResourceName": { + "target": "com.amazonaws.elasticbeanstalk#ResourceName", + "traits": { + "smithy.api#documentation": "

    A unique resource name for the option setting. Use it for a time–based scaling configuration option.

    " + } } }, "traits": { @@ -1224,12 +1224,6 @@ "com.amazonaws.elasticbeanstalk#ConfigurationOptionsDescription": { "type": "structure", "members": { - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", - "traits": { - "smithy.api#documentation": "

    The ARN of the platform version.

    " - } - }, "SolutionStackName": { "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", "traits": { @@ -1241,6 +1235,12 @@ "traits": { "smithy.api#documentation": "

    A list of ConfigurationOptionDescription.

    " } + }, + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the platform version.

    " + } } }, "traits": { @@ -1250,10 +1250,10 @@ "com.amazonaws.elasticbeanstalk#ConfigurationSettingsDescription": { "type": "structure", "members": { - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "OptionSettings": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSettingsList", "traits": { - "smithy.api#documentation": "

    If not null, the name of the environment for this configuration set.\n

    " + "smithy.api#documentation": "

    A list of the configuration options and their values in this configuration\n set.

    " } }, "PlatformArn": { @@ -1262,28 +1262,28 @@ "smithy.api#documentation": "

    The ARN of the platform version.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "DeploymentStatus": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationDeploymentStatus", "traits": { - "smithy.api#documentation": "

    The name of the application associated with this configuration set.

    " + "smithy.api#documentation": "

    If this configuration set is associated with an environment, the\n DeploymentStatus parameter indicates the deployment status of this\n configuration set:

    \n
      \n
    • \n

      \n null: This configuration is not associated with a running\n environment.

      \n
    • \n
    • \n

      \n pending: This is a draft configuration that is not deployed to the associated\n environment but is in the process of deploying.

      \n
    • \n
    • \n

      \n deployed: This is the configuration that is currently deployed to the\n associated running environment.

      \n
    • \n
    • \n

      \n failed: This is a draft configuration that failed to successfully\n deploy.

      \n
    • \n
    " } }, - "DateUpdated": { - "target": "com.amazonaws.elasticbeanstalk#UpdateDate", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    The date (in UTC time) when this configuration set was last modified.

    " + "smithy.api#documentation": "

    If not null, the name of the configuration template for this\n configuration set.

    " } }, - "OptionSettings": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSettingsList", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    A list of the configuration options and their values in this configuration\n set.

    " + "smithy.api#documentation": "

    The name of the application associated with this configuration set.

    " } }, - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "DateCreated": { + "target": "com.amazonaws.elasticbeanstalk#CreationDate", "traits": { - "smithy.api#documentation": "

    The name of the solution stack this configuration set uses.

    " + "smithy.api#documentation": "

    The date (in UTC time) when this configuration set was created.

    " } }, "Description": { @@ -1292,22 +1292,22 @@ "smithy.api#documentation": "

    Describes this configuration set.

    " } }, - "DateCreated": { - "target": "com.amazonaws.elasticbeanstalk#CreationDate", + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", "traits": { - "smithy.api#documentation": "

    The date (in UTC time) when this configuration set was created.

    " + "smithy.api#documentation": "

    The name of the solution stack this configuration set uses.

    " } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "DateUpdated": { + "target": "com.amazonaws.elasticbeanstalk#UpdateDate", "traits": { - "smithy.api#documentation": "

    If not null, the name of the configuration template for this\n configuration set.

    " + "smithy.api#documentation": "

    The date (in UTC time) when this configuration set was last modified.

    " } }, - "DeploymentStatus": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationDeploymentStatus", + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    If this configuration set is associated with an environment, the\n DeploymentStatus parameter indicates the deployment status of this\n configuration set:

    \n
      \n
    • \n

      \n null: This configuration is not associated with a running\n environment.

      \n
    • \n
    • \n

      \n pending: This is a draft configuration that is not deployed to the associated\n environment but is in the process of deploying.

      \n
    • \n
    • \n

      \n deployed: This is the configuration that is currently deployed to the\n associated running environment.

      \n
    • \n
    • \n

      \n failed: This is a draft configuration that failed to successfully\n deploy.

      \n
    • \n
    " + "smithy.api#documentation": "

    If not null, the name of the environment for this configuration set.\n

    " } } }, @@ -1384,6 +1384,18 @@ "com.amazonaws.elasticbeanstalk#CreateApplicationMessage": { "type": "structure", "members": { + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", + "traits": { + "smithy.api#documentation": "

    Your description of the application.

    " + } + }, + "Tags": { + "target": "com.amazonaws.elasticbeanstalk#Tags", + "traits": { + "smithy.api#documentation": "

    Specifies the tags applied to the application.

    \n

    Elastic Beanstalk applies these tags only to the application. Environments that you create in the\n application don't inherit the tags.

    " + } + }, "ResourceLifecycleConfig": { "target": "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig", "traits": { @@ -1396,18 +1408,6 @@ "smithy.api#documentation": "

    The name of the application. Must be unique within your account.

    ", "smithy.api#required": {} } - }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", - "traits": { - "smithy.api#documentation": "

    Your description of the application.

    " - } - }, - "Tags": { - "target": "com.amazonaws.elasticbeanstalk#Tags", - "traits": { - "smithy.api#documentation": "

    Specifies the tags applied to the application.

    \n

    Elastic Beanstalk applies these tags only to the application. Environments that you create in the\n application don't inherit the tags.

    " - } } }, "traits": { @@ -1446,28 +1446,30 @@ "com.amazonaws.elasticbeanstalk#CreateApplicationVersionMessage": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    A description of this application version.

    " + "smithy.api#documentation": "

    The name of the application. If no application is found with this name, and\n AutoCreateApplication is false, returns an\n InvalidParameterValue error.

    ", + "smithy.api#required": {} } }, - "BuildConfiguration": { - "target": "com.amazonaws.elasticbeanstalk#BuildConfiguration", + "VersionLabel": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { - "smithy.api#documentation": "

    Settings for an AWS CodeBuild build.

    " + "smithy.api#documentation": "

    A label identifying this version.

    \n

    Constraint: Must be unique per application. If an application version already exists\n with this label for the specified application, AWS Elastic Beanstalk returns an\n InvalidParameterValue error.

    ", + "smithy.api#required": {} } }, - "SourceBuildInformation": { - "target": "com.amazonaws.elasticbeanstalk#SourceBuildInformation", + "SourceBundle": { + "target": "com.amazonaws.elasticbeanstalk#S3Location", "traits": { - "smithy.api#documentation": "

    Specify a commit in an AWS CodeCommit Git repository to use as the source code for the\n application version.

    " + "smithy.api#documentation": "

    The Amazon S3 bucket and key that identify the location of the source bundle for this\n version.

    \n \n

    The Amazon S3 bucket must be in the same region as the\n environment.

    \n
    \n

    Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with\n SourceBuildInformation), but not both. If neither SourceBundle nor\n SourceBuildInformation are provided, Elastic Beanstalk uses a sample\n application.

    " } }, - "Tags": { - "target": "com.amazonaws.elasticbeanstalk#Tags", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    Specifies the tags applied to the application version.

    \n

    Elastic Beanstalk applies these tags only to the application version. Environments that use the\n application version don't inherit the tags.

    " + "smithy.api#documentation": "

    A description of this application version.

    " } }, "AutoCreateApplication": { @@ -1482,24 +1484,22 @@ "smithy.api#documentation": "

    Pre-processes and validates the environment manifest (env.yaml) and\n configuration files (*.config files in the .ebextensions folder) in\n the source bundle. Validating configuration files can identify issues prior to deploying the\n application version to an environment.

    \n

    You must turn processing on for application versions that you create using AWS\n CodeBuild or AWS CodeCommit. For application versions built from a source bundle in Amazon S3,\n processing is optional.

    \n \n

    The Process option validates Elastic Beanstalk configuration files. It\n doesn't validate your application's configuration files, like proxy server or Docker\n configuration.

    \n
    " } }, - "VersionLabel": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabel", + "SourceBuildInformation": { + "target": "com.amazonaws.elasticbeanstalk#SourceBuildInformation", "traits": { - "smithy.api#documentation": "

    A label identifying this version.

    \n

    Constraint: Must be unique per application. If an application version already exists\n with this label for the specified application, AWS Elastic Beanstalk returns an\n InvalidParameterValue error.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Specify a commit in an AWS CodeCommit Git repository to use as the source code for the\n application version.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "BuildConfiguration": { + "target": "com.amazonaws.elasticbeanstalk#BuildConfiguration", "traits": { - "smithy.api#documentation": "

    The name of the application. If no application is found with this name, and\n AutoCreateApplication is false, returns an\n InvalidParameterValue error.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Settings for an AWS CodeBuild build.

    " } }, - "SourceBundle": { - "target": "com.amazonaws.elasticbeanstalk#S3Location", + "Tags": { + "target": "com.amazonaws.elasticbeanstalk#Tags", "traits": { - "smithy.api#documentation": "

    The Amazon S3 bucket and key that identify the location of the source bundle for this\n version.

    \n \n

    The Amazon S3 bucket must be in the same region as the\n environment.

    \n
    \n

    Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with\n SourceBuildInformation), but not both. If neither SourceBundle nor\n SourceBuildInformation are provided, Elastic Beanstalk uses a sample\n application.

    " + "smithy.api#documentation": "

    Specifies the tags applied to the application version.

    \n

    Elastic Beanstalk applies these tags only to the application version. Environments that use the\n application version don't inherit the tags.

    " } } }, @@ -1533,16 +1533,23 @@ "com.amazonaws.elasticbeanstalk#CreateConfigurationTemplateMessage": { "type": "structure", "members": { - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom\n Platforms in the AWS Elastic Beanstalk Developer Guide.

    \n \n \n

    If you specify PlatformArn, then don't specify\n SolutionStackName.

    \n
    " + "smithy.api#documentation": "

    The name of an Elastic Beanstalk solution stack (platform version) that this configuration uses. For\n example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack\n specifies the operating system, runtime, and application server for a configuration template.\n It also determines the set of configuration options as well as the possible and default\n values. For more information, see Supported Platforms in the\n AWS Elastic Beanstalk Developer Guide.

    \n

    You must specify SolutionStackName if you don't specify\n PlatformArn, EnvironmentId, or\n SourceConfiguration.

    \n

    Use the \n ListAvailableSolutionStacks\n API to obtain a list of available\n solution stacks.

    " } }, - "Tags": { - "target": "com.amazonaws.elasticbeanstalk#Tags", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    Specifies the tags applied to the configuration template.

    " + "smithy.api#documentation": "

    The name of the configuration template.

    \n

    Constraint: This name must be unique per application.

    ", + "smithy.api#required": {} + } + }, + "SourceConfiguration": { + "target": "com.amazonaws.elasticbeanstalk#SourceConfiguration", + "traits": { + "smithy.api#documentation": "

    An Elastic Beanstalk configuration template to base this one on. If specified, Elastic Beanstalk uses the configuration values from the specified\n configuration template to create a new configuration.

    \n

    Values specified in OptionSettings override any values obtained from the\n SourceConfiguration.

    \n

    You must specify SourceConfiguration if you don't specify\n PlatformArn, EnvironmentId, or\n SolutionStackName.

    \n

    Constraint: If both solution stack name and source configuration are specified, the\n solution stack of the source configuration template must match the specified solution stack\n name.

    " } }, "ApplicationName": { @@ -1552,41 +1559,34 @@ "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", - "traits": { - "smithy.api#documentation": "

    An optional description for this configuration.

    " - } - }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "OptionSettings": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSettingsList", "traits": { - "smithy.api#documentation": "

    The ID of an environment whose settings you want to use to create the configuration\n template. You must specify EnvironmentId if you don't specify\n PlatformArn, SolutionStackName, or\n SourceConfiguration.

    " + "smithy.api#documentation": "

    Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these\n values override the values obtained from the solution stack or the source configuration\n template. For a complete list of Elastic Beanstalk configuration options, see Option Values in the\n AWS Elastic Beanstalk Developer Guide.

    " } }, - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", "traits": { - "smithy.api#documentation": "

    The name of an Elastic Beanstalk solution stack (platform version) that this configuration uses. For\n example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack\n specifies the operating system, runtime, and application server for a configuration template.\n It also determines the set of configuration options as well as the possible and default\n values. For more information, see Supported Platforms in the\n AWS Elastic Beanstalk Developer Guide.

    \n

    You must specify SolutionStackName if you don't specify\n PlatformArn, EnvironmentId, or\n SourceConfiguration.

    \n

    Use the \n ListAvailableSolutionStacks\n API to obtain a list of available\n solution stacks.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom\n Platforms in the AWS Elastic Beanstalk Developer Guide.

    \n \n \n

    If you specify PlatformArn, then don't specify\n SolutionStackName.

    \n
    " } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { - "smithy.api#documentation": "

    The name of the configuration template.

    \n

    Constraint: This name must be unique per application.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The ID of an environment whose settings you want to use to create the configuration\n template. You must specify EnvironmentId if you don't specify\n PlatformArn, SolutionStackName, or\n SourceConfiguration.

    " } }, - "OptionSettings": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSettingsList", + "Tags": { + "target": "com.amazonaws.elasticbeanstalk#Tags", "traits": { - "smithy.api#documentation": "

    Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these\n values override the values obtained from the solution stack or the source configuration\n template. For a complete list of Elastic Beanstalk configuration options, see Option Values in the\n AWS Elastic Beanstalk Developer Guide.

    " + "smithy.api#documentation": "

    Specifies the tags applied to the configuration template.

    " } }, - "SourceConfiguration": { - "target": "com.amazonaws.elasticbeanstalk#SourceConfiguration", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    An Elastic Beanstalk configuration template to base this one on. If specified, Elastic Beanstalk uses the configuration values from the specified\n configuration template to create a new configuration.

    \n

    Values specified in OptionSettings override any values obtained from the\n SourceConfiguration.

    \n

    You must specify SourceConfiguration if you don't specify\n PlatformArn, EnvironmentId, or\n SolutionStackName.

    \n

    Constraint: If both solution stack name and source configuration are specified, the\n solution stack of the source configuration template must match the specified solution stack\n name.

    " + "smithy.api#documentation": "

    An optional description for this configuration.

    " } } }, @@ -1617,10 +1617,10 @@ "com.amazonaws.elasticbeanstalk#CreateEnvironmentMessage": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.elasticbeanstalk#Tags", + "OptionsToRemove": { + "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", "traits": { - "smithy.api#documentation": "

    Specifies the tags applied to resources in the environment.

    " + "smithy.api#documentation": "

    A list of custom user-defined configuration options to remove from the configuration\n set for this new environment.

    " } }, "TemplateName": { @@ -1629,22 +1629,52 @@ "smithy.api#documentation": "

    The name of the Elastic Beanstalk configuration template to use with the environment.

    \n \n

    If you specify TemplateName, then don't specify \n SolutionStackName.

    \n
    " } }, + "CNAMEPrefix": { + "target": "com.amazonaws.elasticbeanstalk#DNSCnamePrefix", + "traits": { + "smithy.api#documentation": "

    If specified, the environment attempts to use this value as the prefix for the CNAME in\n your Elastic Beanstalk environment URL. If not specified, the CNAME is generated automatically by\n appending a random alphanumeric string to the environment name.

    " + } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    A unique name for the environment.

    \n

    Constraint: Must be from 4 to 40 characters in length. The name can contain only\n letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique\n within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an\n InvalidParameterValue error.

    \n

    If you don't specify the CNAMEPrefix parameter, the environment name becomes part of\n the CNAME, and therefore part of the visible URL for your application.

    " + } + }, + "Tags": { + "target": "com.amazonaws.elasticbeanstalk#Tags", + "traits": { + "smithy.api#documentation": "

    Specifies the tags applied to resources in the environment.

    " + } + }, "OptionSettings": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSettingsList", "traits": { "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk sets the specified configuration options to the\n requested value in the configuration set for the new environment. These override the values\n obtained from the solution stack or the configuration template.

    " } }, + "OperationsRole": { + "target": "com.amazonaws.elasticbeanstalk#OperationsRole", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's\n operations role. If specified, Elastic Beanstalk uses the operations role for permissions to downstream\n services during this call and during subsequent calls acting on this environment. To specify\n an operations role, you must have the iam:PassRole permission for the role. For\n more information, see Operations roles in the\n AWS Elastic Beanstalk Developer Guide.

    " + } + }, "Tier": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentTier", "traits": { "smithy.api#documentation": "

    Specifies the tier to use in creating this environment. The environment tier that you\n choose determines whether Elastic Beanstalk provisions resources to support a web application that handles\n HTTP(S) requests or a web application that handles background-processing tasks.

    " } }, - "OperationsRole": { - "target": "com.amazonaws.elasticbeanstalk#OperationsRole", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's\n operations role. If specified, Elastic Beanstalk uses the operations role for permissions to downstream\n services during this call and during subsequent calls acting on this environment. To specify\n an operations role, you must have the iam:PassRole permission for the role. For\n more information, see Operations roles in the\n AWS Elastic Beanstalk Developer Guide.

    " + "smithy.api#documentation": "

    Your description for this environment.

    " + } + }, + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "traits": { + "smithy.api#documentation": "

    The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If\n specified, Elastic Beanstalk sets the configuration values to the default values associated with the\n specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk\n Platforms guide.

    \n \n

    If you specify SolutionStackName, don't specify PlatformArn or\n TemplateName.

    \n
    " } }, "GroupName": { @@ -1659,12 +1689,6 @@ "smithy.api#documentation": "

    The name of the application version to deploy.

    \n

    Default: If not specified, Elastic Beanstalk attempts to deploy the sample application.

    " } }, - "CNAMEPrefix": { - "target": "com.amazonaws.elasticbeanstalk#DNSCnamePrefix", - "traits": { - "smithy.api#documentation": "

    If specified, the environment attempts to use this value as the prefix for the CNAME in\n your Elastic Beanstalk environment URL. If not specified, the CNAME is generated automatically by\n appending a random alphanumeric string to the environment name.

    " - } - }, "ApplicationName": { "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { @@ -1677,30 +1701,6 @@ "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the custom platform to use with the environment. For\n more information, see Custom Platforms in the\n AWS Elastic Beanstalk Developer Guide.

    \n \n \n

    If you specify PlatformArn, don't specify\n SolutionStackName.

    \n
    " } - }, - "OptionsToRemove": { - "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", - "traits": { - "smithy.api#documentation": "

    A list of custom user-defined configuration options to remove from the configuration\n set for this new environment.

    " - } - }, - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", - "traits": { - "smithy.api#documentation": "

    The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If\n specified, Elastic Beanstalk sets the configuration values to the default values associated with the\n specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk\n Platforms guide.

    \n \n

    If you specify SolutionStackName, don't specify PlatformArn or\n TemplateName.

    \n
    " - } - }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", - "traits": { - "smithy.api#documentation": "

    Your description for this environment.

    " - } - }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", - "traits": { - "smithy.api#documentation": "

    A unique name for the environment.

    \n

    Constraint: Must be from 4 to 40 characters in length. The name can contain only\n letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique\n within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an\n InvalidParameterValue error.

    \n

    If you don't specify the CNAMEPrefix parameter, the environment name becomes part of\n the CNAME, and therefore part of the visible URL for your application.

    " - } } }, "traits": { @@ -1733,12 +1733,6 @@ "com.amazonaws.elasticbeanstalk#CreatePlatformVersionRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.elasticbeanstalk#Tags", - "traits": { - "smithy.api#documentation": "

    Specifies the tags applied to the new platform version.

    \n

    Elastic Beanstalk applies these tags only to the platform version. Environments that you create using\n the platform version don't inherit the tags.

    " - } - }, "PlatformDefinitionBundle": { "target": "com.amazonaws.elasticbeanstalk#S3Location", "traits": { @@ -1746,6 +1740,19 @@ "smithy.api#required": {} } }, + "PlatformName": { + "target": "com.amazonaws.elasticbeanstalk#PlatformName", + "traits": { + "smithy.api#documentation": "

    The name of your custom platform.

    ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.elasticbeanstalk#Tags", + "traits": { + "smithy.api#documentation": "

    Specifies the tags applied to the new platform version.

    \n

    Elastic Beanstalk applies these tags only to the platform version. Environments that you create using\n the platform version don't inherit the tags.

    " + } + }, "EnvironmentName": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { @@ -1764,13 +1771,6 @@ "traits": { "smithy.api#documentation": "

    The configuration option settings to apply to the builder environment.

    " } - }, - "PlatformName": { - "target": "com.amazonaws.elasticbeanstalk#PlatformName", - "traits": { - "smithy.api#documentation": "

    The name of your custom platform.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -1780,17 +1780,17 @@ "com.amazonaws.elasticbeanstalk#CreatePlatformVersionResult": { "type": "structure", "members": { - "Builder": { - "target": "com.amazonaws.elasticbeanstalk#Builder", - "traits": { - "smithy.api#documentation": "

    The builder used to create the custom platform.

    " - } - }, "PlatformSummary": { "target": "com.amazonaws.elasticbeanstalk#PlatformSummary", "traits": { "smithy.api#documentation": "

    Detailed information about the new version of the custom platform.

    " } + }, + "Builder": { + "target": "com.amazonaws.elasticbeanstalk#Builder", + "traits": { + "smithy.api#documentation": "

    The builder used to create the custom platform.

    " + } } } }, @@ -1834,17 +1834,17 @@ "com.amazonaws.elasticbeanstalk#CustomAmi": { "type": "structure", "members": { - "VirtualizationType": { - "target": "com.amazonaws.elasticbeanstalk#VirtualizationType", - "traits": { - "smithy.api#documentation": "

    The type of virtualization used to create the custom AMI.

    " - } - }, "ImageId": { "target": "com.amazonaws.elasticbeanstalk#ImageId", "traits": { "smithy.api#documentation": "

    THe ID of the image used to create the custom AMI.

    " } + }, + "VirtualizationType": { + "target": "com.amazonaws.elasticbeanstalk#VirtualizationType", + "traits": { + "smithy.api#documentation": "

    The type of virtualization used to create the custom AMI.

    " + } } }, "traits": { @@ -1936,12 +1936,6 @@ "com.amazonaws.elasticbeanstalk#DeleteApplicationVersionMessage": { "type": "structure", "members": { - "DeleteSourceBundle": { - "target": "com.amazonaws.elasticbeanstalk#DeleteSourceBundle", - "traits": { - "smithy.api#documentation": "

    Set to true to delete the source bundle from your storage bucket.\n Otherwise, the application version is deleted only from Elastic Beanstalk and the source\n bundle remains in Amazon S3.

    " - } - }, "ApplicationName": { "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { @@ -1955,6 +1949,12 @@ "smithy.api#documentation": "

    The label of the version to delete.

    ", "smithy.api#required": {} } + }, + "DeleteSourceBundle": { + "target": "com.amazonaws.elasticbeanstalk#DeleteSourceBundle", + "traits": { + "smithy.api#documentation": "

    Set to true to delete the source bundle from your storage bucket.\n Otherwise, the application version is deleted only from Elastic Beanstalk and the source\n bundle remains in Amazon S3.

    " + } } }, "traits": { @@ -1978,17 +1978,17 @@ "com.amazonaws.elasticbeanstalk#DeleteConfigurationTemplateMessage": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    The name of the application to delete the configuration template from.

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

    The name of the configuration template to delete.

    ", "smithy.api#required": {} } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The name of the configuration template to delete.

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

    The name of the application to delete the configuration template from.

    ", "smithy.api#required": {} } } @@ -2091,12 +2091,6 @@ "smithy.api#documentation": "

    The version label of the application version in the deployment.

    " } }, - "DeploymentId": { - "target": "com.amazonaws.elasticbeanstalk#NullableLong", - "traits": { - "smithy.api#documentation": "

    The ID of the deployment. This number increases by one each time that you deploy source\n code or change instance configuration settings.

    " - } - }, "Status": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { @@ -2108,6 +2102,12 @@ "traits": { "smithy.api#documentation": "

    For in-progress deployments, the time that the deployment started.

    \n

    For completed deployments, the time that the deployment ended.

    " } + }, + "DeploymentId": { + "target": "com.amazonaws.elasticbeanstalk#NullableLong", + "traits": { + "smithy.api#documentation": "

    The ID of the deployment. This number increases by one each time that you deploy source\n code or change instance configuration settings.

    " + } } }, "traits": { @@ -2157,29 +2157,29 @@ "com.amazonaws.elasticbeanstalk#DescribeApplicationVersionsMessage": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", - "traits": { - "smithy.api#documentation": "

    Specify an application name to show only application versions for that\n application.

    " - } - }, - "VersionLabels": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabelsList", - "traits": { - "smithy.api#documentation": "

    Specify a version label to show a specific application version.

    " - } - }, "MaxRecords": { "target": "com.amazonaws.elasticbeanstalk#MaxRecords", "traits": { "smithy.api#documentation": "

    For a paginated request. Specify a maximum number of application versions to include in\n each response.

    \n

    If no MaxRecords is specified, all available application versions are\n retrieved in a single response.

    " } }, + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "traits": { + "smithy.api#documentation": "

    Specify an application name to show only application versions for that\n application.

    " + } + }, "NextToken": { "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { "smithy.api#documentation": "

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other\n parameter values must be identical to the ones specified in the initial request.

    \n

    If no NextToken is specified, the first page is retrieved.

    " } + }, + "VersionLabels": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabelsList", + "traits": { + "smithy.api#documentation": "

    Specify a version label to show a specific application version.

    " + } } }, "traits": { @@ -2232,40 +2232,40 @@ "com.amazonaws.elasticbeanstalk#DescribeConfigurationOptionsMessage": { "type": "structure", "members": { - "Options": { - "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    If specified, restricts the descriptions to only the specified options.

    " + "smithy.api#documentation": "

    The name of the configuration template whose configuration options you want to\n describe.

    " } }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The name of the environment whose configuration options you want to describe.

    " + "smithy.api#documentation": "

    The name of the application associated with the configuration template or environment.\n Only needed if you want to describe the configuration options associated with either the\n configuration template or environment.

    " } }, - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", "traits": { - "smithy.api#documentation": "

    The name of the solution stack whose configuration options you want to\n describe.

    " + "smithy.api#documentation": "

    The ARN of the custom platform.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The name of the application associated with the configuration template or environment.\n Only needed if you want to describe the configuration options associated with either the\n configuration template or environment.

    " + "smithy.api#documentation": "

    The name of the environment whose configuration options you want to describe.

    " } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", "traits": { - "smithy.api#documentation": "

    The name of the configuration template whose configuration options you want to\n describe.

    " + "smithy.api#documentation": "

    The name of the solution stack whose configuration options you want to\n describe.

    " } }, - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "Options": { + "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", "traits": { - "smithy.api#documentation": "

    The ARN of the custom platform.

    " + "smithy.api#documentation": "

    If specified, restricts the descriptions to only the specified options.

    " } } }, @@ -2293,11 +2293,10 @@ "com.amazonaws.elasticbeanstalk#DescribeConfigurationSettingsMessage": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The application for the environment or configuration template.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The name of the environment to describe.

    \n

    Condition: You must specify either this or a TemplateName, but not both. If you\n specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error.\n If you do not specify either, AWS Elastic Beanstalk returns\n MissingRequiredParameter error.

    " } }, "TemplateName": { @@ -2306,10 +2305,11 @@ "smithy.api#documentation": "

    The name of the configuration template to describe.

    \n

    Conditional: You must specify either this parameter or an EnvironmentName, but not\n both. If you specify both, AWS Elastic Beanstalk returns an\n InvalidParameterCombination error. If you do not specify either, AWS Elastic\n Beanstalk returns a MissingRequiredParameter error.

    " } }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The name of the environment to describe.

    \n

    Condition: You must specify either this or a TemplateName, but not both. If you\n specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error.\n If you do not specify either, AWS Elastic Beanstalk returns\n MissingRequiredParameter error.

    " + "smithy.api#documentation": "

    The application for the environment or configuration template.

    ", + "smithy.api#required": {} } } }, @@ -2340,18 +2340,18 @@ "com.amazonaws.elasticbeanstalk#DescribeEnvironmentHealthRequest": { "type": "structure", "members": { - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", - "traits": { - "smithy.api#documentation": "

    Specify the environment by ID.

    \n

    You must specify either this or an EnvironmentName, or both.

    " - } - }, "AttributeNames": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealthAttributes", "traits": { "smithy.api#documentation": "

    Specify the response elements to return. To retrieve all attributes, set to\n All. If no attribute names are specified, returns the name of the\n environment.

    " } }, + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "traits": { + "smithy.api#documentation": "

    Specify the environment by ID.

    \n

    You must specify either this or an EnvironmentName, or both.

    " + } + }, "EnvironmentName": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { @@ -2366,6 +2366,24 @@ "com.amazonaws.elasticbeanstalk#DescribeEnvironmentHealthResult": { "type": "structure", "members": { + "HealthStatus": { + "target": "com.amazonaws.elasticbeanstalk#String", + "traits": { + "smithy.api#documentation": "

    The health status of the\n environment. For example, Ok.

    " + } + }, + "Status": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealth", + "traits": { + "smithy.api#documentation": "

    The environment's operational status. Ready, Launching,\n Updating, Terminating, or Terminated.

    " + } + }, + "Color": { + "target": "com.amazonaws.elasticbeanstalk#String", + "traits": { + "smithy.api#documentation": "

    The health color of the\n environment.

    " + } + }, "EnvironmentName": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { @@ -2378,40 +2396,22 @@ "smithy.api#documentation": "

    Application request metrics for the environment.

    " } }, - "InstancesHealth": { - "target": "com.amazonaws.elasticbeanstalk#InstanceHealthSummary", - "traits": { - "smithy.api#documentation": "

    Summary health information for the instances in the environment.

    " - } - }, - "RefreshedAt": { - "target": "com.amazonaws.elasticbeanstalk#RefreshedAt", - "traits": { - "smithy.api#documentation": "

    The date and time that the health information was retrieved.

    " - } - }, "Causes": { "target": "com.amazonaws.elasticbeanstalk#Causes", "traits": { "smithy.api#documentation": "

    Descriptions of the data that contributed to the environment's current health\n status.

    " } }, - "Color": { - "target": "com.amazonaws.elasticbeanstalk#String", - "traits": { - "smithy.api#documentation": "

    The health color of the\n environment.

    " - } - }, - "Status": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealth", + "InstancesHealth": { + "target": "com.amazonaws.elasticbeanstalk#InstanceHealthSummary", "traits": { - "smithy.api#documentation": "

    The environment's operational status. Ready, Launching,\n Updating, Terminating, or Terminated.

    " + "smithy.api#documentation": "

    Summary health information for the instances in the environment.

    " } }, - "HealthStatus": { - "target": "com.amazonaws.elasticbeanstalk#String", + "RefreshedAt": { + "target": "com.amazonaws.elasticbeanstalk#RefreshedAt", "traits": { - "smithy.api#documentation": "

    The health status of the\n environment. For example, Ok.

    " + "smithy.api#documentation": "

    The date and time that the health information was retrieved.

    " } } }, @@ -2445,16 +2445,16 @@ "com.amazonaws.elasticbeanstalk#DescribeEnvironmentManagedActionHistoryRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.elasticbeanstalk#String", + "MaxItems": { + "target": "com.amazonaws.elasticbeanstalk#ManagedActionHistoryMaxItems", "traits": { - "smithy.api#documentation": "

    The pagination token returned by a previous request.

    " + "smithy.api#documentation": "

    The maximum number of items to return for a single request.

    " } }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "NextToken": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The environment ID of the target environment.

    " + "smithy.api#documentation": "

    The pagination token returned by a previous request.

    " } }, "EnvironmentName": { @@ -2463,10 +2463,10 @@ "smithy.api#documentation": "

    The name of the target environment.

    " } }, - "MaxItems": { - "target": "com.amazonaws.elasticbeanstalk#Integer", + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { - "smithy.api#documentation": "

    The maximum number of items to return for a single request.

    " + "smithy.api#documentation": "

    The environment ID of the target environment.

    " } } }, @@ -2514,6 +2514,12 @@ "com.amazonaws.elasticbeanstalk#DescribeEnvironmentManagedActionsRequest": { "type": "structure", "members": { + "Status": { + "target": "com.amazonaws.elasticbeanstalk#ActionStatus", + "traits": { + "smithy.api#documentation": "

    To show only actions with a particular status, specify a status.

    " + } + }, "EnvironmentId": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { @@ -2525,12 +2531,6 @@ "traits": { "smithy.api#documentation": "

    The name of the target environment.

    " } - }, - "Status": { - "target": "com.amazonaws.elasticbeanstalk#ActionStatus", - "traits": { - "smithy.api#documentation": "

    To show only actions with a particular status, specify a status.

    " - } } }, "traits": { @@ -2603,16 +2603,16 @@ "com.amazonaws.elasticbeanstalk#DescribeEnvironmentsMessage": { "type": "structure", "members": { - "EnvironmentNames": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentNamesList", + "NextToken": { + "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those that have the specified names.

    " + "smithy.api#documentation": "

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other\n parameter values must be identical to the ones specified in the initial request.

    \n

    If no NextToken is specified, the first page is retrieved.

    " } }, - "IncludedDeletedBackTo": { - "target": "com.amazonaws.elasticbeanstalk#IncludeDeletedBackTo", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    If specified when IncludeDeleted is set to true, then\n environments deleted after this date are displayed.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those that are associated with this application.

    " } }, "VersionLabel": { @@ -2621,16 +2621,16 @@ "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those that are associated with this application version.

    " } }, - "NextToken": { - "target": "com.amazonaws.elasticbeanstalk#Token", + "MaxRecords": { + "target": "com.amazonaws.elasticbeanstalk#MaxRecords", "traits": { - "smithy.api#documentation": "

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other\n parameter values must be identical to the ones specified in the initial request.

    \n

    If no NextToken is specified, the first page is retrieved.

    " + "smithy.api#documentation": "

    For a paginated request. Specify a maximum number of environments to include in\n each response.

    \n

    If no MaxRecords is specified, all available environments are\n retrieved in a single response.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "IncludeDeleted": { + "target": "com.amazonaws.elasticbeanstalk#IncludeDeleted", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those that are associated with this application.

    " + "smithy.api#documentation": "

    Indicates whether to include deleted environments:

    \n

    \n true: Environments that have been deleted after\n IncludedDeletedBackTo are displayed.

    \n

    \n false: Do not include deleted environments.

    " } }, "EnvironmentIds": { @@ -2639,16 +2639,16 @@ "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those that have the specified IDs.

    " } }, - "IncludeDeleted": { - "target": "com.amazonaws.elasticbeanstalk#IncludeDeleted", + "IncludedDeletedBackTo": { + "target": "com.amazonaws.elasticbeanstalk#IncludeDeletedBackTo", "traits": { - "smithy.api#documentation": "

    Indicates whether to include deleted environments:

    \n

    \n true: Environments that have been deleted after\n IncludedDeletedBackTo are displayed.

    \n

    \n false: Do not include deleted environments.

    " + "smithy.api#documentation": "

    If specified when IncludeDeleted is set to true, then\n environments deleted after this date are displayed.

    " } }, - "MaxRecords": { - "target": "com.amazonaws.elasticbeanstalk#MaxRecords", + "EnvironmentNames": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentNamesList", "traits": { - "smithy.api#documentation": "

    For a paginated request. Specify a maximum number of environments to include in\n each response.

    \n

    If no MaxRecords is specified, all available environments are\n retrieved in a single response.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those that have the specified names.

    " } } }, @@ -2677,34 +2677,34 @@ "com.amazonaws.elasticbeanstalk#DescribeEventsMessage": { "type": "structure", "members": { - "EndTime": { - "target": "com.amazonaws.elasticbeanstalk#TimeFilterEnd", + "NextToken": { + "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that\n occur up to, but not including, the EndTime.

    " + "smithy.api#documentation": "

    Pagination token. If specified, the events return the next batch of results.

    " } }, - "RequestId": { - "target": "com.amazonaws.elasticbeanstalk#RequestId", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the described events to include only\n those associated with this request ID.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those associated with this application.

    " } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "Severity": { + "target": "com.amazonaws.elasticbeanstalk#EventSeverity", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that\n are associated with this environment configuration.

    " + "smithy.api#documentation": "

    If specified, limits the events returned from this call to include only those with the\n specified severity or higher.

    " } }, - "MaxRecords": { - "target": "com.amazonaws.elasticbeanstalk#MaxRecords", + "VersionLabel": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { - "smithy.api#documentation": "

    Specifies the maximum number of events that can be returned, beginning with the most\n recent event.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those\n associated with this application version.

    " } }, - "NextToken": { - "target": "com.amazonaws.elasticbeanstalk#Token", + "StartTime": { + "target": "com.amazonaws.elasticbeanstalk#TimeFilterStart", "traits": { - "smithy.api#documentation": "

    Pagination token. If specified, the events return the next batch of results.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that\n occur on or after this time.

    " } }, "EnvironmentName": { @@ -2713,40 +2713,40 @@ "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those\n associated with this environment.

    " } }, - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { - "smithy.api#documentation": "

    The ARN of a custom platform version. If specified, AWS Elastic Beanstalk restricts the\n returned descriptions to those associated with this custom platform version.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those\n associated with this environment.

    " } }, - "Severity": { - "target": "com.amazonaws.elasticbeanstalk#EventSeverity", + "RequestId": { + "target": "com.amazonaws.elasticbeanstalk#RequestId", "traits": { - "smithy.api#documentation": "

    If specified, limits the events returned from this call to include only those with the\n specified severity or higher.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the described events to include only\n those associated with this request ID.

    " } }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "EndTime": { + "target": "com.amazonaws.elasticbeanstalk#TimeFilterEnd", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those\n associated with this environment.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that\n occur up to, but not including, the EndTime.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "MaxRecords": { + "target": "com.amazonaws.elasticbeanstalk#MaxRecords", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only\n those associated with this application.

    " + "smithy.api#documentation": "

    Specifies the maximum number of events that can be returned, beginning with the most\n recent event.

    " } }, - "StartTime": { - "target": "com.amazonaws.elasticbeanstalk#TimeFilterStart", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that\n occur on or after this time.

    " + "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that\n are associated with this environment configuration.

    " } }, - "VersionLabel": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabel", + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", "traits": { - "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those\n associated with this application version.

    " + "smithy.api#documentation": "

    The ARN of a custom platform version. If specified, AWS Elastic Beanstalk restricts the\n returned descriptions to those associated with this custom platform version.

    " } } }, @@ -2789,17 +2789,17 @@ "smithy.api#documentation": "

    Specify the pagination token returned by a previous call.

    " } }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", - "traits": { - "smithy.api#documentation": "

    Specify the AWS Elastic Beanstalk environment by ID.

    " - } - }, "EnvironmentName": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { "smithy.api#documentation": "

    Specify the AWS Elastic Beanstalk environment by name.

    " } + }, + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "traits": { + "smithy.api#documentation": "

    Specify the AWS Elastic Beanstalk environment by ID.

    " + } } }, "traits": { @@ -2809,10 +2809,10 @@ "com.amazonaws.elasticbeanstalk#DescribeInstancesHealthResult": { "type": "structure", "members": { - "InstanceHealthList": { - "target": "com.amazonaws.elasticbeanstalk#InstanceHealthList", + "NextToken": { + "target": "com.amazonaws.elasticbeanstalk#NextToken", "traits": { - "smithy.api#documentation": "

    Detailed health information about each instance.

    \n

    The output differs slightly between Linux and Windows environments. There is a difference\n in the members that are supported under the type.

    " + "smithy.api#documentation": "

    Pagination token for the next page of results, if available.

    " } }, "RefreshedAt": { @@ -2821,10 +2821,10 @@ "smithy.api#documentation": "

    The date and time that the health information was retrieved.

    " } }, - "NextToken": { - "target": "com.amazonaws.elasticbeanstalk#NextToken", + "InstanceHealthList": { + "target": "com.amazonaws.elasticbeanstalk#InstanceHealthList", "traits": { - "smithy.api#documentation": "

    Pagination token for the next page of results, if available.

    " + "smithy.api#documentation": "

    Detailed health information about each instance.

    \n

    The output differs slightly between Linux and Windows environments. There is a difference\n in the members that are supported under the type.

    " } } }, @@ -2939,88 +2939,94 @@ "com.amazonaws.elasticbeanstalk#EnvironmentDescription": { "type": "structure", "members": { - "AbortableOperationInProgress": { - "target": "com.amazonaws.elasticbeanstalk#AbortableOperationInProgress", + "EndpointURL": { + "target": "com.amazonaws.elasticbeanstalk#EndpointURL", "traits": { - "smithy.api#documentation": "

    Indicates if there is an in-progress environment configuration update or application\n version deployment that you can cancel.

    \n

    \n true: There is an update in progress.

    \n

    \n false: There are no updates currently in progress.

    " + "smithy.api#documentation": "

    For load-balanced, autoscaling environments, the URL to the LoadBalancer. For\n single-instance environments, the IP address of the instance.

    " } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The name of the configuration template used to originally launch this\n environment.

    " + "smithy.api#documentation": "

    The name of the application associated with this environment.

    " } }, - "HealthStatus": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealthStatus", + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", "traits": { - "smithy.api#documentation": "

    Returns the health status of the application running in your environment. For more\n information, see Health Colors and\n Statuses.

    " + "smithy.api#documentation": "

    The ARN of the platform version.

    " } }, - "EnvironmentLinks": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentLinks", + "DateUpdated": { + "target": "com.amazonaws.elasticbeanstalk#UpdateDate", "traits": { - "smithy.api#documentation": "

    A list of links to other environments in the same group.

    " + "smithy.api#documentation": "

    The last modified date for this environment.

    " } }, - "Resources": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentResourcesDescription", + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The description of the AWS resources used by this environment.

    " + "smithy.api#documentation": "

    The name of this environment.

    " } }, - "Health": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealth", + "DateCreated": { + "target": "com.amazonaws.elasticbeanstalk#CreationDate", "traits": { - "smithy.api#documentation": "

    Describes the health status of the environment. AWS Elastic Beanstalk indicates the\n failure levels for a running environment:

    \n
      \n
    • \n

      \n Red: Indicates the environment is not responsive. Occurs when three or more\n consecutive failures occur for an environment.

      \n
    • \n
    • \n

      \n Yellow: Indicates that something is wrong. Occurs when two consecutive\n failures occur for an environment.

      \n
    • \n
    • \n

      \n Green: Indicates the environment is healthy and fully functional.

      \n
    • \n
    • \n

      \n Grey: Default health for a new environment. The environment is not fully\n launched and health checks have not started or health checks are suspended during an\n UpdateEnvironment or RestartEnvironment request.

      \n
    • \n
    \n

    Default: Grey\n

    " + "smithy.api#documentation": "

    The creation date for this environment.

    " } }, - "VersionLabel": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabel", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    The application version deployed in this environment.

    " + "smithy.api#documentation": "

    Describes this environment.

    " } }, - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "EnvironmentArn": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentArn", "traits": { - "smithy.api#documentation": "

    The name of the SolutionStack deployed with this environment.

    " + "smithy.api#documentation": "

    The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

    " } }, - "DateUpdated": { - "target": "com.amazonaws.elasticbeanstalk#UpdateDate", + "VersionLabel": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { - "smithy.api#documentation": "

    The last modified date for this environment.

    " + "smithy.api#documentation": "

    The application version deployed in this environment.

    " } }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "Health": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealth", "traits": { - "smithy.api#documentation": "

    The name of this environment.

    " + "smithy.api#documentation": "

    Describes the health status of the environment. AWS Elastic Beanstalk indicates the\n failure levels for a running environment:

    \n
      \n
    • \n

      \n Red: Indicates the environment is not responsive. Occurs when three or more\n consecutive failures occur for an environment.

      \n
    • \n
    • \n

      \n Yellow: Indicates that something is wrong. Occurs when two consecutive\n failures occur for an environment.

      \n
    • \n
    • \n

      \n Green: Indicates the environment is healthy and fully functional.

      \n
    • \n
    • \n

      \n Grey: Default health for a new environment. The environment is not fully\n launched and health checks have not started or health checks are suspended during an\n UpdateEnvironment or RestartEnvironment request.

      \n
    • \n
    \n

    Default: Grey\n

    " } }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", + "HealthStatus": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentHealthStatus", "traits": { - "smithy.api#documentation": "

    Describes this environment.

    " + "smithy.api#documentation": "

    Returns the health status of the application running in your environment. For more\n information, see Health Colors and\n Statuses.

    " + } + }, + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "traits": { + "smithy.api#documentation": "

    The ID of this environment.

    " } }, - "EnvironmentArn": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentArn", + "AbortableOperationInProgress": { + "target": "com.amazonaws.elasticbeanstalk#AbortableOperationInProgress", "traits": { - "smithy.api#documentation": "

    The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

    " + "smithy.api#documentation": "

    Indicates if there is an in-progress environment configuration update or application\n version deployment that you can cancel.

    \n

    \n true: There is an update in progress.

    \n

    \n false: There are no updates currently in progress.

    " } }, - "Status": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentStatus", + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", "traits": { - "smithy.api#documentation": "

    The current operational status of the environment:

    \n\n
      \n
    • \n

      \n Launching: Environment is in the process of initial deployment.

      \n
    • \n
    • \n

      \n Updating: Environment is in the process of updating its configuration\n settings or application version.

      \n
    • \n
    • \n

      \n Ready: Environment is available to have an action performed on it, such as\n update or terminate.

      \n
    • \n
    • \n

      \n Terminating: Environment is in the shut-down process.

      \n
    • \n
    • \n

      \n Terminated: Environment is not running.

      \n
    • \n
    " + "smithy.api#documentation": "

    The name of the SolutionStack deployed with this environment.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "Tier": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentTier", "traits": { - "smithy.api#documentation": "

    The name of the application associated with this environment.

    " + "smithy.api#documentation": "

    Describes the current tier of this environment.

    " } }, "CNAME": { @@ -3029,40 +3035,34 @@ "smithy.api#documentation": "

    The URL to the CNAME for this environment.

    " } }, - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", - "traits": { - "smithy.api#documentation": "

    The ARN of the platform version.

    " - } - }, - "EndpointURL": { - "target": "com.amazonaws.elasticbeanstalk#EndpointURL", + "OperationsRole": { + "target": "com.amazonaws.elasticbeanstalk#OperationsRole", "traits": { - "smithy.api#documentation": "

    For load-balanced, autoscaling environments, the URL to the LoadBalancer. For\n single-instance environments, the IP address of the instance.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the environment's operations role. For more information,\n see Operations roles in the AWS Elastic Beanstalk Developer Guide.

    " } }, - "DateCreated": { - "target": "com.amazonaws.elasticbeanstalk#CreationDate", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    The creation date for this environment.

    " + "smithy.api#documentation": "

    The name of the configuration template used to originally launch this\n environment.

    " } }, - "Tier": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentTier", + "Resources": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentResourcesDescription", "traits": { - "smithy.api#documentation": "

    Describes the current tier of this environment.

    " + "smithy.api#documentation": "

    The description of the AWS resources used by this environment.

    " } }, - "OperationsRole": { - "target": "com.amazonaws.elasticbeanstalk#OperationsRole", + "EnvironmentLinks": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentLinks", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the environment's operations role. For more information,\n see Operations roles in the AWS Elastic Beanstalk Developer Guide.

    " + "smithy.api#documentation": "

    A list of links to other environments in the same group.

    " } }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "Status": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentStatus", "traits": { - "smithy.api#documentation": "

    The ID of this environment.

    " + "smithy.api#documentation": "

    The current operational status of the environment:

    \n\n
      \n
    • \n

      \n Launching: Environment is in the process of initial deployment.

      \n
    • \n
    • \n

      \n Updating: Environment is in the process of updating its configuration\n settings or application version.

      \n
    • \n
    • \n

      \n Ready: Environment is available to have an action performed on it, such as\n update or terminate.

      \n
    • \n
    • \n

      \n Terminating: Environment is in the shut-down process.

      \n
    • \n
    • \n

      \n Terminated: Environment is not running.

      \n
    • \n
    " } } }, @@ -3079,17 +3079,17 @@ "com.amazonaws.elasticbeanstalk#EnvironmentDescriptionsMessage": { "type": "structure", "members": { - "Environments": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentDescriptionsList", - "traits": { - "smithy.api#documentation": "

    Returns an EnvironmentDescription list.

    " - } - }, "NextToken": { "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { "smithy.api#documentation": "

    In a paginated request, the token that you can pass in a subsequent request to get the\n next response page.

    " } + }, + "Environments": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentDescriptionsList", + "traits": { + "smithy.api#documentation": "

    Returns an EnvironmentDescription list.

    " + } } }, "traits": { @@ -3298,34 +3298,22 @@ "com.amazonaws.elasticbeanstalk#EnvironmentResourceDescription": { "type": "structure", "members": { - "Instances": { - "target": "com.amazonaws.elasticbeanstalk#InstanceList", - "traits": { - "smithy.api#documentation": "

    The Amazon EC2 instances used by this environment.

    " - } - }, - "AutoScalingGroups": { - "target": "com.amazonaws.elasticbeanstalk#AutoScalingGroupList", - "traits": { - "smithy.api#documentation": "

    The AutoScalingGroups used by this environment.

    " - } - }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "Queues": { + "target": "com.amazonaws.elasticbeanstalk#QueueList", "traits": { - "smithy.api#documentation": "

    The name of the environment.

    " + "smithy.api#documentation": "

    The queues used by this environment.

    " } }, - "Triggers": { - "target": "com.amazonaws.elasticbeanstalk#TriggerList", + "LaunchTemplates": { + "target": "com.amazonaws.elasticbeanstalk#LaunchTemplateList", "traits": { - "smithy.api#documentation": "

    The AutoScaling triggers in use by this environment.

    " + "smithy.api#documentation": "

    The Amazon EC2 launch templates in use by this environment.

    " } }, - "Queues": { - "target": "com.amazonaws.elasticbeanstalk#QueueList", + "AutoScalingGroups": { + "target": "com.amazonaws.elasticbeanstalk#AutoScalingGroupList", "traits": { - "smithy.api#documentation": "

    The queues used by this environment.

    " + "smithy.api#documentation": "

    The AutoScalingGroups used by this environment.

    " } }, "LoadBalancers": { @@ -3334,10 +3322,10 @@ "smithy.api#documentation": "

    The LoadBalancers in use by this environment.

    " } }, - "LaunchTemplates": { - "target": "com.amazonaws.elasticbeanstalk#LaunchTemplateList", + "Instances": { + "target": "com.amazonaws.elasticbeanstalk#InstanceList", "traits": { - "smithy.api#documentation": "

    The Amazon EC2 launch templates in use by this environment.

    " + "smithy.api#documentation": "

    The Amazon EC2 instances used by this environment.

    " } }, "LaunchConfigurations": { @@ -3345,6 +3333,18 @@ "traits": { "smithy.api#documentation": "

    The Auto Scaling launch configurations in use by this environment.

    " } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    The name of the environment.

    " + } + }, + "Triggers": { + "target": "com.amazonaws.elasticbeanstalk#TriggerList", + "traits": { + "smithy.api#documentation": "

    The AutoScaling triggers in use by this environment.

    " + } } }, "traits": { @@ -3413,22 +3413,22 @@ "com.amazonaws.elasticbeanstalk#EnvironmentTier": { "type": "structure", "members": { - "Name": { + "Version": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The name of this environment tier.

    \n

    Valid values:

    \n
      \n
    • \n

      For Web server tierWebServer\n

      \n
    • \n
    • \n

      For Worker tierWorker\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the\n latest compatible worker tier version.

    \n \n

    This member is deprecated. Any specific version that you set may become out of date.\n We recommend leaving it unspecified.

    \n
    " } }, - "Type": { + "Name": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The type of this environment tier.

    \n

    Valid values:

    \n
      \n
    • \n

      For Web server tierStandard\n

      \n
    • \n
    • \n

      For Worker tierSQS/HTTP\n

      \n
    • \n
    " + "smithy.api#documentation": "

    The name of this environment tier.

    \n

    Valid values:

    \n
      \n
    • \n

      For Web server tierWebServer\n

      \n
    • \n
    • \n

      For Worker tierWorker\n

      \n
    • \n
    " } }, - "Version": { + "Type": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the\n latest compatible worker tier version.

    \n \n

    This member is deprecated. Any specific version that you set may become out of date.\n We recommend leaving it unspecified.

    \n
    " + "smithy.api#documentation": "

    The type of this environment tier.

    \n

    Valid values:

    \n
      \n
    • \n

      For Web server tierStandard\n

      \n
    • \n
    • \n

      For Worker tierSQS/HTTP\n

      \n
    • \n
    " } } }, @@ -3442,16 +3442,16 @@ "com.amazonaws.elasticbeanstalk#EventDescription": { "type": "structure", "members": { - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The name of the configuration associated with this event.

    " + "smithy.api#documentation": "

    The application associated with the event.

    " } }, - "RequestId": { - "target": "com.amazonaws.elasticbeanstalk#RequestId", + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The web service request ID for the activity of this event.

    " + "smithy.api#documentation": "

    The name of the environment associated with this event.

    " } }, "EventDate": { @@ -3460,40 +3460,40 @@ "smithy.api#documentation": "

    The date when the event occurred.

    " } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", "traits": { - "smithy.api#documentation": "

    The application associated with the event.

    " + "smithy.api#documentation": "

    The ARN of the platform version.

    " } }, - "Severity": { - "target": "com.amazonaws.elasticbeanstalk#EventSeverity", + "Message": { + "target": "com.amazonaws.elasticbeanstalk#EventMessage", "traits": { - "smithy.api#documentation": "

    The severity level of this event.

    " + "smithy.api#documentation": "

    The event message.

    " } }, - "VersionLabel": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabel", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    The release label for the application version associated with this event.

    " + "smithy.api#documentation": "

    The name of the configuration associated with this event.

    " } }, - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "Severity": { + "target": "com.amazonaws.elasticbeanstalk#EventSeverity", "traits": { - "smithy.api#documentation": "

    The ARN of the platform version.

    " + "smithy.api#documentation": "

    The severity level of this event.

    " } }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "RequestId": { + "target": "com.amazonaws.elasticbeanstalk#RequestId", "traits": { - "smithy.api#documentation": "

    The name of the environment associated with this event.

    " + "smithy.api#documentation": "

    The web service request ID for the activity of this event.

    " } }, - "Message": { - "target": "com.amazonaws.elasticbeanstalk#EventMessage", + "VersionLabel": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { - "smithy.api#documentation": "

    The event message.

    " + "smithy.api#documentation": "

    The release label for the application version associated with this event.

    " } } }, @@ -3645,52 +3645,52 @@ "com.amazonaws.elasticbeanstalk#InstanceHealthSummary": { "type": "structure", "members": { - "Degraded": { + "Ok": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Red. The health agent is reporting a high number of request\n failures or other issues for an instance or environment.

    " + "smithy.api#documentation": "

    \n Green. An instance is passing health checks and the health\n agent is not reporting any problems.

    " } }, - "NoData": { + "Severe": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Grey. AWS Elastic Beanstalk and the health agent are\n reporting no data on an instance.

    " + "smithy.api#documentation": "

    \n Red. The health agent is reporting a very high number of\n request failures or other issues for an instance or environment.

    " } }, - "Unknown": { + "Pending": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Grey. AWS Elastic Beanstalk and the health agent are\n reporting an insufficient amount of data on an instance.

    " + "smithy.api#documentation": "

    \n Grey. An operation is in progress on an instance within the\n command timeout.

    " } }, - "Info": { + "NoData": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Green. An operation is in progress on an instance.

    " + "smithy.api#documentation": "

    \n Grey. AWS Elastic Beanstalk and the health agent are\n reporting no data on an instance.

    " } }, - "Pending": { + "Info": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Grey. An operation is in progress on an instance within the\n command timeout.

    " + "smithy.api#documentation": "

    \n Green. An operation is in progress on an instance.

    " } }, - "Warning": { + "Degraded": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Yellow. The health agent is reporting a moderate number of\n request failures or other issues for an instance or environment.

    " + "smithy.api#documentation": "

    \n Red. The health agent is reporting a high number of request\n failures or other issues for an instance or environment.

    " } }, - "Ok": { + "Warning": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Green. An instance is passing health checks and the health\n agent is not reporting any problems.

    " + "smithy.api#documentation": "

    \n Yellow. The health agent is reporting a moderate number of\n request failures or other issues for an instance or environment.

    " } }, - "Severe": { + "Unknown": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { - "smithy.api#documentation": "

    \n Red. The health agent is reporting a very high number of\n request failures or other issues for an instance or environment.

    " + "smithy.api#documentation": "

    \n Grey. AWS Elastic Beanstalk and the health agent are\n reporting an insufficient amount of data on an instance.

    " } } }, @@ -3808,34 +3808,34 @@ "com.amazonaws.elasticbeanstalk#Latency": { "type": "structure", "members": { - "P50": { + "P99": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 50 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 1 percent of requests over the last 10\n seconds.

    " } }, - "P95": { + "P90": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 5 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 10 percent of requests over the last 10\n seconds.

    " } }, - "P85": { + "P50": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 15 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 50 percent of requests over the last 10\n seconds.

    " } }, - "P75": { + "P10": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 25 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 90 percent of requests over the last 10\n seconds.

    " } }, - "P90": { + "P75": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 10 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 25 percent of requests over the last 10\n seconds.

    " } }, "P999": { @@ -3844,16 +3844,16 @@ "smithy.api#documentation": "

    The average latency for the slowest 0.1 percent of requests over the last 10\n seconds.

    " } }, - "P10": { + "P85": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 90 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 15 percent of requests over the last 10\n seconds.

    " } }, - "P99": { + "P95": { "target": "com.amazonaws.elasticbeanstalk#NullableDouble", "traits": { - "smithy.api#documentation": "

    The average latency for the slowest 1 percent of requests over the last 10\n seconds.

    " + "smithy.api#documentation": "

    The average latency for the slowest 5 percent of requests over the last 10\n seconds.

    " } } }, @@ -3953,10 +3953,10 @@ "com.amazonaws.elasticbeanstalk#ListPlatformBranchesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.elasticbeanstalk#Token", + "MaxRecords": { + "target": "com.amazonaws.elasticbeanstalk#PlatformBranchMaxRecords", "traits": { - "smithy.api#documentation": "

    For a paginated request. Specify a token from a previous response page to retrieve the\n next response page. All other parameter values must be identical to the ones specified in the\n initial request.

    \n

    If no NextToken is specified, the first page is retrieved.

    " + "smithy.api#documentation": "

    The maximum number of platform branch values returned in one call.

    " } }, "Filters": { @@ -3965,10 +3965,10 @@ "smithy.api#documentation": "

    Criteria for restricting the resulting list of platform branches. The filter is evaluated\n as a logical conjunction (AND) of the separate SearchFilter terms.

    \n

    The following list shows valid attribute values for each of the SearchFilter\n terms. Most operators take a single value. The in and not_in\n operators can take multiple values.

    \n
      \n
    • \n

      \n Attribute = BranchName:

      \n
        \n
      • \n

        \n Operator: = | != | begins_with\n | ends_with | contains | in |\n not_in\n

        \n
      • \n
      \n
    • \n
    • \n

      \n Attribute = LifecycleState:

      \n
        \n
      • \n

        \n Operator: = | != | in |\n not_in\n

        \n
      • \n
      • \n

        \n Values: beta | supported |\n deprecated | retired\n

        \n
      • \n
      \n
    • \n
    • \n

      \n Attribute = PlatformName:

      \n
        \n
      • \n

        \n Operator: = | != | begins_with\n | ends_with | contains | in |\n not_in\n

        \n
      • \n
      \n
    • \n
    • \n

      \n Attribute = TierType:

      \n
        \n
      • \n

        \n Operator: = | !=\n

        \n
      • \n
      • \n

        \n Values: WebServer/Standard | Worker/SQS/HTTP\n

        \n
      • \n
      \n
    • \n
    \n

    Array size: limited to 10 SearchFilter objects.

    \n

    Within each SearchFilter item, the Values array is limited to 10\n items.

    " } }, - "MaxRecords": { - "target": "com.amazonaws.elasticbeanstalk#PlatformBranchMaxRecords", + "NextToken": { + "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { - "smithy.api#documentation": "

    The maximum number of platform branch values returned in one call.

    " + "smithy.api#documentation": "

    For a paginated request. Specify a token from a previous response page to retrieve the\n next response page. All other parameter values must be identical to the ones specified in the\n initial request.

    \n

    If no NextToken is specified, the first page is retrieved.

    " } } } @@ -4019,12 +4019,6 @@ "com.amazonaws.elasticbeanstalk#ListPlatformVersionsRequest": { "type": "structure", "members": { - "MaxRecords": { - "target": "com.amazonaws.elasticbeanstalk#PlatformMaxRecords", - "traits": { - "smithy.api#documentation": "

    The maximum number of platform version values returned in one call.

    " - } - }, "NextToken": { "target": "com.amazonaws.elasticbeanstalk#Token", "traits": { @@ -4034,7 +4028,13 @@ "Filters": { "target": "com.amazonaws.elasticbeanstalk#PlatformFilters", "traits": { - "smithy.api#documentation": "

    Criteria for restricting the resulting list of platform versions. The filter is\n interpreted as a logical conjunction (AND) of the separate PlatformFilter\n terms.

    " + "smithy.api#documentation": "

    Criteria for restricting the resulting list of platform versions. The filter is\n interpreted as a logical conjunction (AND) of the separate PlatformFilter\n terms.

    " + } + }, + "MaxRecords": { + "target": "com.amazonaws.elasticbeanstalk#PlatformMaxRecords", + "traits": { + "smithy.api#documentation": "

    The maximum number of platform version values returned in one call.

    " } } } @@ -4042,17 +4042,17 @@ "com.amazonaws.elasticbeanstalk#ListPlatformVersionsResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.elasticbeanstalk#Token", - "traits": { - "smithy.api#documentation": "

    In a paginated request, if this value isn't null, it's the token that you can\n pass in a subsequent request to get the next response page.

    " - } - }, "PlatformSummaryList": { "target": "com.amazonaws.elasticbeanstalk#PlatformSummaryList", "traits": { "smithy.api#documentation": "

    Summary information about the platform versions.

    " } + }, + "NextToken": { + "target": "com.amazonaws.elasticbeanstalk#Token", + "traits": { + "smithy.api#documentation": "

    In a paginated request, if this value isn't null, it's the token that you can\n pass in a subsequent request to get the next response page.

    " + } } } }, @@ -4137,10 +4137,10 @@ "com.amazonaws.elasticbeanstalk#LoadBalancerDescription": { "type": "structure", "members": { - "Listeners": { - "target": "com.amazonaws.elasticbeanstalk#LoadBalancerListenersDescription", + "Domain": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    A list of Listeners used by the LoadBalancer.

    " + "smithy.api#documentation": "

    The domain name of the LoadBalancer.

    " } }, "LoadBalancerName": { @@ -4149,10 +4149,10 @@ "smithy.api#documentation": "

    The name of the LoadBalancer.

    " } }, - "Domain": { - "target": "com.amazonaws.elasticbeanstalk#String", + "Listeners": { + "target": "com.amazonaws.elasticbeanstalk#LoadBalancerListenersDescription", "traits": { - "smithy.api#documentation": "

    The domain name of the LoadBalancer.

    " + "smithy.api#documentation": "

    A list of Listeners used by the LoadBalancer.

    " } } }, @@ -4178,10 +4178,16 @@ "com.amazonaws.elasticbeanstalk#ManagedAction": { "type": "structure", "members": { - "WindowStartTime": { - "target": "com.amazonaws.elasticbeanstalk#Timestamp", + "ActionId": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The start time of the maintenance window in which the managed action will\n execute.

    " + "smithy.api#documentation": "

    A unique identifier for the managed action.

    " + } + }, + "Status": { + "target": "com.amazonaws.elasticbeanstalk#ActionStatus", + "traits": { + "smithy.api#documentation": "

    The status of the managed action. If the action is Scheduled, you can\n apply it immediately with ApplyEnvironmentManagedAction.

    " } }, "ActionDescription": { @@ -4196,16 +4202,10 @@ "smithy.api#documentation": "

    The type of managed action.

    " } }, - "Status": { - "target": "com.amazonaws.elasticbeanstalk#ActionStatus", - "traits": { - "smithy.api#documentation": "

    The status of the managed action. If the action is Scheduled, you can\n apply it immediately with ApplyEnvironmentManagedAction.

    " - } - }, - "ActionId": { - "target": "com.amazonaws.elasticbeanstalk#String", + "WindowStartTime": { + "target": "com.amazonaws.elasticbeanstalk#Timestamp", "traits": { - "smithy.api#documentation": "

    A unique identifier for the managed action.

    " + "smithy.api#documentation": "

    The start time of the maintenance window in which the managed action will\n execute.

    " } } }, @@ -4216,16 +4216,16 @@ "com.amazonaws.elasticbeanstalk#ManagedActionHistoryItem": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.elasticbeanstalk#ActionHistoryStatus", + "ActionDescription": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The status of the action.

    " + "smithy.api#documentation": "

    A description of the managed action.

    " } }, - "ActionId": { - "target": "com.amazonaws.elasticbeanstalk#String", + "FailureType": { + "target": "com.amazonaws.elasticbeanstalk#FailureType", "traits": { - "smithy.api#documentation": "

    A unique identifier for the managed action.

    " + "smithy.api#documentation": "

    If the action failed, the type of failure.

    " } }, "ActionType": { @@ -4234,34 +4234,34 @@ "smithy.api#documentation": "

    The type of the managed action.

    " } }, - "FinishedTime": { - "target": "com.amazonaws.elasticbeanstalk#Timestamp", + "FailureDescription": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The date and time that the action finished executing.

    " + "smithy.api#documentation": "

    If the action failed, a description of the failure.

    " } }, - "FailureDescription": { + "ActionId": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    If the action failed, a description of the failure.

    " + "smithy.api#documentation": "

    A unique identifier for the managed action.

    " } }, - "FailureType": { - "target": "com.amazonaws.elasticbeanstalk#FailureType", + "Status": { + "target": "com.amazonaws.elasticbeanstalk#ActionHistoryStatus", "traits": { - "smithy.api#documentation": "

    If the action failed, the type of failure.

    " + "smithy.api#documentation": "

    The status of the action.

    " } }, - "ExecutedTime": { + "FinishedTime": { "target": "com.amazonaws.elasticbeanstalk#Timestamp", "traits": { - "smithy.api#documentation": "

    The date and time that the action started executing.

    " + "smithy.api#documentation": "

    The date and time that the action finished executing.

    " } }, - "ActionDescription": { - "target": "com.amazonaws.elasticbeanstalk#String", + "ExecutedTime": { + "target": "com.amazonaws.elasticbeanstalk#Timestamp", "traits": { - "smithy.api#documentation": "

    A description of the managed action.

    " + "smithy.api#documentation": "

    The date and time that the action started executing.

    " } } }, @@ -4281,6 +4281,16 @@ } } }, + "com.amazonaws.elasticbeanstalk#ManagedActionHistoryMaxItems": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.elasticbeanstalk#ManagedActionInvalidStateException": { "type": "structure", "members": { @@ -4339,13 +4349,6 @@ "com.amazonaws.elasticbeanstalk#MaxCountRule": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.elasticbeanstalk#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

    Specify true to apply the rule, or false to disable\n it.

    ", - "smithy.api#required": {} - } - }, "MaxCount": { "target": "com.amazonaws.elasticbeanstalk#BoxedInt", "traits": { @@ -4357,6 +4360,13 @@ "traits": { "smithy.api#documentation": "

    Set to true to delete a version's source bundle from Amazon S3 when\n Elastic Beanstalk deletes the application version.

    " } + }, + "Enabled": { + "target": "com.amazonaws.elasticbeanstalk#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

    Specify true to apply the rule, or false to disable\n it.

    ", + "smithy.api#required": {} + } } }, "traits": { @@ -4464,17 +4474,17 @@ "com.amazonaws.elasticbeanstalk#OptionRestrictionRegex": { "type": "structure", "members": { - "Label": { - "target": "com.amazonaws.elasticbeanstalk#RegexLabel", - "traits": { - "smithy.api#documentation": "

    A unique name representing this regular expression.

    " - } - }, "Pattern": { "target": "com.amazonaws.elasticbeanstalk#RegexPattern", "traits": { "smithy.api#documentation": "

    The regular expression pattern that a string configuration option value with this\n restriction must match.

    " } + }, + "Label": { + "target": "com.amazonaws.elasticbeanstalk#RegexLabel", + "traits": { + "smithy.api#documentation": "

    A unique name representing this regular expression.

    " + } } }, "traits": { @@ -4484,6 +4494,12 @@ "com.amazonaws.elasticbeanstalk#OptionSpecification": { "type": "structure", "members": { + "ResourceName": { + "target": "com.amazonaws.elasticbeanstalk#ResourceName", + "traits": { + "smithy.api#documentation": "

    A unique resource name for a time-based scaling configuration option.

    " + } + }, "OptionName": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionName", "traits": { @@ -4495,12 +4511,6 @@ "traits": { "smithy.api#documentation": "

    A unique namespace identifying the option's associated AWS resource.

    " } - }, - "ResourceName": { - "target": "com.amazonaws.elasticbeanstalk#ResourceName", - "traits": { - "smithy.api#documentation": "

    A unique resource name for a time-based scaling configuration option.

    " - } } }, "traits": { @@ -4531,34 +4541,34 @@ "com.amazonaws.elasticbeanstalk#PlatformBranchSummary": { "type": "structure", "members": { - "LifecycleState": { - "target": "com.amazonaws.elasticbeanstalk#PlatformBranchLifecycleState", + "PlatformName": { + "target": "com.amazonaws.elasticbeanstalk#PlatformName", "traits": { - "smithy.api#documentation": "

    The support life cycle state of the platform branch.

    \n

    Possible values: beta | supported | deprecated | \n retired\n

    " + "smithy.api#documentation": "

    The name of the platform to which this platform branch belongs.

    " } }, - "BranchName": { - "target": "com.amazonaws.elasticbeanstalk#BranchName", + "BranchOrder": { + "target": "com.amazonaws.elasticbeanstalk#BranchOrder", "traits": { - "smithy.api#documentation": "

    The name of the platform branch.

    " + "smithy.api#documentation": "

    An ordinal number that designates the order in which platform branches have been added to\n a platform. This can be helpful, for example, if your code calls the\n ListPlatformBranches action and then displays a list of platform\n branches.

    \n

    A larger BranchOrder value designates a newer platform branch within the\n platform.

    " } }, - "SupportedTierList": { - "target": "com.amazonaws.elasticbeanstalk#SupportedTierList", + "BranchName": { + "target": "com.amazonaws.elasticbeanstalk#BranchName", "traits": { - "smithy.api#documentation": "

    The environment tiers that platform versions in this branch support.

    \n

    Possible values: WebServer/Standard | Worker/SQS/HTTP\n

    " + "smithy.api#documentation": "

    The name of the platform branch.

    " } }, - "BranchOrder": { - "target": "com.amazonaws.elasticbeanstalk#BranchOrder", + "LifecycleState": { + "target": "com.amazonaws.elasticbeanstalk#PlatformBranchLifecycleState", "traits": { - "smithy.api#documentation": "

    An ordinal number that designates the order in which platform branches have been added to\n a platform. This can be helpful, for example, if your code calls the\n ListPlatformBranches action and then displays a list of platform\n branches.

    \n

    A larger BranchOrder value designates a newer platform branch within the\n platform.

    " + "smithy.api#documentation": "

    The support life cycle state of the platform branch.

    \n

    Possible values: beta | supported | deprecated | \n retired\n

    " } }, - "PlatformName": { - "target": "com.amazonaws.elasticbeanstalk#PlatformName", + "SupportedTierList": { + "target": "com.amazonaws.elasticbeanstalk#SupportedTierList", "traits": { - "smithy.api#documentation": "

    The name of the platform to which this platform branch belongs.

    " + "smithy.api#documentation": "

    The environment tiers that platform versions in this branch support.

    \n

    Possible values: WebServer/Standard | Worker/SQS/HTTP\n

    " } } }, @@ -4578,124 +4588,124 @@ "com.amazonaws.elasticbeanstalk#PlatformDescription": { "type": "structure", "members": { - "PlatformBranchName": { - "target": "com.amazonaws.elasticbeanstalk#BranchName", + "ProgrammingLanguages": { + "target": "com.amazonaws.elasticbeanstalk#PlatformProgrammingLanguages", "traits": { - "smithy.api#documentation": "

    The platform branch to which the platform version belongs.

    " + "smithy.api#documentation": "

    The programming languages supported by the platform version.

    " } }, - "PlatformStatus": { - "target": "com.amazonaws.elasticbeanstalk#PlatformStatus", + "DateCreated": { + "target": "com.amazonaws.elasticbeanstalk#CreationDate", "traits": { - "smithy.api#documentation": "

    The status of the platform version.

    " + "smithy.api#documentation": "

    The date when the platform version was created.

    " } }, - "PlatformName": { - "target": "com.amazonaws.elasticbeanstalk#PlatformName", + "DateUpdated": { + "target": "com.amazonaws.elasticbeanstalk#UpdateDate", "traits": { - "smithy.api#documentation": "

    The name of the platform version.

    " + "smithy.api#documentation": "

    The date when the platform version was last updated.

    " } }, - "Maintainer": { - "target": "com.amazonaws.elasticbeanstalk#Maintainer", + "PlatformVersion": { + "target": "com.amazonaws.elasticbeanstalk#PlatformVersion", "traits": { - "smithy.api#documentation": "

    Information about the maintainer of the platform version.

    " + "smithy.api#documentation": "

    The version of the platform version.

    " } }, - "PlatformOwner": { - "target": "com.amazonaws.elasticbeanstalk#PlatformOwner", + "SupportedAddonList": { + "target": "com.amazonaws.elasticbeanstalk#SupportedAddonList", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the person who created the platform version.

    " + "smithy.api#documentation": "

    The additions supported by the platform version.

    " } }, - "ProgrammingLanguages": { - "target": "com.amazonaws.elasticbeanstalk#PlatformProgrammingLanguages", + "OperatingSystemVersion": { + "target": "com.amazonaws.elasticbeanstalk#OperatingSystemVersion", "traits": { - "smithy.api#documentation": "

    The programming languages supported by the platform version.

    " + "smithy.api#documentation": "

    The version of the operating system used by the platform version.

    " } }, - "SupportedAddonList": { - "target": "com.amazonaws.elasticbeanstalk#SupportedAddonList", + "CustomAmiList": { + "target": "com.amazonaws.elasticbeanstalk#CustomAmiList", "traits": { - "smithy.api#documentation": "

    The additions supported by the platform version.

    " + "smithy.api#documentation": "

    The custom AMIs supported by the platform version.

    " } }, - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "PlatformBranchName": { + "target": "com.amazonaws.elasticbeanstalk#BranchName", "traits": { - "smithy.api#documentation": "

    The name of the solution stack used by the platform version.

    " + "smithy.api#documentation": "

    The platform branch to which the platform version belongs.

    " } }, - "Frameworks": { - "target": "com.amazonaws.elasticbeanstalk#PlatformFrameworks", + "PlatformOwner": { + "target": "com.amazonaws.elasticbeanstalk#PlatformOwner", "traits": { - "smithy.api#documentation": "

    The frameworks supported by the platform version.

    " + "smithy.api#documentation": "

    The AWS account ID of the person who created the platform version.

    " } }, - "DateUpdated": { - "target": "com.amazonaws.elasticbeanstalk#UpdateDate", + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", "traits": { - "smithy.api#documentation": "

    The date when the platform version was last updated.

    " + "smithy.api#documentation": "

    The ARN of the platform version.

    " } }, - "CustomAmiList": { - "target": "com.amazonaws.elasticbeanstalk#CustomAmiList", + "OperatingSystemName": { + "target": "com.amazonaws.elasticbeanstalk#OperatingSystemName", "traits": { - "smithy.api#documentation": "

    The custom AMIs supported by the platform version.

    " + "smithy.api#documentation": "

    The operating system used by the platform version.

    " } }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", + "PlatformBranchLifecycleState": { + "target": "com.amazonaws.elasticbeanstalk#PlatformBranchLifecycleState", "traits": { - "smithy.api#documentation": "

    The description of the platform version.

    " + "smithy.api#documentation": "

    The state of the platform version's branch in its lifecycle.

    \n

    Possible values: Beta | Supported | Deprecated |\n Retired\n

    " } }, - "PlatformCategory": { - "target": "com.amazonaws.elasticbeanstalk#PlatformCategory", + "SupportedTierList": { + "target": "com.amazonaws.elasticbeanstalk#SupportedTierList", "traits": { - "smithy.api#documentation": "

    The category of the platform version.

    " + "smithy.api#documentation": "

    The tiers supported by the platform version.

    " } }, - "OperatingSystemName": { - "target": "com.amazonaws.elasticbeanstalk#OperatingSystemName", + "Frameworks": { + "target": "com.amazonaws.elasticbeanstalk#PlatformFrameworks", "traits": { - "smithy.api#documentation": "

    The operating system used by the platform version.

    " + "smithy.api#documentation": "

    The frameworks supported by the platform version.

    " } }, - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "PlatformName": { + "target": "com.amazonaws.elasticbeanstalk#PlatformName", "traits": { - "smithy.api#documentation": "

    The ARN of the platform version.

    " + "smithy.api#documentation": "

    The name of the platform version.

    " } }, - "PlatformBranchLifecycleState": { - "target": "com.amazonaws.elasticbeanstalk#PlatformBranchLifecycleState", + "PlatformStatus": { + "target": "com.amazonaws.elasticbeanstalk#PlatformStatus", "traits": { - "smithy.api#documentation": "

    The state of the platform version's branch in its lifecycle.

    \n

    Possible values: Beta | Supported | Deprecated |\n Retired\n

    " + "smithy.api#documentation": "

    The status of the platform version.

    " } }, - "DateCreated": { - "target": "com.amazonaws.elasticbeanstalk#CreationDate", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    The date when the platform version was created.

    " + "smithy.api#documentation": "

    The description of the platform version.

    " } }, - "OperatingSystemVersion": { - "target": "com.amazonaws.elasticbeanstalk#OperatingSystemVersion", + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", "traits": { - "smithy.api#documentation": "

    The version of the operating system used by the platform version.

    " + "smithy.api#documentation": "

    The name of the solution stack used by the platform version.

    " } }, - "PlatformVersion": { - "target": "com.amazonaws.elasticbeanstalk#PlatformVersion", + "PlatformCategory": { + "target": "com.amazonaws.elasticbeanstalk#PlatformCategory", "traits": { - "smithy.api#documentation": "

    The version of the platform version.

    " + "smithy.api#documentation": "

    The category of the platform version.

    " } }, - "SupportedTierList": { - "target": "com.amazonaws.elasticbeanstalk#SupportedTierList", + "Maintainer": { + "target": "com.amazonaws.elasticbeanstalk#Maintainer", "traits": { - "smithy.api#documentation": "

    The tiers supported by the platform version.

    " + "smithy.api#documentation": "

    Information about the maintainer of the platform version.

    " } }, "PlatformLifecycleState": { @@ -4718,17 +4728,17 @@ "smithy.api#documentation": "

    The platform version attribute to which the filter values are applied.

    \n

    Valid values: PlatformName | PlatformVersion |\n PlatformStatus | PlatformBranchName |\n PlatformLifecycleState | PlatformOwner |\n SupportedTier | SupportedAddon |\n ProgrammingLanguageName | OperatingSystemName\n

    " } }, - "Operator": { - "target": "com.amazonaws.elasticbeanstalk#PlatformFilterOperator", - "traits": { - "smithy.api#documentation": "

    The operator to apply to the Type with each of the\n Values.

    \n

    Valid values: = | != |\n < | <= |\n > | >= |\n contains | begins_with | ends_with\n

    " - } - }, "Values": { "target": "com.amazonaws.elasticbeanstalk#PlatformFilterValueList", "traits": { "smithy.api#documentation": "

    The list of values applied to the filtering platform version attribute. Only one value is supported\n for all current operators.

    \n

    The following list shows valid filter values for some filter attributes.

    \n
      \n
    • \n

      \n PlatformStatus: Creating | Failed |\n Ready | Deleting | Deleted\n

      \n
    • \n
    • \n

      \n PlatformLifecycleState: recommended\n

      \n
    • \n
    • \n

      \n SupportedTier: WebServer/Standard |\n Worker/SQS/HTTP\n

      \n
    • \n
    • \n

      \n SupportedAddon: Log/S3 | Monitoring/Healthd |\n WorkerDaemon/SQSD\n

      \n
    • \n
    " } + }, + "Operator": { + "target": "com.amazonaws.elasticbeanstalk#PlatformFilterOperator", + "traits": { + "smithy.api#documentation": "

    The operator to apply to the Type with each of the\n Values.

    \n

    Valid values: = | != |\n < | <= |\n > | >= |\n contains | begins_with | ends_with\n

    " + } } }, "traits": { @@ -4803,16 +4813,16 @@ "com.amazonaws.elasticbeanstalk#PlatformProgrammingLanguage": { "type": "structure", "members": { - "Version": { + "Name": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The version of the programming language.

    " + "smithy.api#documentation": "

    The name of the programming language.

    " } }, - "Name": { + "Version": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The name of the programming language.

    " + "smithy.api#documentation": "

    The version of the programming language.

    " } } }, @@ -4851,16 +4861,16 @@ "com.amazonaws.elasticbeanstalk#PlatformSummary": { "type": "structure", "members": { - "PlatformBranchLifecycleState": { - "target": "com.amazonaws.elasticbeanstalk#PlatformBranchLifecycleState", + "PlatformOwner": { + "target": "com.amazonaws.elasticbeanstalk#PlatformOwner", "traits": { - "smithy.api#documentation": "

    The state of the platform version's branch in its lifecycle.

    \n

    Possible values: beta | supported | deprecated |\n retired\n

    " + "smithy.api#documentation": "

    The AWS account ID of the person who created the platform version.

    " } }, - "PlatformCategory": { - "target": "com.amazonaws.elasticbeanstalk#PlatformCategory", + "PlatformBranchName": { + "target": "com.amazonaws.elasticbeanstalk#BranchName", "traits": { - "smithy.api#documentation": "

    The category of platform version.

    " + "smithy.api#documentation": "

    The platform branch to which the platform version belongs.

    " } }, "PlatformArn": { @@ -4869,34 +4879,34 @@ "smithy.api#documentation": "

    The ARN of the platform version.

    " } }, - "OperatingSystemName": { - "target": "com.amazonaws.elasticbeanstalk#OperatingSystemName", - "traits": { - "smithy.api#documentation": "

    The operating system used by the platform version.

    " - } - }, "PlatformStatus": { "target": "com.amazonaws.elasticbeanstalk#PlatformStatus", "traits": { "smithy.api#documentation": "

    The status of the platform version. You can create an environment from the platform\n version once it is ready.

    " } }, - "PlatformOwner": { - "target": "com.amazonaws.elasticbeanstalk#PlatformOwner", - "traits": { - "smithy.api#documentation": "

    The AWS account ID of the person who created the platform version.

    " - } - }, "PlatformVersion": { "target": "com.amazonaws.elasticbeanstalk#PlatformVersion", "traits": { "smithy.api#documentation": "

    The version string of the platform version.

    " } }, - "PlatformBranchName": { - "target": "com.amazonaws.elasticbeanstalk#BranchName", + "SupportedAddonList": { + "target": "com.amazonaws.elasticbeanstalk#SupportedAddonList", "traits": { - "smithy.api#documentation": "

    The platform branch to which the platform version belongs.

    " + "smithy.api#documentation": "

    The additions associated with the platform version.

    " + } + }, + "PlatformBranchLifecycleState": { + "target": "com.amazonaws.elasticbeanstalk#PlatformBranchLifecycleState", + "traits": { + "smithy.api#documentation": "

    The state of the platform version's branch in its lifecycle.

    \n

    Possible values: beta | supported | deprecated |\n retired\n

    " + } + }, + "OperatingSystemVersion": { + "target": "com.amazonaws.elasticbeanstalk#OperatingSystemVersion", + "traits": { + "smithy.api#documentation": "

    The version of the operating system used by the platform version.

    " } }, "PlatformLifecycleState": { @@ -4911,16 +4921,16 @@ "smithy.api#documentation": "

    The tiers in which the platform version runs.

    " } }, - "SupportedAddonList": { - "target": "com.amazonaws.elasticbeanstalk#SupportedAddonList", + "OperatingSystemName": { + "target": "com.amazonaws.elasticbeanstalk#OperatingSystemName", "traits": { - "smithy.api#documentation": "

    The additions associated with the platform version.

    " + "smithy.api#documentation": "

    The operating system used by the platform version.

    " } }, - "OperatingSystemVersion": { - "target": "com.amazonaws.elasticbeanstalk#OperatingSystemVersion", + "PlatformCategory": { + "target": "com.amazonaws.elasticbeanstalk#PlatformCategory", "traits": { - "smithy.api#documentation": "

    The version of the operating system used by the platform version.

    " + "smithy.api#documentation": "

    The category of platform version.

    " } } }, @@ -4956,16 +4966,16 @@ "com.amazonaws.elasticbeanstalk#Queue": { "type": "structure", "members": { - "Name": { + "URL": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The name of the queue.

    " + "smithy.api#documentation": "

    The URL of the queue.

    " } }, - "URL": { + "Name": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    The URL of the queue.

    " + "smithy.api#documentation": "

    The name of the queue.

    " } } }, @@ -4996,17 +5006,17 @@ "com.amazonaws.elasticbeanstalk#RebuildEnvironmentMessage": { "type": "structure", "members": { - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", - "traits": { - "smithy.api#documentation": "

    The name of the environment to rebuild.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " - } - }, "EnvironmentId": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { "smithy.api#documentation": "

    The ID of the environment to rebuild.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    The name of the environment to rebuild.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " + } } }, "traits": { @@ -5044,17 +5054,17 @@ "smithy.api#required": {} } }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", - "traits": { - "smithy.api#documentation": "

    The name of the environment of the requested data.

    \n

    If no such environment is found, RequestEnvironmentInfo returns an\n InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " - } - }, "EnvironmentId": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { "smithy.api#documentation": "

    The ID of the environment of the requested data.

    \n

    If no such environment is found, RequestEnvironmentInfo returns an\n InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    The name of the environment of the requested data.

    \n

    If no such environment is found, RequestEnvironmentInfo returns an\n InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " + } } }, "traits": { @@ -5112,10 +5122,10 @@ "com.amazonaws.elasticbeanstalk#ResourceQuotas": { "type": "structure", "members": { - "ConfigurationTemplateQuota": { + "ApplicationVersionQuota": { "target": "com.amazonaws.elasticbeanstalk#ResourceQuota", "traits": { - "smithy.api#documentation": "

    The quota for configuration templates in the AWS account.

    " + "smithy.api#documentation": "

    The quota for application versions in the AWS account.

    " } }, "ApplicationQuota": { @@ -5124,22 +5134,22 @@ "smithy.api#documentation": "

    The quota for applications in the AWS account.

    " } }, - "CustomPlatformQuota": { + "EnvironmentQuota": { "target": "com.amazonaws.elasticbeanstalk#ResourceQuota", "traits": { - "smithy.api#documentation": "

    The quota for custom platforms in the AWS account.

    " + "smithy.api#documentation": "

    The quota for environments in the AWS account.

    " } }, - "ApplicationVersionQuota": { + "CustomPlatformQuota": { "target": "com.amazonaws.elasticbeanstalk#ResourceQuota", "traits": { - "smithy.api#documentation": "

    The quota for application versions in the AWS account.

    " + "smithy.api#documentation": "

    The quota for custom platforms in the AWS account.

    " } }, - "EnvironmentQuota": { + "ConfigurationTemplateQuota": { "target": "com.amazonaws.elasticbeanstalk#ResourceQuota", "traits": { - "smithy.api#documentation": "

    The quota for environments in the AWS account.

    " + "smithy.api#documentation": "

    The quota for configuration templates in the AWS account.

    " } } }, @@ -5150,17 +5160,17 @@ "com.amazonaws.elasticbeanstalk#ResourceTagsDescriptionMessage": { "type": "structure", "members": { - "ResourceArn": { - "target": "com.amazonaws.elasticbeanstalk#ResourceArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource for which a tag list was requested.

    " - } - }, "ResourceTags": { "target": "com.amazonaws.elasticbeanstalk#TagList", "traits": { "smithy.api#documentation": "

    A list of tag key-value pairs.

    " } + }, + "ResourceArn": { + "target": "com.amazonaws.elasticbeanstalk#ResourceArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource for which a tag list was requested.

    " + } } } }, @@ -5224,11 +5234,10 @@ "com.amazonaws.elasticbeanstalk#RetrieveEnvironmentInfoMessage": { "type": "structure", "members": { - "InfoType": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentInfoType", + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { - "smithy.api#documentation": "

    The type of information to retrieve.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The ID of the data's environment.

    \n

    If no such environment is found, returns an InvalidParameterValue\n error.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter\n error.

    " } }, "EnvironmentName": { @@ -5237,10 +5246,11 @@ "smithy.api#documentation": "

    The name of the data's environment.

    \n

    If no such environment is found, returns an InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "InfoType": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentInfoType", "traits": { - "smithy.api#documentation": "

    The ID of the data's environment.

    \n

    If no such environment is found, returns an InvalidParameterValue\n error.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter\n error.

    " + "smithy.api#documentation": "

    The type of information to retrieve.

    ", + "smithy.api#required": {} } } }, @@ -5283,17 +5293,17 @@ "com.amazonaws.elasticbeanstalk#S3Location": { "type": "structure", "members": { - "S3Bucket": { - "target": "com.amazonaws.elasticbeanstalk#S3Bucket", - "traits": { - "smithy.api#documentation": "

    The Amazon S3 bucket where the data is located.

    " - } - }, "S3Key": { "target": "com.amazonaws.elasticbeanstalk#S3Key", "traits": { "smithy.api#documentation": "

    The Amazon S3 key where the data is located.

    " } + }, + "S3Bucket": { + "target": "com.amazonaws.elasticbeanstalk#S3Bucket", + "traits": { + "smithy.api#documentation": "

    The Amazon S3 bucket where the data is located.

    " + } } }, "traits": { @@ -5338,12 +5348,6 @@ "com.amazonaws.elasticbeanstalk#SearchFilter": { "type": "structure", "members": { - "Operator": { - "target": "com.amazonaws.elasticbeanstalk#SearchFilterOperator", - "traits": { - "smithy.api#documentation": "

    The operator to apply to the Attribute with each of the Values.\n Valid values vary by Attribute.

    " - } - }, "Attribute": { "target": "com.amazonaws.elasticbeanstalk#SearchFilterAttribute", "traits": { @@ -5355,6 +5359,12 @@ "traits": { "smithy.api#documentation": "

    The list of values applied to the Attribute and Operator\n attributes. Number of values and valid values vary by Attribute.

    " } + }, + "Operator": { + "target": "com.amazonaws.elasticbeanstalk#SearchFilterOperator", + "traits": { + "smithy.api#documentation": "

    The operator to apply to the Attribute with each of the Values.\n Valid values vary by Attribute.

    " + } } }, "traits": { @@ -5385,28 +5395,28 @@ "com.amazonaws.elasticbeanstalk#SingleInstanceHealth": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.elasticbeanstalk#InstanceId", + "ApplicationMetrics": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationMetrics", "traits": { - "smithy.api#documentation": "

    The ID of the Amazon EC2 instance.

    " + "smithy.api#documentation": "

    Request metrics from your application.

    " } }, - "InstanceType": { - "target": "com.amazonaws.elasticbeanstalk#String", + "System": { + "target": "com.amazonaws.elasticbeanstalk#SystemStatus", "traits": { - "smithy.api#documentation": "

    The instance's type.

    " + "smithy.api#documentation": "

    Operating system metrics from the instance.

    " } }, - "Deployment": { - "target": "com.amazonaws.elasticbeanstalk#Deployment", + "Causes": { + "target": "com.amazonaws.elasticbeanstalk#Causes", "traits": { - "smithy.api#documentation": "

    Information about the most recent deployment to an instance.

    " + "smithy.api#documentation": "

    Represents the causes, which provide more information about the current health\n status.

    " } }, - "System": { - "target": "com.amazonaws.elasticbeanstalk#SystemStatus", + "InstanceId": { + "target": "com.amazonaws.elasticbeanstalk#InstanceId", "traits": { - "smithy.api#documentation": "

    Operating system metrics from the instance.

    " + "smithy.api#documentation": "

    The ID of the Amazon EC2 instance.

    " } }, "LaunchedAt": { @@ -5415,10 +5425,16 @@ "smithy.api#documentation": "

    The time at which the EC2 instance was launched.

    " } }, - "Color": { + "Deployment": { + "target": "com.amazonaws.elasticbeanstalk#Deployment", + "traits": { + "smithy.api#documentation": "

    Information about the most recent deployment to an instance.

    " + } + }, + "InstanceType": { "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    Represents the color indicator that gives you information about the health of the EC2\n instance. For more information, see Health Colors and\n Statuses.

    " + "smithy.api#documentation": "

    The instance's type.

    " } }, "HealthStatus": { @@ -5433,16 +5449,10 @@ "smithy.api#documentation": "

    The availability zone in which the instance runs.

    " } }, - "ApplicationMetrics": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationMetrics", - "traits": { - "smithy.api#documentation": "

    Request metrics from your application.

    " - } - }, - "Causes": { - "target": "com.amazonaws.elasticbeanstalk#Causes", + "Color": { + "target": "com.amazonaws.elasticbeanstalk#String", "traits": { - "smithy.api#documentation": "

    Represents the causes, which provide more information about the current health\n status.

    " + "smithy.api#documentation": "

    Represents the color indicator that gives you information about the health of the EC2\n instance. For more information, see Health Colors and\n Statuses.

    " } } }, @@ -5453,17 +5463,17 @@ "com.amazonaws.elasticbeanstalk#SolutionStackDescription": { "type": "structure", "members": { - "SolutionStackName": { - "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", - "traits": { - "smithy.api#documentation": "

    The name of the solution stack.

    " - } - }, "PermittedFileTypes": { "target": "com.amazonaws.elasticbeanstalk#SolutionStackFileTypeList", "traits": { "smithy.api#documentation": "

    The permitted file types allowed for a solution stack.

    " } + }, + "SolutionStackName": { + "target": "com.amazonaws.elasticbeanstalk#SolutionStackName", + "traits": { + "smithy.api#documentation": "

    The name of the solution stack.

    " + } } }, "traits": { @@ -5482,6 +5492,13 @@ "com.amazonaws.elasticbeanstalk#SourceBuildInformation": { "type": "structure", "members": { + "SourceType": { + "target": "com.amazonaws.elasticbeanstalk#SourceType", + "traits": { + "smithy.api#documentation": "

    The type of repository.

    \n
      \n
    • \n\t

      \n Git\n

      \n
    • \n
    • \n\t

      \n Zip\n

      \n
    • \n
    ", + "smithy.api#required": {} + } + }, "SourceLocation": { "target": "com.amazonaws.elasticbeanstalk#SourceLocation", "traits": { @@ -5495,13 +5512,6 @@ "smithy.api#documentation": "

    Location where the repository is stored.

    \n
      \n
    • \n\t

      \n CodeCommit\n

      \n
    • \n
    • \n\t

      \n S3\n

      \n
    • \n
    ", "smithy.api#required": {} } - }, - "SourceType": { - "target": "com.amazonaws.elasticbeanstalk#SourceType", - "traits": { - "smithy.api#documentation": "

    The type of repository.

    \n
      \n
    • \n\t

      \n Git\n

      \n
    • \n
    • \n\t

      \n Zip\n

      \n
    • \n
    ", - "smithy.api#required": {} - } } }, "traits": { @@ -5527,17 +5537,17 @@ "com.amazonaws.elasticbeanstalk#SourceConfiguration": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", - "traits": { - "smithy.api#documentation": "

    The name of the application associated with the configuration.

    " - } - }, "TemplateName": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { "smithy.api#documentation": "

    The name of the configuration template.

    " } + }, + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "traits": { + "smithy.api#documentation": "

    The name of the application associated with the configuration.

    " + } } }, "traits": { @@ -5583,12 +5593,6 @@ "com.amazonaws.elasticbeanstalk#StatusCodes": { "type": "structure", "members": { - "Status3xx": { - "target": "com.amazonaws.elasticbeanstalk#NullableInteger", - "traits": { - "smithy.api#documentation": "

    The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301,\n etc.) status code.

    " - } - }, "Status4xx": { "target": "com.amazonaws.elasticbeanstalk#NullableInteger", "traits": { @@ -5606,6 +5610,12 @@ "traits": { "smithy.api#documentation": "

    The percentage of requests over the last 10 seconds that resulted in a 2xx (200, 201,\n etc.) status code.

    " } + }, + "Status3xx": { + "target": "com.amazonaws.elasticbeanstalk#NullableInteger", + "traits": { + "smithy.api#documentation": "

    The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301,\n etc.) status code.

    " + } } }, "traits": { @@ -5645,16 +5655,16 @@ "com.amazonaws.elasticbeanstalk#SwapEnvironmentCNAMEsMessage": { "type": "structure", "members": { - "SourceEnvironmentName": { + "DestinationEnvironmentName": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The name of the source environment.

    \n

    Condition: You must specify at least the SourceEnvironmentID or the\n SourceEnvironmentName. You may also specify both. If you specify the\n SourceEnvironmentName, you must specify the\n DestinationEnvironmentName.

    " + "smithy.api#documentation": "

    The name of the destination environment.

    \n

    Condition: You must specify at least the DestinationEnvironmentID or the\n DestinationEnvironmentName. You may also specify both. You must specify the\n SourceEnvironmentName with the DestinationEnvironmentName.\n

    " } }, - "DestinationEnvironmentName": { + "SourceEnvironmentName": { "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", "traits": { - "smithy.api#documentation": "

    The name of the destination environment.

    \n

    Condition: You must specify at least the DestinationEnvironmentID or the\n DestinationEnvironmentName. You may also specify both. You must specify the\n SourceEnvironmentName with the DestinationEnvironmentName.\n

    " + "smithy.api#documentation": "

    The name of the source environment.

    \n

    Condition: You must specify at least the SourceEnvironmentID or the\n SourceEnvironmentName. You may also specify both. If you specify the\n SourceEnvironmentName, you must specify the\n DestinationEnvironmentName.

    " } }, "DestinationEnvironmentId": { @@ -5697,17 +5707,17 @@ "com.amazonaws.elasticbeanstalk#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.elasticbeanstalk#TagValue", - "traits": { - "smithy.api#documentation": "

    The value of the tag.

    " - } - }, "Key": { "target": "com.amazonaws.elasticbeanstalk#TagKey", "traits": { "smithy.api#documentation": "

    The key of the tag.

    " } + }, + "Value": { + "target": "com.amazonaws.elasticbeanstalk#TagValue", + "traits": { + "smithy.api#documentation": "

    The value of the tag.

    " + } } }, "traits": { @@ -5776,16 +5786,16 @@ "com.amazonaws.elasticbeanstalk#TerminateEnvironmentMessage": { "type": "structure", "members": { - "ForceTerminate": { - "target": "com.amazonaws.elasticbeanstalk#ForceTerminate", + "TerminateResources": { + "target": "com.amazonaws.elasticbeanstalk#TerminateEnvironmentResources", "traits": { - "smithy.api#documentation": "

    Terminates the target environment even if another environment in the same group is\n dependent on it.

    " + "smithy.api#documentation": "

    Indicates whether the associated AWS resources should shut down when the environment is\n terminated:

    \n
      \n
    • \n

      \n true: The specified environment as well as the associated AWS resources, such\n as Auto Scaling group and LoadBalancer, are terminated.

      \n
    • \n
    • \n

      \n false: AWS Elastic Beanstalk resource management is removed from the\n environment, but the AWS resources continue to operate.

      \n
    • \n
    \n

    For more information, see the AWS Elastic Beanstalk User Guide. \n

    \n

    Default: true\n

    \n

    Valid Values: true | false\n

    " } }, - "EnvironmentId": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", + "ForceTerminate": { + "target": "com.amazonaws.elasticbeanstalk#ForceTerminate", "traits": { - "smithy.api#documentation": "

    The ID of the environment to terminate.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " + "smithy.api#documentation": "

    Terminates the target environment even if another environment in the same group is\n dependent on it.

    " } }, "EnvironmentName": { @@ -5794,10 +5804,10 @@ "smithy.api#documentation": "

    The name of the environment to terminate.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } }, - "TerminateResources": { - "target": "com.amazonaws.elasticbeanstalk#TerminateEnvironmentResources", + "EnvironmentId": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentId", "traits": { - "smithy.api#documentation": "

    Indicates whether the associated AWS resources should shut down when the environment is\n terminated:

    \n
      \n
    • \n

      \n true: The specified environment as well as the associated AWS resources, such\n as Auto Scaling group and LoadBalancer, are terminated.

      \n
    • \n
    • \n

      \n false: AWS Elastic Beanstalk resource management is removed from the\n environment, but the AWS resources continue to operate.

      \n
    • \n
    \n

    For more information, see the AWS Elastic Beanstalk User Guide. \n

    \n

    Default: true\n

    \n

    Valid Values: true | false\n

    " + "smithy.api#documentation": "

    The ID of the environment to terminate.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } } }, @@ -5969,18 +5979,18 @@ "com.amazonaws.elasticbeanstalk#UpdateApplicationMessage": { "type": "structure", "members": { + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", + "traits": { + "smithy.api#documentation": "

    A new description for the application.

    \n

    Default: If not specified, AWS Elastic Beanstalk does not update the\n description.

    " + } + }, "ApplicationName": { "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { "smithy.api#documentation": "

    The name of the application to update. If no such application is found,\n UpdateApplication returns an InvalidParameterValue error.\n

    ", "smithy.api#required": {} } - }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", - "traits": { - "smithy.api#documentation": "

    A new description for the application.

    \n

    Default: If not specified, AWS Elastic Beanstalk does not update the\n description.

    " - } } }, "traits": { @@ -6007,17 +6017,17 @@ "com.amazonaws.elasticbeanstalk#UpdateApplicationResourceLifecycleMessage": { "type": "structure", "members": { - "ResourceLifecycleConfig": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig", + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", "traits": { - "smithy.api#documentation": "

    The lifecycle configuration.

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

    The name of the application.

    ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "ResourceLifecycleConfig": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationResourceLifecycleConfig", "traits": { - "smithy.api#documentation": "

    The name of the application.

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

    The lifecycle configuration.

    ", "smithy.api#required": {} } } @@ -6038,12 +6048,6 @@ "com.amazonaws.elasticbeanstalk#UpdateApplicationVersionMessage": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", - "traits": { - "smithy.api#documentation": "

    A new description for this version.

    " - } - }, "VersionLabel": { "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { @@ -6057,6 +6061,12 @@ "smithy.api#documentation": "

    The name of the application associated with this version.

    \n

    If no application is found with this name, UpdateApplication returns an\n InvalidParameterValue error.

    ", "smithy.api#required": {} } + }, + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", + "traits": { + "smithy.api#documentation": "

    A new description for this version.

    " + } } }, "traits": { @@ -6086,13 +6096,6 @@ "com.amazonaws.elasticbeanstalk#UpdateConfigurationTemplateMessage": { "type": "structure", "members": { - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", - "traits": { - "smithy.api#documentation": "

    The name of the application associated with the configuration template to\n update.

    \n

    If no application is found with this name, UpdateConfigurationTemplate\n returns an InvalidParameterValue error.

    ", - "smithy.api#required": {} - } - }, "TemplateName": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { @@ -6106,17 +6109,24 @@ "smithy.api#documentation": "

    A list of configuration option settings to update with the new specified option\n value.

    " } }, - "OptionsToRemove": { - "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", - "traits": { - "smithy.api#documentation": "

    A list of configuration options to remove from the configuration set.

    \n

    Constraint: You can remove only UserDefined configuration options.\n

    " - } - }, "Description": { "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { "smithy.api#documentation": "

    A new description for the configuration.

    " } + }, + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "traits": { + "smithy.api#documentation": "

    The name of the application associated with the configuration template to\n update.

    \n

    If no application is found with this name, UpdateConfigurationTemplate\n returns an InvalidParameterValue error.

    ", + "smithy.api#required": {} + } + }, + "OptionsToRemove": { + "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", + "traits": { + "smithy.api#documentation": "

    A list of configuration options to remove from the configuration set.

    \n

    Constraint: You can remove only UserDefined configuration options.\n

    " + } } }, "traits": { @@ -6149,16 +6159,16 @@ "com.amazonaws.elasticbeanstalk#UpdateEnvironmentMessage": { "type": "structure", "members": { - "OptionsToRemove": { - "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", + "GroupName": { + "target": "com.amazonaws.elasticbeanstalk#GroupName", "traits": { - "smithy.api#documentation": "

    A list of custom user-defined configuration options to remove from the configuration\n set for this environment.

    " + "smithy.api#documentation": "

    The name of the group to which the target environment belongs. Specify a group name\n only if the environment's name is specified in an environment manifest and not with the\n environment name or environment ID parameters. See Environment Manifest\n (env.yaml) for details.

    " } }, - "TemplateName": { - "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", + "VersionLabel": { + "target": "com.amazonaws.elasticbeanstalk#VersionLabel", "traits": { - "smithy.api#documentation": "

    If this parameter is specified, AWS Elastic Beanstalk deploys this configuration\n template to the environment. If no such configuration template is found, AWS Elastic Beanstalk\n returns an InvalidParameterValue error.

    " + "smithy.api#documentation": "

    If this parameter is specified, AWS Elastic Beanstalk deploys the named application\n version to the environment. If no such application version is found, returns an\n InvalidParameterValue error.

    " } }, "SolutionStackName": { @@ -6167,10 +6177,16 @@ "smithy.api#documentation": "

    This specifies the platform version that the environment will run after the environment\n is updated.

    " } }, - "GroupName": { - "target": "com.amazonaws.elasticbeanstalk#GroupName", + "Description": { + "target": "com.amazonaws.elasticbeanstalk#Description", "traits": { - "smithy.api#documentation": "

    The name of the group to which the target environment belongs. Specify a group name\n only if the environment's name is specified in an environment manifest and not with the\n environment name or environment ID parameters. See Environment Manifest\n (env.yaml) for details.

    " + "smithy.api#documentation": "

    If this parameter is specified, AWS Elastic Beanstalk updates the description of this\n environment.

    " + } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    The name of the environment to update. If no environment with this name exists, AWS\n Elastic Beanstalk returns an InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } }, "EnvironmentId": { @@ -6179,16 +6195,16 @@ "smithy.api#documentation": "

    The ID of the environment to update.

    \n

    If no environment with this ID exists, AWS Elastic Beanstalk returns an\n InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentName, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " } }, - "PlatformArn": { - "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "Tier": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentTier", "traits": { - "smithy.api#documentation": "

    The ARN of the platform, if used.

    " + "smithy.api#documentation": "

    This specifies the tier to use to update the environment.

    \n

    Condition: At this time, if you change the tier version, name, or type, AWS Elastic\n Beanstalk returns InvalidParameterValue error.

    " } }, - "Description": { - "target": "com.amazonaws.elasticbeanstalk#Description", + "OptionsToRemove": { + "target": "com.amazonaws.elasticbeanstalk#OptionsSpecifierList", "traits": { - "smithy.api#documentation": "

    If this parameter is specified, AWS Elastic Beanstalk updates the description of this\n environment.

    " + "smithy.api#documentation": "

    A list of custom user-defined configuration options to remove from the configuration\n set for this environment.

    " } }, "ApplicationName": { @@ -6197,28 +6213,22 @@ "smithy.api#documentation": "

    The name of the application with which the environment is associated.

    " } }, - "Tier": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentTier", - "traits": { - "smithy.api#documentation": "

    This specifies the tier to use to update the environment.

    \n

    Condition: At this time, if you change the tier version, name, or type, AWS Elastic\n Beanstalk returns InvalidParameterValue error.

    " - } - }, - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", - "traits": { - "smithy.api#documentation": "

    The name of the environment to update. If no environment with this name exists, AWS\n Elastic Beanstalk returns an InvalidParameterValue error.

    \n

    Condition: You must specify either this or an EnvironmentId, or both. If you do not\n specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.\n

    " - } - }, "OptionSettings": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationOptionSettingsList", "traits": { "smithy.api#documentation": "

    If specified, AWS Elastic Beanstalk updates the configuration set associated with the\n running environment and sets the specified configuration options to the requested\n value.

    " } }, - "VersionLabel": { - "target": "com.amazonaws.elasticbeanstalk#VersionLabel", + "TemplateName": { + "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { - "smithy.api#documentation": "

    If this parameter is specified, AWS Elastic Beanstalk deploys the named application\n version to the environment. If no such application version is found, returns an\n InvalidParameterValue error.

    " + "smithy.api#documentation": "

    If this parameter is specified, AWS Elastic Beanstalk deploys this configuration\n template to the environment. If no such configuration template is found, AWS Elastic Beanstalk\n returns an InvalidParameterValue error.

    " + } + }, + "PlatformArn": { + "target": "com.amazonaws.elasticbeanstalk#PlatformArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the platform, if used.

    " } } }, @@ -6255,6 +6265,13 @@ "com.amazonaws.elasticbeanstalk#UpdateTagsForResourceMessage": { "type": "structure", "members": { + "ResourceArn": { + "target": "com.amazonaws.elasticbeanstalk#ResourceArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resouce to be updated.

    \n

    Must be the ARN of an Elastic Beanstalk resource.

    ", + "smithy.api#required": {} + } + }, "TagsToRemove": { "target": "com.amazonaws.elasticbeanstalk#TagKeyList", "traits": { @@ -6266,13 +6283,6 @@ "traits": { "smithy.api#documentation": "

    A list of tags to add or update. If a key of an existing tag is added, the tag's value is\n updated.

    \n

    Specify at least one of these parameters: TagsToAdd,\n TagsToRemove.

    " } - }, - "ResourceArn": { - "target": "com.amazonaws.elasticbeanstalk#ResourceArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resouce to be updated.

    \n

    Must be the ARN of an Elastic Beanstalk resource.

    ", - "smithy.api#required": {} - } } } }, @@ -6305,19 +6315,6 @@ "com.amazonaws.elasticbeanstalk#ValidateConfigurationSettingsMessage": { "type": "structure", "members": { - "EnvironmentName": { - "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", - "traits": { - "smithy.api#documentation": "

    The name of the environment to validate the settings against.

    \n

    Condition: You cannot specify both this and a configuration template name.

    " - } - }, - "ApplicationName": { - "target": "com.amazonaws.elasticbeanstalk#ApplicationName", - "traits": { - "smithy.api#documentation": "

    The name of the application that the configuration template or environment belongs\n to.

    ", - "smithy.api#required": {} - } - }, "TemplateName": { "target": "com.amazonaws.elasticbeanstalk#ConfigurationTemplateName", "traits": { @@ -6330,6 +6327,19 @@ "smithy.api#documentation": "

    A list of the options and desired values to evaluate.

    ", "smithy.api#required": {} } + }, + "ApplicationName": { + "target": "com.amazonaws.elasticbeanstalk#ApplicationName", + "traits": { + "smithy.api#documentation": "

    The name of the application that the configuration template or environment belongs\n to.

    ", + "smithy.api#required": {} + } + }, + "EnvironmentName": { + "target": "com.amazonaws.elasticbeanstalk#EnvironmentName", + "traits": { + "smithy.api#documentation": "

    The name of the environment to validate the settings against.

    \n

    Condition: You cannot specify both this and a configuration template name.

    " + } } }, "traits": { @@ -6345,10 +6355,10 @@ "smithy.api#documentation": "

    A message describing the error or warning.

    " } }, - "Severity": { - "target": "com.amazonaws.elasticbeanstalk#ValidationSeverity", + "Namespace": { + "target": "com.amazonaws.elasticbeanstalk#OptionNamespace", "traits": { - "smithy.api#documentation": "

    An indication of the severity of this message:

    \n
      \n
    • \n

      \n error: This message indicates that this is not a valid setting for an\n option.

      \n
    • \n
    • \n

      \n warning: This message is providing information you should take into\n account.

      \n
    • \n
    " + "smithy.api#documentation": "

    The namespace to which the option belongs.

    " } }, "OptionName": { @@ -6357,10 +6367,10 @@ "smithy.api#documentation": "

    The name of the option.

    " } }, - "Namespace": { - "target": "com.amazonaws.elasticbeanstalk#OptionNamespace", + "Severity": { + "target": "com.amazonaws.elasticbeanstalk#ValidationSeverity", "traits": { - "smithy.api#documentation": "

    The namespace to which the option belongs.

    " + "smithy.api#documentation": "

    An indication of the severity of this message:

    \n
      \n
    • \n

      \n error: This message indicates that this is not a valid setting for an\n option.

      \n
    • \n
    • \n

      \n warning: This message is providing information you should take into\n account.

      \n
    • \n
    " } } }, diff --git a/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json b/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json index 82bf1b7be72e9..ebad16438ed20 100644 --- a/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json +++ b/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json @@ -4214,7 +4214,7 @@ "OfferingType": { "target": "com.amazonaws.elasticache#String", "traits": { - "smithy.api#documentation": "

    The offering type filter value. \n Use this parameter to show only the available offerings matching the specified offering type.

    \n

    Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\"\n

    " + "smithy.api#documentation": "

    The offering type filter value. \n Use this parameter to show only the available offerings matching the specified offering type.

    \n

    Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\" |\"All Upfront\"|\"Partial Upfront\"| \"No Upfront\"\n

    " } }, "MaxRecords": { diff --git a/codegen/sdk-codegen/aws-models/emr.2009-03-31.json b/codegen/sdk-codegen/aws-models/emr.2009-03-31.json index 1a47bb9b1b267..64b2b05ffb149 100644 --- a/codegen/sdk-codegen/aws-models/emr.2009-03-31.json +++ b/codegen/sdk-codegen/aws-models/emr.2009-03-31.json @@ -69,7 +69,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Adds an instance fleet to a running cluster.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

    \n
    " + "smithy.api#documentation": "

    Adds an instance fleet to a running cluster.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x.

    \n
    " } }, "com.amazonaws.emr#AddInstanceFleetInput": { @@ -94,12 +94,6 @@ "com.amazonaws.emr#AddInstanceFleetOutput": { "type": "structure", "members": { - "ClusterArn": { - "target": "com.amazonaws.emr#ArnType", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " - } - }, "ClusterId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { @@ -111,6 +105,12 @@ "traits": { "smithy.api#documentation": "

    The unique identifier of the instance fleet.

    " } + }, + "ClusterArn": { + "target": "com.amazonaws.emr#ArnType", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " + } } } }, @@ -134,17 +134,17 @@ "com.amazonaws.emr#AddInstanceGroupsInput": { "type": "structure", "members": { - "JobFlowId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "InstanceGroups": { + "target": "com.amazonaws.emr#InstanceGroupConfigList", "traits": { - "smithy.api#documentation": "

    Job flow in which to add the instance groups.

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

    Instance groups to add.

    ", "smithy.api#required": {} } }, - "InstanceGroups": { - "target": "com.amazonaws.emr#InstanceGroupConfigList", + "JobFlowId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Instance groups to add.

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

    Job flow in which to add the instance groups.

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

    AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

    \n

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

    \n

    A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

    \n

    Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

    \n

    You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

    " + "smithy.api#documentation": "

    AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed\n in each job flow.

    \n

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may\n require more than 256 steps to process your data. You can bypass the 256-step limitation in\n various ways, including using SSH to connect to the master node and submitting queries\n directly to the software running on the master node, such as Hive and Hadoop. For more\n information on how to do this, see Add More than 256 Steps to a\n Cluster in the Amazon EMR Management Guide.

    \n

    A step specifies the location of a JAR file stored either on the master node of the\n cluster or in Amazon S3. Each step is performed by the main function of the main class of\n the JAR file. The main class can be specified either in the manifest of the JAR or by using\n the MainFunction parameter of the step.

    \n

    Amazon EMR executes each step in the order listed. For a step to be considered complete,\n the main function must exit with a zero exit code and all Hadoop jobs started while the\n step was running must have completed and run successfully.

    \n

    You can only add steps to a cluster that is in one of the following states: STARTING,\n BOOTSTRAPPING, RUNNING, or WAITING.

    " } }, "com.amazonaws.emr#AddJobFlowStepsInput": { @@ -202,7 +202,7 @@ "JobFlowId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    A string that uniquely identifies the job flow. This identifier is returned by\n RunJobFlow and can also be obtained from ListClusters.

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

    A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters.\n

    ", "smithy.api#required": {} } }, @@ -249,23 +249,23 @@ } ], "traits": { - "smithy.api#documentation": "

    Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. \n For more information, see Tag Clusters. \n

    " + "smithy.api#documentation": "

    Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in\n various ways, such as grouping clusters to track your Amazon EMR resource allocation costs.\n For more information, see Tag Clusters.

    " } }, "com.amazonaws.emr#AddTagsInput": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.emr#TagList", + "ResourceId": { + "target": "com.amazonaws.emr#ResourceId", "traits": { - "smithy.api#documentation": "

    A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

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

    The Amazon EMR resource identifier to which tags will be added. This value must be a\n cluster identifier.

    ", "smithy.api#required": {} } }, - "ResourceId": { - "target": "com.amazonaws.emr#ResourceId", + "Tags": { + "target": "com.amazonaws.emr#TagList", "traits": { - "smithy.api#documentation": "

    The Amazon EMR resource identifier to which tags will be added. This value must be a cluster identifier.

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

    A list of tags to associate with a cluster and propagate to EC2 instances. Tags are\n user-defined key-value pairs that consist of a required key string with a maximum of 128\n characters, and an optional value string with a maximum of 256 characters.

    ", "smithy.api#required": {} } } @@ -303,10 +303,10 @@ "com.amazonaws.emr#Application": { "type": "structure", "members": { - "AdditionalInfo": { - "target": "com.amazonaws.emr#StringMap", + "Name": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.

    " + "smithy.api#documentation": "

    The name of the application.

    " } }, "Version": { @@ -315,21 +315,21 @@ "smithy.api#documentation": "

    The version of the application.

    " } }, - "Name": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    The name of the application.

    " - } - }, "Args": { "target": "com.amazonaws.emr#StringList", "traits": { "smithy.api#documentation": "

    Arguments for Amazon EMR to pass to the application.

    " } + }, + "AdditionalInfo": { + "target": "com.amazonaws.emr#StringMap", + "traits": { + "smithy.api#documentation": "

    This option is for advanced users only. This is meta information about third-party\n applications that third-party vendors use for testing purposes.

    " + } } }, "traits": { - "smithy.api#documentation": "

    With Amazon EMR release version 4.0 and later, the only accepted parameter is the application name. To pass arguments to applications, you use configuration classifications specified using configuration JSON objects. For more information, see Configuring Applications.

    \n

    With earlier Amazon EMR releases, the application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument.

    " + "smithy.api#documentation": "

    With Amazon EMR release version 4.0 and later, the only accepted parameter is the\n application name. To pass arguments to applications, you use configuration classifications\n specified using configuration JSON objects. For more information, see Configuring\n Applications.

    \n

    With earlier Amazon EMR releases, the application is any Amazon or third-party software\n that you can add to the cluster. This structure contains a list of strings that indicates\n the software to use with the cluster and accepts a user argument list. Amazon EMR accepts\n and forwards the argument list to the corresponding installation script as bootstrap action\n argument.

    " } }, "com.amazonaws.emr#ApplicationList": { @@ -347,43 +347,58 @@ } } }, + "com.amazonaws.emr#AuthMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SSO", + "name": "SSO" + }, + { + "value": "IAM", + "name": "IAM" + } + ] + } + }, "com.amazonaws.emr#AutoScalingPolicy": { "type": "structure", "members": { - "Rules": { - "target": "com.amazonaws.emr#ScalingRuleList", + "Constraints": { + "target": "com.amazonaws.emr#ScalingConstraints", "traits": { - "smithy.api#documentation": "

    The scale-in and scale-out rules that comprise the automatic scaling policy.

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

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic\n scaling activity will not cause an instance group to grow above or below these\n limits.

    ", "smithy.api#required": {} } }, - "Constraints": { - "target": "com.amazonaws.emr#ScalingConstraints", + "Rules": { + "target": "com.amazonaws.emr#ScalingRuleList", "traits": { - "smithy.api#documentation": "

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

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

    The scale-in and scale-out rules that comprise the automatic scaling policy.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    " + "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an\n Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically\n adds and terminates EC2 instances in response to the value of a CloudWatch metric. See\n PutAutoScalingPolicy.

    " } }, "com.amazonaws.emr#AutoScalingPolicyDescription": { "type": "structure", "members": { - "Constraints": { - "target": "com.amazonaws.emr#ScalingConstraints", - "traits": { - "smithy.api#documentation": "

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

    " - } - }, "Status": { "target": "com.amazonaws.emr#AutoScalingPolicyStatus", "traits": { "smithy.api#documentation": "

    The status of an automatic scaling policy.

    " } }, + "Constraints": { + "target": "com.amazonaws.emr#ScalingConstraints", + "traits": { + "smithy.api#documentation": "

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic\n scaling activity will not cause an instance group to grow above or below these\n limits.

    " + } + }, "Rules": { "target": "com.amazonaws.emr#ScalingRuleList", "traits": { @@ -392,7 +407,7 @@ } }, "traits": { - "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    " + "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an\n Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically\n adds and terminates EC2 instances in response to the value of a CloudWatch metric. See\n PutAutoScalingPolicy.

    " } }, "com.amazonaws.emr#AutoScalingPolicyState": { @@ -429,16 +444,16 @@ "com.amazonaws.emr#AutoScalingPolicyStateChangeReason": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.emr#String", + "Code": { + "target": "com.amazonaws.emr#AutoScalingPolicyStateChangeReasonCode", "traits": { - "smithy.api#documentation": "

    A friendly, more verbose message that accompanies an automatic scaling policy state change.

    " + "smithy.api#documentation": "

    The code indicating the reason for the change in status.USER_REQUEST\n indicates that the scaling policy status was changed by a user.\n PROVISION_FAILURE indicates that the status change was because the policy\n failed to provision. CLEANUP_FAILURE indicates an error.

    " } }, - "Code": { - "target": "com.amazonaws.emr#AutoScalingPolicyStateChangeReasonCode", + "Message": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

    " + "smithy.api#documentation": "

    A friendly, more verbose message that accompanies an automatic scaling policy state\n change.

    " } } }, @@ -468,49 +483,37 @@ "com.amazonaws.emr#AutoScalingPolicyStatus": { "type": "structure", "members": { - "StateChangeReason": { - "target": "com.amazonaws.emr#AutoScalingPolicyStateChangeReason", - "traits": { - "smithy.api#documentation": "

    The reason for a change in status.

    " - } - }, "State": { "target": "com.amazonaws.emr#AutoScalingPolicyState", "traits": { "smithy.api#documentation": "

    Indicates the status of the automatic scaling policy.

    " } + }, + "StateChangeReason": { + "target": "com.amazonaws.emr#AutoScalingPolicyStateChangeReason", + "traits": { + "smithy.api#documentation": "

    The reason for a change in status.

    " + } } }, "traits": { - "smithy.api#documentation": "

    The status of an automatic scaling policy.

    " + "smithy.api#documentation": "

    The status of an automatic scaling policy.\n

    " } }, "com.amazonaws.emr#BlockPublicAccessConfiguration": { "type": "structure", "members": { - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", - "traits": { - "smithy.api#documentation": "

    A list of additional configurations to apply within a configuration object.

    " - } - }, "BlockPublicSecurityGroupRules": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether EMR block public access is enabled (true) or disabled (false). By default, the value is false for accounts that have created EMR clusters before July 2019. For accounts created after this, the default is true.

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

    Indicates whether Amazon EMR block public access is enabled (true) or\n disabled (false). By default, the value is false for accounts\n that have created EMR clusters before July 2019. For accounts created after this, the\n default is true.

    ", "smithy.api#required": {} } }, - "Properties": { - "target": "com.amazonaws.emr#StringMap", - "traits": { - "smithy.api#documentation": "

    A set of properties specified within a configuration classification.

    " - } - }, "PermittedPublicSecurityGroupRuleRanges": { "target": "com.amazonaws.emr#PortRanges", "traits": { - "smithy.api#documentation": "

    Specifies ports and port ranges that are permitted to have security group rules that allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows cluster creation if a security group associated with the cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source.

    \n

    By default, Port 22, which is used for SSH access to the cluster EC2 instances, is in the list of PermittedPublicSecurityGroupRuleRanges.

    " + "smithy.api#documentation": "

    Specifies ports and port ranges that are permitted to have security group rules that\n allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is\n specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows\n cluster creation if a security group associated with the cluster has a rule that allows\n inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source.

    \n

    By default, Port 22, which is used for SSH access to the cluster EC2 instances, is in\n the list of PermittedPublicSecurityGroupRuleRanges.

    " } }, "Classification": { @@ -518,32 +521,44 @@ "traits": { "smithy.api#documentation": "

    The classification within a configuration.

    " } + }, + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", + "traits": { + "smithy.api#documentation": "

    A list of additional configurations to apply within a configuration object.

    " + } + }, + "Properties": { + "target": "com.amazonaws.emr#StringMap", + "traits": { + "smithy.api#documentation": "

    A set of properties specified within a configuration classification.

    " + } } }, "traits": { - "smithy.api#documentation": "

    A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules is set to true, Amazon EMR prevents cluster creation if one of the cluster's security groups has a rule that allows inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges.

    " + "smithy.api#documentation": "

    A configuration for Amazon EMR block public access. When\n BlockPublicSecurityGroupRules is set to true, Amazon EMR\n prevents cluster creation if one of the cluster's security groups has a rule that allows\n inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an\n exception using PermittedPublicSecurityGroupRuleRanges.

    " } }, "com.amazonaws.emr#BlockPublicAccessConfigurationMetadata": { "type": "structure", "members": { - "CreatedByArn": { - "target": "com.amazonaws.emr#ArnType", + "CreationDateTime": { + "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name that created or last modified the configuration.

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

    The date and time that the configuration was created.

    ", "smithy.api#required": {} } }, - "CreationDateTime": { - "target": "com.amazonaws.emr#Date", + "CreatedByArn": { + "target": "com.amazonaws.emr#ArnType", "traits": { - "smithy.api#documentation": "

    The date and time that the configuration was created.

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

    The Amazon Resource Name that created or last modified the configuration.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Properties that describe the AWS principal that created the BlockPublicAccessConfiguration using the PutBlockPublicAccessConfiguration action as well as the date and time that the configuration was created. Each time a configuration for block public access is updated, Amazon EMR updates this metadata.

    " + "smithy.api#documentation": "

    Properties that describe the AWS principal that created the\n BlockPublicAccessConfiguration using the\n PutBlockPublicAccessConfiguration action as well as the date and time that\n the configuration was created. Each time a configuration for block public access is\n updated, Amazon EMR updates this metadata.

    " } }, "com.amazonaws.emr#Boolean": { @@ -620,24 +635,24 @@ } ], "traits": { - "smithy.api#documentation": "

    Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

    " + "smithy.api#documentation": "

    Cancels a pending step or steps in a running cluster. Available only in Amazon EMR\n versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in\n each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee\n that a step will be canceled, even if the request is successfully submitted. You can only\n cancel steps that are in a PENDING state.

    " } }, "com.amazonaws.emr#CancelStepsInfo": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.emr#CancelStepsRequestStatus", - "traits": { - "smithy.api#documentation": "

    The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

    " - } - }, "StepId": { "target": "com.amazonaws.emr#StepId", "traits": { "smithy.api#documentation": "

    The encrypted StepId of a step.

    " } }, + "Status": { + "target": "com.amazonaws.emr#CancelStepsRequestStatus", + "traits": { + "smithy.api#documentation": "

    The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

    " + } + }, "Reason": { "target": "com.amazonaws.emr#String", "traits": { @@ -646,7 +661,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and later, excluding version 5.0.0.

    " + "smithy.api#documentation": "

    Specification of the status of a CancelSteps request. Available only in Amazon EMR\n version 4.8.0 and later, excluding version 5.0.0.

    " } }, "com.amazonaws.emr#CancelStepsInfoList": { @@ -658,24 +673,24 @@ "com.amazonaws.emr#CancelStepsInput": { "type": "structure", "members": { - "StepIds": { - "target": "com.amazonaws.emr#StepIdsList", + "ClusterId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.

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

    The ClusterID for the specified steps that will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

    ", "smithy.api#required": {} } }, - "ClusterId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "StepIds": { + "target": "com.amazonaws.emr#StepIdsList", "traits": { - "smithy.api#documentation": "

    The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

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

    The list of StepIDs to cancel. Use ListSteps to get steps\n and their states for the specified cluster.

    ", "smithy.api#required": {} } }, "StepCancellationOption": { "target": "com.amazonaws.emr#StepCancellationOption", "traits": { - "smithy.api#documentation": "

    The option to choose for cancelling RUNNING steps. By default, the value is SEND_INTERRUPT.

    " + "smithy.api#documentation": "

    The option to choose to cancel RUNNING steps. By default, the value is\n SEND_INTERRUPT.

    " } } }, @@ -689,7 +704,7 @@ "CancelStepsInfoList": { "target": "com.amazonaws.emr#CancelStepsInfoList", "traits": { - "smithy.api#documentation": "

    A list of CancelStepsInfo, which shows the status of specified cancel requests for each StepID specified.

    " + "smithy.api#documentation": "

    A list of CancelStepsInfo, which shows the status of specified cancel\n requests for each StepID specified.

    " } } }, @@ -715,50 +730,56 @@ "com.amazonaws.emr#CloudWatchAlarmDefinition": { "type": "structure", "members": { - "Namespace": { - "target": "com.amazonaws.emr#String", + "ComparisonOperator": { + "target": "com.amazonaws.emr#ComparisonOperator", "traits": { - "smithy.api#documentation": "

    The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

    " + "smithy.api#documentation": "

    Determines how the metric specified by MetricName is compared to the value\n specified by Threshold.

    ", + "smithy.api#required": {} } }, - "Threshold": { - "target": "com.amazonaws.emr#NonNegativeDouble", + "EvaluationPeriods": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The value against which the specified statistic is compared.

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

    The number of periods, in five-minute increments, during which the alarm condition must\n exist before the alarm triggers automatic scaling activity. The default value is\n 1.

    " + } + }, + "MetricName": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    The name of the CloudWatch metric that is watched to determine an alarm\n condition.

    ", "smithy.api#required": {} } }, - "Unit": { - "target": "com.amazonaws.emr#Unit", + "Namespace": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

    " + "smithy.api#documentation": "

    The namespace for the CloudWatch metric. The default is\n AWS/ElasticMapReduce.

    " } }, "Period": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

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

    The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are\n emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified,\n specify 300.

    ", "smithy.api#required": {} } }, - "ComparisonOperator": { - "target": "com.amazonaws.emr#ComparisonOperator", + "Statistic": { + "target": "com.amazonaws.emr#Statistic", "traits": { - "smithy.api#documentation": "

    Determines how the metric specified by MetricName is compared to the value specified by Threshold.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The statistic to apply to the metric associated with the alarm. The default is\n AVERAGE.

    " } }, - "MetricName": { - "target": "com.amazonaws.emr#String", + "Threshold": { + "target": "com.amazonaws.emr#NonNegativeDouble", "traits": { - "smithy.api#documentation": "

    The name of the CloudWatch metric that is watched to determine an alarm condition.

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

    The value against which the specified statistic is compared.

    ", "smithy.api#required": {} } }, - "Statistic": { - "target": "com.amazonaws.emr#Statistic", + "Unit": { + "target": "com.amazonaws.emr#Unit", "traits": { - "smithy.api#documentation": "

    The statistic to apply to the metric associated with the alarm. The default is AVERAGE.

    " + "smithy.api#documentation": "

    The unit of measure associated with the CloudWatch metric being watched. The value\n specified for Unit must correspond to the units specified in the CloudWatch\n metric.

    " } }, "Dimensions": { @@ -766,55 +787,61 @@ "traits": { "smithy.api#documentation": "

    A CloudWatch metric dimension.

    " } - }, - "EvaluationPeriods": { - "target": "com.amazonaws.emr#Integer", - "traits": { - "smithy.api#documentation": "

    The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

    " - } } }, "traits": { - "smithy.api#documentation": "

    The definition of a CloudWatch metric alarm, which determines when an automatic scaling activity is triggered. When the defined alarm conditions are satisfied, scaling activity begins.

    " + "smithy.api#documentation": "

    The definition of a CloudWatch metric alarm, which determines when an automatic scaling\n activity is triggered. When the defined alarm conditions are satisfied, scaling activity\n begins.

    " } }, "com.amazonaws.emr#Cluster": { "type": "structure", "members": { - "InstanceCollectionType": { - "target": "com.amazonaws.emr#InstanceCollectionType", + "Id": { + "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "\n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    \n

    The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

    " + "smithy.api#documentation": "

    The unique identifier for the cluster.

    " } }, - "ReleaseLabel": { + "Name": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

    " + "smithy.api#documentation": "

    The name of the cluster.

    " } }, - "ClusterArn": { - "target": "com.amazonaws.emr#ArnType", + "Status": { + "target": "com.amazonaws.emr#ClusterStatus", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " + "smithy.api#documentation": "

    The current status details about the cluster.

    " } }, "Ec2InstanceAttributes": { "target": "com.amazonaws.emr#Ec2InstanceAttributes", "traits": { - "smithy.api#documentation": "

    Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

    " + "smithy.api#documentation": "

    Provides information about the EC2 instances in a cluster grouped by category. For\n example, key name, subnet ID, IAM instance profile, and so on.

    " } }, - "Name": { + "InstanceCollectionType": { + "target": "com.amazonaws.emr#InstanceCollectionType", + "traits": { + "smithy.api#documentation": "\n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    \n

    The instance group configuration of the cluster. A value of INSTANCE_GROUP\n indicates a uniform instance group configuration. A value of INSTANCE_FLEET\n indicates an instance fleets configuration.

    " + } + }, + "LogUri": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The name of the cluster.

    " + "smithy.api#documentation": "

    The path to the Amazon S3 location where logs for this cluster are stored.

    " } }, - "EbsRootVolumeSize": { - "target": "com.amazonaws.emr#Integer", + "LogEncryptionKmsKeyId": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is\n only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    " + } + }, + "RequestedAmiVersion": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

    " + "smithy.api#documentation": "

    The AMI version requested for this cluster.

    " } }, "RunningAmiVersion": { @@ -823,118 +850,118 @@ "smithy.api#documentation": "

    The AMI version running on this cluster.

    " } }, - "PlacementGroups": { - "target": "com.amazonaws.emr#PlacementGroupConfigList", + "ReleaseLabel": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    Placement group configured for an Amazon EMR cluster.

    " + "smithy.api#documentation": "

    The Amazon EMR release label, which determines the version of open-source application\n packages installed on the cluster. Release labels are in the form emr-x.x.x,\n where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more\n information about Amazon EMR release versions and included application versions and\n features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release\n label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use\n AmiVersion.

    " } }, - "TerminationProtected": { + "AutoTerminate": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

    " + "smithy.api#documentation": "

    Specifies whether the cluster should terminate after completing all steps.

    " } }, - "ScaleDownBehavior": { - "target": "com.amazonaws.emr#ScaleDownBehavior", + "TerminationProtected": { + "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    " + "smithy.api#documentation": "

    Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from\n being terminated by an API call or user intervention, or in the event of a cluster\n error.

    " } }, - "Tags": { - "target": "com.amazonaws.emr#TagList", + "VisibleToAllUsers": { + "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    A list of tags associated with a cluster.

    " + "smithy.api#documentation": "

    Indicates whether the cluster is visible to all IAM users of the AWS account associated\n with the cluster. The default value, true, indicates that all IAM users in the\n AWS account can perform cluster actions if they have the proper IAM policy permissions. If\n this value is false, only the IAM user that created the cluster can perform\n actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of\n true when you create a cluster by using the VisibleToAllUsers\n parameter of the RunJobFlow action.

    " } }, - "OutpostArn": { - "target": "com.amazonaws.emr#OptionalArnType", + "Applications": { + "target": "com.amazonaws.emr#ApplicationList", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.\n

    " + "smithy.api#documentation": "

    The applications installed on this cluster.

    " } }, - "LogUri": { - "target": "com.amazonaws.emr#String", + "Tags": { + "target": "com.amazonaws.emr#TagList", "traits": { - "smithy.api#documentation": "

    The path to the Amazon S3 location where logs for this cluster are stored.

    " + "smithy.api#documentation": "

    A list of tags associated with a cluster.

    " } }, "ServiceRole": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

    " + "smithy.api#documentation": "

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on\n your behalf.

    " } }, - "RequestedAmiVersion": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    The AMI version requested for this cluster.

    " + "NormalizedInstanceHours": { + "target": "com.amazonaws.emr#Integer", + "traits": { + "smithy.api#documentation": "

    An approximation of the cost of the cluster, represented in m1.small/hours. This value\n is incremented one time for every hour an m1.small instance runs. Larger instances are\n weighted more, so an EC2 instance that is roughly four times more expensive would result in\n the normalized instance hours being incremented by four. This result is only an\n approximation and does not reflect the actual billing rate.

    " } }, - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", + "MasterPublicDnsName": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.

    " + "smithy.api#documentation": "

    The DNS name of the master node. If the cluster is on a private subnet, this is the\n private DNS name. On a public subnet, this is the public DNS name.

    " } }, - "LogEncryptionKmsKeyId": { - "target": "com.amazonaws.emr#String", + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", "traits": { - "smithy.api#documentation": "

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    " + "smithy.api#documentation": "

    Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied\n to the EMR cluster.

    " } }, - "KerberosAttributes": { - "target": "com.amazonaws.emr#KerberosAttributes", + "SecurityConfiguration": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

    " + "smithy.api#documentation": "

    The name of the security configuration applied to the cluster.

    " } }, - "MasterPublicDnsName": { - "target": "com.amazonaws.emr#String", + "AutoScalingRole": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

    " + "smithy.api#documentation": "

    An IAM role for automatic scaling policies. The default role is\n EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the\n automatic scaling feature requires to launch and terminate EC2 instances in an instance\n group.

    " } }, - "Status": { - "target": "com.amazonaws.emr#ClusterStatus", + "ScaleDownBehavior": { + "target": "com.amazonaws.emr#ScaleDownBehavior", "traits": { - "smithy.api#documentation": "

    The current status details about the cluster.

    " + "smithy.api#documentation": "

    The way that individual Amazon EC2 instances terminate when an automatic scale-in\n activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR\n indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of\n when the request to terminate the instance was submitted. This option is only available\n with Amazon EMR 5.1.0 and later and is the default for clusters created using that version.\n TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny\n list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of\n the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes\n first and blocks instance termination if it could lead to HDFS corruption.\n TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0\n and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    " } }, "CustomAmiId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

    " + "smithy.api#documentation": "

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon\n EBS-backed Linux AMI if the cluster uses a custom AMI.

    " } }, - "NormalizedInstanceHours": { + "EbsRootVolumeSize": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

    " + "smithy.api#documentation": "

    The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for\n each EC2 instance. Available in Amazon EMR version 4.x and later.

    " } }, - "AutoTerminate": { - "target": "com.amazonaws.emr#Boolean", + "RepoUpgradeOnBoot": { + "target": "com.amazonaws.emr#RepoUpgradeOnBoot", "traits": { - "smithy.api#documentation": "

    Specifies whether the cluster should terminate after completing all steps.

    " + "smithy.api#documentation": "

    Applies only when CustomAmiID is used. Specifies the type of updates that\n are applied from the Amazon Linux AMI package repositories when an instance boots using the\n AMI.

    " } }, - "Applications": { - "target": "com.amazonaws.emr#ApplicationList", + "KerberosAttributes": { + "target": "com.amazonaws.emr#KerberosAttributes", "traits": { - "smithy.api#documentation": "

    The applications installed on this cluster.

    " + "smithy.api#documentation": "

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a\n security configuration. For more information see Use Kerberos Authentication\n in the Amazon EMR Management Guide.

    " } }, - "VisibleToAllUsers": { - "target": "com.amazonaws.emr#Boolean", + "ClusterArn": { + "target": "com.amazonaws.emr#ArnType", "traits": { - "smithy.api#documentation": "

    Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

    " + "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " } }, - "SecurityConfiguration": { - "target": "com.amazonaws.emr#XmlString", + "OutpostArn": { + "target": "com.amazonaws.emr#OptionalArnType", "traits": { - "smithy.api#documentation": "

    The name of the security configuration applied to the cluster.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.

    " } }, "StepConcurrencyLevel": { @@ -943,22 +970,10 @@ "smithy.api#documentation": "

    Specifies the number of steps that can be executed concurrently.

    " } }, - "RepoUpgradeOnBoot": { - "target": "com.amazonaws.emr#RepoUpgradeOnBoot", - "traits": { - "smithy.api#documentation": "

    Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.

    " - } - }, - "AutoScalingRole": { - "target": "com.amazonaws.emr#XmlString", - "traits": { - "smithy.api#documentation": "

    An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

    " - } - }, - "Id": { - "target": "com.amazonaws.emr#ClusterId", + "PlacementGroups": { + "target": "com.amazonaws.emr#PlacementGroupConfigList", "traits": { - "smithy.api#documentation": "

    The unique identifier for the cluster.

    " + "smithy.api#documentation": "

    Placement group configured for an Amazon EMR cluster.

    " } } }, @@ -1007,17 +1022,17 @@ "com.amazonaws.emr#ClusterStateChangeReason": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    The descriptive message for the state change reason.

    " - } - }, "Code": { "target": "com.amazonaws.emr#ClusterStateChangeReasonCode", "traits": { "smithy.api#documentation": "

    The programmatic code for the state change reason.

    " } + }, + "Message": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    The descriptive message for the state change reason.

    " + } } }, "traits": { @@ -1087,7 +1102,7 @@ "Timeline": { "target": "com.amazonaws.emr#ClusterTimeline", "traits": { - "smithy.api#documentation": "

    A timeline that represents the status of a cluster over the lifetime of the cluster.

    " + "smithy.api#documentation": "

    A timeline that represents the status of a cluster over the lifetime of the\n cluster.

    " } } }, @@ -1098,22 +1113,16 @@ "com.amazonaws.emr#ClusterSummary": { "type": "structure", "members": { - "ClusterArn": { - "target": "com.amazonaws.emr#ArnType", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " - } - }, "Id": { "target": "com.amazonaws.emr#ClusterId", "traits": { "smithy.api#documentation": "

    The unique identifier for the cluster.

    " } }, - "OutpostArn": { - "target": "com.amazonaws.emr#OptionalArnType", + "Name": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.\n

    " + "smithy.api#documentation": "

    The name of the cluster.

    " } }, "Status": { @@ -1122,16 +1131,22 @@ "smithy.api#documentation": "

    The details about the current status of the cluster.

    " } }, - "Name": { - "target": "com.amazonaws.emr#String", + "NormalizedInstanceHours": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The name of the cluster.

    " + "smithy.api#documentation": "

    An approximation of the cost of the cluster, represented in m1.small/hours. This value\n is incremented one time for every hour an m1.small instance runs. Larger instances are\n weighted more, so an EC2 instance that is roughly four times more expensive would result in\n the normalized instance hours being incremented by four. This result is only an\n approximation and does not reflect the actual billing rate.

    " } }, - "NormalizedInstanceHours": { - "target": "com.amazonaws.emr#Integer", + "ClusterArn": { + "target": "com.amazonaws.emr#ArnType", "traits": { - "smithy.api#documentation": "

    An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

    " + "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " + } + }, + "OutpostArn": { + "target": "com.amazonaws.emr#OptionalArnType", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.

    " } } }, @@ -1148,16 +1163,16 @@ "com.amazonaws.emr#ClusterTimeline": { "type": "structure", "members": { - "ReadyDateTime": { + "CreationDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The date and time when the cluster was ready to execute steps.

    " + "smithy.api#documentation": "

    The creation date and time of the cluster.

    " } }, - "CreationDateTime": { + "ReadyDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The creation date and time of the cluster.

    " + "smithy.api#documentation": "

    The date and time when the cluster was ready to run steps.

    " } }, "EndDateTime": { @@ -1180,17 +1195,17 @@ "smithy.api#documentation": "

    The name of the command.

    " } }, - "Args": { - "target": "com.amazonaws.emr#StringList", - "traits": { - "smithy.api#documentation": "

    Arguments for Amazon EMR to pass to the command for execution.

    " - } - }, "ScriptPath": { "target": "com.amazonaws.emr#String", "traits": { "smithy.api#documentation": "

    The Amazon S3 location of the command script.

    " } + }, + "Args": { + "target": "com.amazonaws.emr#StringList", + "traits": { + "smithy.api#documentation": "

    Arguments for Amazon EMR to pass to the command for execution.

    " + } } }, "traits": { @@ -1232,39 +1247,39 @@ "UnitType": { "target": "com.amazonaws.emr#ComputeLimitsUnitType", "traits": { - "smithy.api#documentation": "

    \n The unit type used for specifying a managed scaling policy. \n

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

    The unit type used for specifying a managed scaling policy.

    ", "smithy.api#required": {} } }, - "MaximumOnDemandCapacityUnits": { + "MinimumCapacityUnits": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    \n The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances.\n

    " + "smithy.api#documentation": "

    The lower boundary of EC2 units. It is measured through vCPU cores or instances for\n instance groups and measured through units for instance fleets. Managed scaling activities\n are not allowed beyond this boundary. The limit only applies to the core and task nodes.\n The master node cannot be scaled after initial configuration.

    ", + "smithy.api#required": {} } }, - "MaximumCoreCapacityUnits": { + "MaximumCapacityUnits": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    \n The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.\n

    " + "smithy.api#documentation": "

    The upper boundary of EC2 units. It is measured through vCPU cores or instances for\n instance groups and measured through units for instance fleets. Managed scaling activities\n are not allowed beyond this boundary. The limit only applies to the core and task nodes.\n The master node cannot be scaled after initial configuration.

    ", + "smithy.api#required": {} } }, - "MinimumCapacityUnits": { + "MaximumOnDemandCapacityUnits": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    \n The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The upper boundary of On-Demand EC2 units. It is measured through vCPU cores or\n instances for instance groups and measured through units for instance fleets. The On-Demand\n units are not allowed to scale beyond this boundary. The parameter is used to split\n capacity allocation between On-Demand and Spot Instances.

    " } }, - "MaximumCapacityUnits": { + "MaximumCoreCapacityUnits": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    \n The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The upper boundary of EC2 units for core node type in a cluster. It is measured through\n vCPU cores or instances for instance groups and measured through units for instance fleets.\n The core units are not allowed to scale beyond this boundary. The parameter is used to\n split capacity allocation between core and task nodes.

    " } } }, "traits": { - "smithy.api#documentation": "

    \n The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster can not be above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration. \n

    " + "smithy.api#documentation": "

    The EC2 unit limits for a managed scaling policy. The managed scaling activity of a\n cluster can not be above or below these limits. The limit only applies to the core and task\n nodes. The master node cannot be scaled after initial configuration.

    " } }, "com.amazonaws.emr#ComputeLimitsUnitType": { @@ -1295,21 +1310,21 @@ "smithy.api#documentation": "

    The classification within a configuration.

    " } }, - "Properties": { - "target": "com.amazonaws.emr#StringMap", - "traits": { - "smithy.api#documentation": "

    A set of properties specified within a configuration classification.

    " - } - }, "Configurations": { "target": "com.amazonaws.emr#ConfigurationList", "traits": { "smithy.api#documentation": "

    A list of additional configurations to apply within a configuration object.

    " } + }, + "Properties": { + "target": "com.amazonaws.emr#StringMap", + "traits": { + "smithy.api#documentation": "

    A set of properties specified within a configuration classification.

    " + } } }, "traits": { - "smithy.api#documentation": "\n

    Amazon EMR releases 4.x or later.

    \n
    \n

    An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

    " + "smithy.api#documentation": "\n

    Amazon EMR releases 4.x or later.

    \n
    \n

    An optional configuration specification to be used when provisioning cluster instances,\n which can include configurations for applications and software bundled with Amazon EMR. A\n configuration consists of a classification, properties, and optional nested configurations.\n A classification refers to an application-specific configuration file. Properties are the\n settings you want to change in that file. For more information, see Configuring\n Applications.

    " } }, "com.amazonaws.emr#ConfigurationList": { @@ -1335,23 +1350,23 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

    " + "smithy.api#documentation": "

    Creates a security configuration, which is stored in the service and can be specified\n when a cluster is created.

    " } }, "com.amazonaws.emr#CreateSecurityConfigurationInput": { "type": "structure", "members": { - "SecurityConfiguration": { - "target": "com.amazonaws.emr#String", + "Name": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.

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

    The name of the security configuration.

    ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.emr#XmlString", + "SecurityConfiguration": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The name of the security configuration.

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

    The security configuration details in JSON format. For JSON parameters and examples, see\n Use Security\n Configurations to Set Up Cluster Security in the Amazon EMR Management\n Guide.

    ", "smithy.api#required": {} } } @@ -1360,32 +1375,29 @@ "com.amazonaws.emr#CreateSecurityConfigurationOutput": { "type": "structure", "members": { - "CreationDateTime": { - "target": "com.amazonaws.emr#Date", + "Name": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The date and time the security configuration was created.

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

    The name of the security configuration.

    ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.emr#XmlString", + "CreationDateTime": { + "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The name of the security configuration.

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

    The date and time the security configuration was created.

    ", "smithy.api#required": {} } } } }, - "com.amazonaws.emr#Date": { - "type": "timestamp" - }, - "com.amazonaws.emr#DeleteSecurityConfiguration": { + "com.amazonaws.emr#CreateStudio": { "type": "operation", "input": { - "target": "com.amazonaws.emr#DeleteSecurityConfigurationInput" + "target": "com.amazonaws.emr#CreateStudioInput" }, "output": { - "target": "com.amazonaws.emr#DeleteSecurityConfigurationOutput" + "target": "com.amazonaws.emr#CreateStudioOutput" }, "errors": [ { @@ -1396,63 +1408,314 @@ } ], "traits": { - "smithy.api#documentation": "

    Deletes a security configuration.

    " + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Creates a new Amazon EMR Studio.

    " } }, - "com.amazonaws.emr#DeleteSecurityConfigurationInput": { + "com.amazonaws.emr#CreateStudioInput": { "type": "structure", "members": { "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    A descriptive name for the Amazon EMR Studio.

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    A detailed description of the Studio.

    " + } + }, + "AuthMode": { + "target": "com.amazonaws.emr#AuthMode", + "traits": { + "smithy.api#documentation": "

    Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM.\n Amazon EMR Studio currently only supports SSO authentication.

    ", + "smithy.api#required": {} + } + }, + "VpcId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the\n Studio.

    ", + "smithy.api#required": {} + } + }, + "SubnetIds": { + "target": "com.amazonaws.emr#SubnetIdList", + "traits": { + "smithy.api#documentation": "

    A list of subnet IDs to associate with the Studio. The subnets must belong to the VPC\n specified by VpcId. Studio users can create a Workspace in any of the\n specified subnets.

    ", + "smithy.api#required": {} + } + }, + "ServiceRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The name of the security configuration.

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

    The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a\n way for Amazon EMR Studio to interoperate with other AWS services.

    ", + "smithy.api#required": {} + } + }, + "UserRole": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The IAM user role that will be assumed by users and groups logged in to a Studio. The\n permissions attached to this IAM role can be scoped down for each user or group using\n session policies.

    ", + "smithy.api#required": {} + } + }, + "WorkspaceSecurityGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio Workspace security group. The Workspace security group\n allows outbound network traffic to resources in the Engine security group, and it must be\n in the same VPC specified by VpcId.

    ", + "smithy.api#required": {} + } + }, + "EngineSecurityGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio Engine security group. The Engine security group allows\n inbound network traffic from the Workspace security group, and it must be in the same VPC\n specified by VpcId.

    ", "smithy.api#required": {} } + }, + "DefaultS3Location": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The default Amazon S3 location to back up EMR Studio Workspaces and notebook files. A\n Studio user can select an alternative Amazon S3 location when creating a Workspace.

    " + } + }, + "Tags": { + "target": "com.amazonaws.emr#TagList", + "traits": { + "smithy.api#documentation": "

    A list of tags to associate with the Studio. Tags are user-defined key-value pairs that\n consist of a required key string with a maximum of 128 characters, and an optional value\n string with a maximum of 256 characters.

    " + } } } }, - "com.amazonaws.emr#DeleteSecurityConfigurationOutput": { + "com.amazonaws.emr#CreateStudioOutput": { "type": "structure", - "members": {} + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    " + } + }, + "Url": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The unique Studio access URL.

    " + } + } + } }, - "com.amazonaws.emr#DescribeCluster": { + "com.amazonaws.emr#CreateStudioSessionMapping": { "type": "operation", "input": { - "target": "com.amazonaws.emr#DescribeClusterInput" - }, - "output": { - "target": "com.amazonaws.emr#DescribeClusterOutput" + "target": "com.amazonaws.emr#CreateStudioSessionMappingInput" }, "errors": [ { - "target": "com.amazonaws.emr#InternalServerException" + "target": "com.amazonaws.emr#InternalServerError" }, { "target": "com.amazonaws.emr#InvalidRequestException" } ], "traits": { - "smithy.api#documentation": "

    Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

    " + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Maps a user or group to the Amazon EMR Studio specified by StudioId, and\n applies a session policy to refine Studio permissions for that user or group.

    " } }, - "com.amazonaws.emr#DescribeClusterInput": { + "com.amazonaws.emr#CreateStudioSessionMappingInput": { "type": "structure", "members": { - "ClusterId": { - "target": "com.amazonaws.emr#ClusterId", + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The identifier of the cluster to describe.

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

    The ID of the Amazon EMR Studio to which the user or group will be mapped.

    ", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

    This input determines which cluster to describe.

    " - } - }, - "com.amazonaws.emr#DescribeClusterOutput": { - "type": "structure", - "members": { + }, + "IdentityId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The globally unique identifier (GUID) of the user or group from the AWS SSO Identity\n Store. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the identity to map to the Studio is a user or a group.

    ", + "smithy.api#required": {} + } + }, + "SessionPolicyArn": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the session policy that will be applied to the user\n or group. Session policies refine Studio user permissions without the need to use multiple\n IAM user roles.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.emr#Date": { + "type": "timestamp" + }, + "com.amazonaws.emr#DeleteSecurityConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#DeleteSecurityConfigurationInput" + }, + "output": { + "target": "com.amazonaws.emr#DeleteSecurityConfigurationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes a security configuration.

    " + } + }, + "com.amazonaws.emr#DeleteSecurityConfigurationInput": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The name of the security configuration.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.emr#DeleteSecurityConfigurationOutput": { + "type": "structure", + "members": {} + }, + "com.amazonaws.emr#DeleteStudio": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#DeleteStudioInput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Removes an Amazon EMR Studio from the Studio metadata store.

    " + } + }, + "com.amazonaws.emr#DeleteStudioInput": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.emr#DeleteStudioSessionMapping": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#DeleteStudioSessionMappingInput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerError" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Removes a user or group from an Amazon EMR Studio.

    " + } + }, + "com.amazonaws.emr#DeleteStudioSessionMappingInput": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    ", + "smithy.api#required": {} + } + }, + "IdentityId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The globally unique identifier (GUID) of the user or group to remove from the Amazon EMR\n Studio. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the user name or group to remove from the Studio. For more information, see\n UserName and DisplayName in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the identity to delete from the Studio is a user or a group.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.emr#DescribeCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#DescribeClusterInput" + }, + "output": { + "target": "com.amazonaws.emr#DescribeClusterOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "

    Provides cluster-level details including status, hardware and software configuration,\n VPC settings, and so on.

    " + } + }, + "com.amazonaws.emr#DescribeClusterInput": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.emr#ClusterId", + "traits": { + "smithy.api#documentation": "

    The identifier of the cluster to describe.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    This input determines which cluster to describe.

    " + } + }, + "com.amazonaws.emr#DescribeClusterOutput": { + "type": "structure", + "members": { "Cluster": { "target": "com.amazonaws.emr#Cluster", "traits": { @@ -1479,28 +1742,22 @@ ], "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

    This API is deprecated and will eventually be removed. We recommend you use ListClusters,\n DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions\n instead.

    \n

    DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

    \n

    Regardless of supplied parameters, only job flows created within the last two months are returned.

    \n

    If no parameters are supplied, then job flows matching either of the following criteria are returned:

    \n
      \n
    • \n

      Job flows created and completed in the last two weeks

      \n
    • \n
    • \n

      Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN,\n STARTING\n

      \n
    • \n
    \n

    Amazon EMR can return a maximum of 512 job flow descriptions.

    " + "smithy.api#documentation": "

    This API is no longer supported and will eventually be removed. We recommend you use\n ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

    \n

    DescribeJobFlows returns a list of job flows that match all of the supplied parameters.\n The parameters can include a list of job flow IDs, job flow states, and restrictions on job\n flow creation date and time.

    \n

    Regardless of supplied parameters, only job flows created within the last two months are\n returned.

    \n

    If no parameters are supplied, then job flows matching either of the following criteria\n are returned:

    \n
      \n
    • \n

      Job flows created and completed in the last two weeks

      \n
    • \n
    • \n

      Job flows created within the last two months that are in one of the following\n states: RUNNING, WAITING, SHUTTING_DOWN,\n STARTING\n

      \n
    • \n
    \n

    Amazon EMR can return a maximum of 512 job flow descriptions.

    " } }, "com.amazonaws.emr#DescribeJobFlowsInput": { "type": "structure", "members": { - "CreatedBefore": { + "CreatedAfter": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    Return only job flows created before this date and time.

    " - } - }, - "JobFlowStates": { - "target": "com.amazonaws.emr#JobFlowExecutionStateList", - "traits": { - "smithy.api#documentation": "

    Return only job flows whose state is contained in this list.

    " + "smithy.api#documentation": "

    Return only job flows created after this date and time.

    " } }, - "CreatedAfter": { + "CreatedBefore": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    Return only job flows created after this date and time.

    " + "smithy.api#documentation": "

    Return only job flows created before this date and time.

    " } }, "JobFlowIds": { @@ -1508,6 +1765,12 @@ "traits": { "smithy.api#documentation": "

    Return only job flows whose job flow ID is contained in this list.

    " } + }, + "JobFlowStates": { + "target": "com.amazonaws.emr#JobFlowExecutionStateList", + "traits": { + "smithy.api#documentation": "

    Return only job flows whose state is contained in this list.

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

    Provides the details of a security configuration by returning the configuration JSON.

    " + "smithy.api#documentation": "

    Provides the details of a security configuration by returning the configuration\n JSON.

    " } }, "com.amazonaws.emr#DescribeSecurityConfigurationInput": { @@ -1682,6 +1945,49 @@ "smithy.api#documentation": "

    This output contains the description of the cluster step.

    " } }, + "com.amazonaws.emr#DescribeStudio": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#DescribeStudioInput" + }, + "output": { + "target": "com.amazonaws.emr#DescribeStudioOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Returns details for the specified Amazon EMR Studio including ID, Name, VPC, Studio\n access URL, and so on.

    " + } + }, + "com.amazonaws.emr#DescribeStudioInput": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon EMR Studio ID.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.emr#DescribeStudioOutput": { + "type": "structure", + "members": { + "Studio": { + "target": "com.amazonaws.emr#Studio", + "traits": { + "smithy.api#documentation": "

    The Amazon EMR Studio details.

    " + } + } + } + }, "com.amazonaws.emr#EC2InstanceIdsList": { "type": "list", "member": { @@ -1700,7 +2006,7 @@ "VolumeSpecification": { "target": "com.amazonaws.emr#VolumeSpecification", "traits": { - "smithy.api#documentation": "

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

    " + "smithy.api#documentation": "

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be\n requested for the EBS volume attached to an EC2 instance in the cluster.

    " } }, "Device": { @@ -1717,22 +2023,22 @@ "com.amazonaws.emr#EbsBlockDeviceConfig": { "type": "structure", "members": { - "VolumesPerInstance": { - "target": "com.amazonaws.emr#Integer", - "traits": { - "smithy.api#documentation": "

    Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

    " - } - }, "VolumeSpecification": { "target": "com.amazonaws.emr#VolumeSpecification", "traits": { - "smithy.api#documentation": "

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

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

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be\n requested for the EBS volume attached to an EC2 instance in the cluster.

    ", "smithy.api#required": {} } + }, + "VolumesPerInstance": { + "target": "com.amazonaws.emr#Integer", + "traits": { + "smithy.api#documentation": "

    Number of EBS volumes with a specific volume configuration that will be associated with\n every instance in the instance group

    " + } } }, "traits": { - "smithy.api#documentation": "

    Configuration of requested EBS block device associated with the instance group with count of volumes that will be associated to every instance.

    " + "smithy.api#documentation": "

    Configuration of requested EBS block device associated with the instance group with\n count of volumes that will be associated to every instance.

    " } }, "com.amazonaws.emr#EbsBlockDeviceConfigList": { @@ -1750,17 +2056,17 @@ "com.amazonaws.emr#EbsConfiguration": { "type": "structure", "members": { - "EbsOptimized": { - "target": "com.amazonaws.emr#BooleanObject", - "traits": { - "smithy.api#documentation": "

    Indicates whether an Amazon EBS volume is EBS-optimized.

    " - } - }, "EbsBlockDeviceConfigs": { "target": "com.amazonaws.emr#EbsBlockDeviceConfigList", "traits": { "smithy.api#documentation": "

    An array of Amazon EBS volume specifications attached to a cluster instance.

    " } + }, + "EbsOptimized": { + "target": "com.amazonaws.emr#BooleanObject", + "traits": { + "smithy.api#documentation": "

    Indicates whether an Amazon EBS volume is EBS-optimized.

    " + } } }, "traits": { @@ -1799,55 +2105,55 @@ "Ec2KeyName": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The name of the Amazon EC2 key pair to use when connecting with SSH into the master node as a user named \"hadoop\".

    " + "smithy.api#documentation": "

    The name of the Amazon EC2 key pair to use when connecting with SSH into the master node\n as a user named \"hadoop\".

    " } }, - "EmrManagedSlaveSecurityGroup": { + "Ec2SubnetId": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the core and task nodes.

    " + "smithy.api#documentation": "

    Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster\n to launch. If you do not specify this value, and your account supports EC2-Classic, the\n cluster launches in EC2-Classic.

    " } }, - "IamInstanceProfile": { - "target": "com.amazonaws.emr#String", + "RequestedEc2SubnetIds": { + "target": "com.amazonaws.emr#XmlStringMaxLen256List", "traits": { - "smithy.api#documentation": "

    The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

    " + "smithy.api#documentation": "

    Applies to clusters configured with the instance fleets option. Specifies the unique\n identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances.\n Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit\n from among the list of RequestedEc2SubnetIds, and then launches all cluster\n instances within that Subnet. If this value is not specified, and the account and Region\n support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and\n uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is\n not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you.\n RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot\n be specified together.

    " } }, - "RequestedEc2AvailabilityZones": { - "target": "com.amazonaws.emr#XmlStringMaxLen256List", + "Ec2AvailabilityZone": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

    " + "smithy.api#documentation": "

    The Availability Zone in which the cluster will run.

    " } }, - "RequestedEc2SubnetIds": { + "RequestedEc2AvailabilityZones": { "target": "com.amazonaws.emr#XmlStringMaxLen256List", "traits": { - "smithy.api#documentation": "

    Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

    " + "smithy.api#documentation": "

    Applies to clusters configured with the instance fleets option. Specifies one or more\n Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network\n configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from\n among the list of RequestedEc2AvailabilityZones, and then launches all cluster\n instances within that Availability Zone. If you do not specify this value, Amazon EMR\n chooses the Availability Zone for you. RequestedEc2SubnetIDs and\n RequestedEc2AvailabilityZones cannot be specified together.

    " } }, - "Ec2SubnetId": { + "IamInstanceProfile": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, and your account supports EC2-Classic, the cluster launches in EC2-Classic.

    " + "smithy.api#documentation": "

    The IAM role that was specified when the cluster was launched. The EC2 instances of the\n cluster assume this role.

    " } }, - "AdditionalSlaveSecurityGroups": { - "target": "com.amazonaws.emr#StringList", + "EmrManagedMasterSecurityGroup": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    " + "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the master node.

    " } }, - "ServiceAccessSecurityGroup": { + "EmrManagedSlaveSecurityGroup": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

    " + "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the core and task nodes.

    " } }, - "Ec2AvailabilityZone": { + "ServiceAccessSecurityGroup": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The Availability Zone in which the cluster will run.

    " + "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access\n clusters in VPC private subnets.

    " } }, "AdditionalMasterSecurityGroups": { @@ -1856,15 +2162,15 @@ "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the master node.

    " } }, - "EmrManagedMasterSecurityGroup": { - "target": "com.amazonaws.emr#String", + "AdditionalSlaveSecurityGroups": { + "target": "com.amazonaws.emr#StringList", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the master node.

    " + "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    " } } }, "traits": { - "smithy.api#documentation": "

    Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

    " + "smithy.api#documentation": "

    Provides information about the EC2 instances in a cluster grouped by category. For\n example, key name, subnet ID, IAM instance profile, and so on.

    " } }, "com.amazonaws.emr#ElasticMapReduce": { @@ -1889,9 +2195,21 @@ { "target": "com.amazonaws.emr#CreateSecurityConfiguration" }, + { + "target": "com.amazonaws.emr#CreateStudio" + }, + { + "target": "com.amazonaws.emr#CreateStudioSessionMapping" + }, { "target": "com.amazonaws.emr#DeleteSecurityConfiguration" }, + { + "target": "com.amazonaws.emr#DeleteStudio" + }, + { + "target": "com.amazonaws.emr#DeleteStudioSessionMapping" + }, { "target": "com.amazonaws.emr#DescribeCluster" }, @@ -1907,12 +2225,18 @@ { "target": "com.amazonaws.emr#DescribeStep" }, + { + "target": "com.amazonaws.emr#DescribeStudio" + }, { "target": "com.amazonaws.emr#GetBlockPublicAccessConfiguration" }, { "target": "com.amazonaws.emr#GetManagedScalingPolicy" }, + { + "target": "com.amazonaws.emr#GetStudioSessionMapping" + }, { "target": "com.amazonaws.emr#ListBootstrapActions" }, @@ -1937,6 +2261,12 @@ { "target": "com.amazonaws.emr#ListSteps" }, + { + "target": "com.amazonaws.emr#ListStudios" + }, + { + "target": "com.amazonaws.emr#ListStudioSessionMappings" + }, { "target": "com.amazonaws.emr#ModifyCluster" }, @@ -1981,6 +2311,9 @@ }, { "target": "com.amazonaws.emr#TerminateJobFlows" + }, + { + "target": "com.amazonaws.emr#UpdateStudioSessionMapping" } ], "traits": { @@ -1994,7 +2327,7 @@ "name": "elasticmapreduce" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

    Amazon EMR is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

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

    Amazon EMR is a web service that makes it easier to process large amounts of data\n efficiently. Amazon EMR uses Hadoop processing combined with several AWS services to do\n tasks such as web indexing, data mining, log file analysis, machine learning, scientific\n simulation, and data warehouse management.

    ", "smithy.api#title": "Amazon Elastic MapReduce", "smithy.api#xmlNamespace": { "uri": "http://elasticmapreduce.amazonaws.com/doc/2009-03-31" @@ -2016,28 +2349,28 @@ "com.amazonaws.emr#ExecutionEngineConfig": { "type": "structure", "members": { - "MasterInstanceSecurityGroupId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", - "traits": { - "smithy.api#documentation": "

    An optional unique ID of an EC2 security group to associate with the master instance of the EMR cluster for this notebook execution. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

    " - } - }, "Id": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The unique identifier of the execution engine. For an EMR cluster, this is the cluster ID.

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

    The unique identifier of the execution engine. For an EMR cluster, this is the cluster\n ID.

    ", "smithy.api#required": {} } }, "Type": { "target": "com.amazonaws.emr#ExecutionEngineType", "traits": { - "smithy.api#documentation": "

    The type of execution engine. A value of EMR specifies an EMR cluster.

    " + "smithy.api#documentation": "

    The type of execution engine. A value of EMR specifies an EMR\n cluster.

    " + } + }, + "MasterInstanceSecurityGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    An optional unique ID of an EC2 security group to associate with the master instance of\n the EMR cluster for this notebook execution. For more information see Specifying\n EC2 Security Groups for EMR Notebooks in the EMR Management\n Guide.

    " } } }, "traits": { - "smithy.api#documentation": "

    Specifies the execution engine (cluster) to run the notebook and perform the notebook execution, for example, an EMR cluster.

    " + "smithy.api#documentation": "

    Specifies the execution engine (cluster) to run the notebook and perform the notebook\n execution, for example, an EMR cluster.

    " } }, "com.amazonaws.emr#ExecutionEngineType": { @@ -2057,24 +2390,24 @@ "Reason": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns \"Unknown Error\" as a reason.

    " + "smithy.api#documentation": "

    The reason for the step failure. In the case where the service cannot successfully\n determine the root cause of the failure, it returns \"Unknown Error\" as a reason.

    " } }, "Message": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The descriptive message including the error the EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.

    " + "smithy.api#documentation": "

    The descriptive message including the error the Amazon EMR service has identified as the\n cause of step failure. This is text from an error log that describes the root cause of the\n failure.

    " } }, "LogFile": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The path to the log file where the step failure root cause was originally recorded.

    " + "smithy.api#documentation": "

    The path to the log file where the step failure root cause was originally\n recorded.

    " } } }, "traits": { - "smithy.api#documentation": "

    The details of the step failure. The service attempts to detect the root cause for many common failures.

    " + "smithy.api#documentation": "

    The details of the step failure. The service attempts to detect the root cause for many\n common failures.

    " } }, "com.amazonaws.emr#GetBlockPublicAccessConfiguration": { @@ -2094,7 +2427,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Returns the Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

    " + "smithy.api#documentation": "

    Returns the Amazon EMR block public access configuration for your AWS account in the\n current Region. For more information see Configure Block\n Public Access for Amazon EMR in the Amazon EMR Management\n Guide.

    " } }, "com.amazonaws.emr#GetBlockPublicAccessConfigurationInput": { @@ -2104,17 +2437,17 @@ "com.amazonaws.emr#GetBlockPublicAccessConfigurationOutput": { "type": "structure", "members": { - "BlockPublicAccessConfigurationMetadata": { - "target": "com.amazonaws.emr#BlockPublicAccessConfigurationMetadata", + "BlockPublicAccessConfiguration": { + "target": "com.amazonaws.emr#BlockPublicAccessConfiguration", "traits": { - "smithy.api#documentation": "

    Properties that describe the AWS principal that created the BlockPublicAccessConfiguration using the PutBlockPublicAccessConfiguration action as well as the date and time that the configuration was created. Each time a configuration for block public access is updated, Amazon EMR updates this metadata.

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

    A configuration for Amazon EMR block public access. The configuration applies to all\n clusters created in your account for the current Region. The configuration specifies\n whether block public access is enabled. If block public access is enabled, security groups\n associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or\n ::/0 on a port, unless the port is specified as an exception using\n PermittedPublicSecurityGroupRuleRanges in the\n BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception,\n and public access is allowed on this port. You can change this by updating the block public\n access configuration to remove the exception.

    \n \n

    For accounts that created clusters in a Region before November 25, 2019, block public\n access is disabled by default in that Region. To use this feature, you must manually\n enable and configure it. For accounts that did not create an EMR cluster in a Region\n before this date, block public access is enabled by default in that Region.

    \n
    ", "smithy.api#required": {} } }, - "BlockPublicAccessConfiguration": { - "target": "com.amazonaws.emr#BlockPublicAccessConfiguration", + "BlockPublicAccessConfigurationMetadata": { + "target": "com.amazonaws.emr#BlockPublicAccessConfigurationMetadata", "traits": { - "smithy.api#documentation": "

    A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating the block public access configuration to remove the exception.

    \n \n

    For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an EMR cluster in a Region before this date, block public access is enabled by default in that Region.

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

    Properties that describe the AWS principal that created the\n BlockPublicAccessConfiguration using the\n PutBlockPublicAccessConfiguration action as well as the date and time that\n the configuration was created. Each time a configuration for block public access is\n updated, Amazon EMR updates this metadata.

    ", "smithy.api#required": {} } } @@ -2129,7 +2462,7 @@ "target": "com.amazonaws.emr#GetManagedScalingPolicyOutput" }, "traits": { - "smithy.api#documentation": "

    \n Fetches the attached managed scaling policy for an Amazon EMR cluster.\n

    " + "smithy.api#documentation": "

    Fetches the attached managed scaling policy for an Amazon EMR cluster.

    " } }, "com.amazonaws.emr#GetManagedScalingPolicyInput": { @@ -2138,7 +2471,7 @@ "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    \n Specifies the ID of the cluster for which the managed scaling policy will be fetched.\n

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

    Specifies the ID of the cluster for which the managed scaling policy will be fetched.\n

    ", "smithy.api#required": {} } } @@ -2150,30 +2483,80 @@ "ManagedScalingPolicy": { "target": "com.amazonaws.emr#ManagedScalingPolicy", "traits": { - "smithy.api#documentation": "

    \n Specifies the managed scaling policy that is attached to an Amazon EMR cluster.\n

    " + "smithy.api#documentation": "

    Specifies the managed scaling policy that is attached to an Amazon EMR cluster.

    " } } } }, - "com.amazonaws.emr#HadoopJarStepConfig": { + "com.amazonaws.emr#GetStudioSessionMapping": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#GetStudioSessionMappingInput" + }, + "output": { + "target": "com.amazonaws.emr#GetStudioSessionMappingOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerError" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Fetches mapping details for the specified Amazon EMR Studio and identity (user or\n group).

    " + } + }, + "com.amazonaws.emr#GetStudioSessionMappingInput": { "type": "structure", "members": { - "Properties": { - "target": "com.amazonaws.emr#KeyValueList", + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

    " + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    ", + "smithy.api#required": {} } }, - "MainClass": { - "target": "com.amazonaws.emr#XmlString", + "IdentityId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

    " + "smithy.api#documentation": "

    The globally unique identifier (GUID) of the user or group. For more information, see\n UserId and GroupId in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " } }, - "Args": { - "target": "com.amazonaws.emr#XmlStringList", + "IdentityName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the user or group to fetch. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the identity to fetch is a user or a group.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.emr#GetStudioSessionMappingOutput": { + "type": "structure", + "members": { + "SessionMapping": { + "target": "com.amazonaws.emr#SessionMappingDetail", + "traits": { + "smithy.api#documentation": "

    The session mapping details for the specified Amazon EMR Studio and identity, including\n session policy ARN and creation time.

    " + } + } + } + }, + "com.amazonaws.emr#HadoopJarStepConfig": { + "type": "structure", + "members": { + "Properties": { + "target": "com.amazonaws.emr#KeyValueList", "traits": { - "smithy.api#documentation": "

    A list of command line arguments passed to the JAR file's main function when executed.

    " + "smithy.api#documentation": "

    A list of Java properties that are set when the step runs. You can use these properties\n to pass key value pairs to your main function.

    " } }, "Jar": { @@ -2182,63 +2565,90 @@ "smithy.api#documentation": "

    A path to a JAR file run during the step.

    ", "smithy.api#required": {} } + }, + "MainClass": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The name of the main class in the specified Java file. If not specified, the JAR file\n should specify a Main-Class in its manifest file.

    " + } + }, + "Args": { + "target": "com.amazonaws.emr#XmlStringList", + "traits": { + "smithy.api#documentation": "

    A list of command line arguments passed to the JAR file's main function when\n executed.

    " + } } }, "traits": { - "smithy.api#documentation": "

    A job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

    " + "smithy.api#documentation": "

    A job flow step consisting of a JAR file whose main function will be executed. The main\n function submits a job for Hadoop to execute and waits for the job to finish or\n fail.

    " } }, "com.amazonaws.emr#HadoopStepConfig": { "type": "structure", "members": { - "MainClass": { + "Jar": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The name of the main class in the specified Java file. If not specified, the JAR file should specify a main class in its manifest file.

    " + "smithy.api#documentation": "

    The path to the JAR file that runs during the step.

    " } }, "Properties": { "target": "com.amazonaws.emr#StringMap", "traits": { - "smithy.api#documentation": "

    The list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

    " + "smithy.api#documentation": "

    The list of Java properties that are set when the step runs. You can use these\n properties to pass key-value pairs to your main function.

    " } }, - "Args": { - "target": "com.amazonaws.emr#StringList", + "MainClass": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The list of command line arguments to pass to the JAR file's main function for execution.

    " + "smithy.api#documentation": "

    The name of the main class in the specified Java file. If not specified, the JAR file\n should specify a main class in its manifest file.

    " } }, - "Jar": { - "target": "com.amazonaws.emr#String", + "Args": { + "target": "com.amazonaws.emr#StringList", "traits": { - "smithy.api#documentation": "

    The path to the JAR file that runs during the step.

    " + "smithy.api#documentation": "

    The list of command line arguments to pass to the JAR file's main function for\n execution.

    " } } }, "traits": { - "smithy.api#documentation": "

    A cluster step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

    " + "smithy.api#documentation": "

    A cluster step consisting of a JAR file whose main function will be executed. The main\n function submits a job for Hadoop to execute and waits for the job to finish or\n fail.

    " + } + }, + "com.amazonaws.emr#IdentityType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "USER", + "name": "USER" + }, + { + "value": "GROUP", + "name": "GROUP" + } + ] } }, "com.amazonaws.emr#Instance": { "type": "structure", "members": { - "PublicDnsName": { - "target": "com.amazonaws.emr#String", + "Id": { + "target": "com.amazonaws.emr#InstanceId", "traits": { - "smithy.api#documentation": "

    The public DNS name of the instance.

    " + "smithy.api#documentation": "

    The unique identifier for the instance in Amazon EMR.

    " } }, - "EbsVolumes": { - "target": "com.amazonaws.emr#EbsVolumeList", + "Ec2InstanceId": { + "target": "com.amazonaws.emr#InstanceId", "traits": { - "smithy.api#documentation": "

    The list of EBS volumes that are attached to this instance.

    " + "smithy.api#documentation": "

    The unique identifier of the instance in Amazon EC2.

    " } }, - "PrivateIpAddress": { + "PublicDnsName": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The private IP address of the instance.

    " + "smithy.api#documentation": "

    The public DNS name of the instance.

    " } }, "PublicIpAddress": { @@ -2247,10 +2657,16 @@ "smithy.api#documentation": "

    The public IP address of the instance.

    " } }, - "Ec2InstanceId": { - "target": "com.amazonaws.emr#InstanceId", + "PrivateDnsName": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The unique identifier of the instance in Amazon EC2.

    " + "smithy.api#documentation": "

    The private DNS name of the instance.

    " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    The private IP address of the instance.

    " } }, "Status": { @@ -2265,34 +2681,28 @@ "smithy.api#documentation": "

    The identifier of the instance group to which this instance belongs.

    " } }, - "PrivateDnsName": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    The private DNS name of the instance.

    " - } - }, - "InstanceType": { - "target": "com.amazonaws.emr#InstanceType", + "InstanceFleetId": { + "target": "com.amazonaws.emr#InstanceFleetId", "traits": { - "smithy.api#documentation": "

    The EC2 instance type, for example m3.xlarge.

    " + "smithy.api#documentation": "

    The unique identifier of the instance fleet to which an EC2 instance belongs.

    " } }, - "Id": { - "target": "com.amazonaws.emr#InstanceId", + "Market": { + "target": "com.amazonaws.emr#MarketType", "traits": { - "smithy.api#documentation": "

    The unique identifier for the instance in Amazon EMR.

    " + "smithy.api#documentation": "

    The instance purchasing option. Valid values are ON_DEMAND or\n SPOT.

    " } }, - "InstanceFleetId": { - "target": "com.amazonaws.emr#InstanceFleetId", + "InstanceType": { + "target": "com.amazonaws.emr#InstanceType", "traits": { - "smithy.api#documentation": "

    The unique identifier of the instance fleet to which an EC2 instance belongs.

    " + "smithy.api#documentation": "

    The EC2 instance type, for example m3.xlarge.

    " } }, - "Market": { - "target": "com.amazonaws.emr#MarketType", + "EbsVolumes": { + "target": "com.amazonaws.emr#EbsVolumeList", "traits": { - "smithy.api#documentation": "

    The instance purchasing option. Valid values are ON_DEMAND or SPOT.\n

    " + "smithy.api#documentation": "

    The list of EBS volumes that are attached to this instance.

    " } } }, @@ -2318,10 +2728,10 @@ "com.amazonaws.emr#InstanceFleet": { "type": "structure", "members": { - "InstanceTypeSpecifications": { - "target": "com.amazonaws.emr#InstanceTypeSpecificationList", + "Id": { + "target": "com.amazonaws.emr#InstanceFleetId", "traits": { - "smithy.api#documentation": "

    The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet. \n

    " + "smithy.api#documentation": "

    The unique identifier of the instance fleet.

    " } }, "Name": { @@ -2330,28 +2740,10 @@ "smithy.api#documentation": "

    A friendly name for the instance fleet.

    " } }, - "ProvisionedOnDemandCapacity": { - "target": "com.amazonaws.emr#WholeNumber", - "traits": { - "smithy.api#documentation": "

    The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

    " - } - }, - "TargetOnDemandCapacity": { - "target": "com.amazonaws.emr#WholeNumber", - "traits": { - "smithy.api#documentation": "

    The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

    \n \n

    If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    \n
    " - } - }, - "Id": { - "target": "com.amazonaws.emr#InstanceFleetId", - "traits": { - "smithy.api#documentation": "

    The unique identifier of the instance fleet.

    " - } - }, "Status": { "target": "com.amazonaws.emr#InstanceFleetStatus", "traits": { - "smithy.api#documentation": "

    The current status of the instance fleet.\n

    " + "smithy.api#documentation": "

    The current status of the instance fleet.

    " } }, "InstanceFleetType": { @@ -2360,72 +2752,90 @@ "smithy.api#documentation": "

    The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.\n

    " } }, - "LaunchSpecifications": { - "target": "com.amazonaws.emr#InstanceFleetProvisioningSpecifications", + "TargetOnDemandCapacity": { + "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    Describes the launch specification for an instance fleet.\n

    " + "smithy.api#documentation": "

    The target capacity of On-Demand units for the instance fleet, which determines how many\n On-Demand Instances to provision. When the instance fleet launches, Amazon EMR tries to\n provision On-Demand Instances as specified by InstanceTypeConfig. Each\n instance configuration has a specified WeightedCapacity. When an On-Demand\n Instance is provisioned, the WeightedCapacity units count toward the target\n capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled,\n even if this results in an overage. For example, if there are 2 units remaining to fulfill\n capacity, and Amazon EMR can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the target\n capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity\n units that have been provisioned for the instance fleet.

    \n \n

    If not specified or set to 0, only Spot Instances are provisioned for the instance\n fleet using TargetSpotCapacity. At least one of\n TargetSpotCapacity and TargetOnDemandCapacity should be\n greater than 0. For a master instance fleet, only one of TargetSpotCapacity\n and TargetOnDemandCapacity can be specified, and its value must be\n 1.

    \n
    " } }, "TargetSpotCapacity": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

    \n \n

    If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    \n
    " + "smithy.api#documentation": "

    The target capacity of Spot units for the instance fleet, which determines how many Spot\n instances to provision. When the instance fleet launches, Amazon EMR tries to provision\n Spot instances as specified by InstanceTypeConfig. Each instance\n configuration has a specified WeightedCapacity. When a Spot instance is\n provisioned, the WeightedCapacity units count toward the target capacity.\n Amazon EMR provisions instances until the target capacity is totally fulfilled, even if\n this results in an overage. For example, if there are 2 units remaining to fulfill\n capacity, and Amazon EMR can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the target\n capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units\n that have been provisioned for the instance fleet.

    \n \n

    If not specified or set to 0, only On-Demand instances are provisioned for the\n instance fleet. At least one of TargetSpotCapacity and\n TargetOnDemandCapacity should be greater than 0. For a master instance\n fleet, only one of TargetSpotCapacity and\n TargetOnDemandCapacity can be specified, and its value must be 1.

    \n
    " + } + }, + "ProvisionedOnDemandCapacity": { + "target": "com.amazonaws.emr#WholeNumber", + "traits": { + "smithy.api#documentation": "

    The number of On-Demand units that have been provisioned for the instance fleet to\n fulfill TargetOnDemandCapacity. This provisioned capacity might be less than\n or greater than TargetOnDemandCapacity.

    " } }, "ProvisionedSpotCapacity": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

    " + "smithy.api#documentation": "

    The number of Spot units that have been provisioned for this instance fleet to fulfill\n TargetSpotCapacity. This provisioned capacity might be less than or greater\n than TargetSpotCapacity.

    " + } + }, + "InstanceTypeSpecifications": { + "target": "com.amazonaws.emr#InstanceTypeSpecificationList", + "traits": { + "smithy.api#documentation": "

    The specification for the instance types that comprise an instance fleet. Up to five\n unique instance specifications may be defined for each instance fleet.

    " + } + }, + "LaunchSpecifications": { + "target": "com.amazonaws.emr#InstanceFleetProvisioningSpecifications", + "traits": { + "smithy.api#documentation": "

    Describes the launch specification for an instance fleet.

    " } } }, "traits": { - "smithy.api#documentation": "

    Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot instances, which are provisioned to meet a defined target capacity.\n

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    Describes an instance fleet, which is a group of EC2 instances that host a particular\n node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of\n a mix of instance types and On-Demand and Spot Instances, which are provisioned to meet a\n defined target capacity.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetConfig": { "type": "structure", "members": { - "TargetSpotCapacity": { - "target": "com.amazonaws.emr#WholeNumber", + "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

    \n \n

    If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    \n
    " + "smithy.api#documentation": "

    The friendly name of the instance fleet.

    " } }, - "InstanceTypeConfigs": { - "target": "com.amazonaws.emr#InstanceTypeConfigList", + "InstanceFleetType": { + "target": "com.amazonaws.emr#InstanceFleetType", "traits": { - "smithy.api#documentation": "

    The instance type configurations that define the EC2 instances in the instance fleet.

    " + "smithy.api#documentation": "

    The node type that the instance fleet hosts. Valid values are MASTER,CORE,and\n TASK.

    ", + "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "TargetOnDemandCapacity": { + "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The friendly name of the instance fleet.

    " + "smithy.api#documentation": "

    The target capacity of On-Demand units for the instance fleet, which determines how many\n On-Demand Instances to provision. When the instance fleet launches, Amazon EMR tries to\n provision On-Demand Instances as specified by InstanceTypeConfig. Each\n instance configuration has a specified WeightedCapacity. When an On-Demand\n Instance is provisioned, the WeightedCapacity units count toward the target\n capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled,\n even if this results in an overage. For example, if there are 2 units remaining to fulfill\n capacity, and Amazon EMR can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the target\n capacity is exceeded by 3 units.

    \n \n

    If not specified or set to 0, only Spot Instances are provisioned for the instance\n fleet using TargetSpotCapacity. At least one of\n TargetSpotCapacity and TargetOnDemandCapacity should be\n greater than 0. For a master instance fleet, only one of TargetSpotCapacity\n and TargetOnDemandCapacity can be specified, and its value must be\n 1.

    \n
    " } }, - "TargetOnDemandCapacity": { + "TargetSpotCapacity": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

    \n \n

    If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

    \n
    " + "smithy.api#documentation": "

    The target capacity of Spot units for the instance fleet, which determines how many Spot\n Instances to provision. When the instance fleet launches, Amazon EMR tries to provision\n Spot Instances as specified by InstanceTypeConfig. Each instance\n configuration has a specified WeightedCapacity. When a Spot Instance is\n provisioned, the WeightedCapacity units count toward the target capacity.\n Amazon EMR provisions instances until the target capacity is totally fulfilled, even if\n this results in an overage. For example, if there are 2 units remaining to fulfill\n capacity, and Amazon EMR can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the target\n capacity is exceeded by 3 units.

    \n \n

    If not specified or set to 0, only On-Demand Instances are provisioned for the\n instance fleet. At least one of TargetSpotCapacity and\n TargetOnDemandCapacity should be greater than 0. For a master instance\n fleet, only one of TargetSpotCapacity and\n TargetOnDemandCapacity can be specified, and its value must be 1.

    \n
    " } }, - "LaunchSpecifications": { - "target": "com.amazonaws.emr#InstanceFleetProvisioningSpecifications", + "InstanceTypeConfigs": { + "target": "com.amazonaws.emr#InstanceTypeConfigList", "traits": { - "smithy.api#documentation": "

    The launch specification for the instance fleet.

    " + "smithy.api#documentation": "

    The instance type configurations that define the EC2 instances in the instance\n fleet.

    " } }, - "InstanceFleetType": { - "target": "com.amazonaws.emr#InstanceFleetType", + "LaunchSpecifications": { + "target": "com.amazonaws.emr#InstanceFleetProvisioningSpecifications", "traits": { - "smithy.api#documentation": "

    The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The launch specification for the instance fleet.

    " } } }, "traits": { - "smithy.api#documentation": "

    The configuration that defines an instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    The configuration that defines an instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetConfigList": { @@ -2453,21 +2863,21 @@ "smithy.api#required": {} } }, - "TargetSpotCapacity": { + "TargetOnDemandCapacity": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The target capacity of Spot units for the instance fleet. For more information, see InstanceFleetConfig$TargetSpotCapacity.

    " + "smithy.api#documentation": "

    The target capacity of On-Demand units for the instance fleet. For more information see\n InstanceFleetConfig$TargetOnDemandCapacity.

    " } }, - "TargetOnDemandCapacity": { + "TargetSpotCapacity": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The target capacity of On-Demand units for the instance fleet. For more information see InstanceFleetConfig$TargetOnDemandCapacity.

    " + "smithy.api#documentation": "

    The target capacity of Spot units for the instance fleet. For more information, see\n InstanceFleetConfig$TargetSpotCapacity.

    " } } }, "traits": { - "smithy.api#documentation": "

    Configuration parameters for an instance fleet modification request.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    Configuration parameters for an instance fleet modification request.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetProvisioningSpecifications": { @@ -2476,18 +2886,18 @@ "SpotSpecification": { "target": "com.amazonaws.emr#SpotProvisioningSpecification", "traits": { - "smithy.api#documentation": "

    The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

    " + "smithy.api#documentation": "

    The launch specification for Spot Instances in the fleet, which determines the defined\n duration, provisioning timeout behavior, and allocation strategy.

    " } }, "OnDemandSpecification": { "target": "com.amazonaws.emr#OnDemandProvisioningSpecification", "traits": { - "smithy.api#documentation": "

    \n The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy. \n

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

    \n
    " + "smithy.api#documentation": "

    The launch specification for On-Demand Instances in the instance fleet, which\n determines the allocation strategy.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in\n Amazon EMR version 5.12.1 and later.

    \n
    " } } }, "traits": { - "smithy.api#documentation": "

    The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation strategies are available in Amazon EMR version 5.12.1 and later.

    \n
    " + "smithy.api#documentation": "

    The launch specification for Spot Instances in the fleet, which determines the defined\n duration, provisioning timeout behavior, and allocation strategy.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. On-Demand and Spot Instance allocation strategies are\n available in Amazon EMR version 5.12.1 and later.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetState": { @@ -2528,21 +2938,21 @@ "com.amazonaws.emr#InstanceFleetStateChangeReason": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    An explanatory message.

    " - } - }, "Code": { "target": "com.amazonaws.emr#InstanceFleetStateChangeReasonCode", "traits": { "smithy.api#documentation": "

    A code corresponding to the reason the state change occurred.

    " } + }, + "Message": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    An explanatory message.

    " + } } }, "traits": { - "smithy.api#documentation": "

    Provides status change reason details for the instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    Provides status change reason details for the instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetStateChangeReasonCode": { @@ -2574,13 +2984,7 @@ "State": { "target": "com.amazonaws.emr#InstanceFleetState", "traits": { - "smithy.api#documentation": "

    A code representing the instance fleet status.

    \n
      \n
    • \n

      \n PROVISIONING—The instance fleet is provisioning EC2 resources and is not yet ready to run jobs.

      \n
    • \n
    • \n

      \n BOOTSTRAPPING—EC2 instances and other resources have been provisioned and the bootstrap actions specified for the instances are underway.

      \n
    • \n
    • \n

      \n RUNNING—EC2 instances and other resources are running. They are either executing jobs or waiting to execute jobs.

      \n
    • \n
    • \n

      \n RESIZING—A resize operation is underway. EC2 instances are either being added or removed.

      \n
    • \n
    • \n

      \n SUSPENDED—A resize operation could not complete. Existing EC2 instances are running, but instances can't be added or removed.

      \n
    • \n
    • \n

      \n TERMINATING—The instance fleet is terminating EC2 instances.

      \n
    • \n
    • \n

      \n TERMINATED—The instance fleet is no longer active, and all EC2 instances have been terminated.

      \n
    • \n
    " - } - }, - "Timeline": { - "target": "com.amazonaws.emr#InstanceFleetTimeline", - "traits": { - "smithy.api#documentation": "

    Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

    " + "smithy.api#documentation": "

    A code representing the instance fleet status.

    \n
      \n
    • \n

      \n PROVISIONING—The instance fleet is provisioning EC2 resources and is\n not yet ready to run jobs.

      \n
    • \n
    • \n

      \n BOOTSTRAPPING—EC2 instances and other resources have been provisioned\n and the bootstrap actions specified for the instances are underway.

      \n
    • \n
    • \n

      \n RUNNING—EC2 instances and other resources are running. They are\n either executing jobs or waiting to execute jobs.

      \n
    • \n
    • \n

      \n RESIZING—A resize operation is underway. EC2 instances are either\n being added or removed.

      \n
    • \n
    • \n

      \n SUSPENDED—A resize operation could not complete. Existing EC2\n instances are running, but instances can't be added or removed.

      \n
    • \n
    • \n

      \n TERMINATING—The instance fleet is terminating EC2 instances.

      \n
    • \n
    • \n

      \n TERMINATED—The instance fleet is no longer active, and all EC2\n instances have been terminated.

      \n
    • \n
    " } }, "StateChangeReason": { @@ -2588,10 +2992,16 @@ "traits": { "smithy.api#documentation": "

    Provides status change reason details for the instance fleet.

    " } + }, + "Timeline": { + "target": "com.amazonaws.emr#InstanceFleetTimeline", + "traits": { + "smithy.api#documentation": "

    Provides historical timestamps for the instance fleet, including the time of creation,\n the time it became ready to run jobs, and the time of termination.

    " + } } }, "traits": { - "smithy.api#documentation": "

    The status of the instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    The status of the instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetTimeline": { @@ -2617,7 +3027,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    Provides historical timestamps for the instance fleet, including the time of creation,\n the time it became ready to run jobs, and the time of termination.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceFleetType": { @@ -2642,132 +3052,126 @@ "com.amazonaws.emr#InstanceGroup": { "type": "structure", "members": { - "RequestedInstanceCount": { - "target": "com.amazonaws.emr#Integer", - "traits": { - "smithy.api#documentation": "

    The target number of instances for the instance group.

    " - } - }, "Id": { "target": "com.amazonaws.emr#InstanceGroupId", "traits": { "smithy.api#documentation": "

    The identifier of the instance group.

    " } }, - "LastSuccessfullyAppliedConfigurations": { - "target": "com.amazonaws.emr#ConfigurationList", + "Name": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    A list of configurations that were successfully applied for an instance group last time.

    " + "smithy.api#documentation": "

    The name of the instance group.

    " } }, - "EbsOptimized": { - "target": "com.amazonaws.emr#BooleanObject", + "Market": { + "target": "com.amazonaws.emr#MarketType", "traits": { - "smithy.api#documentation": "

    If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O.

    " + "smithy.api#documentation": "

    The marketplace to provision instances for this group. Valid values are ON_DEMAND or\n SPOT.

    " } }, - "ConfigurationsVersion": { - "target": "com.amazonaws.emr#Long", + "InstanceGroupType": { + "target": "com.amazonaws.emr#InstanceGroupType", "traits": { - "smithy.api#documentation": "

    The version number of the requested configuration specification for this instance group.

    " + "smithy.api#documentation": "

    The type of the instance group. Valid values are MASTER, CORE or TASK.

    " } }, - "EbsBlockDevices": { - "target": "com.amazonaws.emr#EbsBlockDeviceList", + "BidPrice": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The EBS block devices that are mapped to this instance group.

    " + "smithy.api#documentation": "

    The bid price for each EC2 Spot Instance type as defined by InstanceType.\n Expressed in USD. If neither BidPrice nor\n BidPriceAsPercentageOfOnDemandPrice is provided,\n BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " } }, - "ShrinkPolicy": { - "target": "com.amazonaws.emr#ShrinkPolicy", + "InstanceType": { + "target": "com.amazonaws.emr#InstanceType", "traits": { - "smithy.api#documentation": "

    Policy for customizing shrink operations.

    " + "smithy.api#documentation": "

    The EC2 instance type for all instances in the instance group.

    " } }, - "LastSuccessfullyAppliedConfigurationsVersion": { - "target": "com.amazonaws.emr#Long", + "RequestedInstanceCount": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The version number of a configuration specification that was successfully applied for an instance group last time.

    " + "smithy.api#documentation": "

    The target number of instances for the instance group.

    " } }, - "Name": { - "target": "com.amazonaws.emr#String", + "RunningInstanceCount": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The name of the instance group.

    " + "smithy.api#documentation": "

    The number of instances currently running in this instance group.

    " } }, - "Market": { - "target": "com.amazonaws.emr#MarketType", + "Status": { + "target": "com.amazonaws.emr#InstanceGroupStatus", "traits": { - "smithy.api#documentation": "

    The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT.

    " + "smithy.api#documentation": "

    The current status of the instance group.

    " } }, - "BidPrice": { - "target": "com.amazonaws.emr#String", + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", "traits": { - "smithy.api#documentation": "

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in\n USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided,\n BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " + "smithy.api#documentation": "\n

    Amazon EMR releases 4.x or later.

    \n
    \n

    The list of configurations supplied for an EMR cluster instance group. You can specify a\n separate configuration for each instance group (master, core, and task).

    " } }, - "Status": { - "target": "com.amazonaws.emr#InstanceGroupStatus", + "ConfigurationsVersion": { + "target": "com.amazonaws.emr#Long", "traits": { - "smithy.api#documentation": "

    The current status of the instance group.

    " + "smithy.api#documentation": "

    The version number of the requested configuration specification for this instance\n group.

    " } }, - "AutoScalingPolicy": { - "target": "com.amazonaws.emr#AutoScalingPolicyDescription", + "LastSuccessfullyAppliedConfigurations": { + "target": "com.amazonaws.emr#ConfigurationList", "traits": { - "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    " + "smithy.api#documentation": "

    A list of configurations that were successfully applied for an instance group last\n time.

    " } }, - "InstanceType": { - "target": "com.amazonaws.emr#InstanceType", + "LastSuccessfullyAppliedConfigurationsVersion": { + "target": "com.amazonaws.emr#Long", "traits": { - "smithy.api#documentation": "

    The EC2 instance type for all instances in the instance group.

    " + "smithy.api#documentation": "

    The version number of a configuration specification that was successfully applied for an\n instance group last time.

    " } }, - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", + "EbsBlockDevices": { + "target": "com.amazonaws.emr#EbsBlockDeviceList", + "traits": { + "smithy.api#documentation": "

    The EBS block devices that are mapped to this instance group.

    " + } + }, + "EbsOptimized": { + "target": "com.amazonaws.emr#BooleanObject", "traits": { - "smithy.api#documentation": "\n

    Amazon EMR releases 4.x or later.

    \n
    \n

    The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

    " + "smithy.api#documentation": "

    If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an\n optimized configuration stack and provides additional, dedicated capacity for Amazon EBS\n I/O.

    " } }, - "InstanceGroupType": { - "target": "com.amazonaws.emr#InstanceGroupType", + "ShrinkPolicy": { + "target": "com.amazonaws.emr#ShrinkPolicy", "traits": { - "smithy.api#documentation": "

    The type of the instance group. Valid values are MASTER, CORE or TASK.

    " + "smithy.api#documentation": "

    Policy for customizing shrink operations.

    " } }, - "RunningInstanceCount": { - "target": "com.amazonaws.emr#Integer", + "AutoScalingPolicy": { + "target": "com.amazonaws.emr#AutoScalingPolicyDescription", "traits": { - "smithy.api#documentation": "

    The number of instances currently running in this instance group.

    " + "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an\n Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically\n adds and terminates EC2 instances in response to the value of a CloudWatch metric. See\n PutAutoScalingPolicy.

    " } } }, "traits": { - "smithy.api#documentation": "

    This entity represents an instance group, which is a group of instances that have common purpose. For example, CORE instance group is used for HDFS.

    " + "smithy.api#documentation": "

    This entity represents an instance group, which is a group of instances that have common\n purpose. For example, CORE instance group is used for HDFS.

    " } }, "com.amazonaws.emr#InstanceGroupConfig": { "type": "structure", "members": { - "BidPrice": { + "Name": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " - } - }, - "AutoScalingPolicy": { - "target": "com.amazonaws.emr#AutoScalingPolicy", - "traits": { - "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

    " + "smithy.api#documentation": "

    Friendly name given to the instance group.

    " } }, - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", + "Market": { + "target": "com.amazonaws.emr#MarketType", "traits": { - "smithy.api#documentation": "\n

    Amazon EMR releases 4.x or later.

    \n
    \n

    The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

    " + "smithy.api#documentation": "

    Market type of the EC2 instances used to create a cluster node.

    " } }, "InstanceRole": { @@ -2777,16 +3181,10 @@ "smithy.api#required": {} } }, - "Market": { - "target": "com.amazonaws.emr#MarketType", - "traits": { - "smithy.api#documentation": "

    Market type of the EC2 instances used to create a cluster node.

    " - } - }, - "Name": { + "BidPrice": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Friendly name given to the instance group.

    " + "smithy.api#documentation": "

    The bid price for each EC2 Spot Instance type as defined by InstanceType.\n Expressed in USD. If neither BidPrice nor\n BidPriceAsPercentageOfOnDemandPrice is provided,\n BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " } }, "InstanceType": { @@ -2796,17 +3194,29 @@ "smithy.api#required": {} } }, + "InstanceCount": { + "target": "com.amazonaws.emr#Integer", + "traits": { + "smithy.api#documentation": "

    Target number of instances for the instance group.

    ", + "smithy.api#required": {} + } + }, + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", + "traits": { + "smithy.api#documentation": "\n

    Amazon EMR releases 4.x or later.

    \n
    \n

    The list of configurations supplied for an EMR cluster instance group. You can specify a\n separate configuration for each instance group (master, core, and task).

    " + } + }, "EbsConfiguration": { "target": "com.amazonaws.emr#EbsConfiguration", "traits": { - "smithy.api#documentation": "

    EBS configurations that will be attached to each EC2 instance in the instance group.

    " + "smithy.api#documentation": "

    EBS configurations that will be attached to each EC2 instance in the instance\n group.

    " } }, - "InstanceCount": { - "target": "com.amazonaws.emr#Integer", + "AutoScalingPolicy": { + "target": "com.amazonaws.emr#AutoScalingPolicy", "traits": { - "smithy.api#documentation": "

    Target number of instances for the instance group.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    An automatic scaling policy for a core instance group or task instance group in an\n Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically\n adds and terminates EC2 instances in response to the value of a CloudWatch metric. See\n PutAutoScalingPolicy.

    " } } }, @@ -2823,26 +3233,38 @@ "com.amazonaws.emr#InstanceGroupDetail": { "type": "structure", "members": { + "InstanceGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    Unique identifier for the instance group.

    " + } + }, "Name": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { "smithy.api#documentation": "

    Friendly name for the instance group.

    " } }, - "State": { - "target": "com.amazonaws.emr#InstanceGroupState", + "Market": { + "target": "com.amazonaws.emr#MarketType", "traits": { - "smithy.api#documentation": "

    State of instance group. The following values are deprecated: STARTING, TERMINATED, and FAILED.

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

    Market type of the EC2 instances used to create a cluster node.

    ", "smithy.api#required": {} } }, - "CreationDateTime": { - "target": "com.amazonaws.emr#Date", + "InstanceRole": { + "target": "com.amazonaws.emr#InstanceRoleType", "traits": { - "smithy.api#documentation": "

    The date/time the instance group was created.

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

    Instance group role in the cluster

    ", "smithy.api#required": {} } }, + "BidPrice": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The bid price for each EC2 Spot Instance type as defined by InstanceType.\n Expressed in USD. If neither BidPrice nor\n BidPriceAsPercentageOfOnDemandPrice is provided,\n BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " + } + }, "InstanceType": { "target": "com.amazonaws.emr#InstanceType", "traits": { @@ -2857,42 +3279,31 @@ "smithy.api#required": {} } }, - "LastStateChangeReason": { - "target": "com.amazonaws.emr#XmlString", - "traits": { - "smithy.api#documentation": "

    Details regarding the state of the instance group.

    " - } - }, - "InstanceGroupId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", - "traits": { - "smithy.api#documentation": "

    Unique identifier for the instance group.

    " - } - }, - "InstanceRole": { - "target": "com.amazonaws.emr#InstanceRoleType", + "InstanceRunningCount": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    Instance group role in the cluster

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

    Actual count of running instances.

    ", "smithy.api#required": {} } }, - "InstanceRunningCount": { - "target": "com.amazonaws.emr#Integer", + "State": { + "target": "com.amazonaws.emr#InstanceGroupState", "traits": { - "smithy.api#documentation": "

    Actual count of running instances.

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

    State of instance group. The following values are deprecated: STARTING, TERMINATED, and\n FAILED.

    ", "smithy.api#required": {} } }, - "BidPrice": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "LastStateChangeReason": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " + "smithy.api#documentation": "

    Details regarding the state of the instance group.

    " } }, - "EndDateTime": { + "CreationDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The date/time the instance group was terminated.

    " + "smithy.api#documentation": "

    The date/time the instance group was created.

    ", + "smithy.api#required": {} } }, "StartDateTime": { @@ -2901,17 +3312,16 @@ "smithy.api#documentation": "

    The date/time the instance group was started.

    " } }, - "Market": { - "target": "com.amazonaws.emr#MarketType", + "ReadyDateTime": { + "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    Market type of the EC2 instances used to create a cluster node.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The date/time the instance group was available to the cluster.

    " } }, - "ReadyDateTime": { + "EndDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The date/time the instance group was available to the cluster.

    " + "smithy.api#documentation": "

    The date/time the instance group was terminated.

    " } } }, @@ -2943,23 +3353,23 @@ "com.amazonaws.emr#InstanceGroupModifyConfig": { "type": "structure", "members": { - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", + "InstanceGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    A list of new or modified configurations to apply for an instance group.

    " + "smithy.api#documentation": "

    Unique ID of the instance group to modify.

    ", + "smithy.api#required": {} } }, - "EC2InstanceIdsToTerminate": { - "target": "com.amazonaws.emr#EC2InstanceIdsToTerminateList", + "InstanceCount": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size.

    " + "smithy.api#documentation": "

    Target size for the instance group.

    " } }, - "InstanceGroupId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "EC2InstanceIdsToTerminate": { + "target": "com.amazonaws.emr#EC2InstanceIdsToTerminateList", "traits": { - "smithy.api#documentation": "

    Unique ID of the instance group to expand or shrink.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The EC2 InstanceIds to terminate. After you terminate the instances, the instance group\n will not return to its original requested size.

    " } }, "ShrinkPolicy": { @@ -2968,10 +3378,10 @@ "smithy.api#documentation": "

    Policy for customizing shrink operations.

    " } }, - "InstanceCount": { - "target": "com.amazonaws.emr#Integer", + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", "traits": { - "smithy.api#documentation": "

    Target size for the instance group.

    " + "smithy.api#documentation": "

    A list of new or modified configurations to apply for an instance group.

    " } } }, @@ -3039,17 +3449,17 @@ "com.amazonaws.emr#InstanceGroupStateChangeReason": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    The status change reason description.

    " - } - }, "Code": { "target": "com.amazonaws.emr#InstanceGroupStateChangeReasonCode", "traits": { "smithy.api#documentation": "

    The programmable code for the state change reason.

    " } + }, + "Message": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    The status change reason description.

    " + } } }, "traits": { @@ -3082,18 +3492,18 @@ "com.amazonaws.emr#InstanceGroupStatus": { "type": "structure", "members": { - "StateChangeReason": { - "target": "com.amazonaws.emr#InstanceGroupStateChangeReason", - "traits": { - "smithy.api#documentation": "

    The status change reason details for the instance group.

    " - } - }, "State": { "target": "com.amazonaws.emr#InstanceGroupState", "traits": { "smithy.api#documentation": "

    The current state of the instance group.

    " } }, + "StateChangeReason": { + "target": "com.amazonaws.emr#InstanceGroupStateChangeReason", + "traits": { + "smithy.api#documentation": "

    The status change reason details for the instance group.

    " + } + }, "Timeline": { "target": "com.amazonaws.emr#InstanceGroupTimeline", "traits": { @@ -3114,16 +3524,16 @@ "smithy.api#documentation": "

    The creation date and time of the instance group.

    " } }, - "EndDateTime": { + "ReadyDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The date and time when the instance group terminated.

    " + "smithy.api#documentation": "

    The date and time when the instance group became ready to perform tasks.

    " } }, - "ReadyDateTime": { + "EndDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The date and time when the instance group became ready to perform tasks.

    " + "smithy.api#documentation": "

    The date and time when the instance group terminated.

    " } } }, @@ -3168,12 +3578,6 @@ "com.amazonaws.emr#InstanceResizePolicy": { "type": "structure", "members": { - "InstanceTerminationTimeout": { - "target": "com.amazonaws.emr#Integer", - "traits": { - "smithy.api#documentation": "

    Decommissioning timeout override for the specific list of instances to be terminated.

    " - } - }, "InstancesToTerminate": { "target": "com.amazonaws.emr#EC2InstanceIdsList", "traits": { @@ -3185,10 +3589,16 @@ "traits": { "smithy.api#documentation": "

    Specific list of instances to be protected when shrinking an instance group.

    " } + }, + "InstanceTerminationTimeout": { + "target": "com.amazonaws.emr#Integer", + "traits": { + "smithy.api#documentation": "

    Decommissioning timeout override for the specific list of instances to be\n terminated.

    " + } } }, "traits": { - "smithy.api#documentation": "

    Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

    " + "smithy.api#documentation": "

    Custom policy for requesting termination protection or termination of specific instances\n when shrinking an instance group.

    " } }, "com.amazonaws.emr#InstanceRoleType": { @@ -3237,17 +3647,17 @@ "com.amazonaws.emr#InstanceStateChangeReason": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.emr#String", - "traits": { - "smithy.api#documentation": "

    The status change reason description.

    " - } - }, "Code": { "target": "com.amazonaws.emr#InstanceStateChangeReasonCode", "traits": { "smithy.api#documentation": "

    The programmable code for the state change reason.

    " } + }, + "Message": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "

    The status change reason description.

    " + } } }, "traits": { @@ -3290,12 +3700,6 @@ "com.amazonaws.emr#InstanceStatus": { "type": "structure", "members": { - "Timeline": { - "target": "com.amazonaws.emr#InstanceTimeline", - "traits": { - "smithy.api#documentation": "

    The timeline of the instance status over time.

    " - } - }, "State": { "target": "com.amazonaws.emr#InstanceState", "traits": { @@ -3307,6 +3711,12 @@ "traits": { "smithy.api#documentation": "

    The details of the status change reason for the instance.

    " } + }, + "Timeline": { + "target": "com.amazonaws.emr#InstanceTimeline", + "traits": { + "smithy.api#documentation": "

    The timeline of the instance status over time.

    " + } } }, "traits": { @@ -3316,12 +3726,6 @@ "com.amazonaws.emr#InstanceTimeline": { "type": "structure", "members": { - "EndDateTime": { - "target": "com.amazonaws.emr#Date", - "traits": { - "smithy.api#documentation": "

    The date and time when the instance was terminated.

    " - } - }, "CreationDateTime": { "target": "com.amazonaws.emr#Date", "traits": { @@ -3333,6 +3737,12 @@ "traits": { "smithy.api#documentation": "

    The date and time when the instance was ready to perform tasks.

    " } + }, + "EndDateTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The date and time when the instance was terminated.

    " + } } }, "traits": { @@ -3355,43 +3765,43 @@ "InstanceType": { "target": "com.amazonaws.emr#InstanceType", "traits": { - "smithy.api#documentation": "

    An EC2 instance type, such as m3.xlarge.\n

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

    An EC2 instance type, such as m3.xlarge.

    ", "smithy.api#required": {} } }, - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", - "traits": { - "smithy.api#documentation": "

    A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

    " - } - }, - "EbsConfiguration": { - "target": "com.amazonaws.emr#EbsConfiguration", - "traits": { - "smithy.api#documentation": "

    The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.\n

    " - } - }, "WeightedCapacity": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.\n

    " + "smithy.api#documentation": "

    The number of units that a provisioned instance of this type provides toward fulfilling\n the target capacities defined in InstanceFleetConfig. This value is 1 for\n a master instance fleet, and must be 1 or greater for core and task instance fleets.\n Defaults to 1 if not specified.

    " } }, "BidPrice": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. \n

    " + "smithy.api#documentation": "

    The bid price for each EC2 Spot Instance type as defined by InstanceType.\n Expressed in USD. If neither BidPrice nor\n BidPriceAsPercentageOfOnDemandPrice is provided,\n BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " } }, "BidPriceAsPercentageOfOnDemandPrice": { "target": "com.amazonaws.emr#NonNegativeDouble", "traits": { - "smithy.api#documentation": "

    The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " + "smithy.api#documentation": "

    The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance as defined\n by InstanceType. Expressed as a number (for example, 20 specifies 20%). If\n neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is\n provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    " + } + }, + "EbsConfiguration": { + "target": "com.amazonaws.emr#EbsConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to each instance\n as defined by InstanceType.

    " + } + }, + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", + "traits": { + "smithy.api#documentation": "

    A configuration classification that applies when provisioning cluster instances, which\n can include configurations for applications and software that run on the cluster.

    " } } }, "traits": { - "smithy.api#documentation": "

    An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of 5 instance type configurations in a fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    An instance type configuration for each instance type in an instance fleet, which\n determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot\n target capacities. There can be a maximum of five instance type configurations in a\n fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceTypeConfigList": { @@ -3403,51 +3813,51 @@ "com.amazonaws.emr#InstanceTypeSpecification": { "type": "structure", "members": { - "BidPrice": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "InstanceType": { + "target": "com.amazonaws.emr#InstanceType", "traits": { - "smithy.api#documentation": "

    The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

    " + "smithy.api#documentation": "

    The EC2 instance type, for example m3.xlarge.

    " } }, - "EbsOptimized": { - "target": "com.amazonaws.emr#BooleanObject", + "WeightedCapacity": { + "target": "com.amazonaws.emr#WholeNumber", + "traits": { + "smithy.api#documentation": "

    The number of units that a provisioned instance of this type provides toward fulfilling\n the target capacities defined in InstanceFleetConfig. Capacity values\n represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the\n default value is 1.

    " + } + }, + "BidPrice": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Evaluates to TRUE when the specified InstanceType is EBS-optimized.

    " + "smithy.api#documentation": "

    The bid price for each EC2 Spot Instance type as defined by InstanceType.\n Expressed in USD.

    " } }, "BidPriceAsPercentageOfOnDemandPrice": { "target": "com.amazonaws.emr#NonNegativeDouble", "traits": { - "smithy.api#documentation": "

    The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

    " + "smithy.api#documentation": "

    The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance as defined\n by InstanceType. Expressed as a number (for example, 20 specifies 20%).

    " } }, "Configurations": { "target": "com.amazonaws.emr#ConfigurationList", "traits": { - "smithy.api#documentation": "

    A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR.

    " + "smithy.api#documentation": "

    A configuration classification that applies when provisioning cluster instances, which\n can include configurations for applications and software bundled with Amazon EMR.

    " } }, "EbsBlockDevices": { "target": "com.amazonaws.emr#EbsBlockDeviceList", "traits": { - "smithy.api#documentation": "

    The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

    " + "smithy.api#documentation": "

    The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to each instance\n as defined by InstanceType.

    " } }, - "InstanceType": { - "target": "com.amazonaws.emr#InstanceType", - "traits": { - "smithy.api#documentation": "

    The EC2 instance type, for example m3.xlarge.

    " - } - }, - "WeightedCapacity": { - "target": "com.amazonaws.emr#WholeNumber", + "EbsOptimized": { + "target": "com.amazonaws.emr#BooleanObject", "traits": { - "smithy.api#documentation": "

    The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

    " + "smithy.api#documentation": "

    Evaluates to TRUE when the specified InstanceType is\n EBS-optimized.

    " } } }, "traits": { - "smithy.api#documentation": "

    The configuration specification for each instance type in an instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    The configuration specification for each instance type in an instance fleet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#InstanceTypeSpecificationList": { @@ -3466,7 +3876,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

    Indicates that an error occurred while processing the request and that the request was not completed.

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

    Indicates that an error occurred while processing the request and that the request was\n not completed.

    ", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -3489,17 +3899,17 @@ "com.amazonaws.emr#InvalidRequestException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.emr#ErrorMessage", - "traits": { - "smithy.api#documentation": "

    The message associated with the exception.

    " - } - }, "ErrorCode": { "target": "com.amazonaws.emr#ErrorCode", "traits": { "smithy.api#documentation": "

    The error code associated with the exception.

    " } + }, + "Message": { + "target": "com.amazonaws.emr#ErrorMessage", + "traits": { + "smithy.api#documentation": "

    The message associated with the exception.

    " + } } }, "traits": { @@ -3510,17 +3920,18 @@ "com.amazonaws.emr#JobFlowDetail": { "type": "structure", "members": { - "Name": { + "JobFlowId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The name of the job flow.

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

    The job flow identifier.

    ", "smithy.api#required": {} } }, - "JobFlowRole": { - "target": "com.amazonaws.emr#XmlString", + "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

    " + "smithy.api#documentation": "

    The name of the job flow.

    ", + "smithy.api#required": {} } }, "LogUri": { @@ -3529,22 +3940,16 @@ "smithy.api#documentation": "

    The location in Amazon S3 where log files for the job are stored.

    " } }, - "AutoScalingRole": { + "LogEncryptionKmsKeyId": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

    " - } - }, - "VisibleToAllUsers": { - "target": "com.amazonaws.emr#Boolean", - "traits": { - "smithy.api#documentation": "

    Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

    " + "smithy.api#documentation": "

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is\n only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    " } }, - "LogEncryptionKmsKeyId": { - "target": "com.amazonaws.emr#XmlString", + "AmiVersion": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    " + "smithy.api#documentation": "

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and\n later, ReleaseLabel is used. To specify a custom AMI, use\n CustomAmiID.

    " } }, "ExecutionStatusDetail": { @@ -3554,16 +3959,17 @@ "smithy.api#required": {} } }, - "SupportedProducts": { - "target": "com.amazonaws.emr#SupportedProductsList", + "Instances": { + "target": "com.amazonaws.emr#JobFlowInstancesDetail", "traits": { - "smithy.api#documentation": "

    A list of strings set by third party software when the job flow is launched. If you are not using third party software to manage the job flow this value is empty.

    " + "smithy.api#documentation": "

    Describes the Amazon EC2 instances of the job flow.

    ", + "smithy.api#required": {} } }, - "ServiceRole": { - "target": "com.amazonaws.emr#XmlString", + "Steps": { + "target": "com.amazonaws.emr#StepDetailList", "traits": { - "smithy.api#documentation": "

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

    " + "smithy.api#documentation": "

    A list of steps run by the job flow.

    " } }, "BootstrapActions": { @@ -3572,36 +3978,40 @@ "smithy.api#documentation": "

    A list of the bootstrap actions run by the job flow.

    " } }, - "Steps": { - "target": "com.amazonaws.emr#StepDetailList", + "SupportedProducts": { + "target": "com.amazonaws.emr#SupportedProductsList", "traits": { - "smithy.api#documentation": "

    A list of steps run by the job flow.

    " + "smithy.api#documentation": "

    A list of strings set by third-party software when the job flow is launched. If you are\n not using third-party software to manage the job flow, this value is empty.

    " } }, - "JobFlowId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "VisibleToAllUsers": { + "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    The job flow identifier.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Indicates whether the cluster is visible to all IAM users of the AWS account associated\n with the cluster. The default value, true, indicates that all IAM users in the\n AWS account can perform cluster actions if they have the proper IAM policy permissions. If\n this value is false, only the IAM user that created the cluster can perform\n actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of\n true when you create a cluster by using the VisibleToAllUsers\n parameter of the RunJobFlow action.

    " } }, - "Instances": { - "target": "com.amazonaws.emr#JobFlowInstancesDetail", + "JobFlowRole": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Describes the Amazon EC2 instances of the job flow.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The IAM role that was specified when the job flow was launched. The EC2 instances of the\n job flow assume this role.

    " } }, - "AmiVersion": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "ServiceRole": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The IAM role that is assumed by the Amazon EMR service to access AWS resources on your\n behalf.

    " + } + }, + "AutoScalingRole": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

    " + "smithy.api#documentation": "

    An IAM role for automatic scaling policies. The default role is\n EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic\n scaling feature to get the required permissions it needs to launch and terminate EC2\n instances in an instance group.

    " } }, "ScaleDownBehavior": { "target": "com.amazonaws.emr#ScaleDownBehavior", "traits": { - "smithy.api#documentation": "

    The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    " + "smithy.api#documentation": "

    The way that individual Amazon EC2 instances terminate when an automatic scale-in\n activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR\n indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of\n when the request to terminate the instance was submitted. This option is only available\n with Amazon EMR 5.1.0 and later and is the default for clusters created using that version.\n TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny\n list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of\n the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes\n first and blocks instance termination if it could lead to HDFS corruption.\n TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and\n later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    " } } }, @@ -3671,16 +4081,11 @@ "smithy.api#required": {} } }, - "ReadyDateTime": { + "CreationDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The date and time when the job flow was ready to start running bootstrap actions.

    " - } - }, - "LastStateChangeReason": { - "target": "com.amazonaws.emr#XmlString", - "traits": { - "smithy.api#documentation": "

    Description of the job flow last changed state.

    " + "smithy.api#documentation": "

    The creation date and time of the job flow.

    ", + "smithy.api#required": {} } }, "StartDateTime": { @@ -3689,11 +4094,10 @@ "smithy.api#documentation": "

    The start date and time of the job flow.

    " } }, - "CreationDateTime": { + "ReadyDateTime": { "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The creation date and time of the job flow.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The date and time when the job flow was ready to start running bootstrap actions.

    " } }, "EndDateTime": { @@ -3701,6 +4105,12 @@ "traits": { "smithy.api#documentation": "

    The completion date and time of the job flow.

    " } + }, + "LastStateChangeReason": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    Description of the job flow last changed state.

    " + } } }, "traits": { @@ -3710,16 +4120,16 @@ "com.amazonaws.emr#JobFlowInstancesConfig": { "type": "structure", "members": { - "Placement": { - "target": "com.amazonaws.emr#PlacementType", + "MasterInstanceType": { + "target": "com.amazonaws.emr#InstanceType", "traits": { - "smithy.api#documentation": "

    The Availability Zone in which the cluster runs.

    " + "smithy.api#documentation": "

    The EC2 instance type of the master node.

    " } }, - "Ec2SubnetId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "SlaveInstanceType": { + "target": "com.amazonaws.emr#InstanceType", "traits": { - "smithy.api#documentation": "

    Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

    " + "smithy.api#documentation": "

    The EC2 instance type of the core and task nodes.

    " } }, "InstanceCount": { @@ -3728,98 +4138,111 @@ "smithy.api#documentation": "

    The number of EC2 instances in the cluster.

    " } }, - "EmrManagedSlaveSecurityGroup": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "InstanceGroups": { + "target": "com.amazonaws.emr#InstanceGroupConfigList", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the core and task nodes.

    " + "smithy.api#documentation": "

    Configuration for the instance groups in a cluster.

    " } }, - "ServiceAccessSecurityGroup": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "InstanceFleets": { + "target": "com.amazonaws.emr#InstanceFleetConfigList", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

    " + "smithy.api#documentation": "\n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    \n

    Describes the EC2 instances and instance configurations for clusters that use the\n instance fleet configuration.

    " } }, - "EmrManagedMasterSecurityGroup": { + "Ec2KeyName": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the master node.

    " + "smithy.api#documentation": "

    The name of the EC2 key pair that can be used to connect to the master node using SSH as\n the user called \"hadoop.\"

    " } }, - "AdditionalMasterSecurityGroups": { - "target": "com.amazonaws.emr#SecurityGroupsList", + "Placement": { + "target": "com.amazonaws.emr#PlacementType", "traits": { - "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the master node.

    " + "smithy.api#documentation": "

    The Availability Zone in which the cluster runs.

    " } }, - "AdditionalSlaveSecurityGroups": { - "target": "com.amazonaws.emr#SecurityGroupsList", + "KeepJobFlowAliveWhenNoSteps": { + "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    " + "smithy.api#documentation": "

    Specifies whether the cluster should remain available after completing all steps.

    " } }, - "InstanceGroups": { - "target": "com.amazonaws.emr#InstanceGroupConfigList", + "TerminationProtected": { + "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    Configuration for the instance groups in a cluster.

    " + "smithy.api#documentation": "

    Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being\n terminated by API call, user intervention, or in the event of a job-flow error.

    " } }, - "SlaveInstanceType": { - "target": "com.amazonaws.emr#InstanceType", + "HadoopVersion": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The EC2 instance type of the core and task nodes.

    " + "smithy.api#documentation": "

    Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the\n cluster. Valid inputs are \"0.18\" (no longer maintained), \"0.20\" (no longer maintained),\n \"0.20.205\" (no longer maintained), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this\n value, the default of 0.18 is used, unless the AmiVersion parameter is set in\n the RunJobFlow call, in which case the default version of Hadoop for that AMI version is\n used.

    " } }, - "HadoopVersion": { + "Ec2SubnetId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

    " + "smithy.api#documentation": "

    Applies to clusters that use the uniform instance group configuration. To launch the\n cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier\n of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this\n value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

    " } }, "Ec2SubnetIds": { "target": "com.amazonaws.emr#XmlStringMaxLen256List", "traits": { - "smithy.api#documentation": "

    Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet\n IDs are specified, Amazon EMR evaluates them and launches instances in the optimal\n subnet.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, - "KeepJobFlowAliveWhenNoSteps": { - "target": "com.amazonaws.emr#Boolean", + "EmrManagedMasterSecurityGroup": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Specifies whether the cluster should remain available after completing all steps.

    " + "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the master node.

    " } }, - "TerminationProtected": { - "target": "com.amazonaws.emr#Boolean", + "EmrManagedSlaveSecurityGroup": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

    " + "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the core and task nodes.

    " } }, - "InstanceFleets": { - "target": "com.amazonaws.emr#InstanceFleetConfigList", + "ServiceAccessSecurityGroup": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "\n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    \n

    Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

    " + "smithy.api#documentation": "

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access\n clusters in VPC private subnets.

    " } }, - "Ec2KeyName": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "AdditionalMasterSecurityGroups": { + "target": "com.amazonaws.emr#SecurityGroupsList", "traits": { - "smithy.api#documentation": "

    The name of the EC2 key pair that can be used to ssh to the master node as the user called \"hadoop.\"

    " + "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the master node.

    " } }, - "MasterInstanceType": { - "target": "com.amazonaws.emr#InstanceType", + "AdditionalSlaveSecurityGroups": { + "target": "com.amazonaws.emr#SecurityGroupsList", "traits": { - "smithy.api#documentation": "

    The EC2 instance type of the master node.

    " + "smithy.api#documentation": "

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

    " } } }, "traits": { - "smithy.api#documentation": "

    A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets, which is the recommended configuration. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

    " + "smithy.api#documentation": "

    A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid\n JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets. They cannot be\n used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount\n (all three must be present), but we don't recommend this configuration.

    " } }, "com.amazonaws.emr#JobFlowInstancesDetail": { "type": "structure", "members": { + "MasterInstanceType": { + "target": "com.amazonaws.emr#InstanceType", + "traits": { + "smithy.api#documentation": "

    The Amazon EC2 master node instance type.

    ", + "smithy.api#required": {} + } + }, + "MasterPublicDnsName": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The DNS name of the master node. If the cluster is on a private subnet, this is the\n private DNS name. On a public subnet, this is the public DNS name.

    " + } + }, "MasterInstanceId": { "target": "com.amazonaws.emr#XmlString", "traits": { @@ -3836,39 +4259,38 @@ "InstanceCount": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and core and task node. If the value is greater than 1, one instance is the master node and all others are core and task nodes.

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

    The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance\n serves as both the master and core and task node. If the value is greater than 1, one\n instance is the master node and all others are core and task nodes.

    ", "smithy.api#required": {} } }, - "MasterPublicDnsName": { - "target": "com.amazonaws.emr#XmlString", + "InstanceGroups": { + "target": "com.amazonaws.emr#InstanceGroupDetailList", "traits": { - "smithy.api#documentation": "

    The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

    " + "smithy.api#documentation": "

    Details about the instance groups in a cluster.

    " } }, - "MasterInstanceType": { - "target": "com.amazonaws.emr#InstanceType", + "NormalizedInstanceHours": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The Amazon EC2 master node instance type.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    An approximation of the cost of the cluster, represented in m1.small/hours. This value\n is increased one time for every hour that an m1.small instance runs. Larger instances are\n weighted more heavily, so an Amazon EC2 instance that is roughly four times more expensive\n would result in the normalized instance hours being increased incrementally four times.\n This result is only an approximation and does not reflect the actual billing rate.

    " } }, - "HadoopVersion": { + "Ec2KeyName": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The Hadoop version for the cluster.

    " + "smithy.api#documentation": "

    The name of an Amazon EC2 key pair that can be used to connect to the master node using\n SSH.

    " } }, "Ec2SubnetId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

    " + "smithy.api#documentation": "

    For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the\n subnet where the cluster was launched.

    " } }, - "Ec2KeyName": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "Placement": { + "target": "com.amazonaws.emr#PlacementType", "traits": { - "smithy.api#documentation": "

    The name of an Amazon EC2 key pair that can be used to ssh to the master node.

    " + "smithy.api#documentation": "

    The Amazon EC2 Availability Zone for the cluster.

    " } }, "KeepJobFlowAliveWhenNoSteps": { @@ -3877,28 +4299,16 @@ "smithy.api#documentation": "

    Specifies whether the cluster should remain available after completing all steps.

    " } }, - "InstanceGroups": { - "target": "com.amazonaws.emr#InstanceGroupDetailList", - "traits": { - "smithy.api#documentation": "

    Details about the instance groups in a cluster.

    " - } - }, "TerminationProtected": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.

    " - } - }, - "NormalizedInstanceHours": { - "target": "com.amazonaws.emr#Integer", - "traits": { - "smithy.api#documentation": "

    An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

    " + "smithy.api#documentation": "

    Specifies whether the Amazon EC2 instances in the cluster are protected from termination\n by API calls, user intervention, or in the event of a job-flow error.

    " } }, - "Placement": { - "target": "com.amazonaws.emr#PlacementType", + "HadoopVersion": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The Amazon EC2 Availability Zone for the cluster.

    " + "smithy.api#documentation": "

    The Hadoop version for the cluster.

    " } } }, @@ -3912,27 +4322,27 @@ "Realm": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The name of the Kerberos realm to which all nodes in a cluster belong. For example, EC2.INTERNAL.\n

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

    The name of the Kerberos realm to which all nodes in a cluster belong. For example,\n EC2.INTERNAL.

    ", "smithy.api#required": {} } }, - "CrossRealmTrustPrincipalPassword": { + "KdcAdminPassword": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms.

    " + "smithy.api#documentation": "

    The password used within the cluster for the kadmin service on the cluster-dedicated\n KDC, which maintains Kerberos principals, password policies, and keytabs for the\n cluster.

    ", + "smithy.api#required": {} } }, - "ADDomainJoinUser": { + "CrossRealmTrustPrincipalPassword": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain.

    " + "smithy.api#documentation": "

    Required only when establishing a cross-realm trust with a KDC in a different realm. The\n cross-realm principal password, which must be identical across realms.

    " } }, - "KdcAdminPassword": { + "ADDomainJoinUser": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Required only when establishing a cross-realm trust with an Active Directory domain. A\n user with sufficient privileges to join resources to the domain.

    " } }, "ADDomainJoinPassword": { @@ -3943,7 +4353,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

    " + "smithy.api#documentation": "

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a\n security configuration. For more information see Use Kerberos Authentication\n in the Amazon EMR Management Guide.

    " } }, "com.amazonaws.emr#KeyValue": { @@ -3952,7 +4362,7 @@ "Key": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The unique identifier of a key value pair.

    " + "smithy.api#documentation": "

    The unique identifier of a key-value pair.

    " } }, "Value": { @@ -3963,7 +4373,7 @@ } }, "traits": { - "smithy.api#documentation": "

    A key value pair.

    " + "smithy.api#documentation": "

    A key-value pair.

    " } }, "com.amazonaws.emr#KeyValueList": { @@ -4055,7 +4465,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

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

    Provides the status of all clusters visible to this AWS account. Allows you to filter\n the list of clusters based on certain criteria; for example, filtering by cluster creation\n date and time or by status. This call returns a maximum of 50 clusters per call, but\n returns a marker to track the paging of the cluster list across multiple ListClusters\n calls.

    ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -4066,10 +4476,10 @@ "com.amazonaws.emr#ListClustersInput": { "type": "structure", "members": { - "ClusterStates": { - "target": "com.amazonaws.emr#ClusterStateList", + "CreatedAfter": { + "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The cluster state filters to apply when listing clusters.

    " + "smithy.api#documentation": "

    The creation date and time beginning value filter for listing clusters.

    " } }, "CreatedBefore": { @@ -4078,41 +4488,41 @@ "smithy.api#documentation": "

    The creation date and time end value filter for listing clusters.

    " } }, - "Marker": { - "target": "com.amazonaws.emr#Marker", + "ClusterStates": { + "target": "com.amazonaws.emr#ClusterStateList", "traits": { - "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " + "smithy.api#documentation": "

    The cluster state filters to apply when listing clusters.

    " } }, - "CreatedAfter": { - "target": "com.amazonaws.emr#Date", + "Marker": { + "target": "com.amazonaws.emr#Marker", "traits": { - "smithy.api#documentation": "

    The creation date and time beginning value filter for listing clusters.

    " + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " } } }, "traits": { - "smithy.api#documentation": "

    This input determines how the ListClusters action filters the list of clusters that it returns.

    " + "smithy.api#documentation": "

    This input determines how the ListClusters action filters the list of clusters that it\n returns.

    " } }, "com.amazonaws.emr#ListClustersOutput": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.emr#Marker", - "traits": { - "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " - } - }, "Clusters": { "target": "com.amazonaws.emr#ClusterSummaryList", "traits": { "smithy.api#documentation": "

    The list of clusters for the account based on the given filters.

    " } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " + } } }, "traits": { - "smithy.api#documentation": "

    This contains a ClusterSummaryList with the cluster details; for example, the cluster IDs, names, and status.

    " + "smithy.api#documentation": "

    This contains a ClusterSummaryList with the cluster details; for example, the cluster\n IDs, names, and status.

    " } }, "com.amazonaws.emr#ListInstanceFleets": { @@ -4132,7 +4542,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Lists all available details about the instance fleets in a cluster.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

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

    Lists all available details about the instance fleets in a cluster.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -4143,18 +4553,18 @@ "com.amazonaws.emr#ListInstanceFleetsInput": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.emr#Marker", - "traits": { - "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " - } - }, "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { "smithy.api#documentation": "

    The unique identifier of the cluster.

    ", "smithy.api#required": {} } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " + } } } }, @@ -4224,17 +4634,17 @@ "com.amazonaws.emr#ListInstanceGroupsOutput": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.emr#Marker", - "traits": { - "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " - } - }, "InstanceGroups": { "target": "com.amazonaws.emr#InstanceGroupList", "traits": { "smithy.api#documentation": "

    The list of instance groups for the cluster and given filters.

    " } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

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

    Provides information for all active EC2 instances and EC2 instances terminated in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

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

    Provides information for all active EC2 instances and EC2 instances terminated in the\n last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are\n considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

    ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -4269,24 +4679,6 @@ "com.amazonaws.emr#ListInstancesInput": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.emr#Marker", - "traits": { - "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " - } - }, - "InstanceGroupTypes": { - "target": "com.amazonaws.emr#InstanceGroupTypeList", - "traits": { - "smithy.api#documentation": "

    The type of instance group for which to list the instances.

    " - } - }, - "InstanceStates": { - "target": "com.amazonaws.emr#InstanceStateList", - "traits": { - "smithy.api#documentation": "

    A list of instance states that will filter the instances returned with this request.

    " - } - }, "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { @@ -4300,10 +4692,10 @@ "smithy.api#documentation": "

    The identifier of the instance group for which to list the instances.

    " } }, - "InstanceFleetType": { - "target": "com.amazonaws.emr#InstanceFleetType", + "InstanceGroupTypes": { + "target": "com.amazonaws.emr#InstanceGroupTypeList", "traits": { - "smithy.api#documentation": "

    The node type of the instance fleet. For example MASTER, CORE, or TASK.

    " + "smithy.api#documentation": "

    The type of instance group for which to list the instances.

    " } }, "InstanceFleetId": { @@ -4311,6 +4703,24 @@ "traits": { "smithy.api#documentation": "

    The unique identifier of the instance fleet.

    " } + }, + "InstanceFleetType": { + "target": "com.amazonaws.emr#InstanceFleetType", + "traits": { + "smithy.api#documentation": "

    The node type of the instance fleet. For example MASTER, CORE, or TASK.

    " + } + }, + "InstanceStates": { + "target": "com.amazonaws.emr#InstanceStateList", + "traits": { + "smithy.api#documentation": "

    A list of instance states that will filter the instances returned with this\n request.

    " + } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

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

    Provides summaries of all notebook executions. You can filter the list based on multiple criteria such as status, time range, and editor id. Returns a maximum of 50 notebook executions and a marker to track the paging of a longer notebook execution list across multiple ListNotebookExecution calls.

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

    Provides summaries of all notebook executions. You can filter the list based on multiple\n criteria such as status, time range, and editor id. Returns a maximum of 50 notebook\n executions and a marker to track the paging of a longer notebook execution list across\n multiple ListNotebookExecution calls.

    ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -4362,86 +4772,229 @@ } } }, - "com.amazonaws.emr#ListNotebookExecutionsInput": { + "com.amazonaws.emr#ListNotebookExecutionsInput": { + "type": "structure", + "members": { + "EditorId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The unique ID of the editor associated with the notebook execution.

    " + } + }, + "Status": { + "target": "com.amazonaws.emr#NotebookExecutionStatus", + "traits": { + "smithy.api#documentation": "

    The status filter for listing notebook executions.

    \n
      \n
    • \n

      \n START_PENDING indicates that the cluster has received the execution\n request but execution has not begun.

      \n
    • \n
    • \n

      \n STARTING indicates that the execution is starting on the\n cluster.

      \n
    • \n
    • \n

      \n RUNNING indicates that the execution is being processed by the\n cluster.

      \n
    • \n
    • \n

      \n FINISHING indicates that execution processing is in the final\n stages.

      \n
    • \n
    • \n

      \n FINISHED indicates that the execution has completed without\n error.

      \n
    • \n
    • \n

      \n FAILING indicates that the execution is failing and will not finish\n successfully.

      \n
    • \n
    • \n

      \n FAILED indicates that the execution failed.

      \n
    • \n
    • \n

      \n STOP_PENDING indicates that the cluster has received a\n StopNotebookExecution request and the stop is pending.

      \n
    • \n
    • \n

      \n STOPPING indicates that the cluster is in the process of stopping the\n execution as a result of a StopNotebookExecution request.

      \n
    • \n
    • \n

      \n STOPPED indicates that the execution stopped because of a\n StopNotebookExecution request.

      \n
    • \n
    " + } + }, + "From": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The beginning of time range filter for listing notebook executions. The default is the\n timestamp of 30 days ago.

    " + } + }, + "To": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The end of time range filter for listing notebook executions. The default is the current\n timestamp.

    " + } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    The pagination token, returned by a previous ListNotebookExecutions call,\n that indicates the start of the list for this ListNotebookExecutions\n call.

    " + } + } + } + }, + "com.amazonaws.emr#ListNotebookExecutionsOutput": { + "type": "structure", + "members": { + "NotebookExecutions": { + "target": "com.amazonaws.emr#NotebookExecutionSummaryList", + "traits": { + "smithy.api#documentation": "

    A list of notebook executions.

    " + } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    A pagination token that a subsequent ListNotebookExecutions can use to\n determine the next set of results to retrieve.

    " + } + } + } + }, + "com.amazonaws.emr#ListSecurityConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#ListSecurityConfigurationsInput" + }, + "output": { + "target": "com.amazonaws.emr#ListSecurityConfigurationsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "

    Lists all the security configurations visible to this account, providing their creation\n dates and times, and their names. This call returns a maximum of 50 clusters per call, but\n returns a marker to track the paging of the cluster list across multiple\n ListSecurityConfigurations calls.

    ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "SecurityConfigurations" + } + } + }, + "com.amazonaws.emr#ListSecurityConfigurationsInput": { + "type": "structure", + "members": { + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    The pagination token that indicates the set of results to retrieve.

    " + } + } + } + }, + "com.amazonaws.emr#ListSecurityConfigurationsOutput": { + "type": "structure", + "members": { + "SecurityConfigurations": { + "target": "com.amazonaws.emr#SecurityConfigurationList", + "traits": { + "smithy.api#documentation": "

    The creation date and time, and name, of each security configuration.

    " + } + }, + "Marker": { + "target": "com.amazonaws.emr#Marker", + "traits": { + "smithy.api#documentation": "

    A pagination token that indicates the next set of results to retrieve. Include the\n marker in the next ListSecurityConfiguration call to retrieve the next page of results, if\n required.

    " + } + } + } + }, + "com.amazonaws.emr#ListSteps": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#ListStepsInput" + }, + "output": { + "target": "com.amazonaws.emr#ListStepsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "

    Provides a list of steps for the cluster in reverse order unless you specify\n stepIds with the request of filter by StepStates. You can\n specify a maximum of ten stepIDs.

    ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "Steps" + } + } + }, + "com.amazonaws.emr#ListStepsInput": { "type": "structure", "members": { - "To": { - "target": "com.amazonaws.emr#Date", + "ClusterId": { + "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    The end of time range filter for listing notebook executions. The default is the current timestamp.

    " + "smithy.api#documentation": "

    The identifier of the cluster for which to list the steps.

    ", + "smithy.api#required": {} } }, - "From": { - "target": "com.amazonaws.emr#Date", + "StepStates": { + "target": "com.amazonaws.emr#StepStateList", "traits": { - "smithy.api#documentation": "

    The beginning of time range filter for listing notebook executions. The default is the timestamp of 30 days ago.

    " + "smithy.api#documentation": "

    The filter to limit the step list based on certain states.

    " } }, - "EditorId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "StepIds": { + "target": "com.amazonaws.emr#XmlStringList", "traits": { - "smithy.api#documentation": "

    The unique ID of the editor associated with the notebook execution.

    " + "smithy.api#documentation": "

    The filter to limit the step list based on the identifier of the steps. You can specify\n a maximum of ten Step IDs. The character constraint applies to the overall length of the\n array.

    " } }, "Marker": { "target": "com.amazonaws.emr#Marker", "traits": { - "smithy.api#documentation": "

    The pagination token, returned by a previous ListNotebookExecutions call, that indicates the start of the list for this ListNotebookExecutions call.

    " - } - }, - "Status": { - "target": "com.amazonaws.emr#NotebookExecutionStatus", - "traits": { - "smithy.api#documentation": "

    The status filter for listing notebook executions.

    \n
      \n
    • \n

      \n START_PENDING indicates that the cluster has received the execution request but execution has not begun.

      \n
    • \n
    • \n

      \n STARTING indicates that the execution is starting on the cluster.

      \n
    • \n
    • \n

      \n RUNNING indicates that the execution is being processed by the cluster.

      \n
    • \n
    • \n

      \n FINISHING indicates that execution processing is in the final stages.

      \n
    • \n
    • \n

      \n FINISHED indicates that the execution has completed without error.

      \n
    • \n
    • \n

      \n FAILING indicates that the execution is failing and will not finish successfully.

      \n
    • \n
    • \n

      \n FAILED indicates that the execution failed.

      \n
    • \n
    • \n

      \n STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

      \n
    • \n
    • \n

      \n STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

      \n
    • \n
    • \n

      \n STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

      \n
    • \n
    " + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " } } + }, + "traits": { + "smithy.api#documentation": "

    This input determines which steps to list.

    " } }, - "com.amazonaws.emr#ListNotebookExecutionsOutput": { + "com.amazonaws.emr#ListStepsOutput": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.emr#Marker", + "Steps": { + "target": "com.amazonaws.emr#StepSummaryList", "traits": { - "smithy.api#documentation": "

    A pagination token that a subsequent ListNotebookExecutions can use to determine the next set of results to retrieve.

    " + "smithy.api#documentation": "

    The filtered list of steps for the cluster.

    " } }, - "NotebookExecutions": { - "target": "com.amazonaws.emr#NotebookExecutionSummaryList", + "Marker": { + "target": "com.amazonaws.emr#Marker", "traits": { - "smithy.api#documentation": "

    A list of notebook executions.

    " + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " } } + }, + "traits": { + "smithy.api#documentation": "

    This output contains the list of steps returned in reverse order. This means that the\n last step is the first element in the list.

    " } }, - "com.amazonaws.emr#ListSecurityConfigurations": { + "com.amazonaws.emr#ListStudioSessionMappings": { "type": "operation", "input": { - "target": "com.amazonaws.emr#ListSecurityConfigurationsInput" + "target": "com.amazonaws.emr#ListStudioSessionMappingsInput" }, "output": { - "target": "com.amazonaws.emr#ListSecurityConfigurationsOutput" + "target": "com.amazonaws.emr#ListStudioSessionMappingsOutput" }, "errors": [ { - "target": "com.amazonaws.emr#InternalServerException" + "target": "com.amazonaws.emr#InternalServerError" }, { "target": "com.amazonaws.emr#InvalidRequestException" } ], "traits": { - "smithy.api#documentation": "

    Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls.

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

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Returns a list of all user or group session mappings for the EMR Studio specified by\n StudioId.

    ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", - "items": "SecurityConfigurations" + "items": "SessionMappings" } } }, - "com.amazonaws.emr#ListSecurityConfigurationsInput": { + "com.amazonaws.emr#ListStudioSessionMappingsInput": { "type": "structure", "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether to return session mappings for users or groups. If not specified, the\n results include session mapping details for both users and groups.

    " + } + }, "Marker": { "target": "com.amazonaws.emr#Marker", "traits": { @@ -4450,30 +5003,30 @@ } } }, - "com.amazonaws.emr#ListSecurityConfigurationsOutput": { + "com.amazonaws.emr#ListStudioSessionMappingsOutput": { "type": "structure", "members": { - "SecurityConfigurations": { - "target": "com.amazonaws.emr#SecurityConfigurationList", + "SessionMappings": { + "target": "com.amazonaws.emr#SessionMappingSummaryList", "traits": { - "smithy.api#documentation": "

    The creation date and time, and name, of each security configuration.

    " + "smithy.api#documentation": "

    A list of session mapping summary objects. Each object includes session mapping details\n such as creation time, identity type (user or group), and Studio ID.

    " } }, "Marker": { "target": "com.amazonaws.emr#Marker", "traits": { - "smithy.api#documentation": "

    A pagination token that indicates the next set of results to retrieve. Include the marker in the next ListSecurityConfiguration call to retrieve the next page of results, if required.

    " + "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " } } } }, - "com.amazonaws.emr#ListSteps": { + "com.amazonaws.emr#ListStudios": { "type": "operation", "input": { - "target": "com.amazonaws.emr#ListStepsInput" + "target": "com.amazonaws.emr#ListStudiosInput" }, "output": { - "target": "com.amazonaws.emr#ListStepsOutput" + "target": "com.amazonaws.emr#ListStudiosOutput" }, "errors": [ { @@ -4484,54 +5037,32 @@ } ], "traits": { - "smithy.api#documentation": "

    Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request of filter by StepStates. You can specify a maximum of ten stepIDs.

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

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Returns a list of all Amazon EMR Studios associated with the AWS account. The list\n includes details such as ID, Studio Access URL, and creation time for each Studio.

    ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", - "items": "Steps" + "items": "Studios" } } }, - "com.amazonaws.emr#ListStepsInput": { + "com.amazonaws.emr#ListStudiosInput": { "type": "structure", "members": { "Marker": { "target": "com.amazonaws.emr#Marker", "traits": { - "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " - } - }, - "StepIds": { - "target": "com.amazonaws.emr#XmlStringList", - "traits": { - "smithy.api#documentation": "

    The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.

    " - } - }, - "StepStates": { - "target": "com.amazonaws.emr#StepStateList", - "traits": { - "smithy.api#documentation": "

    The filter to limit the step list based on certain states.

    " - } - }, - "ClusterId": { - "target": "com.amazonaws.emr#ClusterId", - "traits": { - "smithy.api#documentation": "

    The identifier of the cluster for which to list the steps.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The pagination token that indicates the set of results to retrieve.

    " } } - }, - "traits": { - "smithy.api#documentation": "

    This input determines which steps to list.

    " } }, - "com.amazonaws.emr#ListStepsOutput": { + "com.amazonaws.emr#ListStudiosOutput": { "type": "structure", "members": { - "Steps": { - "target": "com.amazonaws.emr#StepSummaryList", + "Studios": { + "target": "com.amazonaws.emr#StudioSummaryList", "traits": { - "smithy.api#documentation": "

    The filtered list of steps for the cluster.

    " + "smithy.api#documentation": "

    The list of Studio summary objects.

    " } }, "Marker": { @@ -4540,9 +5071,6 @@ "smithy.api#documentation": "

    The pagination token that indicates the next set of results to retrieve.

    " } } - }, - "traits": { - "smithy.api#documentation": "

    This output contains the list of steps returned in reverse order. This means that the last step is the first element in the list.

    " } }, "com.amazonaws.emr#Long": { @@ -4554,12 +5082,12 @@ "ComputeLimits": { "target": "com.amazonaws.emr#ComputeLimits", "traits": { - "smithy.api#documentation": "

    The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster is not allowed to go above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

    " + "smithy.api#documentation": "

    The EC2 unit limits for a managed scaling policy. The managed scaling activity of a\n cluster is not allowed to go above or below these limits. The limit only applies to the\n core and task nodes. The master node cannot be scaled after initial configuration.

    " } } }, "traits": { - "smithy.api#documentation": "

    \n Managed scaling policy for an Amazon EMR cluster. The policy specifies the limits for resources that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.\n

    " + "smithy.api#documentation": "

    Managed scaling policy for an Amazon EMR cluster. The policy specifies the limits for\n resources that can be added or terminated from a cluster. The policy only applies to the\n core and task nodes. The master node cannot be scaled after initial configuration.

    " } }, "com.amazonaws.emr#Marker": { @@ -4583,21 +5111,21 @@ "com.amazonaws.emr#MetricDimension": { "type": "structure", "members": { - "Value": { + "Key": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The dimension value.

    " + "smithy.api#documentation": "

    The dimension name.

    " } }, - "Key": { + "Value": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The dimension name.

    " + "smithy.api#documentation": "

    The dimension value.

    " } } }, "traits": { - "smithy.api#documentation": "

    A CloudWatch dimension, which is specified using a Key (known as a Name in CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose Key is JobFlowID and Value is a variable representing the cluster ID, which is ${emr.clusterId}. This enables the rule to bootstrap when the cluster ID becomes available.

    " + "smithy.api#documentation": "

    A CloudWatch dimension, which is specified using a Key (known as a\n Name in CloudWatch), Value pair. By default, Amazon EMR uses\n one dimension whose Key is JobFlowID and Value is a\n variable representing the cluster ID, which is ${emr.clusterId}. This enables\n the rule to bootstrap when the cluster ID becomes available.

    " } }, "com.amazonaws.emr#MetricDimensionList": { @@ -4623,24 +5151,24 @@ } ], "traits": { - "smithy.api#documentation": "

    Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID.

    " + "smithy.api#documentation": "

    Modifies the number of steps that can be executed concurrently for the cluster specified\n using ClusterID.

    " } }, "com.amazonaws.emr#ModifyClusterInput": { "type": "structure", "members": { - "StepConcurrencyLevel": { - "target": "com.amazonaws.emr#Integer", - "traits": { - "smithy.api#documentation": "

    The number of steps that can be executed concurrently. You can specify a maximum of 256 steps.

    " - } - }, "ClusterId": { "target": "com.amazonaws.emr#String", "traits": { "smithy.api#documentation": "

    The unique identifier of the cluster.

    ", "smithy.api#required": {} } + }, + "StepConcurrencyLevel": { + "target": "com.amazonaws.emr#Integer", + "traits": { + "smithy.api#documentation": "

    The number of steps that can be executed concurrently. You can specify a maximum of 256\n steps.

    " + } } } }, @@ -4669,23 +5197,23 @@ } ], "traits": { - "smithy.api#documentation": "

    Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    Modifies the target On-Demand and target Spot capacities for the instance fleet with the\n specified InstanceFleetID within the cluster specified using ClusterID. The call either\n succeeds or fails atomically.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } }, "com.amazonaws.emr#ModifyInstanceFleetInput": { "type": "structure", "members": { - "InstanceFleet": { - "target": "com.amazonaws.emr#InstanceFleetModifyConfig", + "ClusterId": { + "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    The unique identifier of the instance fleet.

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

    The unique identifier of the cluster.

    ", "smithy.api#required": {} } }, - "ClusterId": { - "target": "com.amazonaws.emr#ClusterId", + "InstanceFleet": { + "target": "com.amazonaws.emr#InstanceFleetModifyConfig", "traits": { - "smithy.api#documentation": "

    The unique identifier of the cluster.

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

    The unique identifier of the instance fleet.

    ", "smithy.api#required": {} } } @@ -4702,7 +5230,7 @@ } ], "traits": { - "smithy.api#documentation": "

    ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

    " + "smithy.api#documentation": "

    ModifyInstanceGroups modifies the number of nodes and configuration settings of an\n instance group. The input parameters include the new target instance count for the group\n and the instance group ID. The call will either succeed or fail atomically.

    " } }, "com.amazonaws.emr#ModifyInstanceGroupsInput": { @@ -4743,52 +5271,58 @@ "com.amazonaws.emr#NotebookExecution": { "type": "structure", "members": { - "EndTime": { - "target": "com.amazonaws.emr#Date", - "traits": { - "smithy.api#documentation": "

    The timestamp when notebook execution ended.

    " - } - }, - "Arn": { + "NotebookExecutionId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the notebook execution.

    " + "smithy.api#documentation": "

    The unique identifier of a notebook execution.

    " } }, - "NotebookInstanceSecurityGroupId": { + "EditorId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The unique identifier of the EC2 security group associated with the EMR Notebook instance. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

    " + "smithy.api#documentation": "

    The unique identifier of the EMR Notebook that is used for the notebook\n execution.

    " } }, - "NotebookExecutionId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "ExecutionEngine": { + "target": "com.amazonaws.emr#ExecutionEngineConfig", "traits": { - "smithy.api#documentation": "

    The unique identifier of a notebook execution.

    " + "smithy.api#documentation": "

    The execution engine, such as an EMR cluster, used to run the EMR notebook and perform\n the notebook execution.

    " } }, - "EditorId": { + "NotebookExecutionName": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The unique identifier of the EMR Notebook that is used for the notebook execution.

    " + "smithy.api#documentation": "

    A name for the notebook execution.

    " } }, - "ExecutionEngine": { - "target": "com.amazonaws.emr#ExecutionEngineConfig", + "NotebookParams": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The execution engine, such as an EMR cluster, used to run the EMR notebook and perform the notebook execution.

    " + "smithy.api#documentation": "

    Input parameters in JSON format passed to the EMR Notebook at runtime for\n execution.

    " } }, "Status": { "target": "com.amazonaws.emr#NotebookExecutionStatus", "traits": { - "smithy.api#documentation": "

    The status of the notebook execution.

    \n
      \n
    • \n

      \n START_PENDING indicates that the cluster has received the execution request but execution has not begun.

      \n
    • \n
    • \n

      \n STARTING indicates that the execution is starting on the cluster.

      \n
    • \n
    • \n

      \n RUNNING indicates that the execution is being processed by the cluster.

      \n
    • \n
    • \n

      \n FINISHING indicates that execution processing is in the final stages.

      \n
    • \n
    • \n

      \n FINISHED indicates that the execution has completed without error.

      \n
    • \n
    • \n

      \n FAILING indicates that the execution is failing and will not finish successfully.

      \n
    • \n
    • \n

      \n FAILED indicates that the execution failed.

      \n
    • \n
    • \n

      \n STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

      \n
    • \n
    • \n

      \n STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

      \n
    • \n
    • \n

      \n STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

      \n
    • \n
    " + "smithy.api#documentation": "

    The status of the notebook execution.

    \n
      \n
    • \n

      \n START_PENDING indicates that the cluster has received the execution\n request but execution has not begun.

      \n
    • \n
    • \n

      \n STARTING indicates that the execution is starting on the\n cluster.

      \n
    • \n
    • \n

      \n RUNNING indicates that the execution is being processed by the\n cluster.

      \n
    • \n
    • \n

      \n FINISHING indicates that execution processing is in the final\n stages.

      \n
    • \n
    • \n

      \n FINISHED indicates that the execution has completed without\n error.

      \n
    • \n
    • \n

      \n FAILING indicates that the execution is failing and will not finish\n successfully.

      \n
    • \n
    • \n

      \n FAILED indicates that the execution failed.

      \n
    • \n
    • \n

      \n STOP_PENDING indicates that the cluster has received a\n StopNotebookExecution request and the stop is pending.

      \n
    • \n
    • \n

      \n STOPPING indicates that the cluster is in the process of stopping the\n execution as a result of a StopNotebookExecution request.

      \n
    • \n
    • \n

      \n STOPPED indicates that the execution stopped because of a\n StopNotebookExecution request.

      \n
    • \n
    " } }, - "LastStateChangeReason": { - "target": "com.amazonaws.emr#XmlString", + "StartTime": { + "target": "com.amazonaws.emr#Date", "traits": { - "smithy.api#documentation": "

    The reason for the latest status change of the notebook execution.

    " + "smithy.api#documentation": "

    The timestamp when notebook execution started.

    " + } + }, + "EndTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The timestamp when notebook execution ended.

    " + } + }, + "Arn": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the notebook execution.

    " } }, "OutputNotebookURI": { @@ -4797,33 +5331,27 @@ "smithy.api#documentation": "

    The location of the notebook execution's output file in Amazon S3.

    " } }, - "NotebookParams": { + "LastStateChangeReason": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

    " + "smithy.api#documentation": "

    The reason for the latest status change of the notebook execution.

    " } }, - "NotebookExecutionName": { + "NotebookInstanceSecurityGroupId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    A name for the notebook execution.

    " + "smithy.api#documentation": "

    The unique identifier of the EC2 security group associated with the EMR Notebook\n instance. For more information see Specifying\n EC2 Security Groups for EMR Notebooks in the EMR Management\n Guide.

    " } }, "Tags": { "target": "com.amazonaws.emr#TagList", "traits": { - "smithy.api#documentation": "

    A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

    " - } - }, - "StartTime": { - "target": "com.amazonaws.emr#Date", - "traits": { - "smithy.api#documentation": "

    The timestamp when notebook execution started.

    " + "smithy.api#documentation": "

    A list of tags associated with a notebook execution. Tags are user-defined key-value\n pairs that consist of a required key string with a maximum of 128 characters and an\n optional value string with a maximum of 256 characters.

    " } } }, "traits": { - "smithy.api#documentation": "

    A notebook execution. An execution is a specific instance that an EMR Notebook is run using the StartNotebookExecution action.

    " + "smithy.api#documentation": "

    A notebook execution. An execution is a specific instance that an EMR Notebook is run\n using the StartNotebookExecution action.

    " } }, "com.amazonaws.emr#NotebookExecutionStatus": { @@ -4876,10 +5404,10 @@ "com.amazonaws.emr#NotebookExecutionSummary": { "type": "structure", "members": { - "NotebookExecutionName": { + "NotebookExecutionId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The name of the notebook execution.

    " + "smithy.api#documentation": "

    The unique identifier of the notebook execution.

    " } }, "EditorId": { @@ -4888,10 +5416,16 @@ "smithy.api#documentation": "

    The unique identifier of the editor associated with the notebook execution.

    " } }, - "NotebookExecutionId": { + "NotebookExecutionName": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The unique identifier of the notebook execution.

    " + "smithy.api#documentation": "

    The name of the notebook execution.

    " + } + }, + "Status": { + "target": "com.amazonaws.emr#NotebookExecutionStatus", + "traits": { + "smithy.api#documentation": "

    The status of the notebook execution.

    \n
      \n
    • \n

      \n START_PENDING indicates that the cluster has received the execution\n request but execution has not begun.

      \n
    • \n
    • \n

      \n STARTING indicates that the execution is starting on the\n cluster.

      \n
    • \n
    • \n

      \n RUNNING indicates that the execution is being processed by the\n cluster.

      \n
    • \n
    • \n

      \n FINISHING indicates that execution processing is in the final\n stages.

      \n
    • \n
    • \n

      \n FINISHED indicates that the execution has completed without\n error.

      \n
    • \n
    • \n

      \n FAILING indicates that the execution is failing and will not finish\n successfully.

      \n
    • \n
    • \n

      \n FAILED indicates that the execution failed.

      \n
    • \n
    • \n

      \n STOP_PENDING indicates that the cluster has received a\n StopNotebookExecution request and the stop is pending.

      \n
    • \n
    • \n

      \n STOPPING indicates that the cluster is in the process of stopping the\n execution as a result of a StopNotebookExecution request.

      \n
    • \n
    • \n

      \n STOPPED indicates that the execution stopped because of a\n StopNotebookExecution request.

      \n
    • \n
    " } }, "StartTime": { @@ -4905,12 +5439,6 @@ "traits": { "smithy.api#documentation": "

    The timestamp when notebook execution started.

    " } - }, - "Status": { - "target": "com.amazonaws.emr#NotebookExecutionStatus", - "traits": { - "smithy.api#documentation": "

    The status of the notebook execution.

    \n
      \n
    • \n

      \n START_PENDING indicates that the cluster has received the execution request but execution has not begun.

      \n
    • \n
    • \n

      \n STARTING indicates that the execution is starting on the cluster.

      \n
    • \n
    • \n

      \n RUNNING indicates that the execution is being processed by the cluster.

      \n
    • \n
    • \n

      \n FINISHING indicates that execution processing is in the final stages.

      \n
    • \n
    • \n

      \n FINISHED indicates that the execution has completed without error.

      \n
    • \n
    • \n

      \n FAILING indicates that the execution is failing and will not finish successfully.

      \n
    • \n
    • \n

      \n FAILED indicates that the execution failed.

      \n
    • \n
    • \n

      \n STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

      \n
    • \n
    • \n

      \n STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

      \n
    • \n
    • \n

      \n STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

      \n
    • \n
    " - } } }, "traits": { @@ -4940,13 +5468,13 @@ "AllocationStrategy": { "target": "com.amazonaws.emr#OnDemandProvisioningAllocationStrategy", "traits": { - "smithy.api#documentation": "

    \n Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is lowest-price (the default), which launches the lowest price first.\n

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

    Specifies the strategy to use in launching On-Demand Instance fleets. Currently, the\n only option is lowest-price (the default), which launches the lowest price first.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    \n The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy. \n

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

    \n
    " + "smithy.api#documentation": "

    The launch specification for On-Demand Instances in the instance fleet, which\n determines the allocation strategy.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in\n Amazon EMR version 5.12.1 and later.

    \n
    " } }, "com.amazonaws.emr#OptionalArnType": { @@ -4964,19 +5492,19 @@ "InstanceRole": { "target": "com.amazonaws.emr#InstanceRoleType", "traits": { - "smithy.api#documentation": "

    Role of the instance in the cluster.

    \n

    Starting with Amazon EMR version 5.23.0, the only supported instance role is MASTER.

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

    Role of the instance in the cluster.

    \n

    Starting with Amazon EMR version 5.23.0, the only supported instance role is\n MASTER.

    ", "smithy.api#required": {} } }, "PlacementStrategy": { "target": "com.amazonaws.emr#PlacementGroupStrategy", "traits": { - "smithy.api#documentation": "

    EC2 Placement Group strategy associated with instance role.

    \n

    Starting with Amazon EMR version 5.23.0, the only supported placement strategy is SPREAD for the MASTER instance role.

    " + "smithy.api#documentation": "

    EC2 Placement Group strategy associated with instance role.

    \n

    Starting with Amazon EMR version 5.23.0, the only supported placement strategy is\n SPREAD for the MASTER instance role.

    " } } }, "traits": { - "smithy.api#documentation": "

    Placement group configuration for an Amazon EMR cluster. The configuration specifies the placement strategy that can be applied to instance roles during cluster creation.

    \n

    To use this configuration, consider attaching managed policy AmazonElasticMapReducePlacementGroupPolicy to the EMR role.

    " + "smithy.api#documentation": "

    Placement group configuration for an Amazon EMR cluster. The configuration specifies the\n placement strategy that can be applied to instance roles during cluster creation.

    \n

    To use this configuration, consider attaching managed policy\n AmazonElasticMapReducePlacementGroupPolicy to the EMR role.

    " } }, "com.amazonaws.emr#PlacementGroupConfigList": { @@ -5014,13 +5542,13 @@ "AvailabilityZone": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used for uniform instance groups, while AvailabilityZones (plural) is used for instance fleets.

    " + "smithy.api#documentation": "

    The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used\n for uniform instance groups, while AvailabilityZones (plural) is used for\n instance fleets.

    " } }, "AvailabilityZones": { "target": "com.amazonaws.emr#XmlStringMaxLen256List", "traits": { - "smithy.api#documentation": "

    When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal Availability Zone. AvailabilityZones is used for instance fleets, while AvailabilityZone (singular) is used for uniform instance groups.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    \n
    " + "smithy.api#documentation": "

    When multiple Availability Zones are specified, Amazon EMR evaluates them and launches\n instances in the optimal Availability Zone. AvailabilityZones is used for\n instance fleets, while AvailabilityZone (singular) is used for uniform\n instance groups.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions.

    \n
    " } } }, @@ -5056,7 +5584,7 @@ } }, "traits": { - "smithy.api#documentation": "

    A list of port ranges that are permitted to allow inbound traffic from all public IP addresses. To specify a single port, use the same value for MinRange and MaxRange.

    " + "smithy.api#documentation": "

    A list of port ranges that are permitted to allow inbound traffic from all public IP\n addresses. To specify a single port, use the same value for MinRange and\n MaxRange.

    " } }, "com.amazonaws.emr#PortRanges": { @@ -5074,30 +5602,30 @@ "target": "com.amazonaws.emr#PutAutoScalingPolicyOutput" }, "traits": { - "smithy.api#documentation": "

    Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.

    " + "smithy.api#documentation": "

    Creates or updates an automatic scaling policy for a core instance group or task\n instance group in an Amazon EMR cluster. The automatic scaling policy defines how an\n instance group dynamically adds and terminates EC2 instances in response to the value of a\n CloudWatch metric.

    " } }, "com.amazonaws.emr#PutAutoScalingPolicyInput": { "type": "structure", "members": { - "AutoScalingPolicy": { - "target": "com.amazonaws.emr#AutoScalingPolicy", - "traits": { - "smithy.api#documentation": "

    Specifies the definition of the automatic scaling policy.

    ", - "smithy.api#required": {} - } - }, "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

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

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy\n is applied is within this cluster.

    ", "smithy.api#required": {} } }, "InstanceGroupId": { "target": "com.amazonaws.emr#InstanceGroupId", "traits": { - "smithy.api#documentation": "

    Specifies the ID of the instance group to which the automatic scaling policy is applied.

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

    Specifies the ID of the instance group to which the automatic scaling policy is\n applied.

    ", + "smithy.api#required": {} + } + }, + "AutoScalingPolicy": { + "target": "com.amazonaws.emr#AutoScalingPolicy", + "traits": { + "smithy.api#documentation": "

    Specifies the definition of the automatic scaling policy.

    ", "smithy.api#required": {} } } @@ -5109,13 +5637,7 @@ "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

    " - } - }, - "ClusterArn": { - "target": "com.amazonaws.emr#ArnType", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " + "smithy.api#documentation": "

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy\n is applied is within this cluster.

    " } }, "InstanceGroupId": { @@ -5129,6 +5651,12 @@ "traits": { "smithy.api#documentation": "

    The automatic scaling policy definition.

    " } + }, + "ClusterArn": { + "target": "com.amazonaws.emr#ArnType", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

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

    Creates or updates an Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

    " + "smithy.api#documentation": "

    Creates or updates an Amazon EMR block public access configuration for your AWS account\n in the current Region. For more information see Configure Block\n Public Access for Amazon EMR in the Amazon EMR Management\n Guide.

    " } }, "com.amazonaws.emr#PutBlockPublicAccessConfigurationInput": { @@ -5158,7 +5686,7 @@ "BlockPublicAccessConfiguration": { "target": "com.amazonaws.emr#BlockPublicAccessConfiguration", "traits": { - "smithy.api#documentation": "

    A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating BlockPublicSecurityGroupRules to remove the exception.

    \n \n

    For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an EMR cluster in a Region before this date, block public access is enabled by default in that Region.

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

    A configuration for Amazon EMR block public access. The configuration applies to all\n clusters created in your account for the current Region. The configuration specifies\n whether block public access is enabled. If block public access is enabled, security groups\n associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or\n ::/0 on a port, unless the port is specified as an exception using\n PermittedPublicSecurityGroupRuleRanges in the\n BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception,\n and public access is allowed on this port. You can change this by updating\n BlockPublicSecurityGroupRules to remove the exception.

    \n \n

    For accounts that created clusters in a Region before November 25, 2019, block public\n access is disabled by default in that Region. To use this feature, you must manually\n enable and configure it. For accounts that did not create an EMR cluster in a Region\n before this date, block public access is enabled by default in that Region.

    \n
    ", "smithy.api#required": {} } } @@ -5177,7 +5705,7 @@ "target": "com.amazonaws.emr#PutManagedScalingPolicyOutput" }, "traits": { - "smithy.api#documentation": "

    \n Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration. \n

    " + "smithy.api#documentation": "

    Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed\n scaling policy defines the limits for resources, such as EC2 instances that can be added or\n terminated from a cluster. The policy only applies to the core and task nodes. The master\n node cannot be scaled after initial configuration.

    " } }, "com.amazonaws.emr#PutManagedScalingPolicyInput": { @@ -5186,14 +5714,14 @@ "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    \n Specifies the ID of an EMR cluster where the managed scaling policy is attached.\n

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

    Specifies the ID of an EMR cluster where the managed scaling policy is attached.

    ", "smithy.api#required": {} } }, "ManagedScalingPolicy": { "target": "com.amazonaws.emr#ManagedScalingPolicy", "traits": { - "smithy.api#documentation": "

    \n Specifies the constraints for the managed scaling policy.\n

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

    Specifies the constraints for the managed scaling policy.

    ", "smithy.api#required": {} } } @@ -5212,23 +5740,23 @@ "target": "com.amazonaws.emr#RemoveAutoScalingPolicyOutput" }, "traits": { - "smithy.api#documentation": "

    Removes an automatic scaling policy from a specified instance group within an EMR cluster.

    " + "smithy.api#documentation": "

    Removes an automatic scaling policy from a specified instance group within an EMR\n cluster.

    " } }, "com.amazonaws.emr#RemoveAutoScalingPolicyInput": { "type": "structure", "members": { - "InstanceGroupId": { - "target": "com.amazonaws.emr#InstanceGroupId", + "ClusterId": { + "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    Specifies the ID of the instance group to which the scaling policy is applied.

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

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy\n is applied is within this cluster.

    ", "smithy.api#required": {} } }, - "ClusterId": { - "target": "com.amazonaws.emr#ClusterId", + "InstanceGroupId": { + "target": "com.amazonaws.emr#InstanceGroupId", "traits": { - "smithy.api#documentation": "

    Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

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

    Specifies the ID of the instance group to which the scaling policy is applied.

    ", "smithy.api#required": {} } } @@ -5247,7 +5775,7 @@ "target": "com.amazonaws.emr#RemoveManagedScalingPolicyOutput" }, "traits": { - "smithy.api#documentation": "

    \n Removes a managed scaling policy from a specified EMR cluster.\n

    " + "smithy.api#documentation": "

    Removes a managed scaling policy from a specified EMR cluster.

    " } }, "com.amazonaws.emr#RemoveManagedScalingPolicyInput": { @@ -5256,7 +5784,7 @@ "ClusterId": { "target": "com.amazonaws.emr#ClusterId", "traits": { - "smithy.api#documentation": "

    \n Specifies the ID of the cluster from which the managed scaling policy will be removed.\n

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

    Specifies the ID of the cluster from which the managed scaling policy will be removed.\n

    ", "smithy.api#required": {} } } @@ -5283,7 +5811,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. \n For more information, see Tag Clusters. \n

    \n

    The following example removes the stack tag with value Prod from a cluster:

    " + "smithy.api#documentation": "

    Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in\n various ways, such as grouping clusters to track your Amazon EMR resource allocation costs.\n For more information, see Tag Clusters.

    \n

    The following example removes the stack tag with value Prod from a cluster:

    " } }, "com.amazonaws.emr#RemoveTagsInput": { @@ -5292,7 +5820,7 @@ "ResourceId": { "target": "com.amazonaws.emr#ResourceId", "traits": { - "smithy.api#documentation": "

    The Amazon EMR resource identifier from which tags will be removed. This value must be a cluster identifier.

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

    The Amazon EMR resource identifier from which tags will be removed. This value must be a\n cluster identifier.

    ", "smithy.api#required": {} } }, @@ -5347,58 +5875,60 @@ } ], "traits": { - "smithy.api#documentation": "

    RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps\n specified. After the steps complete, the cluster stops and the HDFS partition is\n lost. To prevent loss of data, configure the last step of the job flow to store results in\n Amazon S3. If the JobFlowInstancesConfig \n KeepJobFlowAliveWhenNoSteps parameter is\n set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

    \n \n

    For additional protection, you can set the \n JobFlowInstancesConfig \n TerminationProtected parameter to TRUE to lock the \n cluster and prevent it from being \n terminated by API call, user intervention, or in the event of a job flow error.

    \n\n

    A maximum of 256 steps are allowed in each job flow.

    \n

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

    \n

    For long running clusters, we recommend that you periodically store your results.

    \n \n

    The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

    \n
    " + "smithy.api#documentation": "

    RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the\n steps specified. After the steps complete, the cluster stops and the HDFS partition is\n lost. To prevent loss of data, configure the last step of the job flow to store results in\n Amazon S3. If the JobFlowInstancesConfig\n KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster\n transitions to the WAITING state rather than shutting down after the steps have completed.

    \n

    For additional protection, you can set the JobFlowInstancesConfig\n TerminationProtected parameter to TRUE to lock the cluster and\n prevent it from being terminated by API call, user intervention, or in the event of a job\n flow error.

    \n

    A maximum of 256 steps are allowed in each job flow.

    \n

    If your cluster is long-running (such as a Hive data warehouse) or complex, you may\n require more than 256 steps to process your data. You can bypass the 256-step limitation in\n various ways, including using the SSH shell to connect to the master node and submitting\n queries directly to the software running on the master node, such as Hive and Hadoop. For\n more information on how to do this, see Add More than 256 Steps to a\n Cluster in the Amazon EMR Management Guide.

    \n

    For long running clusters, we recommend that you periodically store your results.

    \n \n

    The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets\n parameters or InstanceGroups parameters, but not both.

    \n
    " } }, "com.amazonaws.emr#RunJobFlowInput": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.emr#TagList", + "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

    " + "smithy.api#documentation": "

    The name of the job flow.

    ", + "smithy.api#required": {} } }, - "StepConcurrencyLevel": { - "target": "com.amazonaws.emr#Integer", + "LogUri": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

    " + "smithy.api#documentation": "

    The location in Amazon S3 to write the log files of the job flow. If a value is not\n provided, logs are not created.

    " } }, - "SupportedProducts": { - "target": "com.amazonaws.emr#SupportedProductsList", + "LogEncryptionKmsKeyId": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "\n

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

    \n
    \n

    A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

    \n
      \n
    • \n

      \"mapr-m3\" - launch the job flow using MapR M3 Edition.

      \n
    • \n
    • \n

      \"mapr-m5\" - launch the job flow using MapR M5 Edition.

      \n
    • \n
    " + "smithy.api#documentation": "

    The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not\n provided, the logs remain encrypted by AES-256. This attribute is only available with\n Amazon EMR version 5.30.0 and later, excluding Amazon EMR 6.0.0.

    " } }, - "ManagedScalingPolicy": { - "target": "com.amazonaws.emr#ManagedScalingPolicy", + "AdditionalInfo": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    \n The specified managed scaling policy for an Amazon EMR cluster. \n

    " + "smithy.api#documentation": "

    A JSON string for selecting additional features.

    " } - }, - "JobFlowRole": { - "target": "com.amazonaws.emr#XmlString", + }, + "AmiVersion": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

    " + "smithy.api#documentation": "

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and\n later, ReleaseLabel is used. To specify a custom AMI, use\n CustomAmiID.

    " } }, "ReleaseLabel": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

    " + "smithy.api#documentation": "

    The Amazon EMR release label, which determines the version of open-source application\n packages installed on the cluster. Release labels are in the form emr-x.x.x,\n where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more\n information about Amazon EMR release versions and included application versions and\n features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release\n label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use\n AmiVersion.

    " } }, - "Configurations": { - "target": "com.amazonaws.emr#ConfigurationList", + "Instances": { + "target": "com.amazonaws.emr#JobFlowInstancesConfig", "traits": { - "smithy.api#documentation": "

    For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.

    " + "smithy.api#documentation": "

    A specification of the number and type of Amazon EC2 instances.

    ", + "smithy.api#required": {} } }, - "CustomAmiId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "Steps": { + "target": "com.amazonaws.emr#StepConfigList", "traits": { - "smithy.api#documentation": "

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

    \n

    For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

    " + "smithy.api#documentation": "

    A list of steps to run.

    " } }, "BootstrapActions": { @@ -5407,52 +5937,52 @@ "smithy.api#documentation": "

    A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

    " } }, - "PlacementGroupConfigs": { - "target": "com.amazonaws.emr#PlacementGroupConfigList", + "SupportedProducts": { + "target": "com.amazonaws.emr#SupportedProductsList", "traits": { - "smithy.api#documentation": "

    The specified placement group configuration for an Amazon EMR cluster.

    " + "smithy.api#documentation": "\n

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use\n Applications.

    \n
    \n

    A list of strings that indicates third-party software to use. For more information, see\n the Amazon EMR\n Developer Guide. Currently supported values are:

    \n
      \n
    • \n

      \"mapr-m3\" - launch the job flow using MapR M3 Edition.

      \n
    • \n
    • \n

      \"mapr-m5\" - launch the job flow using MapR M5 Edition.

      \n
    • \n
    " } }, - "EbsRootVolumeSize": { - "target": "com.amazonaws.emr#Integer", + "NewSupportedProducts": { + "target": "com.amazonaws.emr#NewSupportedProductsList", "traits": { - "smithy.api#documentation": "

    The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

    " + "smithy.api#documentation": "\n

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use\n Applications.

    \n
    \n

    A list of strings that indicates third-party software to use with the job flow that\n accepts a user argument list. EMR accepts and forwards the argument list to the\n corresponding installation script as bootstrap action arguments. For more information, see\n \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported\n values are:

    \n
      \n
    • \n

      \"mapr-m3\" - launch the cluster using MapR M3 Edition.

      \n
    • \n
    • \n

      \"mapr-m5\" - launch the cluster using MapR M5 Edition.

      \n
    • \n
    • \n

      \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" -\n launch the job flow using MapR M3 or M5 Edition respectively.

      \n
    • \n
    • \n

      \"mapr-m7\" - launch the cluster using MapR M7 Edition.

      \n
    • \n
    • \n

      \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

      \n
    • \n
    • \n

      \"hue\"- launch the cluster with Hue installed.

      \n
    • \n
    • \n

      \"spark\" - launch the cluster with Apache Spark installed.

      \n
    • \n
    • \n

      \"ganglia\" - launch the cluster with the Ganglia Monitoring System\n installed.

      \n
    • \n
    " } }, "Applications": { "target": "com.amazonaws.emr#ApplicationList", "traits": { - "smithy.api#documentation": "

    Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.

    " - } - }, - "ScaleDownBehavior": { - "target": "com.amazonaws.emr#ScaleDownBehavior", - "traits": { - "smithy.api#documentation": "

    Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

    " + "smithy.api#documentation": "

    Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications\n for Amazon EMR to install and configure when launching the cluster. For a list of\n applications available for each Amazon EMR release version, see the Amazon EMR Release\n Guide.

    " } }, - "NewSupportedProducts": { - "target": "com.amazonaws.emr#NewSupportedProductsList", + "Configurations": { + "target": "com.amazonaws.emr#ConfigurationList", "traits": { - "smithy.api#documentation": "\n

    For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

    \n
    \n

    A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

    \n
      \n
    • \n

      \"mapr-m3\" - launch the cluster using MapR M3 Edition.

      \n
    • \n
    • \n

      \"mapr-m5\" - launch the cluster using MapR M5 Edition.

      \n
    • \n
    • \n

      \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

      \n
    • \n
    • \n

      \"mapr-m7\" - launch the cluster using MapR M7 Edition.

      \n
    • \n
    • \n

      \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

      \n
    • \n
    • \n

      \"hue\"- launch the cluster with Hue installed.

      \n
    • \n
    • \n

      \"spark\" - launch the cluster with Apache Spark installed.

      \n
    • \n
    • \n

      \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

      \n
    • \n
    " + "smithy.api#documentation": "

    For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR\n cluster you are creating.

    " } }, "VisibleToAllUsers": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

    " + "smithy.api#documentation": "

    A value of true indicates that all IAM users in the AWS account can perform\n cluster actions if they have the proper IAM policy permissions. This is the default. A\n value of false indicates that only the IAM user who created the cluster can\n perform actions.

    " } }, - "LogUri": { + "JobFlowRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

    " + "smithy.api#documentation": "

    Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2\n instances of the cluster assume this role. The default role is\n EMR_EC2_DefaultRole. In order to use the default role, you must have\n already created it using the CLI or console.

    " } }, "ServiceRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

    " + "smithy.api#documentation": "

    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on\n your behalf.

    " + } + }, + "Tags": { + "target": "com.amazonaws.emr#TagList", + "traits": { + "smithy.api#documentation": "

    A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

    " } }, "SecurityConfiguration": { @@ -5464,57 +5994,55 @@ "AutoScalingRole": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

    " + "smithy.api#documentation": "

    An IAM role for automatic scaling policies. The default role is\n EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the\n automatic scaling feature requires to launch and terminate EC2 instances in an instance\n group.

    " } }, - "RepoUpgradeOnBoot": { - "target": "com.amazonaws.emr#RepoUpgradeOnBoot", + "ScaleDownBehavior": { + "target": "com.amazonaws.emr#ScaleDownBehavior", "traits": { - "smithy.api#documentation": "

    Applies only when CustomAmiID is used. Specifies which updates from the Amazon Linux AMI package repositories to apply automatically when the instance boots using the AMI. If omitted, the default is SECURITY, which indicates that only security updates are applied. If NONE is specified, no updates are applied, and all updates must be applied manually.

    " + "smithy.api#documentation": "

    Specifies the way that individual Amazon EC2 instances terminate when an automatic\n scale-in activity occurs or an instance group is resized.\n TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at\n the instance-hour boundary, regardless of when the request to terminate the instance was\n submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default\n for clusters created using that version. TERMINATE_AT_TASK_COMPLETION\n indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before\n terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either\n behavior, Amazon EMR removes the least active nodes first and blocks instance termination\n if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available\n only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR\n earlier than 5.1.0.

    " } }, - "LogEncryptionKmsKeyId": { - "target": "com.amazonaws.emr#XmlString", + "CustomAmiId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not provided, the logs will remain encrypted by AES-256. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

    " + "smithy.api#documentation": "

    Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon\n EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2\n instances. For more information about custom AMIs in Amazon EMR, see Using a Custom\n AMI in the Amazon EMR Management Guide. If omitted, the\n cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR\n versions 2.x and 3.x, use AmiVersion instead.

    \n

    For information about creating a custom AMI, see Creating an Amazon EBS-Backed\n Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux\n Instances. For information about finding an AMI ID, see Finding a Linux\n AMI.

    " } }, - "Steps": { - "target": "com.amazonaws.emr#StepConfigList", + "EbsRootVolumeSize": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    A list of steps to run.

    " + "smithy.api#documentation": "

    The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for\n each EC2 instance. Available in Amazon EMR version 4.x and later.

    " } }, - "KerberosAttributes": { - "target": "com.amazonaws.emr#KerberosAttributes", + "RepoUpgradeOnBoot": { + "target": "com.amazonaws.emr#RepoUpgradeOnBoot", "traits": { - "smithy.api#documentation": "

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

    " + "smithy.api#documentation": "

    Applies only when CustomAmiID is used. Specifies which updates from the\n Amazon Linux AMI package repositories to apply automatically when the instance boots using\n the AMI. If omitted, the default is SECURITY, which indicates that only\n security updates are applied. If NONE is specified, no updates are applied,\n and all updates must be applied manually.

    " } }, - "Name": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "KerberosAttributes": { + "target": "com.amazonaws.emr#KerberosAttributes", "traits": { - "smithy.api#documentation": "

    The name of the job flow.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a\n security configuration. For more information see Use Kerberos Authentication\n in the Amazon EMR Management Guide.

    " } }, - "AmiVersion": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "StepConcurrencyLevel": { + "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

    " + "smithy.api#documentation": "

    Specifies the number of steps that can be executed concurrently. The default value is\n 1. The maximum value is 256.

    " } }, - "AdditionalInfo": { - "target": "com.amazonaws.emr#XmlString", + "ManagedScalingPolicy": { + "target": "com.amazonaws.emr#ManagedScalingPolicy", "traits": { - "smithy.api#documentation": "

    A JSON string for selecting additional features.

    " + "smithy.api#documentation": "

    The specified managed scaling policy for an Amazon EMR cluster.

    " } }, - "Instances": { - "target": "com.amazonaws.emr#JobFlowInstancesConfig", + "PlacementGroupConfigs": { + "target": "com.amazonaws.emr#PlacementGroupConfigList", "traits": { - "smithy.api#documentation": "

    A specification of the number and type of Amazon EC2 instances.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The specified placement group configuration for an Amazon EMR cluster.

    " } } }, @@ -5525,17 +6053,17 @@ "com.amazonaws.emr#RunJobFlowOutput": { "type": "structure", "members": { - "ClusterArn": { - "target": "com.amazonaws.emr#ArnType", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " - } - }, "JobFlowId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { "smithy.api#documentation": "

    An unique identifier for the job flow.

    " } + }, + "ClusterArn": { + "target": "com.amazonaws.emr#ArnType", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name of the cluster.

    " + } } }, "traits": { @@ -5563,64 +6091,57 @@ "Market": { "target": "com.amazonaws.emr#MarketType", "traits": { - "smithy.api#documentation": "

    Not available for instance groups. Instance groups use the market type specified for the group.

    " + "smithy.api#documentation": "

    Not available for instance groups. Instance groups use the market type specified for the\n group.

    " } }, "SimpleScalingPolicyConfiguration": { "target": "com.amazonaws.emr#SimpleScalingPolicyConfiguration", "traits": { - "smithy.api#documentation": "

    The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

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

    The type of adjustment the automatic scaling activity makes when triggered, and the\n periodicity of the adjustment.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

    " + "smithy.api#documentation": "

    The type of adjustment the automatic scaling activity makes when triggered, and the\n periodicity of the adjustment.

    " } }, "com.amazonaws.emr#ScalingConstraints": { "type": "structure", "members": { - "MaxCapacity": { + "MinCapacity": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The upper boundary of EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary.

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

    The lower boundary of EC2 instances in an instance group below which scaling activities\n are not allowed to shrink. Scale-in activities will not terminate instances below this\n boundary.

    ", "smithy.api#required": {} } }, - "MinCapacity": { + "MaxCapacity": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The lower boundary of EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary.

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

    The upper boundary of EC2 instances in an instance group beyond which scaling activities\n are not allowed to grow. Scale-out activities will not add instances beyond this\n boundary.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activities triggered by automatic scaling rules will not cause an instance group to grow above or below these limits.

    " + "smithy.api#documentation": "

    The upper and lower EC2 instance limits for an automatic scaling policy. Automatic\n scaling activities triggered by automatic scaling rules will not cause an instance group to\n grow above or below these limits.

    " } }, "com.amazonaws.emr#ScalingRule": { "type": "structure", "members": { - "Description": { + "Name": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    A friendly, more verbose description of the automatic scaling rule.

    " - } - }, - "Trigger": { - "target": "com.amazonaws.emr#ScalingTrigger", - "traits": { - "smithy.api#documentation": "

    The CloudWatch alarm definition that determines when automatic scaling activity is triggered.

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

    The name used to identify an automatic scaling rule. Rule names must be unique within a\n scaling policy.

    ", "smithy.api#required": {} } }, - "Name": { + "Description": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The name used to identify an automatic scaling rule. Rule names must be unique within a scaling policy.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A friendly, more verbose description of the automatic scaling rule.

    " } }, "Action": { @@ -5629,10 +6150,17 @@ "smithy.api#documentation": "

    The conditions that trigger an automatic scaling activity.

    ", "smithy.api#required": {} } + }, + "Trigger": { + "target": "com.amazonaws.emr#ScalingTrigger", + "traits": { + "smithy.api#documentation": "

    The CloudWatch alarm definition that determines when automatic scaling activity is\n triggered.

    ", + "smithy.api#required": {} + } } }, "traits": { - "smithy.api#documentation": "

    A scale-in or scale-out rule that defines scaling activity, including the CloudWatch metric alarm that triggers activity, how EC2 instances are added or removed, and the periodicity of adjustments. The automatic scaling policy for an instance group can comprise one or more automatic scaling rules.

    " + "smithy.api#documentation": "

    A scale-in or scale-out rule that defines scaling activity, including the CloudWatch\n metric alarm that triggers activity, how EC2 instances are added or removed, and the\n periodicity of adjustments. The automatic scaling policy for an instance group can comprise\n one or more automatic scaling rules.

    " } }, "com.amazonaws.emr#ScalingRuleList": { @@ -5647,7 +6175,7 @@ "CloudWatchAlarmDefinition": { "target": "com.amazonaws.emr#CloudWatchAlarmDefinition", "traits": { - "smithy.api#documentation": "

    The definition of a CloudWatch metric alarm. When the defined alarm conditions are met along with other trigger parameters, scaling activity begins.

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

    The definition of a CloudWatch metric alarm. When the defined alarm conditions are met\n along with other trigger parameters, scaling activity begins.

    ", "smithy.api#required": {} } } @@ -5662,7 +6190,7 @@ "Path": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

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

    Location of the script to run during a bootstrap action. Can be either a location in\n Amazon S3 or on a local file system.

    ", "smithy.api#required": {} } }, @@ -5686,17 +6214,17 @@ "com.amazonaws.emr#SecurityConfigurationSummary": { "type": "structure", "members": { - "CreationDateTime": { - "target": "com.amazonaws.emr#Date", - "traits": { - "smithy.api#documentation": "

    The date and time the security configuration was created.

    " - } - }, "Name": { "target": "com.amazonaws.emr#XmlString", "traits": { "smithy.api#documentation": "

    The name of the security configuration.

    " } + }, + "CreationDateTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The date and time the security configuration was created.

    " + } } }, "traits": { @@ -5709,6 +6237,106 @@ "target": "com.amazonaws.emr#XmlStringMaxLen256" } }, + "com.amazonaws.emr#SessionMappingDetail": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    " + } + }, + "IdentityId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The globally unique identifier (GUID) of the user or group.

    " + } + }, + "IdentityName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API\n Reference.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the identity mapped to the Studio is a user or a group.

    " + } + }, + "SessionPolicyArn": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the session policy associated with the user or\n group.

    " + } + }, + "CreationTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The time the session mapping was created.

    " + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The time the session mapping was last modified.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details for an Amazon EMR Studio session mapping including creation time, user or group\n ID, Studio ID, and so on.

    " + } + }, + "com.amazonaws.emr#SessionMappingSummary": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    " + } + }, + "IdentityId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The globally unique identifier (GUID) of the user or group from the AWS SSO Identity\n Store.

    " + } + }, + "IdentityName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API\n Reference.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the identity mapped to the Studio is a user or a group.

    " + } + }, + "SessionPolicyArn": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the session policy associated with the user or\n group.

    " + } + }, + "CreationTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The time the session mapping was created.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details for an Amazon EMR Studio session mapping. The details do not include the time\n the session mapping was last modified.

    " + } + }, + "com.amazonaws.emr#SessionMappingSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.emr#SessionMappingSummary" + } + }, "com.amazonaws.emr#SetTerminationProtection": { "type": "operation", "input": { @@ -5720,23 +6348,23 @@ } ], "traits": { - "smithy.api#documentation": "

    SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

    \n

    \n SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

    \n \n

    To terminate a cluster that has been locked by setting SetTerminationProtection to true, \n you must first unlock the job flow by a subsequent call to SetTerminationProtection \n in which you set the value to false.

    \n

    For more information, seeManaging Cluster Termination in the \n Amazon EMR Management Guide.\n

    " + "smithy.api#documentation": "

    SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster\n cannot be terminated by user intervention, an API call, or in the event of a job-flow\n error. The cluster still terminates upon successful completion of the job flow. Calling\n SetTerminationProtection on a cluster is similar to calling the Amazon EC2\n DisableAPITermination API on all EC2 instances in a cluster.

    \n

    \n SetTerminationProtection is used to prevent accidental termination of a\n cluster and to ensure that in the event of an error, the instances persist so that you can\n recover any data stored in their ephemeral instance storage.

    \n

    To terminate a cluster that has been locked by setting\n SetTerminationProtection to true, you must first unlock the\n job flow by a subsequent call to SetTerminationProtection in which you set the\n value to false.

    \n

    For more information, seeManaging Cluster\n Termination in the Amazon EMR Management Guide.

    " } }, "com.amazonaws.emr#SetTerminationProtectionInput": { "type": "structure", "members": { - "TerminationProtected": { - "target": "com.amazonaws.emr#Boolean", + "JobFlowIds": { + "target": "com.amazonaws.emr#XmlStringList", "traits": { - "smithy.api#documentation": "

    A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.

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

    A list of strings that uniquely identify the clusters to protect. This identifier is\n returned by RunJobFlow and can also be obtained from DescribeJobFlows .

    ", "smithy.api#required": {} } }, - "JobFlowIds": { - "target": "com.amazonaws.emr#XmlStringList", + "TerminationProtected": { + "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    A list of strings that uniquely identify the clusters to protect. This identifier is returned by\n RunJobFlow and can also be obtained from DescribeJobFlows .

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

    A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2\n instances in the cluster from shutting down due to API calls, user intervention, or\n job-flow error.

    ", "smithy.api#required": {} } } @@ -5756,7 +6384,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster is visible to all IAM users of the AWS account associated with the cluster. Only the IAM user who created the cluster or the AWS account root user can call this action. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If set to false, only the IAM user that created the cluster can perform actions. This action works on running clusters. You can override the default true setting when you create a cluster by using the VisibleToAllUsers parameter with RunJobFlow.

    " + "smithy.api#documentation": "

    Sets the Cluster$VisibleToAllUsers value, which determines whether the\n cluster is visible to all IAM users of the AWS account associated with the cluster. Only\n the IAM user who created the cluster or the AWS account root user can call this action. The\n default value, true, indicates that all IAM users in the AWS account can\n perform cluster actions if they have the proper IAM policy permissions. If set to\n false, only the IAM user that created the cluster can perform actions. This\n action works on running clusters. You can override the default true setting\n when you create a cluster by using the VisibleToAllUsers parameter with\n RunJobFlow.

    " } }, "com.amazonaws.emr#SetVisibleToAllUsersInput": { @@ -5772,7 +6400,7 @@ "VisibleToAllUsers": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

    A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

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

    A value of true indicates that all IAM users in the AWS account can perform\n cluster actions if they have the proper IAM policy permissions. This is the default. A\n value of false indicates that only the IAM user who created the cluster can\n perform actions.

    ", "smithy.api#required": {} } } @@ -5787,18 +6415,18 @@ "DecommissionTimeout": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout.

    " + "smithy.api#documentation": "

    The desired timeout for decommissioning an instance. Overrides the default YARN\n decommissioning timeout.

    " } }, "InstanceResizePolicy": { "target": "com.amazonaws.emr#InstanceResizePolicy", "traits": { - "smithy.api#documentation": "

    Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

    " + "smithy.api#documentation": "

    Custom policy for requesting termination protection or termination of specific instances\n when shrinking an instance group.

    " } } }, "traits": { - "smithy.api#documentation": "

    Policy for customizing shrink operations. Allows configuration of decommissioning timeout and targeted instance shrinking.

    " + "smithy.api#documentation": "

    Policy for customizing shrink operations. Allows configuration of decommissioning\n timeout and targeted instance shrinking.

    " } }, "com.amazonaws.emr#SimpleScalingPolicyConfiguration": { @@ -5807,25 +6435,25 @@ "AdjustmentType": { "target": "com.amazonaws.emr#AdjustmentType", "traits": { - "smithy.api#documentation": "

    The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as an integer. For example, 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer.

    " + "smithy.api#documentation": "

    The way in which EC2 instances are added (if ScalingAdjustment is a\n positive number) or terminated (if ScalingAdjustment is a negative number)\n each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the\n default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments\n or decrements by ScalingAdjustment, which should be expressed as an integer.\n PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or\n decrements by the percentage specified by ScalingAdjustment, which should be\n expressed as an integer. For example, 20 indicates an increase in 20% increments of cluster\n capacity. EXACT_CAPACITY indicates the scaling activity results in an instance\n group with the number of EC2 instances specified by ScalingAdjustment, which\n should be expressed as a positive integer.

    " } }, - "CoolDown": { + "ScalingAdjustment": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start. The default value is 0.

    " + "smithy.api#documentation": "

    The amount by which to scale in or scale out, based on the specified\n AdjustmentType. A positive value adds to the instance group's EC2 instance\n count while a negative number removes instances. If AdjustmentType is set to\n EXACT_CAPACITY, the number should only be a positive integer. If\n AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value\n should express the percentage as an integer. For example, -20 indicates a decrease in 20%\n increments of cluster capacity.

    ", + "smithy.api#required": {} } }, - "ScalingAdjustment": { + "CoolDown": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The amount by which to scale in or scale out, based on the specified AdjustmentType. A positive value adds to the instance group's EC2 instance count while a negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, the number should only be a positive integer. If AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an integer. For example, -20 indicates a decrease in 20% increments of cluster capacity.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The amount of time, in seconds, after a scaling activity completes before any further\n trigger-related scaling activities can start. The default value is 0.

    " } } }, "traits": { - "smithy.api#documentation": "

    An automatic scaling configuration, which describes how the policy adds or removes instances, the cooldown period, and the number of EC2 instances that will be added each time the CloudWatch metric alarm condition is satisfied.

    " + "smithy.api#documentation": "

    An automatic scaling configuration, which describes how the policy adds or removes\n instances, the cooldown period, and the number of EC2 instances that will be added each\n time the CloudWatch metric alarm condition is satisfied.

    " } }, "com.amazonaws.emr#SpotProvisioningAllocationStrategy": { @@ -5845,32 +6473,32 @@ "TimeoutDurationMinutes": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

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

    The spot provisioning timeout period in minutes. If Spot Instances are not provisioned\n within this time period, the TimeOutAction is taken. Minimum value is 5 and\n maximum value is 1440. The timeout applies only during initial provisioning, when the\n cluster is first created.

    ", "smithy.api#required": {} } }, - "AllocationStrategy": { - "target": "com.amazonaws.emr#SpotProvisioningAllocationStrategy", - "traits": { - "smithy.api#documentation": "

    \n Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching. \n

    " - } - }, "TimeoutAction": { "target": "com.amazonaws.emr#SpotProvisioningTimeoutAction", "traits": { - "smithy.api#documentation": "

    The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

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

    The action to take when TargetSpotCapacity has not been fulfilled when the\n TimeoutDurationMinutes has expired; that is, when all Spot Instances could\n not be provisioned within the Spot provisioning timeout. Valid values are\n TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND\n specifies that if no Spot Instances are available, On-Demand Instances should be\n provisioned to fulfill any remaining Spot capacity.

    ", "smithy.api#required": {} } }, "BlockDurationMinutes": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

    The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.\n

    " + "smithy.api#documentation": "

    The defined duration for Spot Instances (also known as Spot blocks) in minutes. When\n specified, the Spot Instance does not terminate before the defined duration expires, and\n defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240,\n 300, or 360. The duration period starts as soon as a Spot Instance receives its instance\n ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and\n provides a Spot Instance termination notice, which gives the instance a two-minute warning\n before it terminates.

    " + } + }, + "AllocationStrategy": { + "target": "com.amazonaws.emr#SpotProvisioningAllocationStrategy", + "traits": { + "smithy.api#documentation": "

    Specifies the strategy to use in launching Spot Instance fleets. Currently, the only\n option is capacity-optimized (the default), which launches instances from Spot Instance\n pools with optimal capacity for the number of instances that are launching.

    " } } }, "traits": { - "smithy.api#documentation": "

    The launch specification for Spot instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy is available in Amazon EMR version 5.12.1 and later.

    \n
    " + "smithy.api#documentation": "

    The launch specification for Spot Instances in the instance fleet, which determines the\n defined duration, provisioning timeout behavior, and allocation strategy.

    \n \n

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. Spot Instance allocation strategy is available in\n Amazon EMR version 5.12.1 and later.

    \n
    " } }, "com.amazonaws.emr#SpotProvisioningTimeoutAction": { @@ -5909,17 +6537,18 @@ "com.amazonaws.emr#StartNotebookExecutionInput": { "type": "structure", "members": { - "ServiceRole": { - "target": "com.amazonaws.emr#XmlString", + "EditorId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The name or ARN of the IAM role that is used as the service role for Amazon EMR (the EMR role) for the notebook execution.

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

    The unique identifier of the EMR Notebook to use for notebook execution.

    ", "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.emr#TagList", + "RelativePath": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

    " + "smithy.api#documentation": "

    The path and file name of the notebook file for this execution, relative to the path\n specified for the EMR Notebook. For example, if you specify a path of\n s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook\n with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this\n request), and you specify a RelativePath of\n my_notebook_executions/notebook_execution.ipynb, the location of the file\n for the notebook execution is\n s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb.

    ", + "smithy.api#required": {} } }, "NotebookExecutionName": { @@ -5928,17 +6557,10 @@ "smithy.api#documentation": "

    An optional name for the notebook execution.

    " } }, - "RelativePath": { - "target": "com.amazonaws.emr#XmlString", - "traits": { - "smithy.api#documentation": "

    The path and file name of the notebook file for this execution, relative to the path specified for the EMR Notebook. For example, if you specify a path of s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this request), and you specify a RelativePath of my_notebook_executions/notebook_execution.ipynb, the location of the file for the notebook execution is s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb.

    ", - "smithy.api#required": {} - } - }, "NotebookParams": { "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

    " + "smithy.api#documentation": "

    Input parameters in JSON format passed to the EMR Notebook at runtime for\n execution.

    " } }, "ExecutionEngine": { @@ -5948,17 +6570,23 @@ "smithy.api#required": {} } }, - "EditorId": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", + "ServiceRole": { + "target": "com.amazonaws.emr#XmlString", "traits": { - "smithy.api#documentation": "

    The unique identifier of the EMR Notebook to use for notebook execution.

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

    The name or ARN of the IAM role that is used as the service role for Amazon EMR (the EMR\n role) for the notebook execution.

    ", "smithy.api#required": {} } }, "NotebookInstanceSecurityGroupId": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The unique identifier of the Amazon EC2 security group to associate with the EMR Notebook for this notebook execution.

    " + "smithy.api#documentation": "

    The unique identifier of the Amazon EC2 security group to associate with the EMR\n Notebook for this notebook execution.

    " + } + }, + "Tags": { + "target": "com.amazonaws.emr#TagList", + "traits": { + "smithy.api#documentation": "

    A list of tags associated with a notebook execution. Tags are user-defined key-value\n pairs that consist of a required key string with a maximum of 128 characters and an\n optional value string with a maximum of 256 characters.

    " } } } @@ -6010,28 +6638,28 @@ "smithy.api#documentation": "

    The identifier of the cluster step.

    " } }, - "Config": { - "target": "com.amazonaws.emr#HadoopStepConfig", - "traits": { - "smithy.api#documentation": "

    The Hadoop job configuration of the cluster step.

    " - } - }, - "Status": { - "target": "com.amazonaws.emr#StepStatus", + "Name": { + "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    The current execution status details of the cluster step.

    " + "smithy.api#documentation": "

    The name of the cluster step.

    " } }, - "Name": { - "target": "com.amazonaws.emr#String", + "Config": { + "target": "com.amazonaws.emr#HadoopStepConfig", "traits": { - "smithy.api#documentation": "

    The name of the cluster step.

    " + "smithy.api#documentation": "

    The Hadoop job configuration of the cluster step.

    " } }, "ActionOnFailure": { "target": "com.amazonaws.emr#ActionOnFailure", "traits": { - "smithy.api#documentation": "

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

    " + "smithy.api#documentation": "

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER,\n CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility.\n We recommend using TERMINATE_CLUSTER instead.

    " + } + }, + "Status": { + "target": "com.amazonaws.emr#StepStatus", + "traits": { + "smithy.api#documentation": "

    The current execution status details of the cluster step.

    " } } }, @@ -6055,10 +6683,17 @@ "com.amazonaws.emr#StepConfig": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the step.

    ", + "smithy.api#required": {} + } + }, "ActionOnFailure": { "target": "com.amazonaws.emr#ActionOnFailure", "traits": { - "smithy.api#documentation": "

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

    " + "smithy.api#documentation": "

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER,\n CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility.\n We recommend using TERMINATE_CLUSTER instead.

    " } }, "HadoopJarStep": { @@ -6067,13 +6702,6 @@ "smithy.api#documentation": "

    The JAR file used for the step.

    ", "smithy.api#required": {} } - }, - "Name": { - "target": "com.amazonaws.emr#XmlStringMaxLen256", - "traits": { - "smithy.api#documentation": "

    The name of the step.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -6152,6 +6780,13 @@ "smithy.api#required": {} } }, + "CreationDateTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The creation date and time of the step.

    ", + "smithy.api#required": {} + } + }, "StartDateTime": { "target": "com.amazonaws.emr#Date", "traits": { @@ -6169,13 +6804,6 @@ "traits": { "smithy.api#documentation": "

    A description of the step's current state.

    " } - }, - "CreationDateTime": { - "target": "com.amazonaws.emr#Date", - "traits": { - "smithy.api#documentation": "

    The creation date and time of the step.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -6232,7 +6860,7 @@ "Code": { "target": "com.amazonaws.emr#StepStateChangeReasonCode", "traits": { - "smithy.api#documentation": "

    The programmable code for the state change reason. Note: Currently, the service provides no code for the state change.

    " + "smithy.api#documentation": "

    The programmable code for the state change reason. Note: Currently, the service provides\n no code for the state change.

    " } }, "Message": { @@ -6265,28 +6893,28 @@ "com.amazonaws.emr#StepStatus": { "type": "structure", "members": { - "StateChangeReason": { - "target": "com.amazonaws.emr#StepStateChangeReason", + "State": { + "target": "com.amazonaws.emr#StepState", "traits": { - "smithy.api#documentation": "

    The reason for the step execution status change.

    " + "smithy.api#documentation": "

    The execution state of the cluster step.

    " } }, - "Timeline": { - "target": "com.amazonaws.emr#StepTimeline", + "StateChangeReason": { + "target": "com.amazonaws.emr#StepStateChangeReason", "traits": { - "smithy.api#documentation": "

    The timeline of the cluster step status over time.

    " + "smithy.api#documentation": "

    The reason for the step execution status change.

    " } }, - "State": { - "target": "com.amazonaws.emr#StepState", + "FailureDetails": { + "target": "com.amazonaws.emr#FailureDetails", "traits": { - "smithy.api#documentation": "

    The execution state of the cluster step.

    " + "smithy.api#documentation": "

    The details for the step failure including reason, message, and log file path where the\n root cause was identified.

    " } }, - "FailureDetails": { - "target": "com.amazonaws.emr#FailureDetails", + "Timeline": { + "target": "com.amazonaws.emr#StepTimeline", "traits": { - "smithy.api#documentation": "

    The details for the step failure including reason, message, and log file path where the root cause was identified.

    " + "smithy.api#documentation": "

    The timeline of the cluster step status over time.

    " } } }, @@ -6297,16 +6925,10 @@ "com.amazonaws.emr#StepSummary": { "type": "structure", "members": { - "Config": { - "target": "com.amazonaws.emr#HadoopStepConfig", - "traits": { - "smithy.api#documentation": "

    The Hadoop job configuration of the cluster step.

    " - } - }, - "Status": { - "target": "com.amazonaws.emr#StepStatus", + "Id": { + "target": "com.amazonaws.emr#StepId", "traits": { - "smithy.api#documentation": "

    The current execution status details of the cluster step.

    " + "smithy.api#documentation": "

    The identifier of the cluster step.

    " } }, "Name": { @@ -6315,16 +6937,22 @@ "smithy.api#documentation": "

    The name of the cluster step.

    " } }, + "Config": { + "target": "com.amazonaws.emr#HadoopStepConfig", + "traits": { + "smithy.api#documentation": "

    The Hadoop job configuration of the cluster step.

    " + } + }, "ActionOnFailure": { "target": "com.amazonaws.emr#ActionOnFailure", "traits": { - "smithy.api#documentation": "

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

    " + "smithy.api#documentation": "

    The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER,\n CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility.\n We recommend using TERMINATE_CLUSTER instead.

    " } }, - "Id": { - "target": "com.amazonaws.emr#StepId", + "Status": { + "target": "com.amazonaws.emr#StepStatus", "traits": { - "smithy.api#documentation": "

    The identifier of the cluster step.

    " + "smithy.api#documentation": "

    The current execution status details of the cluster step.

    " } } }, @@ -6341,12 +6969,6 @@ "com.amazonaws.emr#StepTimeline": { "type": "structure", "members": { - "EndDateTime": { - "target": "com.amazonaws.emr#Date", - "traits": { - "smithy.api#documentation": "

    The date and time when the cluster step execution completed or failed.

    " - } - }, "CreationDateTime": { "target": "com.amazonaws.emr#Date", "traits": { @@ -6358,6 +6980,12 @@ "traits": { "smithy.api#documentation": "

    The date and time when the cluster step execution started.

    " } + }, + "EndDateTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The date and time when the cluster step execution completed or failed.

    " + } } }, "traits": { @@ -6411,24 +7039,178 @@ "target": "com.amazonaws.emr#String" } }, - "com.amazonaws.emr#SupportedProductConfig": { + "com.amazonaws.emr#Studio": { "type": "structure", "members": { - "Args": { - "target": "com.amazonaws.emr#XmlStringList", + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { - "smithy.api#documentation": "

    The list of user-supplied arguments.

    " + "smithy.api#documentation": "

    The ID of the EMR Studio.

    " + } + }, + "StudioArn": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the EMR Studio.

    " + } + }, + "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the EMR Studio.

    " + } + }, + "Description": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The detailed description of the EMR Studio.

    " + } + }, + "AuthMode": { + "target": "com.amazonaws.emr#AuthMode", + "traits": { + "smithy.api#documentation": "

    Specifies whether the Studio authenticates users using single sign-on (SSO) or\n IAM.

    " + } + }, + "VpcId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the VPC associated with the EMR Studio.

    " + } + }, + "SubnetIds": { + "target": "com.amazonaws.emr#SubnetIdList", + "traits": { + "smithy.api#documentation": "

    The list of IDs of the subnets associated with the Amazon EMR Studio.

    " + } + }, + "ServiceRole": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The name of the IAM role assumed by the Amazon EMR Studio.

    " + } + }, + "UserRole": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The name of the IAM role assumed by users logged in to the Amazon EMR Studio.

    " + } + }, + "WorkspaceSecurityGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Workspace security group associated with the Amazon EMR Studio. The\n Workspace security group allows outbound network traffic to resources in the Engine\n security group and to the internet.

    " + } + }, + "EngineSecurityGroupId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Engine security group associated with the Amazon EMR Studio. The Engine\n security group allows inbound network traffic from resources in the Workspace security\n group.

    " + } + }, + "Url": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The unique access URL of the Amazon EMR Studio.

    " + } + }, + "CreationTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The time the Amazon EMR Studio was created.

    " + } + }, + "DefaultS3Location": { + "target": "com.amazonaws.emr#XmlString", + "traits": { + "smithy.api#documentation": "

    The default Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook\n files.

    " + } + }, + "Tags": { + "target": "com.amazonaws.emr#TagList", + "traits": { + "smithy.api#documentation": "

    A list of tags associated with the Amazon EMR Studio.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details for an Amazon EMR Studio including ID, creation time, name, and so on.

    " + } + }, + "com.amazonaws.emr#StudioSummary": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Amazon EMR Studio.

    " + } + }, + "Name": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the Amazon EMR Studio.

    " + } + }, + "VpcId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon EMR\n Studio.

    " + } + }, + "Description": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The detailed description of the EMR Studio.

    " + } + }, + "Url": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The unique access URL of the Amazon EMR Studio.

    " } }, + "CreationTime": { + "target": "com.amazonaws.emr#Date", + "traits": { + "smithy.api#documentation": "

    The time when the Amazon EMR Studio was created.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. The details\n do not include subnets, IAM roles, security groups, or tags associated with the\n Studio.

    " + } + }, + "com.amazonaws.emr#StudioSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.emr#StudioSummary" + } + }, + "com.amazonaws.emr#SubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.emr#String" + } + }, + "com.amazonaws.emr#SupportedProductConfig": { + "type": "structure", + "members": { "Name": { "target": "com.amazonaws.emr#XmlStringMaxLen256", "traits": { "smithy.api#documentation": "

    The name of the product configuration.

    " } + }, + "Args": { + "target": "com.amazonaws.emr#XmlStringList", + "traits": { + "smithy.api#documentation": "

    The list of user-supplied arguments.

    " + } } }, "traits": { - "smithy.api#documentation": "

    The list of supported product configurations which allow user-supplied arguments. EMR accepts these arguments and forwards them to the corresponding installation script as bootstrap action arguments.

    " + "smithy.api#documentation": "

    The list of supported product configurations which allow user-supplied arguments. EMR\n accepts these arguments and forwards them to the corresponding installation script as\n bootstrap action arguments.

    " } }, "com.amazonaws.emr#SupportedProductsList": { @@ -6440,21 +7222,21 @@ "com.amazonaws.emr#Tag": { "type": "structure", "members": { - "Value": { + "Key": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    A user-defined value, which is optional in a tag. \n For more information, see Tag Clusters. \n

    " + "smithy.api#documentation": "

    A user-defined key, which is the minimum required information for a valid tag. For more\n information, see Tag .

    " } }, - "Key": { + "Value": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

    A user-defined key, which is the minimum required information for a valid tag. \n For more information, see Tag . \n

    " + "smithy.api#documentation": "

    A user-defined value, which is optional in a tag. For more information, see Tag\n Clusters.

    " } } }, "traits": { - "smithy.api#documentation": "

    A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. \n For more information, see Tag Clusters. \n

    " + "smithy.api#documentation": "

    A key-value pair containing user-defined metadata that you can associate with an Amazon\n EMR resource. Tags make it easier to associate clusters in various ways, such as grouping\n clusters to track your Amazon EMR resource allocation costs. For more information, see\n Tag\n Clusters.

    " } }, "com.amazonaws.emr#TagList": { @@ -6474,7 +7256,7 @@ } ], "traits": { - "smithy.api#documentation": "

    TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

    \n

    The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

    " + "smithy.api#documentation": "

    TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut\n down, any step not yet completed is canceled and the EC2 instances on which the cluster is\n running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri\n was specified when the cluster was created.

    \n

    The maximum number of clusters allowed is 10. The call to TerminateJobFlows\n is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5\n minutes for the cluster to completely terminate and release allocated resources, such as\n Amazon EC2 instances.

    " } }, "com.amazonaws.emr#TerminateJobFlowsInput": { @@ -6483,7 +7265,7 @@ "JobFlowIds": { "target": "com.amazonaws.emr#XmlStringList", "traits": { - "smithy.api#documentation": "

    A list of job flows to be shutdown.

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

    A list of job flows to be shut down.

    ", "smithy.api#required": {} } } @@ -6607,6 +7389,61 @@ ] } }, + "com.amazonaws.emr#UpdateStudioSessionMapping": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#UpdateStudioSessionMappingInput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerError" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "\n

    The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to\n change.

    \n
    \n

    Updates the session policy attached to the user or group for the specified Amazon EMR\n Studio.

    " + } + }, + "com.amazonaws.emr#UpdateStudioSessionMappingInput": { + "type": "structure", + "members": { + "StudioId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The ID of the EMR Studio.

    ", + "smithy.api#required": {} + } + }, + "IdentityId": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The globally unique identifier (GUID) of the user or group. For more information, see\n UserId and GroupId in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityName": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The name of the user or group to update. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference.\n Either IdentityName or IdentityId must be specified.

    " + } + }, + "IdentityType": { + "target": "com.amazonaws.emr#IdentityType", + "traits": { + "smithy.api#documentation": "

    Specifies whether the identity to update is a user or a group.

    ", + "smithy.api#required": {} + } + }, + "SessionPolicyArn": { + "target": "com.amazonaws.emr#XmlStringMaxLen256", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the session policy to associate with the specified\n user or group.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.emr#VolumeSpecification": { "type": "structure", "members": { @@ -6626,13 +7463,13 @@ "SizeInGB": { "target": "com.amazonaws.emr#Integer", "traits": { - "smithy.api#documentation": "

    The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

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

    The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume\n type is EBS-optimized, the minimum value is 10.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

    " + "smithy.api#documentation": "

    EBS volume specifications such as volume type, IOPS, and size (GiB) that will be\n requested for the EBS volume attached to an EC2 instance in the cluster.

    " } }, "com.amazonaws.emr#WholeNumber": { diff --git a/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json b/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json index 98ae55d5b2d0a..4bd1057cd397b 100644 --- a/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json +++ b/codegen/sdk-codegen/aws-models/forecast.2018-06-26.json @@ -51,6 +51,9 @@ { "target": "com.amazonaws.forecast#CreatePredictor" }, + { + "target": "com.amazonaws.forecast#CreatePredictorBacktestExportJob" + }, { "target": "com.amazonaws.forecast#DeleteDataset" }, @@ -69,6 +72,9 @@ { "target": "com.amazonaws.forecast#DeletePredictor" }, + { + "target": "com.amazonaws.forecast#DeletePredictorBacktestExportJob" + }, { "target": "com.amazonaws.forecast#DescribeDataset" }, @@ -87,6 +93,9 @@ { "target": "com.amazonaws.forecast#DescribePredictor" }, + { + "target": "com.amazonaws.forecast#DescribePredictorBacktestExportJob" + }, { "target": "com.amazonaws.forecast#GetAccuracyMetrics" }, @@ -105,6 +114,9 @@ { "target": "com.amazonaws.forecast#ListForecasts" }, + { + "target": "com.amazonaws.forecast#ListPredictorBacktestExportJobs" + }, { "target": "com.amazonaws.forecast#ListPredictors" }, @@ -668,6 +680,77 @@ "smithy.api#documentation": "

    Creates an Amazon Forecast predictor.

    \n

    In the request, provide a dataset group and either specify an algorithm or let\n Amazon Forecast choose an algorithm for you using AutoML. If you specify an algorithm, you also can\n override algorithm-specific hyperparameters.

    \n

    Amazon Forecast uses the algorithm to train a predictor using the latest version of the\n datasets in the specified dataset group. You can then generate a\n forecast using the CreateForecast operation.

    \n

    \n To see the evaluation metrics, use the GetAccuracyMetrics operation.\n

    \n

    You can specify a featurization configuration to fill and aggregate the data\n fields in the TARGET_TIME_SERIES dataset to improve model training. For more\n information, see FeaturizationConfig.

    \n

    For RELATED_TIME_SERIES datasets, CreatePredictor verifies that the\n DataFrequency specified when the dataset was created matches the\n ForecastFrequency. TARGET_TIME_SERIES datasets don't have this restriction.\n Amazon Forecast also verifies the delimiter and timestamp format. For more information, see howitworks-datasets-groups.

    \n

    By default, predictors are trained and evaluated at the 0.1 (P10), 0.5 (P50), and 0.9\n (P90) quantiles. You can choose custom forecast types to train and evaluate your predictor\n by setting the ForecastTypes.\n

    \n

    \n AutoML\n

    \n

    If you want Amazon Forecast to evaluate each algorithm and choose the one that minimizes the\n objective function, set PerformAutoML to true. The\n objective function is defined as the mean of the weighted losses over the\n forecast types. By default, these are the p10, p50, and p90\n quantile losses. For more information, see EvaluationResult.

    \n

    When AutoML is enabled, the following properties are disallowed:

    \n
      \n
    • \n

      \n AlgorithmArn\n

      \n
    • \n
    • \n

      \n HPOConfig\n

      \n
    • \n
    • \n

      \n PerformHPO\n

      \n
    • \n
    • \n

      \n TrainingParameters\n

      \n
    • \n
    \n\n \n\n

    To get a list of all of your predictors, use the ListPredictors\n operation.

    \n \n

    Before you can use the predictor to create a forecast, the Status of the\n predictor must be ACTIVE, signifying that training has completed. To get the\n status, use the DescribePredictor operation.

    \n
    " } }, + "com.amazonaws.forecast#CreatePredictorBacktestExportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.forecast#CreatePredictorBacktestExportJobRequest" + }, + "output": { + "target": "com.amazonaws.forecast#CreatePredictorBacktestExportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.forecast#InvalidInputException" + }, + { + "target": "com.amazonaws.forecast#LimitExceededException" + }, + { + "target": "com.amazonaws.forecast#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.forecast#ResourceInUseException" + }, + { + "target": "com.amazonaws.forecast#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Exports backtest forecasts and accuracy metrics generated by the CreatePredictor operation. Two CSV files are exported to a specified\n S3 bucket.

    \n

    You must specify a DataDestination object that includes an AWS Identity and Access Management\n (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see\n aws-forecast-iam-roles.

    " + } + }, + "com.amazonaws.forecast#CreatePredictorBacktestExportJobRequest": { + "type": "structure", + "members": { + "PredictorBacktestExportJobName": { + "target": "com.amazonaws.forecast#Name", + "traits": { + "smithy.api#documentation": "

    The name for the backtest export job.

    ", + "smithy.api#required": {} + } + }, + "PredictorArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor that you want to export.

    ", + "smithy.api#required": {} + } + }, + "Destination": { + "target": "com.amazonaws.forecast#DataDestination", + "traits": { + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.forecast#Tags", + "traits": { + "smithy.api#documentation": "

    Optional metadata to help you categorize and organize your backtests. Each tag consists\n of a key and an optional value, both of which you define. Tag keys and values are case\n sensitive.

    \n

    The following restrictions apply to tags:

    \n
      \n
    • \n

      For each resource, each tag key must be unique and each tag key must have one\n value.

      \n
    • \n
    • \n

      Maximum number of tags per resource: 50.

      \n
    • \n
    • \n

      Maximum key length: 128 Unicode characters in UTF-8.

      \n
    • \n
    • \n

      Maximum value length: 256 Unicode characters in UTF-8.

      \n
    • \n
    • \n

      Accepted characters: all letters and numbers, spaces representable in UTF-8, and +\n - = . _ : / @. If your tagging schema is used across other services and resources,\n the character restrictions of those services also apply.

      \n
    • \n
    • \n

      Key prefixes cannot include any upper or lowercase combination of\n aws: or AWS:. Values can have this prefix. If a tag\n value has aws as its prefix but the key does not, Forecast considers it\n to be a user tag and will count against the limit of 50 tags. Tags with only the key\n prefix of aws do not count against your tags per resource limit. You\n cannot edit or delete tag keys with this prefix.

      \n
    • \n
    " + } + } + } + }, + "com.amazonaws.forecast#CreatePredictorBacktestExportJobResponse": { + "type": "structure", + "members": { + "PredictorBacktestExportJobArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor backtest export job that you want to\n export.

    " + } + } + } + }, "com.amazonaws.forecast#CreatePredictorRequest": { "type": "structure", "members": { @@ -778,7 +861,7 @@ } }, "traits": { - "smithy.api#documentation": "

    The destination for an exported forecast, an AWS Identity and Access Management (IAM) role that allows\n Amazon Forecast to access the location and, optionally, an AWS Key Management Service (KMS) key. This object is\n submitted in the CreateForecastExportJob request.

    " + "smithy.api#documentation": "

    The destination for an export job, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast\n to access the location and, optionally, an AWS Key Management Service (KMS) key.

    " } }, "com.amazonaws.forecast#DataSource": { @@ -1145,6 +1228,39 @@ "smithy.api#idempotent": {} } }, + "com.amazonaws.forecast#DeletePredictorBacktestExportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.forecast#DeletePredictorBacktestExportJobRequest" + }, + "errors": [ + { + "target": "com.amazonaws.forecast#InvalidInputException" + }, + { + "target": "com.amazonaws.forecast#ResourceInUseException" + }, + { + "target": "com.amazonaws.forecast#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes a predictor backtest export job.

    ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.forecast#DeletePredictorBacktestExportJobRequest": { + "type": "structure", + "members": { + "PredictorBacktestExportJobArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor backtest export job to delete.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.forecast#DeletePredictorRequest": { "type": "structure", "members": { @@ -1638,6 +1754,89 @@ "smithy.api#idempotent": {} } }, + "com.amazonaws.forecast#DescribePredictorBacktestExportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.forecast#DescribePredictorBacktestExportJobRequest" + }, + "output": { + "target": "com.amazonaws.forecast#DescribePredictorBacktestExportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.forecast#InvalidInputException" + }, + { + "target": "com.amazonaws.forecast#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob operation.

    \n

    In addition to listing the properties provided by the user in the\n CreatePredictorBacktestExportJob request, this operation lists the\n following properties:

    \n
      \n
    • \n

      \n CreationTime\n

      \n
    • \n
    • \n

      \n LastModificationTime\n

      \n
    • \n
    • \n

      \n Status\n

      \n
    • \n
    • \n

      \n Message (if an error occurred)

      \n
    • \n
    ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.forecast#DescribePredictorBacktestExportJobRequest": { + "type": "structure", + "members": { + "PredictorBacktestExportJobArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor backtest export job.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.forecast#DescribePredictorBacktestExportJobResponse": { + "type": "structure", + "members": { + "PredictorBacktestExportJobArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor backtest export job.

    " + } + }, + "PredictorBacktestExportJobName": { + "target": "com.amazonaws.forecast#Name", + "traits": { + "smithy.api#documentation": "

    The name of the predictor backtest export job.

    " + } + }, + "PredictorArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor.

    " + } + }, + "Destination": { + "target": "com.amazonaws.forecast#DataDestination" + }, + "Message": { + "target": "com.amazonaws.forecast#Message", + "traits": { + "smithy.api#documentation": "

    Information about any errors that may have occurred during the backtest export.

    " + } + }, + "Status": { + "target": "com.amazonaws.forecast#Status", + "traits": { + "smithy.api#documentation": "

    The status of the predictor backtest export job. States include:

    \n
      \n
    • \n

      \n ACTIVE\n

      \n
    • \n
    • \n

      \n CREATE_PENDING\n

      \n
    • \n
    • \n

      \n CREATE_IN_PROGRESS\n

      \n
    • \n
    • \n

      \n CREATE_FAILED\n

      \n
    • \n
    • \n

      \n DELETE_PENDING\n

      \n
    • \n
    • \n

      \n DELETE_IN_PROGRESS\n

      \n
    • \n
    • \n

      \n DELETE_FAILED\n

      \n
    • \n
    " + } + }, + "CreationTime": { + "target": "com.amazonaws.forecast#Timestamp", + "traits": { + "smithy.api#documentation": "

    When the predictor backtest export job was created.

    " + } + }, + "LastModificationTime": { + "target": "com.amazonaws.forecast#Timestamp", + "traits": { + "smithy.api#documentation": "

    When the last successful export job finished.

    " + } + } + } + }, "com.amazonaws.forecast#DescribePredictorRequest": { "type": "structure", "members": { @@ -1847,7 +2046,7 @@ "ForecastType": { "target": "com.amazonaws.forecast#ForecastType", "traits": { - "smithy.api#documentation": "

    \n Forecast types can be quantiles from 0.01 to 0.99 (by increments of 0.01), and the mean.\n

    " + "smithy.api#documentation": "

    \n The Forecast type used to compute WAPE and RMSE.\n

    " } }, "WAPE": { @@ -2761,6 +2960,73 @@ } } }, + "com.amazonaws.forecast#ListPredictorBacktestExportJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.forecast#ListPredictorBacktestExportJobsRequest" + }, + "output": { + "target": "com.amazonaws.forecast#ListPredictorBacktestExportJobsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.forecast#InvalidInputException" + }, + { + "target": "com.amazonaws.forecast#InvalidNextTokenException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary\n for each backtest export job. You can filter the list using an array of Filter objects.

    \n

    To retrieve the complete set of properties for a particular backtest export job, use the\n ARN with the DescribePredictorBacktestExportJob operation.

    ", + "smithy.api#idempotent": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "PredictorBacktestExportJobs", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.forecast#ListPredictorBacktestExportJobsRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.forecast#NextToken", + "traits": { + "smithy.api#documentation": "

    If the result of the previous request was truncated, the response includes a NextToken.\n To retrieve the next set of results, use the token in the next request. Tokens expire after\n 24 hours.

    " + } + }, + "MaxResults": { + "target": "com.amazonaws.forecast#MaxResults", + "traits": { + "smithy.api#documentation": "

    The number of items to return in the response.

    " + } + }, + "Filters": { + "target": "com.amazonaws.forecast#Filters", + "traits": { + "smithy.api#documentation": "

    An array of filters. For each filter, provide a condition and a match statement. The\n condition is either IS or IS_NOT, which specifies whether to\n include or exclude the predictor backtest export jobs that match the statement from the\n list. The match statement consists of a key and a value.

    \n

    \n Filter properties\n

    \n
      \n
    • \n

      \n Condition - The condition to apply. Valid values are\n IS and IS_NOT. To include the predictor backtest\n export jobs that match the statement, specify IS. To exclude matching\n predictor backtest export jobs, specify IS_NOT.

      \n
    • \n
    • \n

      \n Key - The name of the parameter to filter on. Valid values are\n PredictorBacktestExportJobArn and Status.

      \n
    • \n
    • \n

      \n Value - The value to match.

      \n
    • \n
    " + } + } + } + }, + "com.amazonaws.forecast#ListPredictorBacktestExportJobsResponse": { + "type": "structure", + "members": { + "PredictorBacktestExportJobs": { + "target": "com.amazonaws.forecast#PredictorBacktestExportJobs", + "traits": { + "smithy.api#documentation": "

    An array of objects that summarize the properties of each predictor backtest export\n job.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.forecast#NextToken", + "traits": { + "smithy.api#documentation": "

    Returns this token if the response is truncated. To retrieve the next\n set of results, use the token in the next request.

    " + } + } + } + }, "com.amazonaws.forecast#ListPredictors": { "type": "operation", "input": { @@ -2978,6 +3244,59 @@ "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.\\/\\[\\]\\,\\\"\\\\\\s]+$" } }, + "com.amazonaws.forecast#PredictorBacktestExportJobSummary": { + "type": "structure", + "members": { + "PredictorBacktestExportJobArn": { + "target": "com.amazonaws.forecast#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the predictor backtest export job.

    " + } + }, + "PredictorBacktestExportJobName": { + "target": "com.amazonaws.forecast#Name", + "traits": { + "smithy.api#documentation": "

    The name of the predictor backtest export job.

    " + } + }, + "Destination": { + "target": "com.amazonaws.forecast#DataDestination" + }, + "Status": { + "target": "com.amazonaws.forecast#Status", + "traits": { + "smithy.api#documentation": "

    The status of the predictor backtest export job. States include:

    \n
      \n
    • \n

      \n ACTIVE\n

      \n
    • \n
    • \n

      \n CREATE_PENDING\n

      \n
    • \n
    • \n

      \n CREATE_IN_PROGRESS\n

      \n
    • \n
    • \n

      \n CREATE_FAILED\n

      \n
    • \n
    • \n

      \n DELETE_PENDING\n

      \n
    • \n
    • \n

      \n DELETE_IN_PROGRESS\n

      \n
    • \n
    • \n

      \n DELETE_FAILED\n

      \n
    • \n
    " + } + }, + "Message": { + "target": "com.amazonaws.forecast#ErrorMessage", + "traits": { + "smithy.api#documentation": "

    Information about any errors that may have occurred during the backtest export.

    " + } + }, + "CreationTime": { + "target": "com.amazonaws.forecast#Timestamp", + "traits": { + "smithy.api#documentation": "

    When the predictor backtest export job was created.

    " + } + }, + "LastModificationTime": { + "target": "com.amazonaws.forecast#Timestamp", + "traits": { + "smithy.api#documentation": "

    When the last successful export job finished.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Provides a summary of the predictor backtest export job properties used in the ListPredictorBacktestExportJobs operation. To get a complete set of properties, call\n the DescribePredictorBacktestExportJob operation, and provide the listed\n PredictorBacktestExportJobArn.

    " + } + }, + "com.amazonaws.forecast#PredictorBacktestExportJobs": { + "type": "list", + "member": { + "target": "com.amazonaws.forecast#PredictorBacktestExportJobSummary" + } + }, "com.amazonaws.forecast#PredictorEvaluationResults": { "type": "list", "member": { @@ -3150,7 +3469,7 @@ } }, "traits": { - "smithy.api#documentation": "

    The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role\n that Amazon Forecast can assume to access the file(s). Optionally, includes\n an AWS Key Management Service (KMS) key. This object is part of the DataSource object that\n is submitted in the CreateDatasetImportJob request, and part of the\n DataDestination object that is submitted in the\n CreateForecastExportJob request.

    " + "smithy.api#documentation": "

    The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role that\n Amazon Forecast can assume to access the file(s). Optionally, includes an AWS Key Management Service (KMS) key. This\n object is part of the DataSource object that is submitted in the CreateDatasetImportJob request, and part of the DataDestination object.

    " } }, "com.amazonaws.forecast#S3Path": { diff --git a/codegen/sdk-codegen/aws-models/fsx.2018-03-01.json b/codegen/sdk-codegen/aws-models/fsx.2018-03-01.json index e78ece36740fd..f63e44b9bd43a 100644 --- a/codegen/sdk-codegen/aws-models/fsx.2018-03-01.json +++ b/codegen/sdk-codegen/aws-models/fsx.2018-03-01.json @@ -211,7 +211,7 @@ "Status": { "target": "com.amazonaws.fsx#Status", "traits": { - "smithy.api#documentation": "

    Describes the status of the administrative action, as follows:

    \n
      \n
    • \n

      \n FAILED - Amazon FSx failed to process the administrative action successfully.

      \n
    • \n
    • \n

      \n IN_PROGRESS - Amazon FSx is processing the administrative action.

      \n
    • \n
    • \n

      \n PENDING - Amazon FSx is waiting to process the administrative action.

      \n
    • \n
    • \n

      \n COMPLETED - Amazon FSx has finished processing the administrative task.

      \n
    • \n
    • \n

      \n UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon FSx has updated the file system \n with the new storage capacity, and is now performing the storage optimization process.\n For more information, see Managing Storage Capacity.

      \n
    • \n
    " + "smithy.api#documentation": "

    Describes the status of the administrative action, as follows:

    \n
      \n
    • \n

      \n FAILED - Amazon FSx failed to process the administrative action successfully.

      \n
    • \n
    • \n

      \n IN_PROGRESS - Amazon FSx is processing the administrative action.

      \n
    • \n
    • \n

      \n PENDING - Amazon FSx is waiting to process the administrative action.

      \n
    • \n
    • \n

      \n COMPLETED - Amazon FSx has finished processing the administrative task.

      \n
    • \n
    • \n

      \n UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon FSx has\n updated the file system with the new storage capacity, and is now performing the\n storage optimization process. For more information, see\n Managing\n storage capacity in the Amazon FSx for Windows File Server\n User Guide and Managing storage\n and throughput capacity in the Amazon FSx for Lustre User\n Guide.

      \n
    • \n
    " } }, "TargetFileSystemValues": { @@ -225,7 +225,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Describes a specific Amazon FSx Administrative Action for the current Windows file system.

    " + "smithy.api#documentation": "

    Describes a specific Amazon FSx administrative action for the current Windows or\n Lustre file system.

    " } }, "com.amazonaws.fsx#AdministrativeActionFailureDetails": { @@ -245,7 +245,7 @@ "com.amazonaws.fsx#AdministrativeActionType": { "type": "string", "traits": { - "smithy.api#documentation": "

    Describes the type of administrative action, as follows:

    \n
      \n
    • \n

      \n FILE_SYSTEM_UPDATE - A file system update administrative action initiated by the user from the \n Amazon FSx console, API (UpdateFileSystem), or CLI (update-file-system).

      \n
    • \n
    • \n

      \n STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE \n task to increase a file system's storage capacity completes successfully, a \n STORAGE_OPTIMIZATION task starts. Storage optimization is the process \n of migrating the file system data to the new, larger disks. You can track the \n storage migration progress using the ProgressPercent property. When \n STORAGE_OPTIMIZATION completes successfully, the parent FILE_SYSTEM_UPDATE \n action status changes to COMPLETED. For more information, see \n Managing Storage Capacity.\n

      \n
    • \n
    • \n

      \n FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a new DNS alias with the file system. \n For more information, see\n .

      \n
    • \n
    • \n

      \n FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate a DNS alias from the file system.\n For more information, see .

      \n
    • \n
    ", + "smithy.api#documentation": "

    Describes the type of administrative action, as follows:

    \n
      \n
    • \n

      \n FILE_SYSTEM_UPDATE - A file system update administrative action initiated by the user from the \n Amazon FSx console, API (UpdateFileSystem), or CLI (update-file-system).

      \n
    • \n
    • \n

      \n STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE \n task to increase a file system's storage capacity completes successfully, a \n STORAGE_OPTIMIZATION task starts.\n

      \n
        \n
      • \n

        For Windows, storage optimization is the process of migrating the file system data\n to the new, larger disks.

        \n
      • \n
      • \n

        For Lustre, storage optimization consists of rebalancing the data across the existing and\n newly added file servers.

        \n
      • \n
      \n

      You can track the storage optimization progress using the\n ProgressPercent property. When\n STORAGE_OPTIMIZATION completes successfully, the parent\n FILE_SYSTEM_UPDATE action status changes to\n COMPLETED. For more information, see Managing\n storage capacity in the Amazon FSx for Windows File Server\n User Guide and Managing storage\n and throughput capacity in the Amazon FSx for Lustre User\n Guide.

      \n
    • \n
    • \n

      \n FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a new DNS alias with the file system. \n For more information, see\n .

      \n
    • \n
    • \n

      \n FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate a DNS alias from the file system.\n For more information, see .

      \n
    • \n
    ", "smithy.api#enum": [ { "value": "FILE_SYSTEM_UPDATE", @@ -331,7 +331,7 @@ "target": "com.amazonaws.fsx#Alias" }, "traits": { - "smithy.api#documentation": "

    An array of one or more DNS aliases that are currently associated with the Amazon FSx file system. \n Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. \n You can associate up to 50 aliases with a file system at any time. \n You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. \n You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation.\n You only need to specify the alias name in the request payload. For more information, see \n DNS aliases.

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

    An array of one or more DNS aliases that are currently associated with the Amazon FSx file system. \n Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. \n You can associate up to 50 aliases with a file system at any time. \n You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. \n You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation.\n You only need to specify the alias name in the request payload. For more information, see \n DNS aliases.

    ", "smithy.api#length": { "min": 0, "max": 50 @@ -478,7 +478,7 @@ "Lifecycle": { "target": "com.amazonaws.fsx#BackupLifecycle", "traits": { - "smithy.api#documentation": "

    The lifecycle status of the backup.

    \n
      \n
    • \n

      \n AVAILABLE - The backup is fully available.

      \n
    • \n
    • \n

      \n CREATING - FSx is creating the backup.

      \n
    • \n
    • \n

      \n TRANSFERRING - For Lustre file systems only; FSx is transferring the backup to S3.

      \n
    • \n
    • \n

      \n DELETED - The backup was deleted is no longer available.

      \n
    • \n
    • \n

      \n FAILED - Amazon FSx could not complete the backup.

      \n
    • \n
    ", + "smithy.api#documentation": "

    The lifecycle status of the backup.

    \n
      \n
    • \n

      \n AVAILABLE - The backup is fully available.

      \n
    • \n
    • \n

      \n PENDING - For user-initiated backups on Lustre file systems only; Amazon FSx has not started creating the backup.

      \n
    • \n
    • \n

      \n CREATING - Amazon FSx is creating the backup.

      \n
    • \n
    • \n

      \n TRANSFERRING - For user-initiated backups on Lustre file systems only; Amazon FSx is transferring the backup to S3.

      \n
    • \n
    • \n

      \n DELETED - Amazon FSx deleted the backup and it is no longer available.

      \n
    • \n
    • \n

      \n FAILED - Amazon FSx could not complete the backup.

      \n
    • \n
    ", "smithy.api#required": {} } }, @@ -538,7 +538,7 @@ } }, "traits": { - "smithy.api#documentation": "

    A backup of an Amazon FSx for file system.

    " + "smithy.api#documentation": "

    A backup of an Amazon FSx file system. For more information see:

    \n " } }, "com.amazonaws.fsx#BackupFailureDetails": { @@ -594,7 +594,7 @@ "com.amazonaws.fsx#BackupLifecycle": { "type": "string", "traits": { - "smithy.api#documentation": "

    The lifecycle status of the backup.

    \n
      \n
    • \n

      \n AVAILABLE - The backup is fully available.

      \n
    • \n
    • \n

      \n CREATING - FSx is creating the new user-intiated backup

      \n
    • \n
    • \n

      \n TRANSFERRING - For user-initiated backups on Lustre file systems only; FSx is backing up the file system.

      \n
    • \n
    • \n

      \n DELETED - The backup was deleted is no longer available.

      \n
    • \n
    • \n

      \n FAILED - Amazon FSx could not complete the backup.

      \n
    • \n
    ", + "smithy.api#documentation": "

    The lifecycle status of the backup.

    \n
      \n
    • \n

      \n AVAILABLE - The backup is fully available.

      \n
    • \n
    • \n

      \n PENDING - For user-initiated backups on Lustre file systems only; Amazon FSx has not started creating the backup.

      \n
    • \n
    • \n

      \n CREATING - Amazon FSx is creating the new user-intiated backup

      \n
    • \n
    • \n

      \n TRANSFERRING - For user-initiated backups on Lustre file systems only; Amazon FSx is backing up the file system.

      \n
    • \n
    • \n

      \n DELETED - Amazon FSx deleted the backup and it is no longer available.

      \n
    • \n
    • \n

      \n FAILED - Amazon FSx could not complete the backup.

      \n
    • \n
    ", "smithy.api#enum": [ { "value": "AVAILABLE", @@ -615,6 +615,10 @@ { "value": "FAILED", "name": "FAILED" + }, + { + "value": "PENDING", + "name": "PENDING" } ] } @@ -832,7 +836,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a backup of an existing Amazon FSx file system.\n Creating regular backups for your file system is a best practice, enabling you to restore a file system\n from a backup if an issue arises with the original file system.

    \n

    For Amazon FSx for Lustre file systems, you can create a backup only \n for file systems with the following configuration:

    \n
      \n
    • \n

      a Persistent deployment type

      \n
    • \n
    • \n

      is not linked to a data respository.

      \n
    • \n
    \n

    For more information about backing up Amazon FSx for Lustre file systems, \n see Working with FSx for Lustre backups.

    \n

    For more information about backing up Amazon FSx for Lustre file systems, \n see Working with FSx for Windows backups.

    \n\n

    If a backup with the specified client request token exists, and the parameters\n match, this operation returns the description of the existing backup. If a backup\n specified client request token exists, and the parameters don't match, this\n operation returns IncompatibleParameterError. If a backup with the\n specified client request token doesn't exist, CreateBackup does the\n following:

    \n
      \n
    • \n

      Creates a new Amazon FSx backup with an assigned ID, and an initial\n lifecycle state of CREATING.

      \n
    • \n
    • \n

      Returns the description of the backup.

      \n
    • \n
    \n\n

    By using the idempotent operation, you can retry a CreateBackup\n operation without the risk of creating an extra backup. This approach can be useful when\n an initial call fails in a way that makes it unclear whether a backup was created. If\n you use the same client request token and the initial call created a backup, the\n operation returns a successful result because all the parameters are the same.

    \n\n

    The CreateBackup operation returns while the backup's\n lifecycle state is still CREATING. You can check the backup creation\n status by calling the DescribeBackups operation, which returns the\n backup state along with other information.

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

    Creates a backup of an existing Amazon FSx file system.\n Creating regular backups for your file system is a best practice, enabling you to restore a file system\n from a backup if an issue arises with the original file system.

    \n

    For Amazon FSx for Lustre file systems, you can create a backup only \n for file systems with the following configuration:

    \n
      \n
    • \n

      a Persistent deployment type

      \n
    • \n
    • \n

      is not linked to a data respository.

      \n
    • \n
    \n

    For more information about backing up Amazon FSx for Lustre file systems, \n see Working with FSx for Lustre backups.

    \n

    For more information about backing up Amazon FSx for Windows file systems, \n see Working with FSx for Windows backups.

    \n\n

    If a backup with the specified client request token exists, and the parameters\n match, this operation returns the description of the existing backup. If a backup\n specified client request token exists, and the parameters don't match, this\n operation returns IncompatibleParameterError. If a backup with the\n specified client request token doesn't exist, CreateBackup does the\n following:

    \n
      \n
    • \n

      Creates a new Amazon FSx backup with an assigned ID, and an initial\n lifecycle state of CREATING.

      \n
    • \n
    • \n

      Returns the description of the backup.

      \n
    • \n
    \n\n

    By using the idempotent operation, you can retry a CreateBackup\n operation without the risk of creating an extra backup. This approach can be useful when\n an initial call fails in a way that makes it unclear whether a backup was created. If\n you use the same client request token and the initial call created a backup, the\n operation returns a successful result because all the parameters are the same.

    \n\n

    The CreateBackup operation returns while the backup's\n lifecycle state is still CREATING. You can check the backup creation\n status by calling the DescribeBackups operation, which returns the\n backup state along with other information.

    ", "smithy.api#idempotent": {} } }, @@ -910,7 +914,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates an Amazon FSx for Lustre data repository task. You use data repository tasks\n to perform bulk operations between your Amazon FSx file system and its linked data\n repository. An example of a data repository task is\n exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A\n CreateDataRepositoryTask operation will fail if a data repository is not\n linked to the FSx file system. To learn more about data repository tasks, see \n Using Data Repository Tasks. \n To learn more about linking a data repository to your file system, see \n Setting the Export Prefix.

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

    Creates an Amazon FSx for Lustre data repository task. You use data repository tasks\n to perform bulk operations between your Amazon FSx file system and its linked data\n repository. An example of a data repository task is\n exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A\n CreateDataRepositoryTask operation will fail if a data repository is not\n linked to the FSx file system. To learn more about data repository tasks, see \n Data Repository Tasks. \n To learn more about linking a data repository to your file system, see \n Linking your file system to an S3 bucket.

    ", "smithy.api#idempotent": {} } }, @@ -1325,7 +1329,7 @@ "Aliases": { "target": "com.amazonaws.fsx#AlternateDNSNames", "traits": { - "smithy.api#documentation": "

    An array of one or more DNS alias names that you want to associate with the Amazon FSx file system. \n Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. \n You can associate up to 50 aliases with a file system at any time. \n You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. \n You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation.\n You only need to specify the alias name in the request payload.

    \n

    For more information, see Working with DNS Aliases and \n Walkthrough 5: Using DNS aliases to access your file system, including\n additional steps you must take to be able to access your file system using a DNS alias.

    \n

    An alias name has to meet the following requirements:

    \n
      \n
    • \n

      Formatted as a fully-qualified domain name (FQDN), hostname.domain, for example, accounting.example.com.

      \n
    • \n
    • \n

      Can contain alphanumeric characters and the hyphen (-).

      \n
    • \n
    • \n

      Cannot start or end with a hyphen.

      \n
    • \n
    • \n

      Can start with a numeric.

      \n
    • \n
    \n

    For DNS alias names, Amazon FSx stores alphabetic characters as lowercase letters (a-z), regardless of how you specify them: \n as uppercase letters, lowercase letters, or the corresponding letters in escape codes.

    " + "smithy.api#documentation": "

    An array of one or more DNS alias names that you want to associate with the Amazon FSx file system. \n Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. \n You can associate up to 50 aliases with a file system at any time. \n You can associate additional DNS aliases after you create the file system using the AssociateFileSystemAliases operation. \n You can remove DNS aliases from the file system after it is created using the DisassociateFileSystemAliases operation.\n You only need to specify the alias name in the request payload.

    \n

    For more information, see Working with DNS Aliases and \n Walkthrough 5: Using DNS aliases to access your file system, including\n additional steps you must take to be able to access your file system using a DNS alias.

    \n

    An alias name has to meet the following requirements:

    \n
      \n
    • \n

      Formatted as a fully-qualified domain name (FQDN), hostname.domain, for example, accounting.example.com.

      \n
    • \n
    • \n

      Can contain alphanumeric characters and the hyphen (-).

      \n
    • \n
    • \n

      Cannot start or end with a hyphen.

      \n
    • \n
    • \n

      Can start with a numeric.

      \n
    • \n
    \n

    For DNS alias names, Amazon FSx stores alphabetic characters as lowercase letters (a-z), regardless of how you specify them: \n as uppercase letters, lowercase letters, or the corresponding letters in escape codes.

    " } } }, @@ -2470,7 +2474,7 @@ "StorageCapacity": { "target": "com.amazonaws.fsx#StorageCapacity", "traits": { - "smithy.api#documentation": "

    The storage capacity of the file system in gigabytes (GB).

    " + "smithy.api#documentation": "

    The storage capacity of the file system in gibibytes (GiB).

    " } }, "StorageType": { @@ -3779,7 +3783,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Use this operation to update the configuration of an existing Amazon FSx file system. \n You can update multiple properties in a single request.

    \n

    For Amazon FSx for Windows File Server file systems, you can update the following \n properties:

    \n
      \n
    • \n

      AutomaticBackupRetentionDays

      \n
    • \n
    • \n

      DailyAutomaticBackupStartTime

      \n
    • \n
    • \n

      SelfManagedActiveDirectoryConfiguration

      \n
    • \n
    • \n

      StorageCapacity

      \n
    • \n
    • \n

      ThroughputCapacity

      \n
    • \n
    • \n

      WeeklyMaintenanceStartTime

      \n
    • \n
    \n

    For Amazon FSx for Lustre file systems, you can update the following \n properties:

    \n
      \n
    • \n

      AutoImportPolicy

      \n
    • \n
    • \n

      AutomaticBackupRetentionDays

      \n
    • \n
    • \n

      DailyAutomaticBackupStartTime

      \n
    • \n
    • \n

      WeeklyMaintenanceStartTime

      \n
    • \n
    " + "smithy.api#documentation": "

    Use this operation to update the configuration of an existing Amazon FSx file system. \n You can update multiple properties in a single request.

    \n

    For Amazon FSx for Windows File Server file systems, you can update the following \n properties:

    \n
      \n
    • \n

      AutomaticBackupRetentionDays

      \n
    • \n
    • \n

      DailyAutomaticBackupStartTime

      \n
    • \n
    • \n

      SelfManagedActiveDirectoryConfiguration

      \n
    • \n
    • \n

      StorageCapacity

      \n
    • \n
    • \n

      ThroughputCapacity

      \n
    • \n
    • \n

      WeeklyMaintenanceStartTime

      \n
    • \n
    \n

    For Amazon FSx for Lustre file systems, you can update the following \n properties:

    \n
      \n
    • \n

      AutoImportPolicy

      \n
    • \n
    • \n

      AutomaticBackupRetentionDays

      \n
    • \n
    • \n

      DailyAutomaticBackupStartTime

      \n
    • \n
    • \n

      StorageCapacity

      \n
    • \n
    • \n

      WeeklyMaintenanceStartTime

      \n
    • \n
    " } }, "com.amazonaws.fsx#UpdateFileSystemLustreConfiguration": { @@ -3828,7 +3832,7 @@ "StorageCapacity": { "target": "com.amazonaws.fsx#StorageCapacity", "traits": { - "smithy.api#documentation": "

    Use this parameter to increase the storage capacity of an Amazon FSx for Windows File Server file system. \n Specifies the storage capacity target value, GiB, for the file system you're updating. \n The storage capacity target value must be at least 10 percent (%) greater than the current storage capacity value.\n In order to increase storage capacity, the file system needs to have at least 16 MB/s of throughput capacity. You cannot \n make a storage capacity increase request if there is an existing storage capacity increase request in progress. \n For more information, see \n Managing Storage Capacity.

    " + "smithy.api#documentation": "

    Use this parameter to increase the storage capacity of an Amazon FSx file system.\n Specifies the storage capacity target value, GiB, to increase the storage capacity for the\n file system that you're updating. You cannot make a storage capacity increase request if\n there is an existing storage capacity increase request in progress.

    \n

    For Windows file systems, the storage capacity target value must be at least 10 percent\n (%) greater than the current storage capacity value. In order to increase storage capacity,\n the file system must have at least 16 MB/s of throughput capacity.

    \n

    For Lustre file systems, the storage capacity target value can be the following:

    \n
      \n
    • \n

      For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values\n are in multiples of 2400 GiB. The value must be greater than the current storage capacity.

      \n
    • \n
    • \n

      For PERSISTENT HDD file systems, valid values are multiples of 6000 GiB for \n 12 MB/s/TiB file systems and multiples of 1800 GiB for 40 MB/s/TiB file systems. The values must be greater\n than the current storage capacity.

      \n
    • \n
    • \n

      For SCRATCH_1 file systems, you cannot increase the storage capacity.

      \n
    • \n
    \n

    For more information, see Managing storage\n capacity in the Amazon FSx for Windows File Server User Guide\n and Managing storage and throughput capacity in the Amazon FSx for Lustre\n User Guide.

    " } }, "WindowsConfiguration": { diff --git a/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json b/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json index 88675a414e5d4..584e3f526f1e9 100644 --- a/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json +++ b/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json @@ -52,12 +52,19 @@ } ], "traits": { - "smithy.api#documentation": "

    Registers a player's acceptance or rejection of a proposed FlexMatch match. A\n matchmaking configuration may require player acceptance; if so, then matches built with\n that configuration cannot be completed unless all players accept the proposed match\n within a specified time limit.

    \n

    When FlexMatch builds a match, all the matchmaking tickets involved in the proposed\n match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for\n your game to get acceptance from all players in the ticket. Acceptances are only valid\n for tickets when they are in this status; all other acceptances result in an\n error.

    \n

    To register acceptance, specify the ticket ID, a response, and one or more players.\n Once all players have registered acceptance, the matchmaking tickets advance to status\n PLACING, where a new game session is created for the match.

    \n

    If any player rejects the match, or if acceptances are not received before a specified\n timeout, the proposed match is dropped. The matchmaking tickets are then handled in one\n of two ways: For tickets where one or more players rejected the match, the ticket status\n is returned to SEARCHING to find a new match. For tickets where one or more\n players failed to respond, the ticket status is set to CANCELLED, and\n processing is terminated. A new matchmaking request for these players can be submitted\n as needed.

    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n FlexMatch Events Reference\n

    \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Registers a player's acceptance or rejection of a proposed FlexMatch match. A\n matchmaking configuration may require player acceptance; if so, then matches built with\n that configuration cannot be completed unless all players accept the proposed match\n within a specified time limit.

    \n

    When FlexMatch builds a match, all the matchmaking tickets involved in the proposed\n match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for\n your game to get acceptance from all players in the ticket. Acceptances are only valid\n for tickets when they are in this status; all other acceptances result in an\n error.

    \n

    To register acceptance, specify the ticket ID, a response, and one or more players.\n Once all players have registered acceptance, the matchmaking tickets advance to status\n PLACING, where a new game session is created for the match.

    \n

    If any player rejects the match, or if acceptances are not received before a specified\n timeout, the proposed match is dropped. The matchmaking tickets are then handled in one\n of two ways: For tickets where one or more players rejected the match, the ticket status\n is returned to SEARCHING to find a new match. For tickets where one or more\n players failed to respond, the ticket status is set to CANCELLED, and\n processing is terminated. A new matchmaking request for these players can be submitted\n as needed.

    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n FlexMatch Events Reference\n

    \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#AcceptMatchInput": { "type": "structure", "members": { + "TicketId": { + "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this\n request will fail.

    ", + "smithy.api#required": {} + } + }, "PlayerIds": { "target": "com.amazonaws.gamelift#StringList", "traits": { @@ -71,13 +78,6 @@ "smithy.api#documentation": "

    Player response to the proposed match.

    ", "smithy.api#required": {} } - }, - "TicketId": { - "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this\n request will fail.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -104,16 +104,22 @@ "com.amazonaws.gamelift#Alias": { "type": "structure", "members": { + "AliasId": { + "target": "com.amazonaws.gamelift#AliasId", + "traits": { + "smithy.api#documentation": "

    A unique identifier for an alias. Alias IDs are unique within a Region.

    " + } + }, "Name": { "target": "com.amazonaws.gamelift#NonBlankAndLengthConstraintString", "traits": { "smithy.api#documentation": "

    A descriptive label that is associated with an alias. Alias names do not need to be unique.

    " } }, - "CreationTime": { - "target": "com.amazonaws.gamelift#Timestamp", + "AliasArn": { + "target": "com.amazonaws.gamelift#AliasArn", "traits": { - "smithy.api#documentation": "

    A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.

    " } }, "Description": { @@ -122,28 +128,22 @@ "smithy.api#documentation": "

    A human-readable description of an alias.

    " } }, - "LastUpdatedTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " - } - }, "RoutingStrategy": { "target": "com.amazonaws.gamelift#RoutingStrategy", "traits": { "smithy.api#documentation": "

    The routing configuration, including routing type and fleet target, for the alias.

    " } }, - "AliasId": { - "target": "com.amazonaws.gamelift#AliasId", + "CreationTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    A unique identifier for an alias. Alias IDs are unique within a Region.

    " + "smithy.api#documentation": "

    A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "AliasArn": { - "target": "com.amazonaws.gamelift#AliasArn", + "LastUpdatedTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.

    " + "smithy.api#documentation": "

    The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } } }, @@ -197,10 +197,10 @@ "com.amazonaws.gamelift#AttributeValue": { "type": "structure", "members": { - "SDM": { - "target": "com.amazonaws.gamelift#StringDoubleMap", + "S": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    For a map of up to 10 data type:value pairs. Maximum length for each string value\n is 100 characters.

    " + "smithy.api#documentation": "

    For single string values. Maximum string length is 100 characters.

    " } }, "N": { @@ -209,17 +209,17 @@ "smithy.api#documentation": "

    For number values, expressed as double.

    " } }, - "S": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    For single string values. Maximum string length is 100 characters.

    " - } - }, "SL": { "target": "com.amazonaws.gamelift#StringList", "traits": { "smithy.api#documentation": "

    For a list of up to 10 strings. Maximum length for each string is 100 characters.\n Duplicate values are not recognized; all occurrences of the repeated value after the\n first of a repeated value are ignored.

    " } + }, + "SDM": { + "target": "com.amazonaws.gamelift#StringDoubleMap", + "traits": { + "smithy.api#documentation": "

    For a map of up to 10 data type:value pairs. Maximum length for each string value\n is 100 characters.

    " + } } }, "traits": { @@ -306,28 +306,22 @@ "com.amazonaws.gamelift#Build": { "type": "structure", "members": { - "OperatingSystem": { - "target": "com.amazonaws.gamelift#OperatingSystem", - "traits": { - "smithy.api#documentation": "

    Operating system that the game server binaries are built to run on. This value\n determines the type of fleet resources that you can use for this build.

    " - } - }, "BuildId": { "target": "com.amazonaws.gamelift#BuildId", "traits": { "smithy.api#documentation": "

    A unique identifier for a build.

    " } }, - "Status": { - "target": "com.amazonaws.gamelift#BuildStatus", + "BuildArn": { + "target": "com.amazonaws.gamelift#BuildArn", "traits": { - "smithy.api#documentation": "

    Current status of the build.

    \n

    Possible build statuses include the following:

    \n
      \n
    • \n

      \n INITIALIZED -- A new build has been defined,\n but no files have been uploaded. You cannot create fleets for builds that are in\n this status. When a build is successfully created, the build status is set to\n this value.

      \n
    • \n
    • \n

      \n READY -- The game build has been successfully\n uploaded. You can now create new fleets for this build.

      \n
    • \n
    • \n

      \n FAILED -- The game build upload failed. You\n cannot create new fleets for this build.

      \n
    • \n
    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the\n BuildId value.

    " } }, - "CreationTime": { - "target": "com.amazonaws.gamelift#Timestamp", + "Name": { + "target": "com.amazonaws.gamelift#FreeText", "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

    " } }, "Version": { @@ -336,10 +330,10 @@ "smithy.api#documentation": "

    Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

    " } }, - "BuildArn": { - "target": "com.amazonaws.gamelift#BuildArn", + "Status": { + "target": "com.amazonaws.gamelift#BuildStatus", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the\n BuildId value.

    " + "smithy.api#documentation": "

    Current status of the build.

    \n

    Possible build statuses include the following:

    \n
      \n
    • \n

      \n INITIALIZED -- A new build has been defined,\n but no files have been uploaded. You cannot create fleets for builds that are in\n this status. When a build is successfully created, the build status is set to\n this value.

      \n
    • \n
    • \n

      \n READY -- The game build has been successfully\n uploaded. You can now create new fleets for this build.

      \n
    • \n
    • \n

      \n FAILED -- The game build upload failed. You\n cannot create new fleets for this build.

      \n
    • \n
    " } }, "SizeOnDisk": { @@ -348,10 +342,16 @@ "smithy.api#documentation": "

    File size of the uploaded game build, expressed in bytes. When the build status is\n INITIALIZED, this value is 0.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#FreeText", + "OperatingSystem": { + "target": "com.amazonaws.gamelift#OperatingSystem", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

    " + "smithy.api#documentation": "

    Operating system that the game server binaries are built to run on. This value\n determines the type of fleet resources that you can use for this build.

    " + } + }, + "CreationTime": { + "target": "com.amazonaws.gamelift#Timestamp", + "traits": { + "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } } }, @@ -474,17 +474,17 @@ "smithy.api#required": {} } }, - "GameServerData": { - "target": "com.amazonaws.gamelift#GameServerData", - "traits": { - "smithy.api#documentation": "

    A set of custom game server properties, formatted as a single string value. This data \n is passed to a game client or service when it requests information on game servers using\n ListGameServers or ClaimGameServer.

    " - } - }, "GameServerId": { "target": "com.amazonaws.gamelift#GameServerId", "traits": { "smithy.api#documentation": "

    A custom string that uniquely identifies the game server to claim. If this parameter\n is left empty, GameLift FleetIQ searches for an available game server in the specified game\n server group.

    " } + }, + "GameServerData": { + "target": "com.amazonaws.gamelift#GameServerData", + "traits": { + "smithy.api#documentation": "

    A set of custom game server properties, formatted as a single string value. This data \n is passed to a game client or service when it requests information on game servers using\n ListGameServers or ClaimGameServer.

    " + } } } }, @@ -576,12 +576,6 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.gamelift#TagList", - "traits": { - "smithy.api#documentation": "

    A list of labels to assign to the new alias resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " - } - }, "Description": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { @@ -594,6 +588,12 @@ "smithy.api#documentation": "

    The routing configuration, including routing type and fleet target, for the alias.

    ", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.gamelift#TagList", + "traits": { + "smithy.api#documentation": "

    A list of labels to assign to the new alias resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " + } } }, "traits": { @@ -646,10 +646,22 @@ "com.amazonaws.gamelift#CreateBuildInput": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later.\n

    " + } + }, + "Version": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Version information that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later.\n

    " + } + }, "StorageLocation": { "target": "com.amazonaws.gamelift#S3Location", "traits": { - "smithy.api#documentation": "

    Information indicating where your game build files are stored. Use this parameter only\n when creating a build with files stored in an S3 bucket that you own. The storage\n location must specify an S3 bucket name and key. The location must also specify a role\n ARN that you set up to allow Amazon GameLift to access your S3 bucket. The S3 bucket and your\n new build must be in the same Region.

    " + "smithy.api#documentation": "

    The location where your game build files are stored. Use this parameter only when\n creating a build using files that are stored in an S3 bucket that you own. Identify an\n S3 bucket name and key, which must in the same Region where you're creating a build.\n This parameter must also specify the ARN for an IAM role that you've set up to give\n Amazon GameLift access your S3 bucket. To call this operation with a storage location, you must\n have IAM PassRole permission. For more details on IAM roles and PassRole permissions,\n see \n Set up a role for GameLift access.

    " } }, "OperatingSystem": { @@ -658,23 +670,11 @@ "smithy.api#documentation": "

    The operating system that the game server binaries are built to run on. This value\n determines the type of fleet resources that you can use for this build. If your game\n build contains multiple executables, they all must run on the same operating system. If\n an operating system is not specified when creating a build, Amazon GameLift uses the\n default value (WINDOWS_2012). This value cannot be changed later.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later.\n

    " - } - }, "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { "smithy.api#documentation": "

    A list of labels to assign to the new build resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " } - }, - "Version": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Version information that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later.\n

    " - } } }, "traits": { @@ -684,18 +684,18 @@ "com.amazonaws.gamelift#CreateBuildOutput": { "type": "structure", "members": { - "UploadCredentials": { - "target": "com.amazonaws.gamelift#AwsCredentials", - "traits": { - "smithy.api#documentation": "

    This element is returned only when the operation is called without a storage\n location. It contains credentials to use when you are uploading a build file to an S3\n bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these\n credentials, call RequestUploadCredentials.

    " - } - }, "Build": { "target": "com.amazonaws.gamelift#Build", "traits": { "smithy.api#documentation": "

    The newly created build resource, including a unique build IDs and status.

    " } }, + "UploadCredentials": { + "target": "com.amazonaws.gamelift#AwsCredentials", + "traits": { + "smithy.api#documentation": "

    This element is returned only when the operation is called without a storage\n location. It contains credentials to use when you are uploading a build file to an S3\n bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these\n credentials, call RequestUploadCredentials.

    " + } + }, "StorageLocation": { "target": "com.amazonaws.gamelift#S3Location", "traits": { @@ -745,35 +745,41 @@ "com.amazonaws.gamelift#CreateFleetInput": { "type": "structure", "members": { - "ServerLaunchParameters": { + "Name": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    This parameter is no longer used. Instead, specify server launch parameters in the\n RuntimeConfiguration parameter. (Requests that specify a server launch\n path and launch parameters instead of a runtime configuration will continue to\n work.)

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

    ", + "smithy.api#required": {} } }, - "CertificateConfiguration": { - "target": "com.amazonaws.gamelift#CertificateConfiguration", + "Description": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS\n certificates are used for encrypting traffic between game clients and game servers\n running on GameLift. If this parameter is not specified, the default value, DISABLED, is\n used. This fleet setting cannot be changed once the fleet is created. Learn more at\n Securing Client/Server Communication.

    \n

    Note: This feature requires the AWS Certificate Manager (ACM) service, which is\n available in the AWS global partition but not in all other partitions. When working in a\n partition that does not support this feature, a request for a new fleet with certificate\n generation results fails with a 4xx unsupported Region error.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n GENERATED - Generate a TLS/SSL certificate\n for this fleet.

      \n
    • \n
    • \n

      \n DISABLED - (default) Do not generate a\n TLS/SSL certificate for this fleet.

      \n
    • \n
    " + "smithy.api#documentation": "

    A human-readable description of a fleet.

    " } }, - "ServerLaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "BuildId": { + "target": "com.amazonaws.gamelift#BuildIdOrArn", "traits": { - "smithy.api#documentation": "

    This parameter is no longer used. Instead, specify a server launch path using the\n RuntimeConfiguration parameter. Requests that specify a server launch\n path and launch parameters instead of a runtime configuration will continue to\n work.

    " + "smithy.api#documentation": "

    A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value.\n The custom game server build must have been successfully uploaded to Amazon GameLift and be in a\n READY status. This fleet setting cannot be changed once the fleet is\n created.

    " } }, - "Name": { + "ScriptId": { + "target": "com.amazonaws.gamelift#ScriptIdOrArn", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value.\n The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting\n cannot be changed once the fleet is created.

    " + } + }, + "ServerLaunchPath": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    This parameter is no longer used. Instead, specify a server launch path using the\n RuntimeConfiguration parameter. Requests that specify a server launch\n path and launch parameters instead of a runtime configuration will continue to\n work.

    " } }, - "PeerVpcId": { + "ServerLaunchParameters": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    " + "smithy.api#documentation": "

    This parameter is no longer used. Instead, specify server launch parameters in the\n RuntimeConfiguration parameter. (Requests that specify a server launch\n path and launch parameters instead of a runtime configuration will continue to\n work.)

    " } }, "LogPaths": { @@ -782,40 +788,35 @@ "smithy.api#documentation": "

    This parameter is no longer used. Instead, to specify where Amazon GameLift should store log\n files once a server process shuts down, use the Amazon GameLift server API\n ProcessReady() and specify one or more directory paths in\n logParameters. See more information in the Server API Reference.

    " } }, - "RuntimeConfiguration": { - "target": "com.amazonaws.gamelift#RuntimeConfiguration", - "traits": { - "smithy.api#documentation": "

    Instructions for launching server processes on each instance in the fleet. Server\n processes run either a custom game build executable or a Realtime script. The runtime\n configuration defines the server executables or launch script file, launch parameters,\n and the number of processes to run concurrently on each instance. When creating a fleet,\n the runtime configuration must have at least one server process configuration; otherwise\n the request fails with an invalid request exception. (This parameter replaces the\n parameters ServerLaunchPath and ServerLaunchParameters,\n although requests that contain values for these parameters instead of a runtime\n configuration will continue to work.) This parameter is required unless the parameters \n ServerLaunchPath and ServerLaunchParameters are defined. Runtime \n configuration replaced these parameters, but fleets that use them will continue to work.

    " - } - }, - "Tags": { - "target": "com.amazonaws.gamelift#TagList", + "EC2InstanceType": { + "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

    A list of labels to assign to the new fleet resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " + "smithy.api#documentation": "

    The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type\n determines the computing resources of each instance in the fleet, including CPU, memory,\n storage, and networking capacity. Amazon GameLift supports the following EC2 instance types.\n See Amazon EC2 Instance Types\n for detailed descriptions.

    ", + "smithy.api#required": {} } }, - "InstanceRoleArn": { - "target": "com.amazonaws.gamelift#NonEmptyString", + "EC2InboundPermissions": { + "target": "com.amazonaws.gamelift#IpPermissionsList", "traits": { - "smithy.api#documentation": "

    A unique identifier for an AWS IAM role that manages access to your AWS services. \n With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, \n including install scripts, server processes, and daemons (background processes). Create a role or look up a role's \n ARN from the IAM dashboard in the AWS Management Console.\n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server.

    " + "smithy.api#documentation": "

    Range of IP addresses and port settings that permit inbound traffic to access game\n sessions that are running on the fleet. For fleets using a custom game build, this\n parameter is required before game sessions running on the fleet can accept connections.\n For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime\n servers. You can specify multiple permission settings or add more by updating the\n fleet.

    " } }, - "ResourceCreationLimitPolicy": { - "target": "com.amazonaws.gamelift#ResourceCreationLimitPolicy", + "NewGameSessionProtectionPolicy": { + "target": "com.amazonaws.gamelift#ProtectionPolicy", "traits": { - "smithy.api#documentation": "

    A policy that limits the number of game sessions an individual player can create over\n a span of time for this fleet.

    " + "smithy.api#documentation": "

    A game session protection policy to apply to all instances in this fleet. If this\n parameter is not set, instances in this fleet default to no protection. You can change a\n fleet's protection policy using UpdateFleetAttributes, but this change\n will only affect sessions created after the policy change. You can also set protection\n for individual instances using UpdateGameSession.

    \n
      \n
    • \n

      \n NoProtection - The game session can be\n terminated during a scale-down event.

      \n
    • \n
    • \n

      \n FullProtection - If the game session is in an\n ACTIVE status, it cannot be terminated during a scale-down\n event.

      \n
    • \n
    " } }, - "ScriptId": { - "target": "com.amazonaws.gamelift#ScriptIdOrArn", + "RuntimeConfiguration": { + "target": "com.amazonaws.gamelift#RuntimeConfiguration", "traits": { - "smithy.api#documentation": "

    A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value.\n The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting\n cannot be changed once the fleet is created.

    " + "smithy.api#documentation": "

    Instructions for launching server processes on each instance in the fleet. Server\n processes run either a custom game build executable or a Realtime script. The runtime\n configuration defines the server executables or launch script file, launch parameters,\n and the number of processes to run concurrently on each instance. When creating a fleet,\n the runtime configuration must have at least one server process configuration; otherwise\n the request fails with an invalid request exception. (This parameter replaces the\n parameters ServerLaunchPath and ServerLaunchParameters,\n although requests that contain values for these parameters instead of a runtime\n configuration will continue to work.) This parameter is required unless the parameters \n ServerLaunchPath and ServerLaunchParameters are defined. Runtime \n configuration replaced these parameters, but fleets that use them will continue to work.

    " } }, - "PeerVpcAwsAccountId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ResourceCreationLimitPolicy": { + "target": "com.amazonaws.gamelift#ResourceCreationLimitPolicy", "traits": { - "smithy.api#documentation": "

    A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift\n fleet with. You can find your account ID in the AWS Management Console under account settings.

    " + "smithy.api#documentation": "

    A policy that limits the number of game sessions an individual player can create over\n a span of time for this fleet.

    " } }, "MetricGroups": { @@ -824,16 +825,16 @@ "smithy.api#documentation": "

    The name of an Amazon CloudWatch metric group to add this fleet to. A metric group\n aggregates the metrics for all fleets in the group. Specify an existing metric group\n name, or provide a new name to create a new metric group. A fleet can only be included\n in one metric group at a time.

    " } }, - "BuildId": { - "target": "com.amazonaws.gamelift#BuildIdOrArn", + "PeerVpcAwsAccountId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value.\n The custom game server build must have been successfully uploaded to Amazon GameLift and be in a\n READY status. This fleet setting cannot be changed once the fleet is\n created.

    " + "smithy.api#documentation": "

    A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift\n fleet with. You can find your account ID in the AWS Management Console under account settings.

    " } }, - "NewGameSessionProtectionPolicy": { - "target": "com.amazonaws.gamelift#ProtectionPolicy", + "PeerVpcId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A game session protection policy to apply to all instances in this fleet. If this\n parameter is not set, instances in this fleet default to no protection. You can change a\n fleet's protection policy using UpdateFleetAttributes, but this change\n will only affect sessions created after the policy change. You can also set protection\n for individual instances using UpdateGameSession.

    \n
      \n
    • \n

      \n NoProtection - The game session can be\n terminated during a scale-down event.

      \n
    • \n
    • \n

      \n FullProtection - If the game session is in an\n ACTIVE status, it cannot be terminated during a scale-down\n event.

      \n
    • \n
    " + "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    " } }, "FleetType": { @@ -842,23 +843,22 @@ "smithy.api#documentation": "

    Indicates whether to use On-Demand instances or Spot instances for this fleet. If\n empty, the default is ON_DEMAND. Both categories of instances use identical\n hardware and configurations based on the instance type selected for this fleet. Learn\n more about On-Demand versus Spot Instances.

    " } }, - "EC2InboundPermissions": { - "target": "com.amazonaws.gamelift#IpPermissionsList", + "InstanceRoleArn": { + "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Range of IP addresses and port settings that permit inbound traffic to access game\n sessions that are running on the fleet. For fleets using a custom game build, this\n parameter is required before game sessions running on the fleet can accept connections.\n For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime\n servers. You can specify multiple permission settings or add more by updating the\n fleet.

    " + "smithy.api#documentation": "

    A unique identifier for an AWS IAM role that manages access to your AWS services. \n Fleets with an instance role ARN allow applications that are running on the fleet's instances to assume the role. \n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server. To call this operation with instance role ARN, you must have IAM PassRole\n permissions. See IAM policy examples for GameLift.

    " } }, - "Description": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "CertificateConfiguration": { + "target": "com.amazonaws.gamelift#CertificateConfiguration", "traits": { - "smithy.api#documentation": "

    A human-readable description of a fleet.

    " + "smithy.api#documentation": "

    Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS\n certificates are used for encrypting traffic between game clients and game servers\n running on GameLift. If this parameter is not specified, the default value, DISABLED, is\n used. This fleet setting cannot be changed once the fleet is created. Learn more at\n Securing Client/Server Communication.

    \n

    Note: This feature requires the AWS Certificate Manager (ACM) service, which is\n available in the AWS global partition but not in all other partitions. When working in a\n partition that does not support this feature, a request for a new fleet with certificate\n generation results fails with a 4xx unsupported Region error.

    \n

    Valid values include:

    \n
      \n
    • \n

      \n GENERATED - Generate a TLS/SSL certificate\n for this fleet.

      \n
    • \n
    • \n

      \n DISABLED - (default) Do not generate a\n TLS/SSL certificate for this fleet.

      \n
    • \n
    " } }, - "EC2InstanceType": { - "target": "com.amazonaws.gamelift#EC2InstanceType", + "Tags": { + "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

    The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type\n determines the computing resources of each instance in the fleet, including CPU, memory,\n storage, and networking capacity. Amazon GameLift supports the following EC2 instance types.\n See Amazon EC2 Instance Types\n for detailed descriptions.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A list of labels to assign to the new fleet resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " } } }, @@ -912,6 +912,13 @@ "com.amazonaws.gamelift#CreateGameServerGroupInput": { "type": "structure", "members": { + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupName", + "traits": { + "smithy.api#documentation": "

    An identifier for the new game server group. This value is used to generate unique ARN\n identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name\n must be unique per Region per AWS account.

    ", + "smithy.api#required": {} + } + }, "RoleArn": { "target": "com.amazonaws.gamelift#IamRoleArn", "traits": { @@ -919,23 +926,25 @@ "smithy.api#required": {} } }, - "MaxSize": { - "target": "com.amazonaws.gamelift#PositiveInteger", + "MinSize": { + "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    The maximum number of instances allowed in the EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.\n After the Auto Scaling group is created, update this value directly in the Auto Scaling\n group using the AWS console or APIs.

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

    The minimum number of instances allowed in the EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this\n minimum. In production, this value should be set to at least 1. After the Auto Scaling\n group is created, update this value directly in the Auto Scaling group using the AWS\n console or APIs.

    ", "smithy.api#required": {} } }, - "AutoScalingPolicy": { - "target": "com.amazonaws.gamelift#GameServerGroupAutoScalingPolicy", + "MaxSize": { + "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { - "smithy.api#documentation": "

    Configuration settings to define a scaling policy for the Auto Scaling group that is\n optimized for game hosting. The scaling policy uses the metric\n \"PercentUtilizedGameServers\" to maintain a buffer of idle game servers\n that can immediately accommodate new games and players. After the Auto Scaling group is\n created, update this value directly in the Auto Scaling group using the AWS console or\n APIs.

    " + "smithy.api#documentation": "

    The maximum number of instances allowed in the EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.\n After the Auto Scaling group is created, update this value directly in the Auto Scaling\n group using the AWS console or APIs.

    ", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.gamelift#TagList", + "LaunchTemplate": { + "target": "com.amazonaws.gamelift#LaunchTemplateSpecification", "traits": { - "smithy.api#documentation": "

    A list of labels to assign to the new game server group resource. Tags are\n developer-defined key-value pairs. Tagging AWS resources is useful for resource\n management, access management, and cost allocation. For more information, see Tagging AWS\n Resources in the AWS General Reference. Once the\n resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove,\n and view tags, respectively. The maximum tag limit may be lower than stated. See the\n AWS General Reference for actual tagging limits.

    " + "smithy.api#documentation": "

    The EC2 launch template that contains configuration settings and game server code to\n be deployed to all instances in the game server group. You can specify the template\n using either the template name or ID. For help with creating a launch template, see\n Creating a Launch\n Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling\n User Guide. After the Auto Scaling group is created, update this value\n directly in the Auto Scaling group using the AWS console or APIs.

    ", + "smithy.api#required": {} } }, "InstanceDefinitions": { @@ -945,11 +954,10 @@ "smithy.api#required": {} } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupName", + "AutoScalingPolicy": { + "target": "com.amazonaws.gamelift#GameServerGroupAutoScalingPolicy", "traits": { - "smithy.api#documentation": "

    An identifier for the new game server group. This value is used to generate unique ARN\n identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name\n must be unique per Region per AWS account.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Configuration settings to define a scaling policy for the Auto Scaling group that is\n optimized for game hosting. The scaling policy uses the metric\n \"PercentUtilizedGameServers\" to maintain a buffer of idle game servers\n that can immediately accommodate new games and players. After the Auto Scaling group is\n created, update this value directly in the Auto Scaling group using the AWS console or\n APIs.

    " } }, "BalancingStrategy": { @@ -958,30 +966,22 @@ "smithy.api#documentation": "

    Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the\n game server group. Method options include the following:

    \n
      \n
    • \n

      \n SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot\n Instances are unavailable or not viable for game hosting, the game server group\n provides no hosting capacity until Spot Instances can again be used. Until then,\n no new instances are started, and the existing nonviable Spot Instances are\n terminated (after current gameplay ends) and are not replaced.

      \n
    • \n
    • \n

      \n SPOT_PREFERRED - (default value) Spot Instances are used whenever available in\n the game server group. If Spot Instances are unavailable, the game server group\n continues to provide hosting capacity by falling back to On-Demand Instances.\n Existing nonviable Spot Instances are terminated (after current gameplay ends)\n and are replaced with new On-Demand Instances.

      \n
    • \n
    • \n

      \n ON_DEMAND_ONLY - Only On-Demand Instances are used in the game\n server group. No Spot Instances are used, even when available, while this\n balancing strategy is in force.

      \n
    • \n
    " } }, - "VpcSubnets": { - "target": "com.amazonaws.gamelift#VpcSubnets", - "traits": { - "smithy.api#documentation": "

    A list of virtual private cloud (VPC) subnets to use with instances in the game server\n group. By default, all GameLift FleetIQ-supported Availability Zones are used. You can use this\n parameter to specify VPCs that you've set up. This property cannot be updated after the\n game server group is created, and the corresponding Auto Scaling group will always use\n the property value that is set with this request, even if the Auto Scaling group is\n updated directly

    " - } - }, - "LaunchTemplate": { - "target": "com.amazonaws.gamelift#LaunchTemplateSpecification", + "GameServerProtectionPolicy": { + "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", "traits": { - "smithy.api#documentation": "

    The EC2 launch template that contains configuration settings and game server code to\n be deployed to all instances in the game server group. You can specify the template\n using either the template name or ID. For help with creating a launch template, see\n Creating a Launch\n Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling\n User Guide. After the Auto Scaling group is created, update this value\n directly in the Auto Scaling group using the AWS console or APIs.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

    " } }, - "MinSize": { - "target": "com.amazonaws.gamelift#WholeNumber", + "VpcSubnets": { + "target": "com.amazonaws.gamelift#VpcSubnets", "traits": { - "smithy.api#documentation": "

    The minimum number of instances allowed in the EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this\n minimum. In production, this value should be set to at least 1. After the Auto Scaling\n group is created, update this value directly in the Auto Scaling group using the AWS\n console or APIs.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A list of virtual private cloud (VPC) subnets to use with instances in the game server\n group. By default, all GameLift FleetIQ-supported Availability Zones are used. You can use this\n parameter to specify VPCs that you've set up. This property cannot be updated after the\n game server group is created, and the corresponding Auto Scaling group will always use\n the property value that is set with this request, even if the Auto Scaling group is\n updated directly.

    " } }, - "GameServerProtectionPolicy": { - "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", + "Tags": { + "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

    A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

    " + "smithy.api#documentation": "

    A list of labels to assign to the new game server group resource. Tags are\n developer-defined key-value pairs. Tagging AWS resources is useful for resource\n management, access management, and cost allocation. For more information, see Tagging AWS\n Resources in the AWS General Reference. Once the\n resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove,\n and view tags, respectively. The maximum tag limit may be lower than stated. See the\n AWS General Reference for actual tagging limits.

    " } } } @@ -1044,6 +1044,12 @@ "com.amazonaws.gamelift#CreateGameSessionInput": { "type": "structure", "members": { + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each\n request must reference either a fleet ID or alias ID, but not both.

    " + } + }, "AliasId": { "target": "com.amazonaws.gamelift#AliasIdOrArn", "traits": { @@ -1063,24 +1069,18 @@ "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " } }, - "CreatorId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a player or entity creating the game session. This ID is used to enforce a\n resource protection policy (if one exists) that limits the number of concurrent active\n game sessions one player can have.

    " - } - }, - "GameSessionData": { - "target": "com.amazonaws.gamelift#GameSessionData", - "traits": { - "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " - } - }, "GameProperties": { "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { "smithy.api#documentation": "

    Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " } }, + "CreatorId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a player or entity creating the game session. This ID is used to enforce a\n resource protection policy (if one exists) that limits the number of concurrent active\n game sessions one player can have.

    " + } + }, "GameSessionId": { "target": "com.amazonaws.gamelift#IdStringModel", "traits": { @@ -1093,10 +1093,10 @@ "smithy.api#documentation": "

    Custom string that uniquely identifies a request for a new game session. Maximum\n token length is 48 characters. If provided, this string is included in the new game\n session's ID. (A game session ARN has the following format: \n arn:aws:gamelift:::gamesession//.) Idempotency tokens remain in use for 30 days after a game\n session has ended; game session objects are retained for this time period and then\n deleted.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "GameSessionData": { + "target": "com.amazonaws.gamelift#GameSessionData", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each\n request must reference either a fleet ID or alias ID, but not both.

    " + "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " } } }, @@ -1150,6 +1150,19 @@ "com.amazonaws.gamelift#CreateGameSessionQueueInput": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.gamelift#GameSessionQueueName", + "traits": { + "smithy.api#documentation": "

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

    ", + "smithy.api#required": {} + } + }, + "TimeoutInSeconds": { + "target": "com.amazonaws.gamelift#WholeNumber", + "traits": { + "smithy.api#documentation": "

    The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

    " + } + }, "PlayerLatencyPolicies": { "target": "com.amazonaws.gamelift#PlayerLatencyPolicyList", "traits": { @@ -1162,24 +1175,11 @@ "smithy.api#documentation": "

    A list of fleets that can be used to fulfill game session placement requests in the queue. \n Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#GameSessionQueueName", - "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

    ", - "smithy.api#required": {} - } - }, "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { "smithy.api#documentation": "

    A list of labels to assign to the new game session queue resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " } - }, - "TimeoutInSeconds": { - "target": "com.amazonaws.gamelift#WholeNumber", - "traits": { - "smithy.api#documentation": "

    The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

    " - } } }, "traits": { @@ -1229,12 +1229,31 @@ } ], "traits": { - "smithy.api#documentation": "

    Defines a new matchmaking configuration for use with FlexMatch. A matchmaking\n configuration sets out guidelines for matching players and getting the matches into\n games. You can set up multiple matchmaking configurations to handle the scenarios needed\n for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides\n player attributes to support the configuration being used.

    \n

    To create a matchmaking configuration, at a minimum you must specify the following:\n configuration name; a rule set that governs how to evaluate players and find acceptable\n matches; a game session queue to use when placing a new game session for the match; and\n the maximum time allowed for a matchmaking attempt.

    \n

    To track the progress of matchmaking tickets, set up an Amazon Simple Notification Service (SNS) to receive\n notifications, and provide the topic ARN in the matchmaking configuration. An\n alternative method, continuously poling ticket status with DescribeMatchmaking, should only be used for games in development with\n low matchmaking usage.

    \n

    \n Learn more\n

    \n

    \n \n Design a FlexMatch Matchmaker\n

    \n

    \n \n Set Up FlexMatch Event Notification\n

    \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Defines a new matchmaking configuration for use with FlexMatch. Whether your are using\n FlexMatch with GameLift hosting or as a standalone matchmaking service, the matchmaking\n configuration sets out rules for matching players and forming teams. If you're also\n using GameLift hosting, it defines how to start game sessions for each match. Your\n matchmaking system can use multiple configurations to handle different game scenarios.\n All matchmaking requests (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration to use and\n provide player attributes consistent with that configuration.

    \n

    To create a matchmaking configuration, you must provide the following: configuration\n name and FlexMatch mode (with or without GameLift hosting); a rule set that specifies how\n to evaluate players and find acceptable matches; whether player acceptance is required;\n and the maximum time allowed for a matchmaking attempt. When using FlexMatch with GameLift\n hosting, you also need to identify the game session queue to use when starting a game\n session for the match.

    \n

    In addition, you must set up an Amazon Simple Notification Service (SNS) to receive matchmaking notifications, and\n provide the topic ARN in the matchmaking configuration. An alternative method,\n continuously polling ticket status with DescribeMatchmaking, is only\n suitable for games in development with low matchmaking usage.

    \n

    \n Learn more\n

    \n

    \n \n FlexMatch Developer Guide\n

    \n

    \n \n Design a FlexMatch Matchmaker\n

    \n

    \n \n Set Up FlexMatch Event Notification\n

    \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#CreateMatchmakingConfigurationInput": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a\n matchmaking request or ticket.

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A human-readable description of the matchmaking configuration.

    " + } + }, + "GameSessionQueueArns": { + "target": "com.amazonaws.gamelift#QueueArnsList", + "traits": { + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new\n GameLift-hosted game sessions for matches that are created with this matchmaking\n configuration. If FlexMatchMode is set to STANDALONE, do not\n set this parameter.

    " + } + }, "RequestTimeoutSeconds": { "target": "com.amazonaws.gamelift#MatchmakingRequestTimeoutInteger", "traits": { @@ -1242,16 +1261,16 @@ "smithy.api#required": {} } }, - "BackfillMode": { - "target": "com.amazonaws.gamelift#BackfillMode", + "AcceptanceTimeoutSeconds": { + "target": "com.amazonaws.gamelift#MatchmakingAcceptanceTimeoutInteger", "traits": { - "smithy.api#documentation": "

    The method used to backfill game sessions that are created with this matchmaking\n configuration. Specify MANUAL when your game manages backfill requests\n manually or does not use the match backfill feature. Specify AUTOMATIC to\n have GameLift create a StartMatchBackfill request whenever a game\n session has one or more open slots. Learn more about manual and automatic backfill in\n Backfill Existing Games with FlexMatch.

    " + "smithy.api#documentation": "

    The length of time (in seconds) to wait for players to accept a proposed match, if\n acceptance is required. If any player rejects the match or fails to accept before the\n timeout, the tickets are returned to the ticket pool and continue to be evaluated for an\n acceptable match.

    " } }, "AcceptanceRequired": { "target": "com.amazonaws.gamelift#BooleanModel", "traits": { - "smithy.api#documentation": "

    A flag that determines whether a match that was created with this configuration must\n be accepted by the matched players. To require acceptance, set to\n TRUE.

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

    A flag that determines whether a match that was created with this configuration must\n be accepted by the matched players. To require acceptance, set to TRUE.\n With this option enabled, matchmaking tickets use the status\n REQUIRES_ACCEPTANCE to indicate when a completed potential match is\n waiting for player acceptance.

    ", "smithy.api#required": {} } }, @@ -1262,66 +1281,52 @@ "smithy.api#required": {} } }, - "AcceptanceTimeoutSeconds": { - "target": "com.amazonaws.gamelift#MatchmakingAcceptanceTimeoutInteger", + "NotificationTarget": { + "target": "com.amazonaws.gamelift#SnsArnStringModel", "traits": { - "smithy.api#documentation": "

    The length of time (in seconds) to wait for players to accept a proposed match. If any\n player rejects the match or fails to accept before the timeout, the ticket continues to\n look for an acceptable match.

    " + "smithy.api#documentation": "

    An SNS topic ARN that is set up to receive matchmaking notifications.

    " } }, "AdditionalPlayerCount": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    The number of player slots in a match to keep open for future players. For example, \n assume that the configuration's rule set specifies a match for a single 12-person team. If\n the additional player count is set to 2, only 10 players are initially selected for the match.

    " - } - }, - "GameSessionQueueArns": { - "target": "com.amazonaws.gamelift#QueueArnsList", - "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created\n with this matchmaking configuration. Queues can be located in any Region.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The number of player slots in a match to keep open for future players. For example, \n assume that the configuration's rule set specifies a match for a single 12-person team. If\n the additional player count is set to 2, only 10 players are initially selected for the match. This parameter is not used if FlexMatchMode is set to\n STANDALONE.

    " } }, - "Tags": { - "target": "com.amazonaws.gamelift#TagList", + "CustomEventData": { + "target": "com.amazonaws.gamelift#CustomEventData", "traits": { - "smithy.api#documentation": "

    A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " + "smithy.api#documentation": "

    Information to be added to all events related to this matchmaking configuration.\n

    " } }, - "Description": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "GameProperties": { + "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { - "smithy.api#documentation": "

    A human-readable description of the matchmaking configuration.

    " + "smithy.api#documentation": "

    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession\n object that is created for a successful match. This parameter is not used if\n FlexMatchMode is set to STANDALONE.

    " } }, "GameSessionData": { "target": "com.amazonaws.gamelift#GameSessionData", "traits": { - "smithy.api#documentation": "

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession\n object that is created for a successful match.

    " - } - }, - "GameProperties": { - "target": "com.amazonaws.gamelift#GamePropertyList", - "traits": { - "smithy.api#documentation": "

    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

    " + "smithy.api#documentation": "

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object\n that is created for a successful match. This parameter is not used if\n FlexMatchMode is set to STANDALONE.

    " } }, - "NotificationTarget": { - "target": "com.amazonaws.gamelift#SnsArnStringModel", + "BackfillMode": { + "target": "com.amazonaws.gamelift#BackfillMode", "traits": { - "smithy.api#documentation": "

    An SNS topic ARN that is set up to receive matchmaking notifications.

    " + "smithy.api#documentation": "

    The method used to backfill game sessions that are created with this matchmaking\n configuration. Specify MANUAL when your game manages backfill requests\n manually or does not use the match backfill feature. Specify AUTOMATIC to\n have GameLift create a StartMatchBackfill request whenever a game\n session has one or more open slots. Learn more about manual and automatic backfill in\n Backfill Existing Games with FlexMatch. Automatic backfill is not\n available when FlexMatchMode is set to STANDALONE.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "FlexMatchMode": { + "target": "com.amazonaws.gamelift#FlexMatchMode", "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a\n matchmaking request or ticket.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Indicates whether this matchmaking configuration is being used with GameLift hosting or\n as a standalone matchmaking solution.

    \n
      \n
    • \n

      \n STANDALONE - FlexMatch forms matches and returns\n match information, including players and team assignments, in a \n \n MatchmakingSucceeded event.

      \n
    • \n
    • \n

      \n WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to\n start a game session for the match.

      \n
    • \n
    " } }, - "CustomEventData": { - "target": "com.amazonaws.gamelift#CustomEventData", + "Tags": { + "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

    Information to be added to all events related to this matchmaking configuration.\n

    " + "smithy.api#documentation": "

    A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " } } }, @@ -1366,12 +1371,19 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match\n to create, such as the number and size of teams. It also sets the parameters for\n acceptable player matches, such as minimum skill level or character type. A rule set is\n used by a MatchmakingConfiguration.

    \n

    To create a matchmaking rule set, provide unique rule set name and the rule set body\n in JSON format. Rule sets must be defined in the same Region as the matchmaking\n configuration they are used with.

    \n

    Since matchmaking rule sets cannot be edited, it is a good idea to check the rule\n set syntax using ValidateMatchmakingRuleSet before creating a new rule\n set.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match\n to create, such as the number and size of teams. It also sets the parameters for\n acceptable player matches, such as minimum skill level or character type. A rule set is\n used by a MatchmakingConfiguration.

    \n

    To create a matchmaking rule set, provide unique rule set name and the rule set body\n in JSON format. Rule sets must be defined in the same Region as the matchmaking\n configuration they are used with.

    \n

    Since matchmaking rule sets cannot be edited, it is a good idea to check the rule\n set syntax using ValidateMatchmakingRuleSet before creating a new rule\n set.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#CreateMatchmakingRuleSetInput": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name\n value. Note that the rule set name is different from the optional name\n field in the rule set body.

    ", + "smithy.api#required": {} + } + }, "RuleSetBody": { "target": "com.amazonaws.gamelift#RuleSetBody", "traits": { @@ -1384,13 +1396,6 @@ "traits": { "smithy.api#documentation": "

    A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " } - }, - "Name": { - "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name\n value. Note that the rule set name is different from the optional name\n field in the rule set body.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -1457,18 +1462,18 @@ "smithy.api#required": {} } }, - "PlayerData": { - "target": "com.amazonaws.gamelift#PlayerData", - "traits": { - "smithy.api#documentation": "

    Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

    " - } - }, "PlayerId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    A unique identifier for a player. Player IDs are developer-defined.

    ", "smithy.api#required": {} } + }, + "PlayerData": { + "target": "com.amazonaws.gamelift#PlayerData", + "traits": { + "smithy.api#documentation": "

    Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

    " + } } }, "traits": { @@ -1534,18 +1539,18 @@ "smithy.api#required": {} } }, - "PlayerDataMap": { - "target": "com.amazonaws.gamelift#PlayerDataMap", - "traits": { - "smithy.api#documentation": "

    Map of string pairs, each specifying a player ID and a set of developer-defined\n information related to the player. Amazon GameLift does not use this data, so it can be formatted\n as needed for use in the game. Player data strings for player IDs not included in the\n PlayerIds parameter are ignored.

    " - } - }, "PlayerIds": { "target": "com.amazonaws.gamelift#PlayerIdList", "traits": { "smithy.api#documentation": "

    List of unique identifiers for the players to be added.

    ", "smithy.api#required": {} } + }, + "PlayerDataMap": { + "target": "com.amazonaws.gamelift#PlayerDataMap", + "traits": { + "smithy.api#documentation": "

    Map of string pairs, each specifying a player ID and a set of developer-defined\n information related to the player. Amazon GameLift does not use this data, so it can be formatted\n as needed for use in the game. Player data strings for player IDs not included in the\n PlayerIds parameter are ignored.

    " + } } }, "traits": { @@ -1598,12 +1603,24 @@ "com.amazonaws.gamelift#CreateScriptInput": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later.\n

    " + } + }, "Version": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    The version that is associated with a build or script. Version strings do not need to be unique. You can use UpdateScript to change this value later.\n

    " } }, + "StorageLocation": { + "target": "com.amazonaws.gamelift#S3Location", + "traits": { + "smithy.api#documentation": "

    The Amazon S3 location of your Realtime scripts. The storage location must specify the S3\n bucket name, the zip file name (the \"key\"), and an IAM role ARN that allows Amazon GameLift to\n access the S3 storage location. The S3 bucket must be in the same Region where you are\n creating a new script. By default, Amazon GameLift uploads the latest version of the zip file; if\n you have S3 object versioning turned on, you can use the ObjectVersion\n parameter to specify an earlier version. To call this operation with a storage location,\n you must have IAM PassRole permission. For more details on IAM roles and PassRole\n permissions, see Set up a role for\n GameLift access.

    " + } + }, "ZipFile": { "target": "com.amazonaws.gamelift#ZipBlob", "traits": { @@ -1615,18 +1632,6 @@ "traits": { "smithy.api#documentation": "

    A list of labels to assign to the new script resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

    " } - }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later.\n

    " - } - }, - "StorageLocation": { - "target": "com.amazonaws.gamelift#S3Location", - "traits": { - "smithy.api#documentation": "

    The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is\n stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the\n \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3\n bucket must be in the same Region where you want to create a new script. By default,\n Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning\n turned on, you can use the ObjectVersion parameter to specify an earlier\n version.

    " - } } } }, @@ -1732,10 +1737,10 @@ "com.amazonaws.gamelift#CreateVpcPeeringConnectionInput": { "type": "structure", "members": { - "PeerVpcId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

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

    A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift\n VPC to peer with.

    ", "smithy.api#required": {} } }, @@ -1746,10 +1751,10 @@ "smithy.api#required": {} } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "PeerVpcId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift\n VPC to peer with.

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

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    ", "smithy.api#required": {} } } @@ -1926,19 +1931,19 @@ "com.amazonaws.gamelift#DeleteGameServerGroupInput": { "type": "structure", "members": { - "DeleteOption": { - "target": "com.amazonaws.gamelift#GameServerGroupDeleteOption", - "traits": { - "smithy.api#documentation": "

    The type of delete to perform. Options include the following:

    \n
      \n
    • \n

      \n SAFE_DELETE – Terminates the game server group and EC2 Auto\n Scaling group only when it has no game servers that are in UTILIZED\n status.

      \n
    • \n
    • \n

      \n FORCE_DELETE – Terminates the game server group, including all\n active game servers regardless of their utilization status, and the EC2 Auto\n Scaling group.

      \n
    • \n
    • \n

      \n RETAIN – Does a safe delete of the game server group but retains\n the EC2 Auto Scaling group as is.

      \n
    • \n
    " - } - }, "GameServerGroupName": { "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { "smithy.api#documentation": "

    A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

    ", "smithy.api#required": {} } - } + }, + "DeleteOption": { + "target": "com.amazonaws.gamelift#GameServerGroupDeleteOption", + "traits": { + "smithy.api#documentation": "

    The type of delete to perform. Options include the following:

    \n
      \n
    • \n

      \n SAFE_DELETE – (default) Terminates the game server group and\n EC2 Auto Scaling group only when it has no game servers that are in\n UTILIZED status.

      \n
    • \n
    • \n

      \n FORCE_DELETE – Terminates the game server group, including all\n active game servers regardless of their utilization status, and the EC2 Auto\n Scaling group.

      \n
    • \n
    • \n

      \n RETAIN – Does a safe delete of the game server group but retains\n the EC2 Auto Scaling group as is.

      \n
    • \n
    " + } + } } }, "com.amazonaws.gamelift#DeleteGameServerGroupOutput": { @@ -2074,7 +2079,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Deletes an existing matchmaking rule set. To delete the rule set, provide the rule\n set name. Rule sets cannot be deleted if they are currently being used by a matchmaking\n configuration.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Deletes an existing matchmaking rule set. To delete the rule set, provide the rule\n set name. Rule sets cannot be deleted if they are currently being used by a matchmaking\n configuration.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#DeleteMatchmakingRuleSetInput": { @@ -2312,17 +2317,17 @@ "com.amazonaws.gamelift#DeregisterGameServerInput": { "type": "structure", "members": { - "GameServerId": { - "target": "com.amazonaws.gamelift#GameServerId", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { - "smithy.api#documentation": "

    A custom string that uniquely identifies the game server to deregister.

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

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    ", "smithy.api#required": {} } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", + "GameServerId": { + "target": "com.amazonaws.gamelift#GameServerId", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

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

    A custom string that uniquely identifies the game server to deregister.

    ", "smithy.api#required": {} } } @@ -2523,10 +2528,10 @@ "com.amazonaws.gamelift#DescribeFleetAttributesInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetIds": { + "target": "com.amazonaws.gamelift#FleetIdOrArnList", "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet\n IDs.

    " + "smithy.api#documentation": "

    A list of unique fleet identifiers to retrieve attributes for. You can use either the\n fleet ID or ARN value. To retrieve attributes for all current fleets, do not include\n this parameter. If the list of fleet identifiers includes fleets that don't currently\n exist, the request succeeds but no attributes for that fleet are returned.

    " } }, "Limit": { @@ -2535,10 +2540,10 @@ "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet\n IDs.

    " } }, - "FleetIds": { - "target": "com.amazonaws.gamelift#FleetIdOrArnList", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A list of unique fleet identifiers to retrieve attributes for. You can use either the\n fleet ID or ARN value. To retrieve attributes for all current fleets, do not include\n this parameter. If the list of fleet identifiers includes fleets that don't currently\n exist, the request succeeds but no attributes for that fleet are returned.

    " + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet\n IDs.

    " } } }, @@ -2600,18 +2605,18 @@ "com.amazonaws.gamelift#DescribeFleetCapacityInput": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.gamelift#PositiveInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet\n IDs.

    " - } - }, "FleetIds": { "target": "com.amazonaws.gamelift#FleetIdOrArnList", "traits": { "smithy.api#documentation": "

    A unique identifier for a fleet(s) to retrieve capacity information for. You can use either the fleet ID or ARN\n value.

    " } }, + "Limit": { + "target": "com.amazonaws.gamelift#PositiveInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet\n IDs.

    " + } + }, "NextToken": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { @@ -2677,10 +2682,11 @@ "com.amazonaws.gamelift#DescribeFleetEventsInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value.

    ", + "smithy.api#required": {} } }, "StartTime": { @@ -2689,11 +2695,10 @@ "smithy.api#documentation": "

    Earliest date to retrieve event logs for. If no start time is specified, this call\n returns entries starting from when the fleet was created to the specified end time.\n Format is a number expressed in Unix time as milliseconds (ex:\n \"1469498468.057\").

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "EndTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Most recent date to retrieve event logs for. If no end time is specified, this call\n returns entries from the specified start time up to the present. Format is a number\n expressed in Unix time as milliseconds (ex: \"1469498468.057\").

    " } }, "Limit": { @@ -2702,10 +2707,10 @@ "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " } }, - "EndTime": { - "target": "com.amazonaws.gamelift#Timestamp", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Most recent date to retrieve event logs for. If no end time is specified, this call\n returns entries from the specified start time up to the present. Format is a number\n expressed in Unix time as milliseconds (ex: \"1469498468.057\").

    " + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } } }, @@ -2716,17 +2721,17 @@ "com.amazonaws.gamelift#DescribeFleetEventsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "Events": { "target": "com.amazonaws.gamelift#EventList", "traits": { "smithy.api#documentation": "

    A collection of objects containing event log entries for the specified\n fleet.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -2848,17 +2853,17 @@ "com.amazonaws.gamelift#DescribeFleetUtilizationOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "FleetUtilization": { "target": "com.amazonaws.gamelift#FleetUtilizationList", "traits": { "smithy.api#documentation": "

    A collection of objects containing utilization information for each requested fleet\n ID.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -2943,17 +2948,17 @@ "com.amazonaws.gamelift#DescribeGameServerInput": { "type": "structure", "members": { - "GameServerId": { - "target": "com.amazonaws.gamelift#GameServerId", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { - "smithy.api#documentation": "

    A custom string that uniquely identifies the game server information to be retrieved.

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

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    ", "smithy.api#required": {} } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", + "GameServerId": { + "target": "com.amazonaws.gamelift#GameServerId", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

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

    A custom string that uniquely identifies the game server information to be retrieved.

    ", "smithy.api#required": {} } } @@ -3000,10 +3005,10 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "InstanceIds": { + "target": "com.amazonaws.gamelift#GameServerInstanceIds", "traits": { - "smithy.api#documentation": "

    \n A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.\n

    " + "smithy.api#documentation": "

    The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a\n 17-character format, for example: i-1234567890abcdef0. To retrieve all\n instances in the game server group, leave this parameter empty.

    " } }, "Limit": { @@ -3012,10 +3017,10 @@ "smithy.api#documentation": "

    \n The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential segments.\n

    " } }, - "InstanceIds": { - "target": "com.amazonaws.gamelift#GameServerInstanceIds", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a\n 17-character format, for example: i-1234567890abcdef0. To retrieve all\n instances in the game server group, leave this parameter empty.

    " + "smithy.api#documentation": "

    \n A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.\n

    " } } } @@ -3023,17 +3028,17 @@ "com.amazonaws.gamelift#DescribeGameServerInstancesOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    \n A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.\n

    " - } - }, "GameServerInstances": { "target": "com.amazonaws.gamelift#GameServerInstances", "traits": { "smithy.api#documentation": "

    \n The collection of requested game server instances. \n

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    \n A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.\n

    " + } } } }, @@ -3091,16 +3096,10 @@ "smithy.api#documentation": "

    A unique identifier for a fleet to retrieve all game sessions active on the fleet. You can use either the fleet\n ID or ARN value.

    " } }, - "StatusFilter": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Game session status to filter results on. Possible game session statuses include\n ACTIVE, TERMINATED, ACTIVATING and\n TERMINATING (the last two are transitory).

    " - } - }, - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "GameSessionId": { + "target": "com.amazonaws.gamelift#ArnStringModel", "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " + "smithy.api#documentation": "

    A unique identifier for the game session to retrieve.

    " } }, "AliasId": { @@ -3109,16 +3108,22 @@ "smithy.api#documentation": "

    A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either\n the alias ID or ARN value.

    " } }, + "StatusFilter": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Game session status to filter results on. Possible game session statuses include\n ACTIVE, TERMINATED, ACTIVATING and\n TERMINATING (the last two are transitory).

    " + } + }, "Limit": { "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " } }, - "GameSessionId": { - "target": "com.amazonaws.gamelift#ArnStringModel", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game session to retrieve.

    " + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } } }, @@ -3129,17 +3134,17 @@ "com.amazonaws.gamelift#DescribeGameSessionDetailsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "GameSessionDetails": { "target": "com.amazonaws.gamelift#GameSessionDetailList", "traits": { "smithy.api#documentation": "

    A collection of objects containing game session properties and the protection policy\n currently in force for each session matching the request.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -3261,17 +3266,17 @@ "com.amazonaws.gamelift#DescribeGameSessionQueuesOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "GameSessionQueues": { "target": "com.amazonaws.gamelift#GameSessionQueueList", "traits": { "smithy.api#documentation": "

    A collection of objects that describe the requested game session queues.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -3321,34 +3326,34 @@ "smithy.api#documentation": "

    A unique identifier for a fleet to retrieve all game sessions for. You can use either the fleet ID or ARN value.

    " } }, - "Limit": { - "target": "com.amazonaws.gamelift#PositiveInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " - } - }, - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " - } - }, "GameSessionId": { "target": "com.amazonaws.gamelift#ArnStringModel", "traits": { "smithy.api#documentation": "

    A unique identifier for the game session to retrieve.

    " } }, + "AliasId": { + "target": "com.amazonaws.gamelift#AliasIdOrArn", + "traits": { + "smithy.api#documentation": "

    A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either\n the alias ID or ARN value.

    " + } + }, "StatusFilter": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    Game session status to filter results on. Possible game session statuses include\n ACTIVE, TERMINATED, ACTIVATING, and\n TERMINATING (the last two are transitory).

    " } }, - "AliasId": { - "target": "com.amazonaws.gamelift#AliasIdOrArn", + "Limit": { + "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { - "smithy.api#documentation": "

    A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either\n the alias ID or ARN value.

    " + "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } } }, @@ -3359,17 +3364,17 @@ "com.amazonaws.gamelift#DescribeGameSessionsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "GameSessions": { "target": "com.amazonaws.gamelift#GameSessionList", "traits": { "smithy.api#documentation": "

    A collection of objects containing game session properties for each session matching\n the request.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -3410,12 +3415,6 @@ "com.amazonaws.gamelift#DescribeInstancesInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " - } - }, "FleetId": { "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { @@ -3434,6 +3433,12 @@ "traits": { "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " + } } }, "traits": { @@ -3443,17 +3448,17 @@ "com.amazonaws.gamelift#DescribeInstancesOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "Instances": { "target": "com.amazonaws.gamelift#InstanceList", "traits": { "smithy.api#documentation": "

    A collection of objects containing properties for each instance returned.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

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

    Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket\n information, including--after a successful match is made--connection information for the\n resulting new game session.

    \n

    To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the\n request is successful, a ticket object is returned for each requested ID that currently\n exists.

    \n

    This operation is not designed to be continually called to track matchmaking ticket\n status. This practice can cause you to exceed your API limit, which results in errors.\n Instead, as a best practice, set up an Amazon Simple Notification Service (SNS) to receive notifications, and provide\n the topic ARN in the matchmaking configuration. Continuously poling ticket status with\n DescribeMatchmaking should only be used for games in development\n with low matchmaking usage.

    \n

    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n \n Set Up FlexMatch Event Notification\n

    \n

    \n Related operations\n

    \n \n " + "smithy.api#documentation": "

    Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket\n information, including--after a successful match is made--connection information for the\n resulting new game session.

    \n

    To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the\n request is successful, a ticket object is returned for each requested ID that currently\n exists.

    \n

    This operation is not designed to be continually called to track matchmaking ticket\n status. This practice can cause you to exceed your API limit, which results in errors.\n Instead, as a best practice, set up an Amazon Simple Notification Service (SNS) to receive notifications, and provide\n the topic ARN in the matchmaking configuration. Continuously poling ticket status with\n DescribeMatchmaking should only be used for games in development\n with low matchmaking usage.

    \n

    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n \n Set Up FlexMatch Event Notification\n

    \n

    \n Related operations\n

    \n \n " } }, "com.amazonaws.gamelift#DescribeMatchmakingConfigurations": { @@ -3503,7 +3508,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Retrieves the details of FlexMatch matchmaking configurations.

    \n

    This operation offers the following options: (1) retrieve all matchmaking\n configurations, (2) retrieve configurations for a specified list, or (3) retrieve all\n configurations that use a specified rule set name. When requesting multiple items, use\n the pagination parameters to retrieve results as a set of sequential pages.

    \n

    If successful, a configuration is returned for each requested name. When specifying a\n list of names, only configurations that currently exist are returned.

    \n

    \n Learn more\n

    \n

    \n Setting Up FlexMatch\n Matchmakers\n

    \n

    \n Related operations\n

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

    Retrieves the details of FlexMatch matchmaking configurations.

    \n

    This operation offers the following options: (1) retrieve all matchmaking\n configurations, (2) retrieve configurations for a specified list, or (3) retrieve all\n configurations that use a specified rule set name. When requesting multiple items, use\n the pagination parameters to retrieve results as a set of sequential pages.

    \n

    If successful, a configuration is returned for each requested name. When specifying a\n list of names, only configurations that currently exist are returned.

    \n

    \n Learn more\n

    \n

    \n Setting Up FlexMatch\n Matchmakers\n

    \n

    \n Related operations\n

    \n ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3514,18 +3519,6 @@ "com.amazonaws.gamelift#DescribeMatchmakingConfigurationsInput": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.gamelift#PositiveInteger", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

    " - } - }, - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " - } - }, "Names": { "target": "com.amazonaws.gamelift#MatchmakingConfigurationNameList", "traits": { @@ -3537,26 +3530,38 @@ "traits": { "smithy.api#documentation": "

    A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to\n retrieve all matchmaking configurations that use this rule set.

    " } - } - }, - "traits": { - "smithy.api#documentation": "

    Represents the input for a request operation.

    " - } - }, - "com.amazonaws.gamelift#DescribeMatchmakingConfigurationsOutput": { - "type": "structure", - "members": { + }, + "Limit": { + "target": "com.amazonaws.gamelift#PositiveInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

    " + } + }, "NextToken": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + "smithy.api#documentation": "

    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } - }, + } + }, + "traits": { + "smithy.api#documentation": "

    Represents the input for a request operation.

    " + } + }, + "com.amazonaws.gamelift#DescribeMatchmakingConfigurationsOutput": { + "type": "structure", + "members": { "Configurations": { "target": "com.amazonaws.gamelift#MatchmakingConfigurationList", "traits": { "smithy.api#documentation": "

    A collection of requested matchmaking configurations.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

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

    Retrieves the details for FlexMatch matchmaking rule sets. You can request all\n existing rule sets for the Region, or provide a list of one or more rule set names. When\n requesting multiple items, use the pagination parameters to retrieve results as a set of\n sequential pages. If successful, a rule set is returned for each requested name.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

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

    Retrieves the details for FlexMatch matchmaking rule sets. You can request all\n existing rule sets for the Region, or provide a list of one or more rule set names. When\n requesting multiple items, use the pagination parameters to retrieve results as a set of\n sequential pages. If successful, a rule set is returned for each requested name.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3632,17 +3637,17 @@ "smithy.api#documentation": "

    A list of one or more matchmaking rule set names to retrieve details for. (Note: The\n rule set name is different from the optional \"name\" field in the rule set body.) You can\n use either the rule set name or ARN value.

    " } }, - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " - } - }, "Limit": { "target": "com.amazonaws.gamelift#RuleSetLimit", "traits": { "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " + } } }, "traits": { @@ -3652,18 +3657,18 @@ "com.amazonaws.gamelift#DescribeMatchmakingRuleSetsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "RuleSets": { "target": "com.amazonaws.gamelift#MatchmakingRuleSetList", "traits": { "smithy.api#documentation": "

    A collection of requested matchmaking rule set objects.

    ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -3704,10 +3709,10 @@ "com.amazonaws.gamelift#DescribePlayerSessionsInput": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.gamelift#PositiveInteger", + "GameSessionId": { + "target": "com.amazonaws.gamelift#ArnStringModel", "traits": { - "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

    " + "smithy.api#documentation": "

    A unique identifier for the game session to retrieve player sessions for.

    " } }, "PlayerId": { @@ -3716,28 +3721,28 @@ "smithy.api#documentation": "

    A unique identifier for a player to retrieve player sessions for.

    " } }, - "PlayerSessionStatusFilter": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "PlayerSessionId": { + "target": "com.amazonaws.gamelift#PlayerSessionId", "traits": { - "smithy.api#documentation": "

    Player session status to filter results on.

    \n

    Possible player session statuses include the following:

    \n
      \n
    • \n

      \n RESERVED -- The player session request has been\n received, but the player has not yet connected to the server process and/or been\n validated.

      \n
    • \n
    • \n

      \n ACTIVE -- The player has been validated by the\n server process and is currently connected.

      \n
    • \n
    • \n

      \n COMPLETED -- The player connection has been\n dropped.

      \n
    • \n
    • \n

      \n TIMEDOUT -- A player session request was\n received, but the player did not connect and/or was not validated within the\n timeout limit (60 seconds).

      \n
    • \n
    " + "smithy.api#documentation": "

    A unique identifier for a player session to retrieve.

    " } }, - "NextToken": { + "PlayerSessionStatusFilter": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

    " + "smithy.api#documentation": "

    Player session status to filter results on.

    \n

    Possible player session statuses include the following:

    \n
      \n
    • \n

      \n RESERVED -- The player session request has been\n received, but the player has not yet connected to the server process and/or been\n validated.

      \n
    • \n
    • \n

      \n ACTIVE -- The player has been validated by the\n server process and is currently connected.

      \n
    • \n
    • \n

      \n COMPLETED -- The player connection has been\n dropped.

      \n
    • \n
    • \n

      \n TIMEDOUT -- A player session request was\n received, but the player did not connect and/or was not validated within the\n timeout limit (60 seconds).

      \n
    • \n
    " } }, - "GameSessionId": { - "target": "com.amazonaws.gamelift#ArnStringModel", + "Limit": { + "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game session to retrieve player sessions for.

    " + "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

    " } }, - "PlayerSessionId": { - "target": "com.amazonaws.gamelift#PlayerSessionId", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a player session to retrieve.

    " + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

    " } } }, @@ -3854,12 +3859,6 @@ "com.amazonaws.gamelift#DescribeScalingPoliciesInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " - } - }, "FleetId": { "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { @@ -3867,16 +3866,22 @@ "smithy.api#required": {} } }, + "StatusFilter": { + "target": "com.amazonaws.gamelift#ScalingStatusType", + "traits": { + "smithy.api#documentation": "

    Scaling policy status to filter results on. A scaling policy is only in force when\n in an ACTIVE status.

    \n
      \n
    • \n

      \n ACTIVE -- The scaling policy is currently in\n force.

      \n
    • \n
    • \n

      \n UPDATEREQUESTED -- A request to update the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n UPDATING -- A change is being made to the\n scaling policy.

      \n
    • \n
    • \n

      \n DELETEREQUESTED -- A request to delete the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n DELETING -- The scaling policy is being\n deleted.

      \n
    • \n
    • \n

      \n DELETED -- The scaling policy has been\n deleted.

      \n
    • \n
    • \n

      \n ERROR -- An error occurred in creating the\n policy. It should be removed and recreated.

      \n
    • \n
    " + } + }, "Limit": { "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

    " } }, - "StatusFilter": { - "target": "com.amazonaws.gamelift#ScalingStatusType", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Scaling policy status to filter results on. A scaling policy is only in force when\n in an ACTIVE status.

    \n
      \n
    • \n

      \n ACTIVE -- The scaling policy is currently in\n force.

      \n
    • \n
    • \n

      \n UPDATEREQUESTED -- A request to update the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n UPDATING -- A change is being made to the\n scaling policy.

      \n
    • \n
    • \n

      \n DELETEREQUESTED -- A request to delete the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n DELETING -- The scaling policy is being\n deleted.

      \n
    • \n
    • \n

      \n DELETED -- The scaling policy has been\n deleted.

      \n
    • \n
    • \n

      \n ERROR -- An error occurred in creating the\n policy. It should be removed and recreated.

      \n
    • \n
    " + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } } }, @@ -4086,22 +4091,22 @@ "com.amazonaws.gamelift#EC2InstanceCounts": { "type": "structure", "members": { - "TERMINATING": { + "DESIRED": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Number of instances in the fleet that are no longer active but haven't yet been\n terminated.

    " + "smithy.api#documentation": "

    Ideal number of active instances in the fleet.

    " } }, - "ACTIVE": { + "MINIMUM": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Actual number of active instances in the fleet.

    " + "smithy.api#documentation": "

    The minimum value allowed for the fleet's instance count.

    " } }, - "IDLE": { + "MAXIMUM": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Number of active instances in the fleet that are not currently hosting a game\n session.

    " + "smithy.api#documentation": "

    The maximum value allowed for the fleet's instance count.

    " } }, "PENDING": { @@ -4110,22 +4115,22 @@ "smithy.api#documentation": "

    Number of instances in the fleet that are starting but not yet active.

    " } }, - "DESIRED": { + "ACTIVE": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Ideal number of active instances in the fleet.

    " + "smithy.api#documentation": "

    Actual number of active instances in the fleet.

    " } }, - "MAXIMUM": { + "IDLE": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    The maximum value allowed for the fleet's instance count.

    " + "smithy.api#documentation": "

    Number of active instances in the fleet that are not currently hosting a game\n session.

    " } }, - "MINIMUM": { + "TERMINATING": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    The minimum value allowed for the fleet's instance count.

    " + "smithy.api#documentation": "

    Number of instances in the fleet that are no longer active but haven't yet been\n terminated.

    " } } }, @@ -4136,18 +4141,18 @@ "com.amazonaws.gamelift#EC2InstanceLimit": { "type": "structure", "members": { - "CurrentInstances": { - "target": "com.amazonaws.gamelift#WholeNumber", - "traits": { - "smithy.api#documentation": "

    Number of instances of the specified type that are currently in use by this AWS\n account.

    " - } - }, "EC2InstanceType": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { "smithy.api#documentation": "

    Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type\n determines the computing resources of each instance in the fleet, including CPU, memory,\n storage, and networking capacity. Amazon GameLift supports the following EC2 instance types.\n See Amazon EC2 Instance Types\n for detailed descriptions.

    " } }, + "CurrentInstances": { + "target": "com.amazonaws.gamelift#WholeNumber", + "traits": { + "smithy.api#documentation": "

    Number of instances of the specified type that are currently in use by this AWS\n account.

    " + } + }, "InstanceLimit": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { @@ -4235,6 +4240,30 @@ { "value": "c5.24xlarge" }, + { + "value": "c5a.large" + }, + { + "value": "c5a.xlarge" + }, + { + "value": "c5a.2xlarge" + }, + { + "value": "c5a.4xlarge" + }, + { + "value": "c5a.8xlarge" + }, + { + "value": "c5a.12xlarge" + }, + { + "value": "c5a.16xlarge" + }, + { + "value": "c5a.24xlarge" + }, { "value": "r3.large" }, @@ -4292,6 +4321,30 @@ { "value": "r5.24xlarge" }, + { + "value": "r5a.large" + }, + { + "value": "r5a.xlarge" + }, + { + "value": "r5a.2xlarge" + }, + { + "value": "r5a.4xlarge" + }, + { + "value": "r5a.8xlarge" + }, + { + "value": "r5a.12xlarge" + }, + { + "value": "r5a.16xlarge" + }, + { + "value": "r5a.24xlarge" + }, { "value": "m3.medium" }, @@ -4342,6 +4395,30 @@ }, { "value": "m5.24xlarge" + }, + { + "value": "m5a.large" + }, + { + "value": "m5a.xlarge" + }, + { + "value": "m5a.2xlarge" + }, + { + "value": "m5a.4xlarge" + }, + { + "value": "m5a.8xlarge" + }, + { + "value": "m5a.12xlarge" + }, + { + "value": "m5a.16xlarge" + }, + { + "value": "m5a.24xlarge" } ] } @@ -4355,22 +4432,16 @@ "smithy.api#documentation": "

    A unique identifier for a fleet event.

    " } }, - "PreSignedLogUrl": { + "ResourceId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Location of stored logs with additional detail that is related to the event. This\n is useful for debugging issues. The URL is valid for 15 minutes. You can also access\n fleet creation logs through the Amazon GameLift console.

    " - } - }, - "EventTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + "smithy.api#documentation": "

    A unique identifier for an event resource, such as a fleet ID.

    " } }, - "ResourceId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "EventCode": { + "target": "com.amazonaws.gamelift#EventCode", "traits": { - "smithy.api#documentation": "

    A unique identifier for an event resource, such as a fleet ID.

    " + "smithy.api#documentation": "

    The type of event being logged.

    \n

    \n Fleet creation events (ordered by fleet creation activity):\n

    \n
      \n
    • \n

      FLEET_CREATED -- A fleet resource was successfully created with a status of\n NEW. Event messaging includes the fleet ID.

      \n
    • \n
    • \n

      FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to\n DOWNLOADING. The compressed build has started downloading to a\n fleet instance for installation.

      \n
    • \n
    • \n

      FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet\n instance.

      \n
    • \n
    • \n

      FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully\n downloaded to an instance, and the build files are now being extracted from the\n uploaded build and saved to an instance. Failure at this stage prevents a fleet\n from moving to ACTIVE status. Logs for this stage display a list of\n the files that are extracted and saved on the instance. Access the logs by using\n the URL in PreSignedLogUrl.

      \n
    • \n
    • \n

      FLEET_CREATION_RUNNING_INSTALLER – The game server build files were\n successfully extracted, and the Amazon GameLift is now running the build's install\n script (if one is included). Failure in this stage prevents a fleet from moving\n to ACTIVE status. Logs for this stage list the installation steps\n and whether or not the install completed successfully. Access the logs by using\n the URL in PreSignedLogUrl.

      \n
    • \n
    • \n

      FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,\n and the Amazon GameLift is now verifying that the game server launch paths, which are\n specified in the fleet's runtime configuration, exist. If any listed launch path\n exists, Amazon GameLift tries to launch a game server process and waits for the process\n to report ready. Failures in this stage prevent a fleet from moving to\n ACTIVE status. Logs for this stage list the launch paths in the\n runtime configuration and indicate whether each is found. Access the logs by\n using the URL in PreSignedLogUrl.\n \n

      \n
    • \n
    • \n

      FLEET_STATE_VALIDATING -- Fleet status changed from\n DOWNLOADING to VALIDATING.

      \n
    • \n
    • \n

      FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the runtime\n configuration failed because the executable specified in a launch path does not\n exist on the instance.

      \n
    • \n
    • \n

      FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING\n to BUILDING.

      \n
    • \n
    • \n

      FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime\n configuration failed because the executable specified in a launch path failed to\n run on the fleet instance.

      \n
    • \n
    • \n

      FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING\n to ACTIVATING.

      \n
    • \n
    • \n

      FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of\n the steps in the fleet activation process. This event code indicates that the\n game build was successfully downloaded to a fleet instance, built, and\n validated, but was not able to start a server process. Learn more at \n Debug Fleet\n Creation Issues\n

      \n
    • \n
    • \n

      FLEET_STATE_ACTIVE -- The fleet's status changed from\n ACTIVATING to ACTIVE. The fleet is now ready to\n host game sessions.

      \n
    • \n
    \n

    \n VPC peering events:\n

    \n
      \n
    • \n

      FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been\n established between the VPC for an Amazon GameLift fleet and a VPC in your AWS\n account.

      \n
    • \n
    • \n

      FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed.\n Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A\n common reason for peering failure is that the two VPCs have overlapping CIDR\n blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in\n your AWS account. For more information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html\n

      \n
    • \n
    • \n

      FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully\n deleted.

      \n
    • \n
    \n

    \n Spot instance events:\n

    \n
      \n
    • \n

      INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a\n two-minute notification.

      \n
    • \n
    \n

    \n Other fleet events:\n

    \n
      \n
    • \n

      FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings\n (desired instances, minimum/maximum scaling limits). Event messaging includes\n the new capacity settings.

      \n
    • \n
    • \n

      FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to\n the fleet's game session protection policy setting. Event messaging includes\n both the old and new policy setting.

      \n
    • \n
    • \n

      FLEET_DELETED -- A request to delete a fleet was initiated.

      \n
    • \n
    • \n

      GENERIC_EVENT -- An unspecified event has occurred.

      \n
    • \n
    " } }, "Message": { @@ -4379,10 +4450,16 @@ "smithy.api#documentation": "

    Additional information related to the event.

    " } }, - "EventCode": { - "target": "com.amazonaws.gamelift#EventCode", + "EventTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    The type of event being logged.

    \n

    \n Fleet creation events (ordered by fleet creation activity):\n

    \n
      \n
    • \n

      FLEET_CREATED -- A fleet resource was successfully created with a status of\n NEW. Event messaging includes the fleet ID.

      \n
    • \n
    • \n

      FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to\n DOWNLOADING. The compressed build has started downloading to a\n fleet instance for installation.

      \n
    • \n
    • \n

      FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet\n instance.

      \n
    • \n
    • \n

      FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully\n downloaded to an instance, and the build files are now being extracted from the\n uploaded build and saved to an instance. Failure at this stage prevents a fleet\n from moving to ACTIVE status. Logs for this stage display a list of\n the files that are extracted and saved on the instance. Access the logs by using\n the URL in PreSignedLogUrl.

      \n
    • \n
    • \n

      FLEET_CREATION_RUNNING_INSTALLER – The game server build files were\n successfully extracted, and the Amazon GameLift is now running the build's install\n script (if one is included). Failure in this stage prevents a fleet from moving\n to ACTIVE status. Logs for this stage list the installation steps\n and whether or not the install completed successfully. Access the logs by using\n the URL in PreSignedLogUrl.

      \n
    • \n
    • \n

      FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,\n and the Amazon GameLift is now verifying that the game server launch paths, which are\n specified in the fleet's runtime configuration, exist. If any listed launch path\n exists, Amazon GameLift tries to launch a game server process and waits for the process\n to report ready. Failures in this stage prevent a fleet from moving to\n ACTIVE status. Logs for this stage list the launch paths in the\n runtime configuration and indicate whether each is found. Access the logs by\n using the URL in PreSignedLogUrl.\n \n

      \n
    • \n
    • \n

      FLEET_STATE_VALIDATING -- Fleet status changed from\n DOWNLOADING to VALIDATING.

      \n
    • \n
    • \n

      FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the runtime\n configuration failed because the executable specified in a launch path does not\n exist on the instance.

      \n
    • \n
    • \n

      FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING\n to BUILDING.

      \n
    • \n
    • \n

      FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime\n configuration failed because the executable specified in a launch path failed to\n run on the fleet instance.

      \n
    • \n
    • \n

      FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING\n to ACTIVATING.

      \n
    • \n
    • \n

      FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of\n the steps in the fleet activation process. This event code indicates that the\n game build was successfully downloaded to a fleet instance, built, and\n validated, but was not able to start a server process. Learn more at \n Debug Fleet\n Creation Issues\n

      \n
    • \n
    • \n

      FLEET_STATE_ACTIVE -- The fleet's status changed from\n ACTIVATING to ACTIVE. The fleet is now ready to\n host game sessions.

      \n
    • \n
    \n

    \n VPC peering events:\n

    \n
      \n
    • \n

      FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been\n established between the VPC for an Amazon GameLift fleet and a VPC in your AWS\n account.

      \n
    • \n
    • \n

      FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed.\n Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A\n common reason for peering failure is that the two VPCs have overlapping CIDR\n blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in\n your AWS account. For more information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html\n

      \n
    • \n
    • \n

      FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully\n deleted.

      \n
    • \n
    \n

    \n Spot instance events:\n

    \n
      \n
    • \n

      INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a\n two-minute notification.

      \n
    • \n
    \n

    \n Other fleet events:\n

    \n
      \n
    • \n

      FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings\n (desired instances, minimum/maximum scaling limits). Event messaging includes\n the new capacity settings.

      \n
    • \n
    • \n

      FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to\n the fleet's game session protection policy setting. Event messaging includes\n both the old and new policy setting.

      \n
    • \n
    • \n

      FLEET_DELETED -- A request to delete a fleet was initiated.

      \n
    • \n
    • \n

      GENERIC_EVENT -- An unspecified event has occurred.

      \n
    • \n
    " + "smithy.api#documentation": "

    Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + } + }, + "PreSignedLogUrl": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Location of stored logs with additional detail that is related to the event. This\n is useful for debugging issues. The URL is valid for 15 minutes. You can also access\n fleet creation logs through the Amazon GameLift console.

    " } } }, @@ -4567,34 +4644,22 @@ "com.amazonaws.gamelift#FleetAttributes": { "type": "structure", "members": { - "MetricGroups": { - "target": "com.amazonaws.gamelift#MetricGroupList", - "traits": { - "smithy.api#documentation": "

    Names of metric groups that this fleet is included in. In Amazon CloudWatch, you\n can view metrics for an individual fleet or aggregated metrics for fleets that are in a\n fleet metric group. A fleet can be included in only one metric group at a\n time.

    " - } - }, - "TerminationTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " - } - }, - "InstanceRoleArn": { - "target": "com.amazonaws.gamelift#NonEmptyString", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    A unique identifier for an AWS IAM role that manages access to your AWS services. \n With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, \n including install scripts, server processes, and daemons (background processes). Create a role or look up a role's \n ARN from the IAM dashboard in the AWS Management Console.\n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet.

    " } }, - "CertificateConfiguration": { - "target": "com.amazonaws.gamelift#CertificateConfiguration", + "FleetArn": { + "target": "com.amazonaws.gamelift#FleetArn", "traits": { - "smithy.api#documentation": "

    Indicates whether a TLS/SSL certificate was generated for the fleet.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the\n FleetId value.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "FleetType": { + "target": "com.amazonaws.gamelift#FleetType", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet.

    " + "smithy.api#documentation": "

    Indicates whether the fleet uses on-demand or spot instances. A spot instance in use\n may be interrupted with a two-minute notification.

    " } }, "InstanceType": { @@ -4603,58 +4668,52 @@ "smithy.api#documentation": "

    EC2 instance type indicating the computing resources of each instance in the\n fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for\n detailed descriptions.

    " } }, - "BuildArn": { - "target": "com.amazonaws.gamelift#BuildArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances\n in this fleet. In a GameLift build ARN, the resource ID matches the\n BuildId value.

    " - } - }, - "BuildId": { - "target": "com.amazonaws.gamelift#BuildId", + "Description": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a build.

    " + "smithy.api#documentation": "

    Human-readable description of the fleet.

    " } }, - "ServerLaunchParameters": { + "Name": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Game server launch parameters specified for fleets created before 2016-08-04 (or\n AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are\n specified in the fleet's RuntimeConfiguration.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

    " } }, - "OperatingSystem": { - "target": "com.amazonaws.gamelift#OperatingSystem", + "CreationTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Operating system of the fleet's computing resources. A fleet's operating system\n depends on the OS specified for the build that is deployed on this fleet.

    " + "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "CreationTime": { + "TerminationTime": { "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + "smithy.api#documentation": "

    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "FleetArn": { - "target": "com.amazonaws.gamelift#FleetArn", + "Status": { + "target": "com.amazonaws.gamelift#FleetStatus", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the\n FleetId value.

    " + "smithy.api#documentation": "

    Current status of the fleet.

    \n

    Possible fleet statuses include the following:

    \n
      \n
    • \n

      \n NEW -- A new fleet has been defined and desired\n instances is set to 1.

      \n
    • \n
    • \n

      \n DOWNLOADING/VALIDATING/BUILDING/ACTIVATING --\n Amazon GameLift is setting up the new fleet, creating new instances with the game build\n or Realtime script and starting server processes.

      \n
    • \n
    • \n

      \n ACTIVE -- Hosts can now accept game\n sessions.

      \n
    • \n
    • \n

      \n ERROR -- An error occurred when downloading,\n validating, building, or activating the fleet.

      \n
    • \n
    • \n

      \n DELETING -- Hosts are responding to a delete\n fleet request.

      \n
    • \n
    • \n

      \n TERMINATED -- The fleet no longer\n exists.

      \n
    • \n
    " } }, - "StoppedActions": { - "target": "com.amazonaws.gamelift#FleetActionList", + "BuildId": { + "target": "com.amazonaws.gamelift#BuildId", "traits": { - "smithy.api#documentation": "

    List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

    " + "smithy.api#documentation": "

    A unique identifier for a build.

    " } }, - "Status": { - "target": "com.amazonaws.gamelift#FleetStatus", + "BuildArn": { + "target": "com.amazonaws.gamelift#BuildArn", "traits": { - "smithy.api#documentation": "

    Current status of the fleet.

    \n

    Possible fleet statuses include the following:

    \n
      \n
    • \n

      \n NEW -- A new fleet has been defined and desired\n instances is set to 1.

      \n
    • \n
    • \n

      \n DOWNLOADING/VALIDATING/BUILDING/ACTIVATING --\n Amazon GameLift is setting up the new fleet, creating new instances with the game build\n or Realtime script and starting server processes.

      \n
    • \n
    • \n

      \n ACTIVE -- Hosts can now accept game\n sessions.

      \n
    • \n
    • \n

      \n ERROR -- An error occurred when downloading,\n validating, building, or activating the fleet.

      \n
    • \n
    • \n

      \n DELETING -- Hosts are responding to a delete\n fleet request.

      \n
    • \n
    • \n

      \n TERMINATED -- The fleet no longer\n exists.

      \n
    • \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances\n in this fleet. In a GameLift build ARN, the resource ID matches the\n BuildId value.

    " } }, - "Description": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ScriptId": { + "target": "com.amazonaws.gamelift#ScriptId", "traits": { - "smithy.api#documentation": "

    Human-readable description of the fleet.

    " + "smithy.api#documentation": "

    A unique identifier for a Realtime script.

    " } }, "ScriptArn": { @@ -4663,22 +4722,22 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the GameLift script resource that is deployed on instances\n in this fleet. In a GameLift script ARN, the resource ID matches the\n ScriptId value.

    " } }, - "FleetType": { - "target": "com.amazonaws.gamelift#FleetType", + "ServerLaunchPath": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Indicates whether the fleet uses on-demand or spot instances. A spot instance in use\n may be interrupted with a two-minute notification.

    " + "smithy.api#documentation": "

    Path to a game server executable in the fleet's build, specified for fleets created\n before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after\n this date are specified in the fleet's RuntimeConfiguration.

    " } }, - "ResourceCreationLimitPolicy": { - "target": "com.amazonaws.gamelift#ResourceCreationLimitPolicy", + "ServerLaunchParameters": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Fleet policy to limit the number of game sessions an individual player can create\n over a span of time.

    " + "smithy.api#documentation": "

    Game server launch parameters specified for fleets created before 2016-08-04 (or\n AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are\n specified in the fleet's RuntimeConfiguration.

    " } }, - "ScriptId": { - "target": "com.amazonaws.gamelift#ScriptId", + "LogPaths": { + "target": "com.amazonaws.gamelift#StringList", "traits": { - "smithy.api#documentation": "

    A unique identifier for a Realtime script.

    " + "smithy.api#documentation": "

    Location of default log files. When a server process is shut down, Amazon GameLift captures\n and stores any log files in this location. These logs are in addition to game session\n logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified,\n Amazon GameLift automatically uploads logs that are stored on each instance at\n C:\\game\\logs (for Windows) or /local/game/logs (for\n Linux). Use the Amazon GameLift console to access stored logs.

    " } }, "NewGameSessionProtectionPolicy": { @@ -4687,22 +4746,40 @@ "smithy.api#documentation": "

    The type of game session protection to set for all new instances started in the\n fleet.

    \n
      \n
    • \n

      \n NoProtection -- The game session can be\n terminated during a scale-down event.

      \n
    • \n
    • \n

      \n FullProtection -- If the game session is in an\n ACTIVE status, it cannot be terminated during a scale-down\n event.

      \n
    • \n
    " } }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "OperatingSystem": { + "target": "com.amazonaws.gamelift#OperatingSystem", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

    " + "smithy.api#documentation": "

    Operating system of the fleet's computing resources. A fleet's operating system\n depends on the OS specified for the build that is deployed on this fleet.

    " } }, - "ServerLaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ResourceCreationLimitPolicy": { + "target": "com.amazonaws.gamelift#ResourceCreationLimitPolicy", "traits": { - "smithy.api#documentation": "

    Path to a game server executable in the fleet's build, specified for fleets created\n before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after\n this date are specified in the fleet's RuntimeConfiguration.

    " + "smithy.api#documentation": "

    Fleet policy to limit the number of game sessions an individual player can create\n over a span of time.

    " } }, - "LogPaths": { - "target": "com.amazonaws.gamelift#StringList", + "MetricGroups": { + "target": "com.amazonaws.gamelift#MetricGroupList", "traits": { - "smithy.api#documentation": "

    Location of default log files. When a server process is shut down, Amazon GameLift captures\n and stores any log files in this location. These logs are in addition to game session\n logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified,\n Amazon GameLift automatically uploads logs that are stored on each instance at\n C:\\game\\logs (for Windows) or /local/game/logs (for\n Linux). Use the Amazon GameLift console to access stored logs.

    " + "smithy.api#documentation": "

    Names of metric groups that this fleet is included in. In Amazon CloudWatch, you\n can view metrics for an individual fleet or aggregated metrics for fleets that are in a\n fleet metric group. A fleet can be included in only one metric group at a\n time.

    " + } + }, + "StoppedActions": { + "target": "com.amazonaws.gamelift#FleetActionList", + "traits": { + "smithy.api#documentation": "

    List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

    " + } + }, + "InstanceRoleArn": { + "target": "com.amazonaws.gamelift#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for an AWS IAM role that manages access to your AWS services.

    " + } + }, + "CertificateConfiguration": { + "target": "com.amazonaws.gamelift#CertificateConfiguration", + "traits": { + "smithy.api#documentation": "

    Indicates whether a TLS/SSL certificate was generated for the fleet.

    " } } }, @@ -4719,10 +4796,10 @@ "com.amazonaws.gamelift#FleetCapacity": { "type": "structure", "members": { - "InstanceCounts": { - "target": "com.amazonaws.gamelift#EC2InstanceCounts", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    Current status of fleet capacity.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet.

    " } }, "InstanceType": { @@ -4731,10 +4808,10 @@ "smithy.api#documentation": "

    Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type\n determines the computing resources of each instance in the fleet, including CPU, memory,\n storage, and networking capacity. Amazon GameLift supports the following EC2 instance types.\n See Amazon EC2 Instance Types\n for detailed descriptions.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "InstanceCounts": { + "target": "com.amazonaws.gamelift#EC2InstanceCounts", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet.

    " + "smithy.api#documentation": "

    Current status of fleet capacity.

    " } } }, @@ -4855,10 +4932,16 @@ "com.amazonaws.gamelift#FleetUtilization": { "type": "structure", "members": { - "MaximumPlayerSessionCount": { + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a fleet.

    " + } + }, + "ActiveServerProcessCount": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    The maximum number of players allowed across all game sessions currently being hosted on all\n instances in the fleet.

    " + "smithy.api#documentation": "

    Number of server processes in an ACTIVE status currently running\n across all instances in the fleet

    " } }, "ActiveGameSessionCount": { @@ -4873,16 +4956,10 @@ "smithy.api#documentation": "

    Number of active player sessions currently being hosted on all instances in the\n fleet.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet.

    " - } - }, - "ActiveServerProcessCount": { + "MaximumPlayerSessionCount": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Number of server processes in an ACTIVE status currently running\n across all instances in the fleet

    " + "smithy.api#documentation": "

    The maximum number of players allowed across all game sessions currently being hosted on all\n instances in the fleet.

    " } } }, @@ -4896,6 +4973,21 @@ "target": "com.amazonaws.gamelift#FleetUtilization" } }, + "com.amazonaws.gamelift#FlexMatchMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "STANDALONE", + "name": "STANDALONE" + }, + { + "value": "WITH_QUEUE", + "name": "WITH_QUEUE" + } + ] + } + }, "com.amazonaws.gamelift#Float": { "type": "float" }, @@ -5198,17 +5290,17 @@ "com.amazonaws.gamelift#GameProperty": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.gamelift#GamePropertyValue", + "Key": { + "target": "com.amazonaws.gamelift#GamePropertyKey", "traits": { - "smithy.api#documentation": "

    The game property value.

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

    The game property identifier.

    ", "smithy.api#required": {} } }, - "Key": { - "target": "com.amazonaws.gamelift#GamePropertyKey", + "Value": { + "target": "com.amazonaws.gamelift#GamePropertyValue", "traits": { - "smithy.api#documentation": "

    The game property identifier.

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

    The game property value.

    ", "smithy.api#required": {} } } @@ -5250,16 +5342,10 @@ "com.amazonaws.gamelift#GameServer": { "type": "structure", "members": { - "RegistrationTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Timestamp that indicates when the game server was created with a RegisterGameServer request. The format is a number expressed in Unix\n time as milliseconds (for example \"1469498468.057\").

    " - } - }, - "UtilizationStatus": { - "target": "com.amazonaws.gamelift#GameServerUtilizationStatus", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupName", "traits": { - "smithy.api#documentation": "

    Indicates whether the game server is currently available for new games or is busy. Possible statuses include:

    \n
      \n
    • \n

      \n AVAILABLE - The game server is available to be claimed. A game server that has\n been claimed remains in this status until it reports game hosting activity.

      \n
    • \n
    • \n

      \n UTILIZED - The game server is currently hosting a game session with players.

      \n
    • \n
    " + "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    " } }, "GameServerGroupArn": { @@ -5268,22 +5354,22 @@ "smithy.api#documentation": "

    The ARN identifier for the game server group where the game server is located.

    " } }, - "LastHealthCheckTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Timestamp that indicates the last time the game server was updated with health status\n using an UpdateGameServer request. The format is a number expressed in\n Unix time as milliseconds (for example \"1469498468.057\"). After game server\n registration, this property is only changed when a game server update specifies a health\n check value.

    " - } - }, "GameServerId": { "target": "com.amazonaws.gamelift#GameServerId", "traits": { "smithy.api#documentation": "

    A custom string that uniquely identifies the game server. Game server IDs are\n developer-defined and are unique across all game server groups in an AWS\n account.

    " } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupName", + "InstanceId": { + "target": "com.amazonaws.gamelift#GameServerInstanceId", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    " + "smithy.api#documentation": "

    The unique identifier for the instance where the game server is running. This ID is\n available in the instance metadata. EC2 instance IDs \n use a 17-character format, for example: i-1234567890abcdef0.

    " + } + }, + "ConnectionInfo": { + "target": "com.amazonaws.gamelift#GameServerConnectionInfo", + "traits": { + "smithy.api#documentation": "

    The port and IP address that must be used to establish a client connection to the game server.

    " } }, "GameServerData": { @@ -5298,10 +5384,16 @@ "smithy.api#documentation": "

    Indicates when an available game server has been reserved for gameplay but has not yet\n started hosting a game. Once it is claimed, the game server remains in\n CLAIMED status for a maximum of one minute. During this time, game\n clients connect to the game server to start the game and trigger the game server to\n update its utilization status. After one minute, the game server claim status reverts to\n null.

    " } }, - "ConnectionInfo": { - "target": "com.amazonaws.gamelift#GameServerConnectionInfo", + "UtilizationStatus": { + "target": "com.amazonaws.gamelift#GameServerUtilizationStatus", "traits": { - "smithy.api#documentation": "

    The port and IP address that must be used to establish a client connection to the game server.

    " + "smithy.api#documentation": "

    Indicates whether the game server is currently available for new games or is busy. Possible statuses include:

    \n
      \n
    • \n

      \n AVAILABLE - The game server is available to be claimed. A game server that has\n been claimed remains in this status until it reports game hosting activity.

      \n
    • \n
    • \n

      \n UTILIZED - The game server is currently hosting a game session with players.

      \n
    • \n
    " + } + }, + "RegistrationTime": { + "target": "com.amazonaws.gamelift#Timestamp", + "traits": { + "smithy.api#documentation": "

    Timestamp that indicates when the game server was created with a RegisterGameServer request. The format is a number expressed in Unix\n time as milliseconds (for example \"1469498468.057\").

    " } }, "LastClaimTime": { @@ -5310,10 +5402,10 @@ "smithy.api#documentation": "

    Timestamp that indicates the last time the game server was claimed with a ClaimGameServer request. The format is a number expressed in Unix time\n as milliseconds (for example \"1469498468.057\"). This value is used to\n calculate when a claimed game server's status should revert to null.

    " } }, - "InstanceId": { - "target": "com.amazonaws.gamelift#GameServerInstanceId", + "LastHealthCheckTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    The unique identifier for the instance where the game server is running. This ID is\n available in the instance metadata. EC2 instance IDs \n use a 17-character format, for example: i-1234567890abcdef0.

    " + "smithy.api#documentation": "

    Timestamp that indicates the last time the game server was updated with health status\n using an UpdateGameServer request. The format is a number expressed in\n Unix time as milliseconds (for example \"1469498468.057\"). After game server\n registration, this property is only changed when a game server update specifies a health\n check value.

    " } } }, @@ -5355,10 +5447,10 @@ "com.amazonaws.gamelift#GameServerGroup": { "type": "structure", "members": { - "CreationTime": { - "target": "com.amazonaws.gamelift#Timestamp", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupName", "traits": { - "smithy.api#documentation": "

    A timestamp that indicates when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + "smithy.api#documentation": "

    A developer-defined identifier for the game server group. The name is unique for each\n Region in each AWS account.

    " } }, "GameServerGroupArn": { @@ -5367,28 +5459,28 @@ "smithy.api#documentation": "

    A generated unique ID for the game server group.

    " } }, - "GameServerProtectionPolicy": { - "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", + "RoleArn": { + "target": "com.amazonaws.gamelift#IamRoleArn", "traits": { - "smithy.api#documentation": "

    A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access your EC2 Auto Scaling groups.

    " } }, - "LastUpdatedTime": { - "target": "com.amazonaws.gamelift#Timestamp", + "InstanceDefinitions": { + "target": "com.amazonaws.gamelift#InstanceDefinitions", "traits": { - "smithy.api#documentation": "

    A timestamp that indicates when this game server group was last updated.

    " + "smithy.api#documentation": "

    The set of EC2 instance types that GameLift FleetIQ can use when balancing and automatically\n scaling instances in the corresponding Auto Scaling group.

    " } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupName", + "BalancingStrategy": { + "target": "com.amazonaws.gamelift#BalancingStrategy", "traits": { - "smithy.api#documentation": "

    A developer-defined identifier for the game server group. The name is unique for each\n Region in each AWS account.

    " + "smithy.api#documentation": "

    Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the\n game server group. Method options include the following:

    \n
      \n
    • \n

      \n SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot\n Instances are unavailable or not viable for game hosting, the game server group\n provides no hosting capacity until Spot Instances can again be used. Until then,\n no new instances are started, and the existing nonviable Spot Instances are\n terminated (after current gameplay ends) and are not replaced.

      \n
    • \n
    • \n

      \n SPOT_PREFERRED - (default value) Spot Instances are used whenever available in\n the game server group. If Spot Instances are unavailable, the game server group\n continues to provide hosting capacity by falling back to On-Demand Instances.\n Existing nonviable Spot Instances are terminated (after current gameplay ends)\n and are replaced with new On-Demand Instances.

      \n
    • \n
    • \n

      \n ON_DEMAND_ONLY - Only On-Demand Instances are used in the game\n server group. No Spot Instances are used, even when available, while this\n balancing strategy is in force.

      \n
    • \n
    " } }, - "StatusReason": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "GameServerProtectionPolicy": { + "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", "traits": { - "smithy.api#documentation": "

    Additional information about the current game server group status. This information\n might provide additional insight on groups that are in ERROR status.

    " + "smithy.api#documentation": "

    A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status.

    " } }, "AutoScalingGroupArn": { @@ -5403,10 +5495,10 @@ "smithy.api#documentation": "

    The current status of the game server group. Possible statuses include:

    \n
      \n
    • \n

      \n NEW - GameLift FleetIQ has validated the CreateGameServerGroup()\n request.

      \n
    • \n
    • \n

      \n ACTIVATING - GameLift FleetIQ is setting up a game server group, which\n includes creating an Auto Scaling group in your AWS account.

      \n
    • \n
    • \n

      \n ACTIVE - The game server group has been successfully created.

      \n
    • \n
    • \n

      \n DELETE_SCHEDULED - A request to delete the game server group has\n been received.

      \n
    • \n
    • \n

      \n DELETING - GameLift FleetIQ has received a valid\n DeleteGameServerGroup() request and is processing it. GameLift FleetIQ\n must first complete and release hosts before it deletes the Auto Scaling group\n and the game server group.

      \n
    • \n
    • \n

      \n DELETED - The game server group has been successfully deleted.

      \n
    • \n
    • \n

      \n ERROR - The asynchronous processes of activating or deleting a game server group\n has failed, resulting in an error state.

      \n
    • \n
    " } }, - "BalancingStrategy": { - "target": "com.amazonaws.gamelift#BalancingStrategy", + "StatusReason": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the\n game server group. Method options include the following:

    \n
      \n
    • \n

      \n SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot\n Instances are unavailable or not viable for game hosting, the game server group\n provides no hosting capacity until Spot Instances can again be used. Until then,\n no new instances are started, and the existing nonviable Spot Instances are\n terminated (after current gameplay ends) and are not replaced.

      \n
    • \n
    • \n

      \n SPOT_PREFERRED - (default value) Spot Instances are used whenever available in\n the game server group. If Spot Instances are unavailable, the game server group\n continues to provide hosting capacity by falling back to On-Demand Instances.\n Existing nonviable Spot Instances are terminated (after current gameplay ends)\n and are replaced with new On-Demand Instances.

      \n
    • \n
    • \n

      \n ON_DEMAND_ONLY - Only On-Demand Instances are used in the game\n server group. No Spot Instances are used, even when available, while this\n balancing strategy is in force.

      \n
    • \n
    " + "smithy.api#documentation": "

    Additional information about the current game server group status. This information\n might provide additional insight on groups that are in ERROR status.

    " } }, "SuspendedActions": { @@ -5415,16 +5507,16 @@ "smithy.api#documentation": "

    A list of activities that are currently suspended for this game server group.\n If this property is empty, all activities are occurring.

    " } }, - "InstanceDefinitions": { - "target": "com.amazonaws.gamelift#InstanceDefinitions", + "CreationTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    The set of EC2 instance types that GameLift FleetIQ can use when balancing and automatically\n scaling instances in the corresponding Auto Scaling group.

    " + "smithy.api#documentation": "

    A timestamp that indicates when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "RoleArn": { - "target": "com.amazonaws.gamelift#IamRoleArn", + "LastUpdatedTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access your EC2 Auto Scaling groups.

    " + "smithy.api#documentation": "

    A timestamp that indicates when this game server group was last updated.

    " } } }, @@ -5723,12 +5815,6 @@ "smithy.api#documentation": "

    A developer-defined identifier for the game server group that includes the game\n server instance. The name is unique for each Region in each AWS account.

    " } }, - "InstanceStatus": { - "target": "com.amazonaws.gamelift#GameServerInstanceStatus", - "traits": { - "smithy.api#documentation": "

    \n Current status of the game server instance. \n

    \n
      \n
    • \n

      \n ACTIVE -- The instance is viable for hosting \n game servers.

      \n
    • \n
    • \n

      \n DRAINING -- The instance is not viable for\n hosting game servers. Existing game servers are in the process of ending, and\n new game servers are not started on this instance unless no other resources are\n available. When the instance is put in DRAINING, a new instance is started up to \n replace it. Once the instance has no UTILIZED game servers, it will be terminated \n in favor of the new instance.

      \n
    • \n
    • \n

      \n SPOT_TERMINATING -- The instance is in the\n process of shutting down due to a Spot instance interruption. No new game\n servers are started on this instance.

      \n
    • \n
    " - } - }, "GameServerGroupArn": { "target": "com.amazonaws.gamelift#GameServerGroupArn", "traits": { @@ -5740,6 +5826,12 @@ "traits": { "smithy.api#documentation": "

    The unique identifier for the instance where the game server is running. This ID is\n available in the instance metadata. EC2 instance IDs \n use a 17-character format, for example: i-1234567890abcdef0.

    " } + }, + "InstanceStatus": { + "target": "com.amazonaws.gamelift#GameServerInstanceStatus", + "traits": { + "smithy.api#documentation": "

    \n Current status of the game server instance. \n

    \n
      \n
    • \n

      \n ACTIVE -- The instance is viable for hosting \n game servers.

      \n
    • \n
    • \n

      \n DRAINING -- The instance is not viable for\n hosting game servers. Existing game servers are in the process of ending, and\n new game servers are not started on this instance unless no other resources are\n available. When the instance is put in DRAINING, a new instance is started up to \n replace it. Once the instance has no UTILIZED game servers, it will be terminated \n in favor of the new instance.

      \n
    • \n
    • \n

      \n SPOT_TERMINATING -- The instance is in the\n process of shutting down due to a Spot instance interruption. No new game\n servers are started on this instance.

      \n
    • \n
    " + } } }, "traits": { @@ -5832,28 +5924,16 @@ "com.amazonaws.gamelift#GameSession": { "type": "structure", "members": { - "MaximumPlayerSessionCount": { - "target": "com.amazonaws.gamelift#WholeNumber", - "traits": { - "smithy.api#documentation": "

    The maximum number of players that can be connected simultaneously to the game session.

    " - } - }, "GameSessionId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    A unique identifier for the game session. A game session ARN has the following format: \n arn:aws:gamelift:::gamesession//.

    " } }, - "TerminationTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " - } - }, - "CreationTime": { - "target": "com.amazonaws.gamelift#Timestamp", + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " } }, "FleetId": { @@ -5862,28 +5942,34 @@ "smithy.api#documentation": "

    A unique identifier for a fleet that the game session is running on.

    " } }, - "CreatorId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetArn": { + "target": "com.amazonaws.gamelift#FleetArn", "traits": { - "smithy.api#documentation": "

    A unique identifier for a player. This ID is used to enforce a resource protection policy (if one\n exists), that limits the number of game sessions a player can create.

    " + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on. \n

    " } }, - "PlayerSessionCreationPolicy": { - "target": "com.amazonaws.gamelift#PlayerSessionCreationPolicy", + "CreationTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Indicates whether or not the game session is accepting new players.

    " + "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "Port": { - "target": "com.amazonaws.gamelift#PortNumber", + "TerminationTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

    " + "smithy.api#documentation": "

    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "StatusReason": { - "target": "com.amazonaws.gamelift#GameSessionStatusReason", + "CurrentPlayerSessionCount": { + "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Provides additional information about game session status. INTERRUPTED\n indicates that the game session was hosted on a spot instance that was reclaimed,\n causing the active game session to be terminated.

    " + "smithy.api#documentation": "

    Number of players currently in the game session.

    " + } + }, + "MaximumPlayerSessionCount": { + "target": "com.amazonaws.gamelift#WholeNumber", + "traits": { + "smithy.api#documentation": "

    The maximum number of players that can be connected simultaneously to the game session.

    " } }, "Status": { @@ -5892,10 +5978,10 @@ "smithy.api#documentation": "

    Current status of the game session. A game session must have an ACTIVE\n status to have player sessions.

    " } }, - "IpAddress": { - "target": "com.amazonaws.gamelift#IpAddress", + "StatusReason": { + "target": "com.amazonaws.gamelift#GameSessionStatusReason", "traits": { - "smithy.api#documentation": "

    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

    " + "smithy.api#documentation": "

    Provides additional information about game session status. INTERRUPTED\n indicates that the game session was hosted on a spot instance that was reclaimed,\n causing the active game session to be terminated.

    " } }, "GameProperties": { @@ -5904,10 +5990,10 @@ "smithy.api#documentation": "

    Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data\n with SearchGameSessions.

    " } }, - "FleetArn": { - "target": "com.amazonaws.gamelift#FleetArn", + "IpAddress": { + "target": "com.amazonaws.gamelift#IpAddress", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on. \n

    " + "smithy.api#documentation": "

    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

    " } }, "DnsName": { @@ -5916,28 +6002,34 @@ "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " } }, - "GameSessionData": { - "target": "com.amazonaws.gamelift#GameSessionData", + "Port": { + "target": "com.amazonaws.gamelift#PortNumber", "traits": { - "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " + "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

    " } }, - "MatchmakerData": { - "target": "com.amazonaws.gamelift#MatchmakerData", + "PlayerSessionCreationPolicy": { + "target": "com.amazonaws.gamelift#PlayerSessionCreationPolicy", "traits": { - "smithy.api#documentation": "

    Information about the matchmaking process that was used to create the game session.\n It is in JSON syntax, formatted as a string. In addition the matchmaking configuration\n used, it contains data on all players assigned to the match, including player attributes\n and team assignments. For more details on matchmaker data, see Match\n Data. Matchmaker data is useful when requesting match backfills, and is\n updated whenever new players are added during a successful backfill (see StartMatchBackfill).

    " + "smithy.api#documentation": "

    Indicates whether or not the game session is accepting new players.

    " } }, - "Name": { + "CreatorId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " + "smithy.api#documentation": "

    A unique identifier for a player. This ID is used to enforce a resource protection policy (if one\n exists), that limits the number of game sessions a player can create.

    " } }, - "CurrentPlayerSessionCount": { - "target": "com.amazonaws.gamelift#WholeNumber", + "GameSessionData": { + "target": "com.amazonaws.gamelift#GameSessionData", "traits": { - "smithy.api#documentation": "

    Number of players currently in the game session.

    " + "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " + } + }, + "MatchmakerData": { + "target": "com.amazonaws.gamelift#MatchmakerData", + "traits": { + "smithy.api#documentation": "

    Information about the matchmaking process that was used to create the game session.\n It is in JSON syntax, formatted as a string. In addition the matchmaking configuration\n used, it contains data on all players assigned to the match, including player attributes\n and team assignments. For more details on matchmaker data, see Match\n Data. Matchmaker data is useful when requesting match backfills, and is\n updated whenever new players are added during a successful backfill (see StartMatchBackfill).

    " } } }, @@ -5958,18 +6050,6 @@ "com.amazonaws.gamelift#GameSessionConnectionInfo": { "type": "structure", "members": { - "Port": { - "target": "com.amazonaws.gamelift#PositiveInteger", - "traits": { - "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

    " - } - }, - "DnsName": { - "target": "com.amazonaws.gamelift#DnsName", - "traits": { - "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " - } - }, "GameSessionArn": { "target": "com.amazonaws.gamelift#ArnStringModel", "traits": { @@ -5982,6 +6062,18 @@ "smithy.api#documentation": "

    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

    " } }, + "DnsName": { + "target": "com.amazonaws.gamelift#DnsName", + "traits": { + "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " + } + }, + "Port": { + "target": "com.amazonaws.gamelift#PositiveInteger", + "traits": { + "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

    " + } + }, "MatchedPlayerSessions": { "target": "com.amazonaws.gamelift#MatchedPlayerSessionList", "traits": { @@ -5990,7 +6082,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Connection information for the new game session that is created with matchmaking.\n (with StartMatchmaking). Once a match is set, the FlexMatch engine\n places the match and creates a new game session for it. This information, including the\n game session endpoint and player sessions for each player in the original matchmaking\n request, is added to the MatchmakingTicket, which can be retrieved by\n calling DescribeMatchmaking.

    " + "smithy.api#documentation": "

    Connection information for a new game session that is created in response to a StartMatchmaking request. Once a match is made, the FlexMatch engine\n creates a new game session for it. This information, including the game session endpoint\n and player sessions for each player in the original matchmaking request, is added to the\n MatchmakingTicket, which can be retrieved by calling DescribeMatchmaking.

    " } }, "com.amazonaws.gamelift#GameSessionData": { @@ -6049,40 +6141,10 @@ "com.amazonaws.gamelift#GameSessionPlacement": { "type": "structure", "members": { - "StartTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " - } - }, - "GameSessionData": { - "target": "com.amazonaws.gamelift#GameSessionData", - "traits": { - "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " - } - }, - "PlacedPlayerSessions": { - "target": "com.amazonaws.gamelift#PlacedPlayerSessionList", - "traits": { - "smithy.api#documentation": "

    A collection of information on player sessions created in response to the game\n session placement request. These player sessions are created only once a new game\n session is successfully placed (placement status is FULFILLED). This\n information includes the player ID (as provided in the placement request) and the\n corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

    " - } - }, - "EndTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this request was completed, canceled, or timed\n out.

    " - } - }, - "PlayerLatencies": { - "target": "com.amazonaws.gamelift#PlayerLatencyList", - "traits": { - "smithy.api#documentation": "

    Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

    " - } - }, - "IpAddress": { - "target": "com.amazonaws.gamelift#IpAddress", + "PlacementId": { + "target": "com.amazonaws.gamelift#IdStringModel", "traits": { - "smithy.api#documentation": "

    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is\n FULFILLED).

    " + "smithy.api#documentation": "

    A unique identifier for a game session placement.

    " } }, "GameSessionQueueName": { @@ -6091,10 +6153,16 @@ "smithy.api#documentation": "

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

    " } }, - "MatchmakerData": { - "target": "com.amazonaws.gamelift#MatchmakerData", + "Status": { + "target": "com.amazonaws.gamelift#GameSessionPlacementState", + "traits": { + "smithy.api#documentation": "

    Current status of the game session placement request.

    \n
      \n
    • \n

      \n PENDING -- The placement request is currently\n in the queue waiting to be processed.

      \n
    • \n
    • \n

      \n FULFILLED -- A new game session and player\n sessions (if requested) have been successfully created. Values for\n GameSessionArn and\n GameSessionRegion are available.

      \n
    • \n
    • \n

      \n CANCELLED -- The placement request was canceled\n with a call to StopGameSessionPlacement.

      \n
    • \n
    • \n

      \n TIMED_OUT -- A new game session was not\n successfully created before the time limit expired. You can resubmit the\n placement request as needed.

      \n
    • \n
    • \n

      \n FAILED -- GameLift is not able to complete the \n process of placing the game session. Common reasons are the \n game session terminated before the placement process was completed, or an unexpected\n internal error.

      \n
    • \n
    " + } + }, + "GameProperties": { + "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { - "smithy.api#documentation": "

    Information on the matchmaking process for this game. Data is in JSON syntax,\n formatted as a string. It identifies the matchmaking configuration used to create the\n match, and contains data on all players assigned to the match, including player\n attributes and team assignments. For more details on matchmaker data, see Match\n Data.

    " + "smithy.api#documentation": "

    Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " } }, "MaximumPlayerSessionCount": { @@ -6103,6 +6171,12 @@ "smithy.api#documentation": "

    The maximum number of players that can be connected simultaneously to the game session.

    " } }, + "GameSessionName": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " + } + }, "GameSessionId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { @@ -6115,34 +6189,40 @@ "smithy.api#documentation": "

    Identifier for the game session created by this placement request. This value is\n set once the new game session is placed (placement status is FULFILLED).\n This identifier is unique across all Regions. You can use this value as a\n GameSessionId value as needed.

    " } }, - "PlacementId": { - "target": "com.amazonaws.gamelift#IdStringModel", + "GameSessionRegion": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a game session placement.

    " + "smithy.api#documentation": "

    Name of the Region where the game session created by this placement request is\n running. This value is set once the new game session is placed (placement status is\n FULFILLED).

    " } }, - "DnsName": { - "target": "com.amazonaws.gamelift#DnsName", + "PlayerLatencies": { + "target": "com.amazonaws.gamelift#PlayerLatencyList", "traits": { - "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " + "smithy.api#documentation": "

    Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

    " } }, - "GameProperties": { - "target": "com.amazonaws.gamelift#GamePropertyList", + "StartTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " + "smithy.api#documentation": "

    Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "GameSessionRegion": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "EndTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    Name of the Region where the game session created by this placement request is\n running. This value is set once the new game session is placed (placement status is\n FULFILLED).

    " + "smithy.api#documentation": "

    Time stamp indicating when this request was completed, canceled, or timed\n out.

    " } }, - "GameSessionName": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "IpAddress": { + "target": "com.amazonaws.gamelift#IpAddress", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " + "smithy.api#documentation": "

    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is\n FULFILLED).

    " + } + }, + "DnsName": { + "target": "com.amazonaws.gamelift#DnsName", + "traits": { + "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " } }, "Port": { @@ -6151,10 +6231,22 @@ "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is\n FULFILLED).

    " } }, - "Status": { - "target": "com.amazonaws.gamelift#GameSessionPlacementState", + "PlacedPlayerSessions": { + "target": "com.amazonaws.gamelift#PlacedPlayerSessionList", "traits": { - "smithy.api#documentation": "

    Current status of the game session placement request.

    \n
      \n
    • \n

      \n PENDING -- The placement request is currently\n in the queue waiting to be processed.

      \n
    • \n
    • \n

      \n FULFILLED -- A new game session and player\n sessions (if requested) have been successfully created. Values for\n GameSessionArn and\n GameSessionRegion are available.

      \n
    • \n
    • \n

      \n CANCELLED -- The placement request was canceled\n with a call to StopGameSessionPlacement.

      \n
    • \n
    • \n

      \n TIMED_OUT -- A new game session was not\n successfully created before the time limit expired. You can resubmit the\n placement request as needed.

      \n
    • \n
    • \n

      \n FAILED -- GameLift is not able to complete the \n process of placing the game session. Common reasons are the \n game session terminated before the placement process was completed, or an unexpected\n internal error.

      \n
    • \n
    " + "smithy.api#documentation": "

    A collection of information on player sessions created in response to the game\n session placement request. These player sessions are created only once a new game\n session is successfully placed (placement status is FULFILLED). This\n information includes the player ID (as provided in the placement request) and the\n corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

    " + } + }, + "GameSessionData": { + "target": "com.amazonaws.gamelift#GameSessionData", + "traits": { + "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " + } + }, + "MatchmakerData": { + "target": "com.amazonaws.gamelift#MatchmakerData", + "traits": { + "smithy.api#documentation": "

    Information on the matchmaking process for this game. Data is in JSON syntax,\n formatted as a string. It identifies the matchmaking configuration used to create the\n match, and contains data on all players assigned to the match, including player\n attributes and team assignments. For more details on matchmaker data, see Match\n Data.

    " } } }, @@ -6192,24 +6284,12 @@ "com.amazonaws.gamelift#GameSessionQueue": { "type": "structure", "members": { - "Destinations": { - "target": "com.amazonaws.gamelift#GameSessionQueueDestinationList", - "traits": { - "smithy.api#documentation": "

    A list of fleets that can be used to fulfill game session placement requests in the queue. \n Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

    " - } - }, "Name": { "target": "com.amazonaws.gamelift#GameSessionQueueName", "traits": { "smithy.api#documentation": "

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

    " } }, - "PlayerLatencyPolicies": { - "target": "com.amazonaws.gamelift#PlayerLatencyPolicyList", - "traits": { - "smithy.api#documentation": "

    A collection of latency policies to apply when processing game sessions placement requests with \n player latency information. Multiple policies are evaluated in order of the maximum latency value, \n starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session \n placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. \n For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the \n remainder of the placement.

    " - } - }, "GameSessionQueueArn": { "target": "com.amazonaws.gamelift#GameSessionQueueArn", "traits": { @@ -6221,6 +6301,18 @@ "traits": { "smithy.api#documentation": "

    The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

    " } + }, + "PlayerLatencyPolicies": { + "target": "com.amazonaws.gamelift#PlayerLatencyPolicyList", + "traits": { + "smithy.api#documentation": "

    A collection of latency policies to apply when processing game sessions placement requests with \n player latency information. Multiple policies are evaluated in order of the maximum latency value, \n starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session \n placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. \n For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the \n remainder of the placement.

    " + } + }, + "Destinations": { + "target": "com.amazonaws.gamelift#GameSessionQueueDestinationList", + "traits": { + "smithy.api#documentation": "

    A list of fleets that can be used to fulfill game session placement requests in the queue. \n Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

    " + } } }, "traits": { @@ -6479,22 +6571,22 @@ "com.amazonaws.gamelift#Instance": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.gamelift#EC2InstanceType", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    EC2 instance type that defines the computing resources of this instance.\n

    " + "smithy.api#documentation": "

    A unique identifier for a fleet that the instance is in.

    " } }, - "IpAddress": { - "target": "com.amazonaws.gamelift#IpAddress", + "InstanceId": { + "target": "com.amazonaws.gamelift#InstanceId", "traits": { - "smithy.api#documentation": "

    IP address that is assigned to the instance.

    " + "smithy.api#documentation": "

    A unique identifier for an instance.

    " } }, - "Status": { - "target": "com.amazonaws.gamelift#InstanceStatus", + "IpAddress": { + "target": "com.amazonaws.gamelift#IpAddress", "traits": { - "smithy.api#documentation": "

    Current status of the instance. Possible statuses include the following:

    \n
      \n
    • \n

      \n PENDING -- The instance is in the process of\n being created and launching server processes as defined in the fleet's run-time\n configuration.

      \n
    • \n
    • \n

      \n ACTIVE -- The instance has been successfully\n created and at least one server process has successfully launched and reported\n back to Amazon GameLift that it is ready to host a game session. The instance is now\n considered ready to host game sessions.

      \n
    • \n
    • \n

      \n TERMINATING -- The instance is in the process\n of shutting down. This may happen to reduce capacity during a scaling down event\n or to recycle resources in the event of a problem.

      \n
    • \n
    " + "smithy.api#documentation": "

    IP address that is assigned to the instance.

    " } }, "DnsName": { @@ -6503,22 +6595,22 @@ "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "OperatingSystem": { + "target": "com.amazonaws.gamelift#OperatingSystem", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet that the instance is in.

    " + "smithy.api#documentation": "

    Operating system that is running on this instance.

    " } }, - "InstanceId": { - "target": "com.amazonaws.gamelift#InstanceId", + "Type": { + "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

    A unique identifier for an instance.

    " + "smithy.api#documentation": "

    EC2 instance type that defines the computing resources of this instance.\n

    " } }, - "OperatingSystem": { - "target": "com.amazonaws.gamelift#OperatingSystem", + "Status": { + "target": "com.amazonaws.gamelift#InstanceStatus", "traits": { - "smithy.api#documentation": "

    Operating system that is running on this instance.

    " + "smithy.api#documentation": "

    Current status of the instance. Possible statuses include the following:

    \n
      \n
    • \n

      \n PENDING -- The instance is in the process of\n being created and launching server processes as defined in the fleet's run-time\n configuration.

      \n
    • \n
    • \n

      \n ACTIVE -- The instance has been successfully\n created and at least one server process has successfully launched and reported\n back to Amazon GameLift that it is ready to host a game session. The instance is now\n considered ready to host game sessions.

      \n
    • \n
    • \n

      \n TERMINATING -- The instance is in the process\n of shutting down. This may happen to reduce capacity during a scaling down event\n or to recycle resources in the event of a problem.

      \n
    • \n
    " } }, "CreationTime": { @@ -6535,16 +6627,10 @@ "com.amazonaws.gamelift#InstanceAccess": { "type": "structure", "members": { - "IpAddress": { - "target": "com.amazonaws.gamelift#IpAddress", - "traits": { - "smithy.api#documentation": "

    IP address that is assigned to the instance.

    " - } - }, - "OperatingSystem": { - "target": "com.amazonaws.gamelift#OperatingSystem", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    Operating system that is running on the instance.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet containing the instance being accessed.

    " } }, "InstanceId": { @@ -6553,10 +6639,16 @@ "smithy.api#documentation": "

    A unique identifier for an instance being accessed.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "IpAddress": { + "target": "com.amazonaws.gamelift#IpAddress", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet containing the instance being accessed.

    " + "smithy.api#documentation": "

    IP address that is assigned to the instance.

    " + } + }, + "OperatingSystem": { + "target": "com.amazonaws.gamelift#OperatingSystem", + "traits": { + "smithy.api#documentation": "

    Operating system that is running on the instance.

    " } }, "Credentials": { @@ -6594,18 +6686,18 @@ "com.amazonaws.gamelift#InstanceDefinition": { "type": "structure", "members": { - "WeightedCapacity": { - "target": "com.amazonaws.gamelift#WeightedCapacity", - "traits": { - "smithy.api#documentation": "

    Instance weighting that indicates how much this instance type contributes to the total\n capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the\n instance type's cost per unit hour and better identify the most cost-effective options.\n For detailed information on weighting instance capacity, see Instance\n Weighting in the Amazon EC2 Auto Scaling User Guide.\n Default value is \"1\".

    " - } - }, "InstanceType": { "target": "com.amazonaws.gamelift#GameServerGroupInstanceType", "traits": { "smithy.api#documentation": "

    An EC2 instance type designation.

    ", "smithy.api#required": {} } + }, + "WeightedCapacity": { + "target": "com.amazonaws.gamelift#WeightedCapacity", + "traits": { + "smithy.api#documentation": "

    Instance weighting that indicates how much this instance type contributes to the total\n capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the\n instance type's cost per unit hour and better identify the most cost-effective options.\n For detailed information on weighting instance capacity, see Instance\n Weighting in the Amazon EC2 Auto Scaling User Guide.\n Default value is \"1\".

    " + } } }, "traits": { @@ -6712,10 +6804,10 @@ "com.amazonaws.gamelift#IpPermission": { "type": "structure", "members": { - "IpRange": { - "target": "com.amazonaws.gamelift#NonBlankString", + "FromPort": { + "target": "com.amazonaws.gamelift#PortNumber", "traits": { - "smithy.api#documentation": "

    A range of allowed IP addresses. This value must be expressed in CIDR notation.\n Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened\n version \"0.0.0.0/[subnet mask]\".

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

    A starting value for a range of allowed port numbers.

    ", "smithy.api#required": {} } }, @@ -6726,17 +6818,17 @@ "smithy.api#required": {} } }, - "Protocol": { - "target": "com.amazonaws.gamelift#IpProtocol", + "IpRange": { + "target": "com.amazonaws.gamelift#NonBlankString", "traits": { - "smithy.api#documentation": "

    The network communication protocol used by the fleet.

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

    A range of allowed IP addresses. This value must be expressed in CIDR notation.\n Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened\n version \"0.0.0.0/[subnet mask]\".

    ", "smithy.api#required": {} } }, - "FromPort": { - "target": "com.amazonaws.gamelift#PortNumber", + "Protocol": { + "target": "com.amazonaws.gamelift#IpProtocol", "traits": { - "smithy.api#documentation": "

    A starting value for a range of allowed port numbers.

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

    The network communication protocol used by the fleet.

    ", "smithy.api#required": {} } } @@ -6810,17 +6902,17 @@ "smithy.api#documentation": "

    A unique identifier for an existing EC2 launch template.

    " } }, - "Version": { - "target": "com.amazonaws.gamelift#LaunchTemplateVersion", - "traits": { - "smithy.api#documentation": "

    The version of the EC2 launch template to use. If no version is specified, the\n default version will be used. With Amazon EC2, you can specify a default version for a\n launch template. If none is set, the default is the first version created.

    " - } - }, "LaunchTemplateName": { "target": "com.amazonaws.gamelift#LaunchTemplateName", "traits": { "smithy.api#documentation": "

    A readable identifier for an existing EC2 launch template.

    " } + }, + "Version": { + "target": "com.amazonaws.gamelift#LaunchTemplateVersion", + "traits": { + "smithy.api#documentation": "

    The version of the EC2 launch template to use. If no version is specified, the\n default version will be used. With Amazon EC2, you can specify a default version for a\n launch template. If none is set, the default is the first version created.

    " + } } }, "traits": { @@ -6912,17 +7004,17 @@ "com.amazonaws.gamelift#ListAliasesOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "Aliases": { "target": "com.amazonaws.gamelift#AliasList", "traits": { "smithy.api#documentation": "

    A collection of alias resources that match the request parameters.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -7037,18 +7129,18 @@ "com.amazonaws.gamelift#ListFleetsInput": { "type": "structure", "members": { - "ScriptId": { - "target": "com.amazonaws.gamelift#ScriptIdOrArn", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using a\n specified script. Use either the script ID or ARN value. To retrieve all fleets, leave\n this parameter empty.

    " - } - }, "BuildId": { "target": "com.amazonaws.gamelift#BuildIdOrArn", "traits": { "smithy.api#documentation": "

    A unique identifier for a build to return fleets for. Use this parameter to return only fleets using a specified\n build. Use either the build ID or ARN value. To retrieve all fleets, do not include\n either a BuildId and ScriptID parameter.

    " } }, + "ScriptId": { + "target": "com.amazonaws.gamelift#ScriptIdOrArn", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using a\n specified script. Use either the script ID or ARN value. To retrieve all fleets, leave\n this parameter empty.

    " + } + }, "Limit": { "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { @@ -7069,17 +7161,17 @@ "com.amazonaws.gamelift#ListFleetsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "FleetIds": { "target": "com.amazonaws.gamelift#FleetIdList", "traits": { "smithy.api#documentation": "

    Set of fleet IDs matching the list request. You can retrieve additional information\n about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, or\n DescribeFleetUtilization.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } }, "traits": { @@ -7134,17 +7226,17 @@ "com.amazonaws.gamelift#ListGameServerGroupsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "GameServerGroups": { "target": "com.amazonaws.gamelift#GameServerGroups", "traits": { "smithy.api#documentation": "

    A collection of game server group objects that match the request.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } } }, @@ -7179,10 +7271,11 @@ "com.amazonaws.gamelift#ListGameServersInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { - "smithy.api#documentation": "

    A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " + "smithy.api#documentation": "

    An identifier for the game server group to retrieve a list of game servers from. \n Use either the GameServerGroup name or ARN value.

    ", + "smithy.api#required": {} } }, "SortOrder": { @@ -7197,11 +7290,10 @@ "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential segments.

    " } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    An identifier for the game server group to retrieve a list of game servers from. \n Use either the GameServerGroup name or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } } } @@ -7271,17 +7363,17 @@ "com.amazonaws.gamelift#ListScriptsOutput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.gamelift#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " - } - }, "Scripts": { "target": "com.amazonaws.gamelift#ScriptList", "traits": { "smithy.api#documentation": "

    A set of properties describing the requested script.

    " } + }, + "NextToken": { + "target": "com.amazonaws.gamelift#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

    " + } } } }, @@ -7382,64 +7474,52 @@ "com.amazonaws.gamelift#MatchmakingConfiguration": { "type": "structure", "members": { - "GameProperties": { - "target": "com.amazonaws.gamelift#GamePropertyList", - "traits": { - "smithy.api#documentation": "

    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

    " - } - }, - "AcceptanceTimeoutSeconds": { - "target": "com.amazonaws.gamelift#MatchmakingAcceptanceTimeoutInteger", - "traits": { - "smithy.api#documentation": "

    The length of time (in seconds) to wait for players to accept a proposed match. If any\n player rejects the match or fails to accept before the timeout, the ticket continues to\n look for an acceptable match.

    " - } - }, "Name": { "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { "smithy.api#documentation": "

    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a\n matchmaking request or ticket.

    " } }, - "RequestTimeoutSeconds": { - "target": "com.amazonaws.gamelift#MatchmakingRequestTimeoutInteger", + "ConfigurationArn": { + "target": "com.amazonaws.gamelift#MatchmakingConfigurationArn", "traits": { - "smithy.api#documentation": "

    The maximum duration, in seconds, that a matchmaking ticket can remain in process\n before timing out. Requests that fail due to timing out can be resubmitted as\n needed.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the\n Name value.

    " } }, - "CustomEventData": { - "target": "com.amazonaws.gamelift#CustomEventData", + "Description": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Information to attach to all events related to the matchmaking configuration.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with matchmaking configuration.

    " } }, - "NotificationTarget": { - "target": "com.amazonaws.gamelift#SnsArnStringModel", + "GameSessionQueueArns": { + "target": "com.amazonaws.gamelift#QueueArnsList", "traits": { - "smithy.api#documentation": "

    An SNS topic ARN that is set up to receive matchmaking notifications.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new\n GameLift-hosted game sessions for matches that are created with this matchmaking\n configuration. Thais property is not set when FlexMatchMode is set to\n STANDALONE.

    " } }, - "AcceptanceRequired": { - "target": "com.amazonaws.gamelift#BooleanModel", + "RequestTimeoutSeconds": { + "target": "com.amazonaws.gamelift#MatchmakingRequestTimeoutInteger", "traits": { - "smithy.api#documentation": "

    A flag that indicates whether a match that was created with this configuration must be\n accepted by the matched players. To require acceptance, set to TRUE.

    " + "smithy.api#documentation": "

    The maximum duration, in seconds, that a matchmaking ticket can remain in process\n before timing out. Requests that fail due to timing out can be resubmitted as\n needed.

    " } }, - "BackfillMode": { - "target": "com.amazonaws.gamelift#BackfillMode", + "AcceptanceTimeoutSeconds": { + "target": "com.amazonaws.gamelift#MatchmakingAcceptanceTimeoutInteger", "traits": { - "smithy.api#documentation": "

    The method used to backfill game sessions created with this matchmaking configuration.\n MANUAL indicates that the game makes backfill requests or does not use the match\n backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open\n slots. Learn more about manual and automatic backfill in Backfill Existing Games\n with FlexMatch.

    " + "smithy.api#documentation": "

    The length of time (in seconds) to wait for players to accept a proposed match, if\n acceptance is required. If any player rejects the match or fails to accept before the\n timeout, the tickets are returned to the ticket pool and continue to be evaluated for an\n acceptable match.

    " } }, - "ConfigurationArn": { - "target": "com.amazonaws.gamelift#MatchmakingConfigurationArn", + "AcceptanceRequired": { + "target": "com.amazonaws.gamelift#BooleanModel", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the\n Name value.

    " + "smithy.api#documentation": "

    A flag that indicates whether a match that was created with this configuration must be\n accepted by the matched players. To require acceptance, set to TRUE. When this option is\n enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate\n when a completed potential match is waiting for player acceptance.

    " } }, - "Description": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "RuleSetName": { + "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with matchmaking configuration.

    " + "smithy.api#documentation": "

    A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use\n rule sets that are defined in the same Region.

    " } }, "RuleSetArn": { @@ -7448,16 +7528,22 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

    " } }, - "GameSessionQueueArns": { - "target": "com.amazonaws.gamelift#QueueArnsList", + "NotificationTarget": { + "target": "com.amazonaws.gamelift#SnsArnStringModel", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are\n created with this matchmaking configuration. Queues can be located in any Region.

    " + "smithy.api#documentation": "

    An SNS topic ARN that is set up to receive matchmaking notifications.

    " } }, - "GameSessionData": { - "target": "com.amazonaws.gamelift#GameSessionData", + "AdditionalPlayerCount": { + "target": "com.amazonaws.gamelift#WholeNumber", + "traits": { + "smithy.api#documentation": "

    The number of player slots in a match to keep open for future players. For example, \n assume that the configuration's rule set specifies a match for a single 12-person team. If\n the additional player count is set to 2, only 10 players are initially selected for the match. This parameter is not used when FlexMatchMode is set to\n STANDALONE.

    " + } + }, + "CustomEventData": { + "target": "com.amazonaws.gamelift#CustomEventData", "traits": { - "smithy.api#documentation": "

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession\n object that is created for a successful match.

    " + "smithy.api#documentation": "

    Information to attach to all events related to the matchmaking configuration.

    " } }, "CreationTime": { @@ -7466,16 +7552,28 @@ "smithy.api#documentation": "

    The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "AdditionalPlayerCount": { - "target": "com.amazonaws.gamelift#WholeNumber", + "GameProperties": { + "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { - "smithy.api#documentation": "

    The number of player slots in a match to keep open for future players. For example, \n assume that the configuration's rule set specifies a match for a single 12-person team. If\n the additional player count is set to 2, only 10 players are initially selected for the match.

    " + "smithy.api#documentation": "

    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession\n object that is created for a successful match. This parameter is not used when\n FlexMatchMode is set to STANDALONE.

    " } }, - "RuleSetName": { - "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "GameSessionData": { + "target": "com.amazonaws.gamelift#GameSessionData", "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use\n rule sets that are defined in the same Region.

    " + "smithy.api#documentation": "

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object\n that is created for a successful match. This parameter is not used when\n FlexMatchMode is set to STANDALONE.

    " + } + }, + "BackfillMode": { + "target": "com.amazonaws.gamelift#BackfillMode", + "traits": { + "smithy.api#documentation": "

    The method used to backfill game sessions created with this matchmaking configuration.\n MANUAL indicates that the game makes backfill requests or does not use the match\n backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open\n slots. Learn more about manual and automatic backfill in Backfill Existing Games\n with FlexMatch. Automatic backfill is not available when\n FlexMatchMode is set to STANDALONE.

    " + } + }, + "FlexMatchMode": { + "target": "com.amazonaws.gamelift#FlexMatchMode", + "traits": { + "smithy.api#documentation": "

    Indicates whether this matchmaking configuration is being used with GameLift hosting or\n as a standalone matchmaking solution.

    \n
      \n
    • \n

      \n STANDALONE - FlexMatch forms matches and returns\n match information, including players and team assignments, in a \n \n MatchmakingSucceeded event.

      \n
    • \n
    • \n

      \n WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to\n start a game session for the match.

      \n
    • \n
    " } } }, @@ -7599,7 +7697,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Set of rule statements, used with FlexMatch, that determine how to build your player\n matches. Each rule set describes a type of group to be created and defines the\n parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

    \n

    A rule set may define the following elements for a match. For detailed information\n and examples showing how to construct a rule set, see Build a FlexMatch Rule\n Set.

    \n
      \n
    • \n

      Teams -- Required. A rule set must define one or multiple teams for the\n match and set minimum and maximum team sizes. For example, a rule set might\n describe a 4x4 match that requires all eight slots to be filled.

      \n
    • \n
    • \n

      Player attributes -- Optional. These attributes specify a set of player\n characteristics to evaluate when looking for a match. Matchmaking requests that\n use a rule set with player attributes must provide the corresponding attribute\n values. For example, an attribute might specify a player's skill or\n level.

      \n
    • \n
    • \n

      Rules -- Optional. Rules define how to evaluate potential players for a\n match based on player attributes. A rule might specify minimum requirements for\n individual players, teams, or entire matches. For example, a rule might require\n each player to meet a certain skill level, each team to have at least one player\n in a certain role, or the match to have a minimum average skill level. or may\n describe an entire group--such as all teams must be evenly matched or have at\n least one player in a certain role.

      \n
    • \n
    • \n

      Expansions -- Optional. Expansions allow you to relax the rules after a\n period of time when no acceptable matches are found. This feature lets you\n balance getting players into games in a reasonable amount of time instead of\n making them wait indefinitely for the best possible match. For example, you\n might use an expansion to increase the maximum skill variance between players\n after 30 seconds.

      \n
    • \n
    " + "smithy.api#documentation": "

    Set of rule statements, used with FlexMatch, that determine how to build your player\n matches. Each rule set describes a type of group to be created and defines the\n parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

    \n

    A rule set may define the following elements for a match. For detailed information\n and examples showing how to construct a rule set, see Build a FlexMatch Rule\n Set.

    \n
      \n
    • \n

      Teams -- Required. A rule set must define one or multiple teams for the\n match and set minimum and maximum team sizes. For example, a rule set might\n describe a 4x4 match that requires all eight slots to be filled.

      \n
    • \n
    • \n

      Player attributes -- Optional. These attributes specify a set of player\n characteristics to evaluate when looking for a match. Matchmaking requests that\n use a rule set with player attributes must provide the corresponding attribute\n values. For example, an attribute might specify a player's skill or\n level.

      \n
    • \n
    • \n

      Rules -- Optional. Rules define how to evaluate potential players for a\n match based on player attributes. A rule might specify minimum requirements for\n individual players, teams, or entire matches. For example, a rule might require\n each player to meet a certain skill level, each team to have at least one player\n in a certain role, or the match to have a minimum average skill level. or may\n describe an entire group--such as all teams must be evenly matched or have at\n least one player in a certain role.

      \n
    • \n
    • \n

      Expansions -- Optional. Expansions allow you to relax the rules after a\n period of time when no acceptable matches are found. This feature lets you\n balance getting players into games in a reasonable amount of time instead of\n making them wait indefinitely for the best possible match. For example, you\n might use an expansion to increase the maximum skill variance between players\n after 30 seconds.

      \n
    • \n
    " } }, "com.amazonaws.gamelift#MatchmakingRuleSetArn": { @@ -7640,28 +7738,28 @@ "com.amazonaws.gamelift#MatchmakingTicket": { "type": "structure", "members": { - "ConfigurationName": { + "TicketId": { "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { - "smithy.api#documentation": "

    Name of the MatchmakingConfiguration that is used with this\n ticket. Matchmaking configurations determine how players are grouped into a match and\n how a new game session is created for the match.

    " + "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket.

    " } }, - "Players": { - "target": "com.amazonaws.gamelift#PlayerList", + "ConfigurationName": { + "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { - "smithy.api#documentation": "

    A set of Player objects, each representing a player to find matches\n for. Players are identified by a unique player ID and may include latency data for use\n during matchmaking. If the ticket is in status COMPLETED, the\n Player objects include the team the players were assigned to in the\n resulting match.

    " + "smithy.api#documentation": "

    Name of the MatchmakingConfiguration that is used with this\n ticket. Matchmaking configurations determine how players are grouped into a match and\n how a new game session is created for the match.

    " } }, - "GameSessionConnectionInfo": { - "target": "com.amazonaws.gamelift#GameSessionConnectionInfo", + "ConfigurationArn": { + "target": "com.amazonaws.gamelift#MatchmakingConfigurationArn", "traits": { - "smithy.api#documentation": "

    Identifier and connection information of the game session created for the match.\n This information is added to the ticket only after the matchmaking request has been\n successfully completed.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket.

    " } }, - "TicketId": { - "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "Status": { + "target": "com.amazonaws.gamelift#MatchmakingConfigurationStatus", "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket.

    " + "smithy.api#documentation": "

    Current status of the matchmaking request.

    \n
      \n
    • \n

      \n QUEUED -- The matchmaking request has been\n received and is currently waiting to be processed.

      \n
    • \n
    • \n

      \n SEARCHING -- The matchmaking request is\n currently being processed.

      \n
    • \n
    • \n

      \n REQUIRES_ACCEPTANCE -- A match has been\n proposed and the players must accept the match (see AcceptMatch). This status is used only with requests that use a matchmaking configuration\n with a player acceptance requirement.

      \n
    • \n
    • \n

      \n PLACING -- The FlexMatch engine has matched\n players and is in the process of placing a new game session for the\n match.

      \n
    • \n
    • \n

      \n COMPLETED -- Players have been matched and a\n game session is ready to host the players. A ticket in this state contains the\n necessary connection information for players.

      \n
    • \n
    • \n

      \n FAILED -- The matchmaking request was not\n completed.

      \n
    • \n
    • \n

      \n CANCELLED -- The matchmaking request was\n canceled. This may be the result of a call to StopMatchmaking\n or a proposed match that one or more players failed to accept.

      \n
    • \n
    • \n

      \n TIMED_OUT -- The matchmaking request was not\n successful within the duration specified in the matchmaking configuration.\n

      \n
    • \n
    \n \n

    Matchmaking requests that fail to successfully complete (statuses FAILED,\n CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket\n IDs.

    \n
    " } }, "StatusReason": { @@ -7670,10 +7768,10 @@ "smithy.api#documentation": "

    Code to explain the current status. For example, a status reason may indicate when\n a ticket has returned to SEARCHING status after a proposed match fails to\n receive player acceptances.

    " } }, - "EstimatedWaitTime": { - "target": "com.amazonaws.gamelift#WholeNumber", + "StatusMessage": { + "target": "com.amazonaws.gamelift#StringModel", "traits": { - "smithy.api#documentation": "

    Average amount of time (in seconds) that players are currently waiting for a match.\n If there is not enough recent data, this property may be empty.

    " + "smithy.api#documentation": "

    Additional information about the current status.

    " } }, "StartTime": { @@ -7688,22 +7786,22 @@ "smithy.api#documentation": "

    Time stamp indicating when this matchmaking request stopped being processed due to\n success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "StatusMessage": { - "target": "com.amazonaws.gamelift#StringModel", + "Players": { + "target": "com.amazonaws.gamelift#PlayerList", "traits": { - "smithy.api#documentation": "

    Additional information about the current status.

    " + "smithy.api#documentation": "

    A set of Player objects, each representing a player to find matches\n for. Players are identified by a unique player ID and may include latency data for use\n during matchmaking. If the ticket is in status COMPLETED, the\n Player objects include the team the players were assigned to in the\n resulting match.

    " } }, - "ConfigurationArn": { - "target": "com.amazonaws.gamelift#MatchmakingConfigurationArn", + "GameSessionConnectionInfo": { + "target": "com.amazonaws.gamelift#GameSessionConnectionInfo", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket.

    " + "smithy.api#documentation": "

    Identifier and connection information of the game session created for the match. This\n information is added to the ticket only after the matchmaking request has been\n successfully completed. This parameter is not set when FlexMatch is being used without\n GameLift hosting.

    " } }, - "Status": { - "target": "com.amazonaws.gamelift#MatchmakingConfigurationStatus", + "EstimatedWaitTime": { + "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Current status of the matchmaking request.

    \n
      \n
    • \n

      \n QUEUED -- The matchmaking request has been\n received and is currently waiting to be processed.

      \n
    • \n
    • \n

      \n SEARCHING -- The matchmaking request is\n currently being processed.

      \n
    • \n
    • \n

      \n REQUIRES_ACCEPTANCE -- A match has been\n proposed and the players must accept the match (see AcceptMatch). This status is used only with requests that use a matchmaking configuration\n with a player acceptance requirement.

      \n
    • \n
    • \n

      \n PLACING -- The FlexMatch engine has matched\n players and is in the process of placing a new game session for the\n match.

      \n
    • \n
    • \n

      \n COMPLETED -- Players have been matched and a\n game session is ready to host the players. A ticket in this state contains the\n necessary connection information for players.

      \n
    • \n
    • \n

      \n FAILED -- The matchmaking request was not\n completed.

      \n
    • \n
    • \n

      \n CANCELLED -- The matchmaking request was\n canceled. This may be the result of a call to StopMatchmaking\n or a proposed match that one or more players failed to accept.

      \n
    • \n
    • \n

      \n TIMED_OUT -- The matchmaking request was not\n successful within the duration specified in the matchmaking configuration.\n

      \n
    • \n
    \n \n

    Matchmaking requests that fail to successfully complete (statuses FAILED,\n CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket\n IDs.

    \n
    " + "smithy.api#documentation": "

    Average amount of time (in seconds) that players are currently waiting for a match.\n If there is not enough recent data, this property may be empty.

    " } } }, @@ -7902,10 +8000,10 @@ "com.amazonaws.gamelift#Player": { "type": "structure", "members": { - "Team": { + "PlayerId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Name of the team that the player is assigned to in a match. Team names are defined\n in a matchmaking rule set.

    " + "smithy.api#documentation": "

    A unique identifier for a player

    " } }, "PlayerAttributes": { @@ -7914,16 +8012,16 @@ "smithy.api#documentation": "

    A collection of key:value pairs containing player information for use in matchmaking.\n Player attribute keys must match the playerAttributes used in a\n matchmaking rule set. Example: \"PlayerAttributes\": {\"skill\": {\"N\": \"23\"},\n \"gameMode\": {\"S\": \"deathmatch\"}}.

    " } }, - "LatencyInMs": { - "target": "com.amazonaws.gamelift#LatencyMap", + "Team": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only\n in Regions for which latency is reported.

    \n

    If a matchmaker has a rule that evaluates player latency, players must report\n latency in order to be matched. If no latency is reported in this scenario, FlexMatch\n assumes that no Regions are available to the player and the ticket is not matchable.\n

    " + "smithy.api#documentation": "

    Name of the team that the player is assigned to in a match. Team names are defined\n in a matchmaking rule set.

    " } }, - "PlayerId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "LatencyInMs": { + "target": "com.amazonaws.gamelift#LatencyMap", "traits": { - "smithy.api#documentation": "

    A unique identifier for a player

    " + "smithy.api#documentation": "

    Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only\n in Regions for which latency is reported.

    \n

    If a matchmaker has a rule that evaluates player latency, players must report\n latency in order to be matched. If no latency is reported in this scenario, FlexMatch\n assumes that no Regions are available to the player and the ticket is not matchable.\n

    " } } }, @@ -7979,17 +8077,17 @@ "smithy.api#documentation": "

    A unique identifier for a player associated with the latency data.

    " } }, - "LatencyInMilliseconds": { - "target": "com.amazonaws.gamelift#Float", - "traits": { - "smithy.api#documentation": "

    Amount of time that represents the time lag experienced by the player when\n connected to the specified Region.

    " - } - }, "RegionIdentifier": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    Name of the Region that is associated with the latency value.

    " } + }, + "LatencyInMilliseconds": { + "target": "com.amazonaws.gamelift#Float", + "traits": { + "smithy.api#documentation": "

    Amount of time that represents the time lag experienced by the player when\n connected to the specified Region.

    " + } } }, "traits": { @@ -8037,46 +8135,34 @@ "com.amazonaws.gamelift#PlayerSession": { "type": "structure", "members": { - "GameSessionId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A unique identifier for the game session that the player session is connected to.

    " - } - }, - "Status": { - "target": "com.amazonaws.gamelift#PlayerSessionStatus", - "traits": { - "smithy.api#documentation": "

    Current status of the player session.

    \n

    Possible player session statuses include the following:

    \n
      \n
    • \n

      \n RESERVED -- The player session request has been\n received, but the player has not yet connected to the server process and/or been\n validated.

      \n
    • \n
    • \n

      \n ACTIVE -- The player has been validated by the\n server process and is currently connected.

      \n
    • \n
    • \n

      \n COMPLETED -- The player connection has been\n dropped.

      \n
    • \n
    • \n

      \n TIMEDOUT -- A player session request was\n received, but the player did not connect and/or was not validated within the\n timeout limit (60 seconds).

      \n
    • \n
    " - } - }, - "TerminationTime": { - "target": "com.amazonaws.gamelift#Timestamp", - "traits": { - "smithy.api#documentation": "

    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " - } - }, "PlayerSessionId": { "target": "com.amazonaws.gamelift#PlayerSessionId", "traits": { "smithy.api#documentation": "

    A unique identifier for a player session.

    " } }, - "DnsName": { - "target": "com.amazonaws.gamelift#DnsName", + "PlayerId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " + "smithy.api#documentation": "

    A unique identifier for a player that is associated with this player session.

    " } }, - "PlayerId": { + "GameSessionId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a player that is associated with this player session.

    " + "smithy.api#documentation": "

    A unique identifier for the game session that the player session is connected to.

    " } }, - "Port": { - "target": "com.amazonaws.gamelift#PortNumber", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift server process, an app\n needs both the IP address and port number.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet that the player's game session is running on.

    " + } + }, + "FleetArn": { + "target": "com.amazonaws.gamelift#FleetArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on. \n

    " } }, "CreationTime": { @@ -8085,16 +8171,16 @@ "smithy.api#documentation": "

    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "TerminationTime": { + "target": "com.amazonaws.gamelift#Timestamp", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet that the player's game session is running on.

    " + "smithy.api#documentation": "

    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "FleetArn": { - "target": "com.amazonaws.gamelift#FleetArn", + "Status": { + "target": "com.amazonaws.gamelift#PlayerSessionStatus", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on. \n

    " + "smithy.api#documentation": "

    Current status of the player session.

    \n

    Possible player session statuses include the following:

    \n
      \n
    • \n

      \n RESERVED -- The player session request has been\n received, but the player has not yet connected to the server process and/or been\n validated.

      \n
    • \n
    • \n

      \n ACTIVE -- The player has been validated by the\n server process and is currently connected.

      \n
    • \n
    • \n

      \n COMPLETED -- The player connection has been\n dropped.

      \n
    • \n
    • \n

      \n TIMEDOUT -- A player session request was\n received, but the player did not connect and/or was not validated within the\n timeout limit (60 seconds).

      \n
    • \n
    " } }, "IpAddress": { @@ -8103,6 +8189,18 @@ "smithy.api#documentation": "

    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

    " } }, + "DnsName": { + "target": "com.amazonaws.gamelift#DnsName", + "traits": { + "smithy.api#documentation": "

    DNS identifier assigned to the instance that is running the game session. Values have\n the following format:

    \n \n

    When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    " + } + }, + "Port": { + "target": "com.amazonaws.gamelift#PortNumber", + "traits": { + "smithy.api#documentation": "

    Port number for the game session. To connect to a Amazon GameLift server process, an app\n needs both the IP address and port number.

    " + } + }, "PlayerData": { "target": "com.amazonaws.gamelift#PlayerData", "traits": { @@ -8251,29 +8349,24 @@ "com.amazonaws.gamelift#PutScalingPolicyInput": { "type": "structure", "members": { - "ScalingAdjustment": { - "target": "com.amazonaws.gamelift#Integer", - "traits": { - "smithy.api#documentation": "

    Amount of adjustment to make, based on the scaling adjustment type.

    " - } - }, - "EvaluationPeriods": { - "target": "com.amazonaws.gamelift#PositiveInteger", + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Length of time (in minutes) the metric must be at or beyond the threshold before a\n scaling event is triggered.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

    ", + "smithy.api#required": {} } }, - "Threshold": { - "target": "com.amazonaws.gamelift#Double", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    Metric value used to trigger a scaling event.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet\n cannot be in any of the following statuses: ERROR or DELETING.

    ", + "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ScalingAdjustment": { + "target": "com.amazonaws.gamelift#Integer", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Amount of adjustment to make, based on the scaling adjustment type.

    " } }, "ScalingAdjustmentType": { @@ -8282,16 +8375,10 @@ "smithy.api#documentation": "

    The type of adjustment to make to a fleet's instance count (see FleetCapacity):

    \n
      \n
    • \n

      \n ChangeInCapacity -- add (or subtract) the\n scaling adjustment value from the current instance count. Positive values scale\n up while negative values scale down.

      \n
    • \n
    • \n

      \n ExactCapacity -- set the instance count to the\n scaling adjustment value.

      \n
    • \n
    • \n

      \n PercentChangeInCapacity -- increase or reduce\n the current instance count by the scaling adjustment, read as a percentage.\n Positive values scale up while negative values scale down; for example, a value\n of \"-10\" scales the fleet down by 10%.

      \n
    • \n
    " } }, - "PolicyType": { - "target": "com.amazonaws.gamelift#PolicyType", - "traits": { - "smithy.api#documentation": "

    The type of scaling policy to create. For a target-based policy, set the parameter\n MetricName to 'PercentAvailableGameSessions' and specify a\n TargetConfiguration. For a rule-based policy set the following\n parameters: MetricName, ComparisonOperator,\n Threshold, EvaluationPeriods,\n ScalingAdjustmentType, and\n ScalingAdjustment.

    " - } - }, - "TargetConfiguration": { - "target": "com.amazonaws.gamelift#TargetConfiguration", + "Threshold": { + "target": "com.amazonaws.gamelift#Double", "traits": { - "smithy.api#documentation": "

    The settings for a target-based scaling policy.

    " + "smithy.api#documentation": "

    Metric value used to trigger a scaling event.

    " } }, "ComparisonOperator": { @@ -8300,6 +8387,12 @@ "smithy.api#documentation": "

    Comparison operator to use when measuring the metric against the threshold\n value.

    " } }, + "EvaluationPeriods": { + "target": "com.amazonaws.gamelift#PositiveInteger", + "traits": { + "smithy.api#documentation": "

    Length of time (in minutes) the metric must be at or beyond the threshold before a\n scaling event is triggered.

    " + } + }, "MetricName": { "target": "com.amazonaws.gamelift#MetricName", "traits": { @@ -8307,11 +8400,16 @@ "smithy.api#required": {} } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "PolicyType": { + "target": "com.amazonaws.gamelift#PolicyType", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet\n cannot be in any of the following statuses: ERROR or DELETING.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The type of scaling policy to create. For a target-based policy, set the parameter\n MetricName to 'PercentAvailableGameSessions' and specify a\n TargetConfiguration. For a rule-based policy set the following\n parameters: MetricName, ComparisonOperator,\n Threshold, EvaluationPeriods,\n ScalingAdjustmentType, and\n ScalingAdjustment.

    " + } + }, + "TargetConfiguration": { + "target": "com.amazonaws.gamelift#TargetConfiguration", + "traits": { + "smithy.api#documentation": "

    The settings for a target-based scaling policy.

    " } } }, @@ -8371,16 +8469,11 @@ "com.amazonaws.gamelift#RegisterGameServerInput": { "type": "structure", "members": { - "ConnectionInfo": { - "target": "com.amazonaws.gamelift#GameServerConnectionInfo", - "traits": { - "smithy.api#documentation": "

    Information that is needed to make inbound client connections to the game server. This\n might include the IP address and port, DNS name, and other information.

    " - } - }, - "GameServerData": { - "target": "com.amazonaws.gamelift#GameServerData", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { - "smithy.api#documentation": "

    A set of custom game server properties, formatted as a single string value. This data \n is passed to a game client or service when it requests information on game servers using\n ListGameServers or ClaimGameServer.

    " + "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    ", + "smithy.api#required": {} } }, "GameServerId": { @@ -8397,11 +8490,16 @@ "smithy.api#required": {} } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", + "ConnectionInfo": { + "target": "com.amazonaws.gamelift#GameServerConnectionInfo", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Information that is needed to make inbound client connections to the game server. This\n might include the IP address and port, DNS name, and other information.

    " + } + }, + "GameServerData": { + "target": "com.amazonaws.gamelift#GameServerData", + "traits": { + "smithy.api#documentation": "

    A set of custom game server properties, formatted as a single string value. This data \n is passed to a game client or service when it requests information on game servers using\n ListGameServers or ClaimGameServer.

    " } } } @@ -8591,17 +8689,17 @@ "com.amazonaws.gamelift#ResumeGameServerGroupInput": { "type": "structure", "members": { - "ResumeActions": { - "target": "com.amazonaws.gamelift#GameServerGroupActions", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { - "smithy.api#documentation": "

    The activity to resume for this game server group.

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

    A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

    ", "smithy.api#required": {} } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", + "ResumeActions": { + "target": "com.amazonaws.gamelift#GameServerGroupActions", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

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

    The activity to resume for this game server group.

    ", "smithy.api#required": {} } } @@ -8681,18 +8779,18 @@ "com.amazonaws.gamelift#RuntimeConfiguration": { "type": "structure", "members": { - "MaxConcurrentGameSessionActivations": { - "target": "com.amazonaws.gamelift#MaxConcurrentGameSessionActivations", - "traits": { - "smithy.api#documentation": "

    The maximum number of game sessions with status ACTIVATING to allow on an\n instance simultaneously. This setting limits the amount of instance resources that can\n be used for new game activations at any one time.

    " - } - }, "ServerProcesses": { "target": "com.amazonaws.gamelift#ServerProcessList", "traits": { "smithy.api#documentation": "

    A collection of server process configurations that describe which server processes to\n run on each instance in a fleet.

    " } }, + "MaxConcurrentGameSessionActivations": { + "target": "com.amazonaws.gamelift#MaxConcurrentGameSessionActivations", + "traits": { + "smithy.api#documentation": "

    The maximum number of game sessions with status ACTIVATING to allow on an\n instance simultaneously. This setting limits the amount of instance resources that can\n be used for new game activations at any one time.

    " + } + }, "GameSessionActivationTimeoutSeconds": { "target": "com.amazonaws.gamelift#GameSessionActivationTimeoutSeconds", "traits": { @@ -8713,10 +8811,10 @@ "smithy.api#documentation": "

    An S3 bucket identifier. This is the name of the S3 bucket.

    \n \n

    GameLift currently does not support uploading from S3 buckets with names that contain a dot (.).

    \n
    " } }, - "ObjectVersion": { + "Key": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses\n this information when retrieving files from an S3 bucket that you own. Use this\n parameter to specify a specific version of the file. If not set, the latest version of\n the file is retrieved.

    " + "smithy.api#documentation": "

    The name of the zip file that contains the build files or script files.

    " } }, "RoleArn": { @@ -8725,10 +8823,10 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access the S3 bucket.

    " } }, - "Key": { + "ObjectVersion": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the zip file that contains the build files or script files.

    " + "smithy.api#documentation": "

    The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses\n this information when retrieving files from an S3 bucket that you own. Use this\n parameter to specify a specific version of the file. If not set, the latest version of\n the file is retrieved.

    " } } }, @@ -8756,42 +8854,36 @@ } }, "com.amazonaws.gamelift#ScalingPolicy": { - "type": "structure", - "members": { - "ScalingAdjustment": { - "target": "com.amazonaws.gamelift#Integer", - "traits": { - "smithy.api#documentation": "

    Amount of adjustment to make, based on the scaling adjustment type.

    " - } - }, - "MetricName": { - "target": "com.amazonaws.gamelift#MetricName", + "type": "structure", + "members": { + "FleetId": { + "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

    Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For\n detailed descriptions of fleet metrics, see Monitor Amazon GameLift\n with Amazon CloudWatch.

    \n
      \n
    • \n

      \n ActivatingGameSessions -- Game sessions in\n the process of being created.

      \n
    • \n
    • \n

      \n ActiveGameSessions -- Game sessions that\n are currently running.

      \n
    • \n
    • \n

      \n ActiveInstances -- Fleet instances that\n are currently running at least one game session.

      \n
    • \n
    • \n

      \n AvailableGameSessions -- Additional game\n sessions that fleet could host simultaneously, given current capacity.

      \n
    • \n
    • \n

      \n AvailablePlayerSessions -- Empty player\n slots in currently active game sessions. This includes game sessions that are\n not currently accepting players. Reserved player slots are not\n included.

      \n
    • \n
    • \n

      \n CurrentPlayerSessions -- Player slots in\n active game sessions that are being used by a player or are reserved for a\n player.

      \n
    • \n
    • \n

      \n IdleInstances -- Active instances that are\n currently hosting zero game sessions.

      \n
    • \n
    • \n

      \n PercentAvailableGameSessions -- Unused\n percentage of the total number of game sessions that a fleet could host\n simultaneously, given current capacity. Use this metric for a target-based\n scaling policy.

      \n
    • \n
    • \n

      \n PercentIdleInstances -- Percentage of the\n total number of active instances that are hosting zero game sessions.

      \n
    • \n
    • \n

      \n QueueDepth -- Pending game session\n placement requests, in any queue, where the current fleet is the top-priority\n destination.

      \n
    • \n
    • \n

      \n WaitTime -- Current wait time for pending\n game session placement requests, in any queue, where the current fleet is the\n top-priority destination.

      \n
    • \n
    " + "smithy.api#documentation": "

    A unique identifier for a fleet that is associated with this scaling policy.

    " } }, - "Threshold": { - "target": "com.amazonaws.gamelift#Double", + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Metric value used to trigger a scaling event.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

    " } }, - "ScalingAdjustmentType": { - "target": "com.amazonaws.gamelift#ScalingAdjustmentType", + "Status": { + "target": "com.amazonaws.gamelift#ScalingStatusType", "traits": { - "smithy.api#documentation": "

    The type of adjustment to make to a fleet's instance count (see FleetCapacity):

    \n
      \n
    • \n

      \n ChangeInCapacity -- add (or subtract) the\n scaling adjustment value from the current instance count. Positive values scale\n up while negative values scale down.

      \n
    • \n
    • \n

      \n ExactCapacity -- set the instance count to the\n scaling adjustment value.

      \n
    • \n
    • \n

      \n PercentChangeInCapacity -- increase or reduce\n the current instance count by the scaling adjustment, read as a percentage.\n Positive values scale up while negative values scale down.

      \n
    • \n
    " + "smithy.api#documentation": "

    Current status of the scaling policy. The scaling policy can be in force only when\n in an ACTIVE status. Scaling policies can be suspended for individual\n fleets (see StopFleetActions; if suspended for a fleet, the policy\n status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

    \n
      \n
    • \n

      \n ACTIVE -- The scaling policy can be used for\n auto-scaling a fleet.

      \n
    • \n
    • \n

      \n UPDATE_REQUESTED -- A request to update the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n UPDATING -- A change is being made to the\n scaling policy.

      \n
    • \n
    • \n

      \n DELETE_REQUESTED -- A request to delete the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n DELETING -- The scaling policy is being\n deleted.

      \n
    • \n
    • \n

      \n DELETED -- The scaling policy has been\n deleted.

      \n
    • \n
    • \n

      \n ERROR -- An error occurred in creating the\n policy. It should be removed and recreated.

      \n
    • \n
    " } }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ScalingAdjustment": { + "target": "com.amazonaws.gamelift#Integer", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

    " + "smithy.api#documentation": "

    Amount of adjustment to make, based on the scaling adjustment type.

    " } }, - "EvaluationPeriods": { - "target": "com.amazonaws.gamelift#PositiveInteger", + "ScalingAdjustmentType": { + "target": "com.amazonaws.gamelift#ScalingAdjustmentType", "traits": { - "smithy.api#documentation": "

    Length of time (in minutes) the metric must be at or beyond the threshold before a\n scaling event is triggered.

    " + "smithy.api#documentation": "

    The type of adjustment to make to a fleet's instance count (see FleetCapacity):

    \n
      \n
    • \n

      \n ChangeInCapacity -- add (or subtract) the\n scaling adjustment value from the current instance count. Positive values scale\n up while negative values scale down.

      \n
    • \n
    • \n

      \n ExactCapacity -- set the instance count to the\n scaling adjustment value.

      \n
    • \n
    • \n

      \n PercentChangeInCapacity -- increase or reduce\n the current instance count by the scaling adjustment, read as a percentage.\n Positive values scale up while negative values scale down.

      \n
    • \n
    " } }, "ComparisonOperator": { @@ -8800,16 +8892,22 @@ "smithy.api#documentation": "

    Comparison operator to use when measuring a metric against the threshold\n value.

    " } }, - "TargetConfiguration": { - "target": "com.amazonaws.gamelift#TargetConfiguration", + "Threshold": { + "target": "com.amazonaws.gamelift#Double", "traits": { - "smithy.api#documentation": "

    The settings for a target-based scaling policy.

    " + "smithy.api#documentation": "

    Metric value used to trigger a scaling event.

    " } }, - "Status": { - "target": "com.amazonaws.gamelift#ScalingStatusType", + "EvaluationPeriods": { + "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { - "smithy.api#documentation": "

    Current status of the scaling policy. The scaling policy can be in force only when\n in an ACTIVE status. Scaling policies can be suspended for individual\n fleets (see StopFleetActions; if suspended for a fleet, the policy\n status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

    \n
      \n
    • \n

      \n ACTIVE -- The scaling policy can be used for\n auto-scaling a fleet.

      \n
    • \n
    • \n

      \n UPDATE_REQUESTED -- A request to update the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n UPDATING -- A change is being made to the\n scaling policy.

      \n
    • \n
    • \n

      \n DELETE_REQUESTED -- A request to delete the\n scaling policy has been received.

      \n
    • \n
    • \n

      \n DELETING -- The scaling policy is being\n deleted.

      \n
    • \n
    • \n

      \n DELETED -- The scaling policy has been\n deleted.

      \n
    • \n
    • \n

      \n ERROR -- An error occurred in creating the\n policy. It should be removed and recreated.

      \n
    • \n
    " + "smithy.api#documentation": "

    Length of time (in minutes) the metric must be at or beyond the threshold before a\n scaling event is triggered.

    " + } + }, + "MetricName": { + "target": "com.amazonaws.gamelift#MetricName", + "traits": { + "smithy.api#documentation": "

    Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For\n detailed descriptions of fleet metrics, see Monitor Amazon GameLift\n with Amazon CloudWatch.

    \n
      \n
    • \n

      \n ActivatingGameSessions -- Game sessions in\n the process of being created.

      \n
    • \n
    • \n

      \n ActiveGameSessions -- Game sessions that\n are currently running.

      \n
    • \n
    • \n

      \n ActiveInstances -- Fleet instances that\n are currently running at least one game session.

      \n
    • \n
    • \n

      \n AvailableGameSessions -- Additional game\n sessions that fleet could host simultaneously, given current capacity.

      \n
    • \n
    • \n

      \n AvailablePlayerSessions -- Empty player\n slots in currently active game sessions. This includes game sessions that are\n not currently accepting players. Reserved player slots are not\n included.

      \n
    • \n
    • \n

      \n CurrentPlayerSessions -- Player slots in\n active game sessions that are being used by a player or are reserved for a\n player.

      \n
    • \n
    • \n

      \n IdleInstances -- Active instances that are\n currently hosting zero game sessions.

      \n
    • \n
    • \n

      \n PercentAvailableGameSessions -- Unused\n percentage of the total number of game sessions that a fleet could host\n simultaneously, given current capacity. Use this metric for a target-based\n scaling policy.

      \n
    • \n
    • \n

      \n PercentIdleInstances -- Percentage of the\n total number of active instances that are hosting zero game sessions.

      \n
    • \n
    • \n

      \n QueueDepth -- Pending game session\n placement requests, in any queue, where the current fleet is the top-priority\n destination.

      \n
    • \n
    • \n

      \n WaitTime -- Current wait time for pending\n game session placement requests, in any queue, where the current fleet is the\n top-priority destination.

      \n
    • \n
    " } }, "PolicyType": { @@ -8818,10 +8916,10 @@ "smithy.api#documentation": "

    The type of scaling policy to create. For a target-based policy, set the parameter\n MetricName to 'PercentAvailableGameSessions' and specify a\n TargetConfiguration. For a rule-based policy set the following\n parameters: MetricName, ComparisonOperator,\n Threshold, EvaluationPeriods,\n ScalingAdjustmentType, and\n ScalingAdjustment.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetId", + "TargetConfiguration": { + "target": "com.amazonaws.gamelift#TargetConfiguration", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet that is associated with this scaling policy.

    " + "smithy.api#documentation": "

    The settings for a target-based scaling policy.

    " } } }, @@ -8873,21 +8971,24 @@ "com.amazonaws.gamelift#Script": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ScriptId": { + "target": "com.amazonaws.gamelift#ScriptId", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a script. Script names do not need to be unique.

    " + "smithy.api#documentation": "

    A unique identifier for a Realtime script

    " } }, - "StorageLocation": { - "target": "com.amazonaws.gamelift#S3Location" - }, "ScriptArn": { "target": "com.amazonaws.gamelift#ScriptArn", "traits": { "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift script resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift script ARN, the resource ID matches the\n ScriptId value.

    " } }, + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A descriptive label that is associated with a script. Script names do not need to be unique.

    " + } + }, "Version": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { @@ -8906,11 +9007,8 @@ "smithy.api#documentation": "

    A time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } }, - "ScriptId": { - "target": "com.amazonaws.gamelift#ScriptId", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a Realtime script

    " - } + "StorageLocation": { + "target": "com.amazonaws.gamelift#S3Location" } }, "traits": { @@ -8978,16 +9076,16 @@ "com.amazonaws.gamelift#SearchGameSessionsInput": { "type": "structure", "members": { - "SortExpression": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    Instructions on how to sort the search results. If no sort expression is included,\n the request returns results in random order. A sort expression consists of the following\n elements:

    \n
      \n
    • \n

      \n Operand -- Name of a game session attribute.\n Valid values are gameSessionName, gameSessionId,\n gameSessionProperties, maximumSessions,\n creationTimeMillis, playerSessionCount,\n hasAvailablePlayerSessions.

      \n
    • \n
    • \n

      \n Order -- Valid sort orders are ASC\n (ascending) and DESC (descending).

      \n
    • \n
    \n

    For example, this sort expression returns the oldest active sessions first:\n \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value\n for the sort operand are returned at the end of the list.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN\n value. Each request must reference either a fleet ID or alias ID, but not both.

    " } }, - "NextToken": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "AliasId": { + "target": "com.amazonaws.gamelift#AliasIdOrArn", "traits": { - "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " + "smithy.api#documentation": "

    A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either\n the alias ID or ARN value. Each request must reference either a fleet ID or alias ID,\n but not both.

    " } }, "FilterExpression": { @@ -8996,10 +9094,10 @@ "smithy.api#documentation": "

    String containing the search criteria for the session search. If no filter\n expression is included, the request returns results for all game sessions in the fleet\n that are in ACTIVE status.

    \n

    A filter expression can contain one or multiple conditions. Each condition consists\n of the following:

    \n
      \n
    • \n

      \n Operand -- Name of a game session\n attribute. Valid values are gameSessionName,\n gameSessionId, gameSessionProperties,\n maximumSessions, creationTimeMillis,\n playerSessionCount,\n hasAvailablePlayerSessions.

      \n
    • \n
    • \n

      \n Comparator -- Valid comparators are:\n =, <>, <, >,\n <=, >=.

      \n
    • \n
    • \n

      \n Value -- Value to be searched for. Values\n may be numbers, boolean values (true/false) or strings depending on the operand.\n String values are case sensitive and must be enclosed in single quotes. Special\n characters must be escaped. Boolean and string values can only be used with the\n comparators = and <>. For example, the following\n filter expression searches on gameSessionName:\n \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game\n 1'\".

      \n
    • \n
    \n

    To chain multiple conditions in a single expression, use the logical keywords\n AND, OR, and NOT and parentheses as needed.\n For example: x AND y AND NOT z, NOT (x OR y).

    \n

    Session search evaluates conditions from left to right using the following\n precedence rules:

    \n
      \n
    1. \n

      \n =, <>, <, >,\n <=, >=\n

      \n
    2. \n
    3. \n

      Parentheses

      \n
    4. \n
    5. \n

      NOT

      \n
    6. \n
    7. \n

      AND

      \n
    8. \n
    9. \n

      OR

      \n
    10. \n
    \n

    For example, this filter expression retrieves game sessions hosting at least ten\n players that have an open player slot: \"maximumSessions>=10 AND\n hasAvailablePlayerSessions=true\".

    " } }, - "AliasId": { - "target": "com.amazonaws.gamelift#AliasIdOrArn", + "SortExpression": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either\n the alias ID or ARN value. Each request must reference either a fleet ID or alias ID,\n but not both.

    " + "smithy.api#documentation": "

    Instructions on how to sort the search results. If no sort expression is included,\n the request returns results in random order. A sort expression consists of the following\n elements:

    \n
      \n
    • \n

      \n Operand -- Name of a game session attribute.\n Valid values are gameSessionName, gameSessionId,\n gameSessionProperties, maximumSessions,\n creationTimeMillis, playerSessionCount,\n hasAvailablePlayerSessions.

      \n
    • \n
    • \n

      \n Order -- Valid sort orders are ASC\n (ascending) and DESC (descending).

      \n
    • \n
    \n

    For example, this sort expression returns the oldest active sessions first:\n \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value\n for the sort operand are returned at the end of the list.

    " } }, "Limit": { @@ -9008,10 +9106,10 @@ "smithy.api#documentation": "

    The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set\n or is set higher than 20.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "NextToken": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN\n value. Each request must reference either a fleet ID or alias ID, but not both.

    " + "smithy.api#documentation": "

    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

    " } } }, @@ -9133,17 +9231,17 @@ "com.amazonaws.gamelift#StartFleetActionsInput": { "type": "structure", "members": { - "Actions": { - "target": "com.amazonaws.gamelift#FleetActionList", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    List of actions to restart on the fleet.

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

    A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value.

    ", "smithy.api#required": {} } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "Actions": { + "target": "com.amazonaws.gamelift#FleetActionList", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value.

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

    List of actions to restart on the fleet.

    ", "smithy.api#required": {} } } @@ -9182,16 +9280,18 @@ "com.amazonaws.gamelift#StartGameSessionPlacementInput": { "type": "structure", "members": { - "PlayerLatencies": { - "target": "com.amazonaws.gamelift#PlayerLatencyList", + "PlacementId": { + "target": "com.amazonaws.gamelift#IdStringModel", "traits": { - "smithy.api#documentation": "

    Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where\n it can offer the best possible gameplay experience for the players.

    " + "smithy.api#documentation": "

    A unique identifier to assign to the new game session placement. This value is\n developer-defined. The value must be unique across all Regions and cannot be reused\n unless you are resubmitting a canceled or timed-out placement request.

    ", + "smithy.api#required": {} } }, - "GameSessionData": { - "target": "com.amazonaws.gamelift#GameSessionData", + "GameSessionQueueName": { + "target": "com.amazonaws.gamelift#GameSessionQueueNameOrArn", "traits": { - "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " + "smithy.api#documentation": "

    Name of the queue to use to place the new game session. You can use either the queue name\n or ARN value.

    ", + "smithy.api#required": {} } }, "GameProperties": { @@ -9200,16 +9300,10 @@ "smithy.api#documentation": "

    Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " } }, - "DesiredPlayerSessions": { - "target": "com.amazonaws.gamelift#DesiredPlayerSessionList", - "traits": { - "smithy.api#documentation": "

    Set of information on each player to create a player session for.

    " - } - }, - "GameSessionQueueName": { - "target": "com.amazonaws.gamelift#GameSessionQueueNameOrArn", + "MaximumPlayerSessionCount": { + "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Name of the queue to use to place the new game session. You can use either the queue name\n or ARN value.

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

    The maximum number of players that can be connected simultaneously to the game session.

    ", "smithy.api#required": {} } }, @@ -9219,18 +9313,22 @@ "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " } }, - "MaximumPlayerSessionCount": { - "target": "com.amazonaws.gamelift#WholeNumber", + "PlayerLatencies": { + "target": "com.amazonaws.gamelift#PlayerLatencyList", "traits": { - "smithy.api#documentation": "

    The maximum number of players that can be connected simultaneously to the game session.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where\n it can offer the best possible gameplay experience for the players.

    " } }, - "PlacementId": { - "target": "com.amazonaws.gamelift#IdStringModel", + "DesiredPlayerSessions": { + "target": "com.amazonaws.gamelift#DesiredPlayerSessionList", "traits": { - "smithy.api#documentation": "

    A unique identifier to assign to the new game session placement. This value is\n developer-defined. The value must be unique across all Regions and cannot be reused\n unless you are resubmitting a canceled or timed-out placement request.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Set of information on each player to create a player session for.

    " + } + }, + "GameSessionData": { + "target": "com.amazonaws.gamelift#GameSessionData", + "traits": { + "smithy.api#documentation": "

    Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

    " } } }, @@ -9275,36 +9373,35 @@ } ], "traits": { - "smithy.api#documentation": "

    Finds new players to fill open slots in an existing game session. This operation\n can be used to add players to matched games that start with fewer than the maximum\n number of players or to replace players when they drop out. By backfilling with the same\n matchmaker used to create the original match, you ensure that new players meet the match\n criteria and maintain a consistent experience throughout the game session. You can\n backfill a match anytime after a game session has been created.

    \n

    To request a match backfill, specify a unique ticket ID, the existing game\n session's ARN, a matchmaking configuration, and a set of data that describes all current\n players in the game session. If successful, a match backfill ticket is created and\n returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool\n and processed. Track the status of the ticket to respond as needed.

    \n

    The process of finding backfill matches is essentially identical to the initial\n matchmaking process. The matchmaker searches the pool and groups tickets together to\n form potential matches, allowing only one backfill ticket per potential match. Once the\n a match is formed, the matchmaker creates player sessions for the new players. All\n tickets in the match are updated with the game session's connection information, and the\n GameSession object is updated to include matchmaker data on the\n new players. For more detail on how match backfill requests are processed, see How\n Amazon GameLift FlexMatch Works.

    \n

    \n Learn more\n

    \n

    \n \n Backfill Existing Games with FlexMatch\n

    \n

    \n \n How GameLift FlexMatch Works\n

    \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Finds new players to fill open slots in an existing game session. This operation\n can be used to add players to matched games that start with fewer than the maximum\n number of players or to replace players when they drop out. By backfilling with the same\n matchmaker used to create the original match, you ensure that new players meet the match\n criteria and maintain a consistent experience throughout the game session. You can\n backfill a match anytime after a game session has been created.

    \n

    To request a match backfill, specify a unique ticket ID, the existing game\n session's ARN, a matchmaking configuration, and a set of data that describes all current\n players in the game session. If successful, a match backfill ticket is created and\n returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool\n and processed. Track the status of the ticket to respond as needed.

    \n

    The process of finding backfill matches is essentially identical to the initial\n matchmaking process. The matchmaker searches the pool and groups tickets together to\n form potential matches, allowing only one backfill ticket per potential match. Once the\n a match is formed, the matchmaker creates player sessions for the new players. All\n tickets in the match are updated with the game session's connection information, and the\n GameSession object is updated to include matchmaker data on the\n new players. For more detail on how match backfill requests are processed, see How\n Amazon GameLift FlexMatch Works.

    \n

    \n Learn more\n

    \n

    \n \n Backfill Existing Games with FlexMatch\n

    \n

    \n \n How GameLift FlexMatch Works\n

    \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#StartMatchBackfillInput": { "type": "structure", "members": { - "Players": { - "target": "com.amazonaws.gamelift#PlayerList", - "traits": { - "smithy.api#documentation": "

    Match information on all players that are currently assigned to the game session.\n This information is used by the matchmaker to find new players and add them to the\n existing game.

    \n
      \n
    • \n

      PlayerID, PlayerAttributes, Team -\\\\- This information is maintained in the\n GameSession object, MatchmakerData property,\n for all players who are currently assigned to the game session. The matchmaker\n data is in JSON syntax, formatted as a string. For more details, see \n Match Data.

      \n
    • \n
    • \n

      LatencyInMs -\\\\- If the matchmaker uses player latency, include a latency\n value, in milliseconds, for the Region that the game session is currently in. Do\n not include latency values for any other Region.

      \n
    • \n
    ", - "smithy.api#required": {} - } - }, "TicketId": { "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of\n a UUID. Use this identifier to track the match backfill ticket status and retrieve match\n results.

    " } }, + "ConfigurationName": { + "target": "com.amazonaws.gamelift#MatchmakingConfigurationName", + "traits": { + "smithy.api#documentation": "

    Name of the matchmaker to use for this request. You can use either the configuration\n name or ARN value. The ARN of the matchmaker that was used with the original game\n session is listed in the GameSession object,\n MatchmakerData property.

    ", + "smithy.api#required": {} + } + }, "GameSessionArn": { "target": "com.amazonaws.gamelift#ArnStringModel", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.

    " } }, - "ConfigurationName": { - "target": "com.amazonaws.gamelift#MatchmakingConfigurationName", + "Players": { + "target": "com.amazonaws.gamelift#PlayerList", "traits": { - "smithy.api#documentation": "

    Name of the matchmaker to use for this request. You can use either the configuration\n name or ARN value. The ARN of the matchmaker that was used with the original game\n session is listed in the GameSession object,\n MatchmakerData property.

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

    Match information on all players that are currently assigned to the game session.\n This information is used by the matchmaker to find new players and add them to the\n existing game.

    \n
      \n
    • \n

      PlayerID, PlayerAttributes, Team -\\\\- This information is maintained in the\n GameSession object, MatchmakerData property,\n for all players who are currently assigned to the game session. The matchmaker\n data is in JSON syntax, formatted as a string. For more details, see \n Match Data.

      \n
    • \n
    • \n

      LatencyInMs -\\\\- If the matchmaker uses player latency, include a latency\n value, in milliseconds, for the Region that the game session is currently in. Do\n not include latency values for any other Region.

      \n
    • \n
    ", "smithy.api#required": {} } } @@ -9350,17 +9447,16 @@ } ], "traits": { - "smithy.api#documentation": "

    Uses FlexMatch to create a game match for a group of players based on custom\n matchmaking rules, and starts a new game for the matched players. Each matchmaking\n request specifies the type of match to build (team configuration, rules for an\n acceptable match, etc.). The request also specifies the players to find a match for and\n where to host the new game session for optimal performance. A matchmaking request might\n start with a single player or a group of players who want to play together. FlexMatch\n finds additional players as needed to fill the match. Match type, rules, and the queue\n used to place a new game session are defined in a MatchmakingConfiguration.\n

    \n

    To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,\n and include the players to be matched. You must also include a set of player attributes\n relevant for the matchmaking configuration. If successful, a matchmaking ticket is\n returned with status set to QUEUED.

    \n

    Track the status of the ticket to respond as needed and acquire game session\n connection information for successfully completed matches. Ticket status updates are\n tracked using event notification through Amazon Simple Notification Service (SNS), which is defined in the matchmaking\n configuration.

    \n

    \n Processing a matchmaking request -- FlexMatch\n handles a matchmaking request as follows:

    \n
      \n
    1. \n

      Your client code submits a StartMatchmaking request for one or\n more players and tracks the status of the request ticket.

      \n
    2. \n
    3. \n

      FlexMatch uses this ticket and others in process to build an acceptable\n match. When a potential match is identified, all tickets in the proposed match\n are advanced to the next status.

      \n
    4. \n
    5. \n

      If the match requires player acceptance (set in the matchmaking\n configuration), the tickets move into status REQUIRES_ACCEPTANCE.\n This status triggers your client code to solicit acceptance from all players in\n every ticket involved in the match, and then call AcceptMatch\n for each player. If any player rejects or fails to accept the match before a\n specified timeout, the proposed match is dropped (see AcceptMatch\n for more details).

      \n
    6. \n
    7. \n

      Once a match is proposed and accepted, the matchmaking tickets move into\n status PLACING. FlexMatch locates resources for a new game session\n using the game session queue (set in the matchmaking configuration) and creates\n the game session based on the match data.

      \n
    8. \n
    9. \n

      When the match is successfully placed, the matchmaking tickets move into\n COMPLETED status. Connection information (including game\n session endpoint and player session) is added to the matchmaking tickets.\n Matched players can use the connection information to join the game.

      \n
    10. \n
    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n \n Set Up FlexMatch Event Notification\n

    \n

    \n \n FlexMatch Integration Roadmap\n

    \n

    \n \n How GameLift FlexMatch Works\n

    \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Uses FlexMatch to create a game match for a group of players based on custom matchmaking\n rules. If you're also using GameLift hosting, a new game session is started for the\n matched players. Each matchmaking request identifies one or more players to find a match\n for, and specifies the type of match to build, including the team configuration and the\n rules for an acceptable match. When a matchmaking request identifies a group of players\n who want to play together, FlexMatch finds additional players to fill the match. Match\n type, rules, and other features are defined in a MatchmakingConfiguration.

    \n

    To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,\n and include the players to be matched. For each player, you must also include the player\n attribute values that are required by the matchmaking configuration (in the rule set).\n If successful, a matchmaking ticket is returned with status set to QUEUED.

    \n

    Track the status of the ticket to respond as needed. If you're also using GameLift\n hosting, a successfully completed ticket contains game session connection information.\n Ticket status updates are tracked using event notification through Amazon Simple Notification Service (SNS), which is\n defined in the matchmaking configuration.

    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n \n Set Up FlexMatch Event Notification\n

    \n

    \n \n FlexMatch Integration Roadmap\n

    \n

    \n \n How GameLift FlexMatch Works\n

    \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#StartMatchmakingInput": { "type": "structure", "members": { - "Players": { - "target": "com.amazonaws.gamelift#PlayerList", + "TicketId": { + "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { - "smithy.api#documentation": "

    Information on each player to be matched. This information must include a player\n ID, and may contain player attributes and latency data to be used in the matchmaking\n process. After a successful match, Player objects contain the name of the\n team the player is assigned to.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of\n a UUID. Use this identifier to track the matchmaking ticket status and retrieve match\n results.

    " } }, "ConfigurationName": { @@ -9370,10 +9466,11 @@ "smithy.api#required": {} } }, - "TicketId": { - "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", + "Players": { + "target": "com.amazonaws.gamelift#PlayerList", "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of\n a UUID. Use this identifier to track the matchmaking ticket status and retrieve match\n results.

    " + "smithy.api#documentation": "

    Information on each player to be matched. This information must include a player\n ID, and may contain player attributes and latency data to be used in the matchmaking\n process. After a successful match, Player objects contain the name of the\n team the player is assigned to.

    ", + "smithy.api#required": {} } } }, @@ -9522,7 +9619,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Cancels a matchmaking ticket or match backfill ticket that is currently being\n processed. To stop the matchmaking operation, specify the ticket ID. If successful, work\n on the ticket is stopped, and the ticket status is changed to\n CANCELLED.

    \n

    This call is also used to turn off automatic backfill for an individual game session.\n This is for game sessions that are created with a matchmaking configuration that has\n automatic backfill enabled. The ticket ID is included in the MatchmakerData\n of an updated game session object, which is provided to the game server.

    \n \n

    If the operation is successful, the service sends back an empty JSON struct with the HTTP 200 response\n (not an empty HTTP body).

    \n
    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Cancels a matchmaking ticket or match backfill ticket that is currently being\n processed. To stop the matchmaking operation, specify the ticket ID. If successful, work\n on the ticket is stopped, and the ticket status is changed to\n CANCELLED.

    \n

    This call is also used to turn off automatic backfill for an individual game session.\n This is for game sessions that are created with a matchmaking configuration that has\n automatic backfill enabled. The ticket ID is included in the MatchmakerData\n of an updated game session object, which is provided to the game server.

    \n \n

    If the operation is successful, the service sends back an empty JSON struct with the HTTP 200 response\n (not an empty HTTP body).

    \n
    \n

    \n Learn more\n

    \n

    \n \n Add FlexMatch to a Game Client\n

    \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#StopMatchmakingInput": { @@ -9621,17 +9718,17 @@ "com.amazonaws.gamelift#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.gamelift#TagValue", + "Key": { + "target": "com.amazonaws.gamelift#TagKey", "traits": { - "smithy.api#documentation": "

    \n The value for a developer-defined key:value pair for tagging an AWS resource.\n

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

    \n The key for a developer-defined key:value pair for tagging an AWS resource.\n

    ", "smithy.api#required": {} } }, - "Key": { - "target": "com.amazonaws.gamelift#TagKey", + "Value": { + "target": "com.amazonaws.gamelift#TagValue", "traits": { - "smithy.api#documentation": "

    \n The key for a developer-defined key:value pair for tagging an AWS resource.\n

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

    \n The value for a developer-defined key:value pair for tagging an AWS resource.\n

    ", "smithy.api#required": {} } } @@ -9702,17 +9799,17 @@ "com.amazonaws.gamelift#TagResourceRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.gamelift#TagList", + "ResourceARN": { + "target": "com.amazonaws.gamelift#AmazonResourceName", "traits": { - "smithy.api#documentation": "

    A list of one or more tags to assign to the specified GameLift resource. \n Tags are developer-defined and structured as key-value pairs. \n The maximum tag limit may be lower than stated. See Tagging AWS Resources \n for actual tagging limits.

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

    \n The Amazon Resource Name \n (ARN)\n that is assigned to and uniquely identifies the GameLift resource that you want to assign\n tags to. GameLift resource ARNs are included in the data object for the resource, which \n can be retrieved by calling a List or Describe operation for the resource type.

    ", "smithy.api#required": {} } }, - "ResourceARN": { - "target": "com.amazonaws.gamelift#AmazonResourceName", + "Tags": { + "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name \n (ARN)\n that is assigned to and uniquely identifies the GameLift resource that you want to assign\n tags to. GameLift resource ARNs are included in the data object for the resource, which \n can be retrieved by calling a List or Describe operation for the resource type.

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

    A list of one or more tags to assign to the specified GameLift resource. \n Tags are developer-defined and structured as key-value pairs. \n The maximum tag limit may be lower than stated. See Tagging AWS Resources \n for actual tagging limits.

    ", "smithy.api#required": {} } } @@ -9903,17 +10000,17 @@ "smithy.api#documentation": "

    A descriptive label that is associated with an alias. Alias names do not need to be unique.

    " } }, - "RoutingStrategy": { - "target": "com.amazonaws.gamelift#RoutingStrategy", - "traits": { - "smithy.api#documentation": "

    The routing configuration, including routing type and fleet target, for the\n alias.

    " - } - }, "Description": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    A human-readable description of the alias.

    " } + }, + "RoutingStrategy": { + "target": "com.amazonaws.gamelift#RoutingStrategy", + "traits": { + "smithy.api#documentation": "

    The routing configuration, including routing type and fleet target, for the\n alias.

    " + } } }, "traits": { @@ -9970,16 +10067,16 @@ "smithy.api#required": {} } }, - "Version": { + "Name": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Version information that is associated with a build or script. Version strings do not need to be unique.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a build. Build names do not need to be unique.

    " } }, - "Name": { + "Version": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a build. Build names do not need to be unique.

    " + "smithy.api#documentation": "

    Version information that is associated with a build or script. Version strings do not need to be unique.

    " } } }, @@ -10039,22 +10136,23 @@ "com.amazonaws.gamelift#UpdateFleetAttributesInput": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN\n value.

    ", + "smithy.api#required": {} } }, - "ResourceCreationLimitPolicy": { - "target": "com.amazonaws.gamelift#ResourceCreationLimitPolicy", + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Policy that limits the number of game sessions an individual player can create over\n a span of time.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

    " } }, - "MetricGroups": { - "target": "com.amazonaws.gamelift#MetricGroupList", + "Description": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet\n metric group is to aggregate metrics from multiple fleets. Use an existing metric group\n name to add this fleet to the group. Or use a new name to create a new metric group. A\n fleet can only be included in one metric group at a time.

    " + "smithy.api#documentation": "

    Human-readable description of a fleet.

    " } }, "NewGameSessionProtectionPolicy": { @@ -10063,17 +10161,16 @@ "smithy.api#documentation": "

    Game session protection policy to apply to all new instances created in this fleet.\n Instances that already exist are not affected. You can set protection for individual\n instances using UpdateGameSession.

    \n
      \n
    • \n

      \n NoProtection -- The game session can be\n terminated during a scale-down event.

      \n
    • \n
    • \n

      \n FullProtection -- If the game session is in an\n ACTIVE status, it cannot be terminated during a scale-down\n event.

      \n
    • \n
    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "ResourceCreationLimitPolicy": { + "target": "com.amazonaws.gamelift#ResourceCreationLimitPolicy", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN\n value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Policy that limits the number of game sessions an individual player can create over\n a span of time.

    " } }, - "Description": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "MetricGroups": { + "target": "com.amazonaws.gamelift#MetricGroupList", "traits": { - "smithy.api#documentation": "

    Human-readable description of a fleet.

    " + "smithy.api#documentation": "

    Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet\n metric group is to aggregate metrics from multiple fleets. Use an existing metric group\n name to add this fleet to the group. Or use a new name to create a new metric group. A\n fleet can only be included in one metric group at a time.

    " } } }, @@ -10133,29 +10230,29 @@ "com.amazonaws.gamelift#UpdateFleetCapacityInput": { "type": "structure", "members": { - "MinSize": { - "target": "com.amazonaws.gamelift#WholeNumber", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    The minimum value allowed for the fleet's instance count. Default if not set is\n 0.

    " + "smithy.api#documentation": "

    A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value.

    ", + "smithy.api#required": {} } }, - "MaxSize": { + "DesiredInstances": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    The maximum value allowed for the fleet's instance count. Default if not set is\n 1.

    " + "smithy.api#documentation": "

    Number of EC2 instances you want this fleet to host.

    " } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "MinSize": { + "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The minimum value allowed for the fleet's instance count. Default if not set is\n 0.

    " } }, - "DesiredInstances": { + "MaxSize": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    Number of EC2 instances you want this fleet to host.

    " + "smithy.api#documentation": "

    The maximum value allowed for the fleet's instance count. Default if not set is\n 1.

    " } } }, @@ -10215,6 +10312,13 @@ "com.amazonaws.gamelift#UpdateFleetPortSettingsInput": { "type": "structure", "members": { + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN\n value.

    ", + "smithy.api#required": {} + } + }, "InboundPermissionAuthorizations": { "target": "com.amazonaws.gamelift#IpPermissionsList", "traits": { @@ -10226,13 +10330,6 @@ "traits": { "smithy.api#documentation": "

    A collection of port settings to be removed from the fleet resource.

    " } - }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN\n value.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -10308,12 +10405,6 @@ "com.amazonaws.gamelift#UpdateGameServerGroupInput": { "type": "structure", "members": { - "BalancingStrategy": { - "target": "com.amazonaws.gamelift#BalancingStrategy", - "traits": { - "smithy.api#documentation": "

    Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the\n game server group. Method options include the following:

    \n
      \n
    • \n

      \n SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot\n Instances are unavailable or not viable for game hosting, the game server group\n provides no hosting capacity until Spot Instances can again be used. Until then,\n no new instances are started, and the existing nonviable Spot Instances are\n terminated (after current gameplay ends) and are not replaced.

      \n
    • \n
    • \n

      \n SPOT_PREFERRED - (default value) Spot Instances are used whenever available in\n the game server group. If Spot Instances are unavailable, the game server group\n continues to provide hosting capacity by falling back to On-Demand Instances.\n Existing nonviable Spot Instances are terminated (after current gameplay ends)\n and are replaced with new On-Demand Instances.

      \n
    • \n
    • \n

      \n ON_DEMAND_ONLY - Only On-Demand Instances are used in the game\n server group. No Spot Instances are used, even when available, while this\n balancing strategy is in force.

      \n
    • \n
    " - } - }, "GameServerGroupName": { "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { @@ -10338,6 +10429,12 @@ "traits": { "smithy.api#documentation": "

    A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

    " } + }, + "BalancingStrategy": { + "target": "com.amazonaws.gamelift#BalancingStrategy", + "traits": { + "smithy.api#documentation": "

    Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the\n game server group. Method options include the following:

    \n
      \n
    • \n

      \n SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot\n Instances are unavailable or not viable for game hosting, the game server group\n provides no hosting capacity until Spot Instances can again be used. Until then,\n no new instances are started, and the existing nonviable Spot Instances are\n terminated (after current gameplay ends) and are not replaced.

      \n
    • \n
    • \n

      \n SPOT_PREFERRED - (default value) Spot Instances are used whenever available in\n the game server group. If Spot Instances are unavailable, the game server group\n continues to provide hosting capacity by falling back to On-Demand Instances.\n Existing nonviable Spot Instances are terminated (after current gameplay ends)\n and are replaced with new On-Demand Instances.

      \n
    • \n
    • \n

      \n ON_DEMAND_ONLY - Only On-Demand Instances are used in the game\n server group. No Spot Instances are used, even when available, while this\n balancing strategy is in force.

      \n
    • \n
    " + } } } }, @@ -10355,10 +10452,11 @@ "com.amazonaws.gamelift#UpdateGameServerInput": { "type": "structure", "members": { - "UtilizationStatus": { - "target": "com.amazonaws.gamelift#GameServerUtilizationStatus", + "GameServerGroupName": { + "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", "traits": { - "smithy.api#documentation": "

    Indicates whether the game server is available or is currently hosting\n gameplay.

    " + "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    ", + "smithy.api#required": {} } }, "GameServerId": { @@ -10368,23 +10466,22 @@ "smithy.api#required": {} } }, - "HealthCheck": { - "target": "com.amazonaws.gamelift#GameServerHealthCheck", + "GameServerData": { + "target": "com.amazonaws.gamelift#GameServerData", "traits": { - "smithy.api#documentation": "

    Indicates health status of the game server. A request that includes this parameter\n updates the game server's LastHealthCheckTime timestamp.

    " + "smithy.api#documentation": "

    A set of custom game server properties, formatted as a single string value. This data \n is passed to a game client or service when it requests information on game servers using\n ListGameServers or ClaimGameServer.

    " } }, - "GameServerGroupName": { - "target": "com.amazonaws.gamelift#GameServerGroupNameOrArn", + "UtilizationStatus": { + "target": "com.amazonaws.gamelift#GameServerUtilizationStatus", "traits": { - "smithy.api#documentation": "

    A unique identifier for the game server group where the game server is running. \n Use either the GameServerGroup name or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Indicates whether the game server is available or is currently hosting\n gameplay.

    " } }, - "GameServerData": { - "target": "com.amazonaws.gamelift#GameServerData", + "HealthCheck": { + "target": "com.amazonaws.gamelift#GameServerHealthCheck", "traits": { - "smithy.api#documentation": "

    A set of custom game server properties, formatted as a single string value. This data \n is passed to a game client or service when it requests information on game servers using\n ListGameServers or ClaimGameServer.

    " + "smithy.api#documentation": "

    Indicates health status of the game server. A request that includes this parameter\n updates the game server's LastHealthCheckTime timestamp.

    " } } } @@ -10448,10 +10545,10 @@ "smithy.api#documentation": "

    The maximum number of players that can be connected simultaneously to the game session.

    " } }, - "ProtectionPolicy": { - "target": "com.amazonaws.gamelift#ProtectionPolicy", + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    Game session protection policy to apply to this game session only.

    \n
      \n
    • \n

      \n NoProtection -- The game session can be\n terminated during a scale-down event.

      \n
    • \n
    • \n

      \n FullProtection -- If the game session is in an\n ACTIVE status, it cannot be terminated during a scale-down\n event.

      \n
    • \n
    " + "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " } }, "PlayerSessionCreationPolicy": { @@ -10460,10 +10557,10 @@ "smithy.api#documentation": "

    Policy determining whether or not the game session accepts new players.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "ProtectionPolicy": { + "target": "com.amazonaws.gamelift#ProtectionPolicy", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    " + "smithy.api#documentation": "

    Game session protection policy to apply to this game session only.

    \n
      \n
    • \n

      \n NoProtection -- The game session can be\n terminated during a scale-down event.

      \n
    • \n
    • \n

      \n FullProtection -- If the game session is in an\n ACTIVE status, it cannot be terminated during a scale-down\n event.

      \n
    • \n
    " } } }, @@ -10514,10 +10611,11 @@ "com.amazonaws.gamelift#UpdateGameSessionQueueInput": { "type": "structure", "members": { - "PlayerLatencyPolicies": { - "target": "com.amazonaws.gamelift#PlayerLatencyPolicyList", + "Name": { + "target": "com.amazonaws.gamelift#GameSessionQueueNameOrArn", "traits": { - "smithy.api#documentation": "

    A collection of latency policies to apply when processing game sessions placement requests with \n player latency information. Multiple policies are evaluated in order of the maximum latency value, \n starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session \n placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. \n For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the \n remainder of the placement. When updating policies, provide a complete collection of\n policies.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value.

    ", + "smithy.api#required": {} } }, "TimeoutInSeconds": { @@ -10526,17 +10624,16 @@ "smithy.api#documentation": "

    The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

    " } }, - "Destinations": { - "target": "com.amazonaws.gamelift#GameSessionQueueDestinationList", + "PlayerLatencyPolicies": { + "target": "com.amazonaws.gamelift#PlayerLatencyPolicyList", "traits": { - "smithy.api#documentation": "

    A list of fleets that can be used to fulfill game session placement requests in the queue. \n Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.

    " + "smithy.api#documentation": "

    A collection of latency policies to apply when processing game sessions placement requests with \n player latency information. Multiple policies are evaluated in order of the maximum latency value, \n starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session \n placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. \n For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the \n remainder of the placement. When updating policies, provide a complete collection of\n policies.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#GameSessionQueueNameOrArn", + "Destinations": { + "target": "com.amazonaws.gamelift#GameSessionQueueDestinationList", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A list of fleets that can be used to fulfill game session placement requests in the queue. \n Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.

    " } } }, @@ -10581,34 +10678,29 @@ } ], "traits": { - "smithy.api#documentation": "

    Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions\n that are created after the update. To update settings,\n specify the configuration name to be updated and provide the new settings.

    \n

    \n Learn more\n

    \n

    \n \n Design a FlexMatch Matchmaker\n

    \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions\n that are created after the update. To update settings,\n specify the configuration name to be updated and provide the new settings.

    \n

    \n Learn more\n

    \n

    \n \n Design a FlexMatch Matchmaker\n

    \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#UpdateMatchmakingConfigurationInput": { "type": "structure", "members": { - "AcceptanceRequired": { - "target": "com.amazonaws.gamelift#BooleanModel", - "traits": { - "smithy.api#documentation": "

    A flag that indicates whether a match that was created with this configuration must be\n accepted by the matched players. To require acceptance, set to TRUE.

    " - } - }, - "CustomEventData": { - "target": "com.amazonaws.gamelift#CustomEventData", + "Name": { + "target": "com.amazonaws.gamelift#MatchmakingConfigurationName", "traits": { - "smithy.api#documentation": "

    Information to add to all events related to the matchmaking configuration.

    " + "smithy.api#documentation": "

    A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

    ", + "smithy.api#required": {} } }, - "BackfillMode": { - "target": "com.amazonaws.gamelift#BackfillMode", + "Description": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    The method that is used to backfill game sessions created with this matchmaking\n configuration. Specify MANUAL when your game manages backfill requests manually or does\n not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open\n slots. Learn more about manual and automatic backfill in Backfill Existing Games\n with FlexMatch.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with matchmaking configuration.

    " } }, - "AdditionalPlayerCount": { - "target": "com.amazonaws.gamelift#WholeNumber", + "GameSessionQueueArns": { + "target": "com.amazonaws.gamelift#QueueArnsList", "traits": { - "smithy.api#documentation": "

    The number of player slots in a match to keep open for future players. For example, \n assume that the configuration's rule set specifies a match for a single 12-person team. If\n the additional player count is set to 2, only 10 players are initially selected for the match.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new\n GameLift-hosted game sessions for matches that are created with this matchmaking\n configuration. If FlexMatchMode is set to STANDALONE, do not\n set this parameter.

    " } }, "RequestTimeoutSeconds": { @@ -10617,16 +10709,16 @@ "smithy.api#documentation": "

    The maximum duration, in seconds, that a matchmaking ticket can remain in process\n before timing out. Requests that fail due to timing out can be resubmitted as\n needed.

    " } }, - "NotificationTarget": { - "target": "com.amazonaws.gamelift#SnsArnStringModel", + "AcceptanceTimeoutSeconds": { + "target": "com.amazonaws.gamelift#MatchmakingAcceptanceTimeoutInteger", "traits": { - "smithy.api#documentation": "

    An SNS topic ARN that is set up to receive matchmaking notifications. See \n Setting up Notifications for Matchmaking for more information.

    " + "smithy.api#documentation": "

    The length of time (in seconds) to wait for players to accept a proposed match, if\n acceptance is required. If any player rejects the match or fails to accept before the\n timeout, the tickets are returned to the ticket pool and continue to be evaluated for an\n acceptable match.

    " } }, - "AcceptanceTimeoutSeconds": { - "target": "com.amazonaws.gamelift#MatchmakingAcceptanceTimeoutInteger", + "AcceptanceRequired": { + "target": "com.amazonaws.gamelift#BooleanModel", "traits": { - "smithy.api#documentation": "

    The length of time (in seconds) to wait for players to accept a proposed match. If any\n player rejects the match or fails to accept before the timeout, the ticket continues to\n look for an acceptable match.

    " + "smithy.api#documentation": "

    A flag that indicates whether a match that was created with this configuration must be\n accepted by the matched players. To require acceptance, set to TRUE. With this option\n enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate\n when a completed potential match is waiting for player acceptance.

    " } }, "RuleSetName": { @@ -10635,35 +10727,46 @@ "smithy.api#documentation": "

    A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN\n value. A matchmaking configuration can only use rule sets that are defined in the same\n Region.

    " } }, - "GameSessionQueueArns": { - "target": "com.amazonaws.gamelift#QueueArnsList", + "NotificationTarget": { + "target": "com.amazonaws.gamelift#SnsArnStringModel", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are\n created with this matchmaking configuration. Queues can be located in any\n Region.

    " + "smithy.api#documentation": "

    An SNS topic ARN that is set up to receive matchmaking notifications. See \n Setting up Notifications for Matchmaking for more information.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#MatchmakingConfigurationName", + "AdditionalPlayerCount": { + "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

    A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The number of player slots in a match to keep open for future players. For example, \n assume that the configuration's rule set specifies a match for a single 12-person team. If\n the additional player count is set to 2, only 10 players are initially selected for the match. This parameter is not used if FlexMatchMode is set to\n STANDALONE.

    " } }, - "GameSessionData": { - "target": "com.amazonaws.gamelift#GameSessionData", + "CustomEventData": { + "target": "com.amazonaws.gamelift#CustomEventData", "traits": { - "smithy.api#documentation": "

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession\n object that is created for a successful match.

    " + "smithy.api#documentation": "

    Information to add to all events related to the matchmaking configuration.

    " } }, "GameProperties": { "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { - "smithy.api#documentation": "

    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

    " + "smithy.api#documentation": "

    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession\n object that is created for a successful match. This parameter is not used if\n FlexMatchMode is set to STANDALONE.

    " } }, - "Description": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "GameSessionData": { + "target": "com.amazonaws.gamelift#GameSessionData", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with matchmaking configuration.

    " + "smithy.api#documentation": "

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object\n that is created for a successful match. This parameter is not used if\n FlexMatchMode is set to STANDALONE.

    " + } + }, + "BackfillMode": { + "target": "com.amazonaws.gamelift#BackfillMode", + "traits": { + "smithy.api#documentation": "

    The method that is used to backfill game sessions created with this matchmaking\n configuration. Specify MANUAL when your game manages backfill requests manually or does\n not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open\n slots. Learn more about manual and automatic backfill in Backfill Existing Games\n with FlexMatch. Automatic backfill is not available when\n FlexMatchMode is set to STANDALONE.

    " + } + }, + "FlexMatchMode": { + "target": "com.amazonaws.gamelift#FlexMatchMode", + "traits": { + "smithy.api#documentation": "

    Indicates whether this matchmaking configuration is being used with GameLift hosting or\n as a standalone matchmaking solution.

    \n
      \n
    • \n

      \n STANDALONE - FlexMatch forms matches and returns\n match information, including players and team assignments, in a \n \n MatchmakingSucceeded event.

      \n
    • \n
    • \n

      \n WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to\n start a game session for the match.

      \n
    • \n
    " } } }, @@ -10717,17 +10820,17 @@ "com.amazonaws.gamelift#UpdateRuntimeConfigurationInput": { "type": "structure", "members": { - "RuntimeConfiguration": { - "target": "com.amazonaws.gamelift#RuntimeConfiguration", + "FleetId": { + "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

    Instructions for launching server processes on each instance in the fleet. Server\n processes run either a custom game build executable or a Realtime Servers script. The runtime\n configuration lists the types of server processes to run on an instance and includes the\n following configuration settings: the server executable or launch script file, launch\n parameters, and the number of processes to run concurrently on each instance. A\n CreateFleet request must include a runtime configuration with at least one server\n process configuration.

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

    A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN\n value.

    ", "smithy.api#required": {} } }, - "FleetId": { - "target": "com.amazonaws.gamelift#FleetIdOrArn", + "RuntimeConfiguration": { + "target": "com.amazonaws.gamelift#RuntimeConfiguration", "traits": { - "smithy.api#documentation": "

    A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN\n value.

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

    Instructions for launching server processes on each instance in the fleet. Server\n processes run either a custom game build executable or a Realtime Servers script. The runtime\n configuration lists the types of server processes to run on an instance and includes the\n following configuration settings: the server executable or launch script file, launch\n parameters, and the number of processes to run concurrently on each instance. A\n CreateFleet request must include a runtime configuration with at least one server\n process configuration.

    ", "smithy.api#required": {} } } @@ -10779,12 +10882,6 @@ "com.amazonaws.gamelift#UpdateScriptInput": { "type": "structure", "members": { - "StorageLocation": { - "target": "com.amazonaws.gamelift#S3Location", - "traits": { - "smithy.api#documentation": "

    The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is\n stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the\n \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3\n bucket must be in the same Region where you want to create a new script. By default,\n Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning\n turned on, you can use the ObjectVersion parameter to specify an earlier\n version.

    " - } - }, "ScriptId": { "target": "com.amazonaws.gamelift#ScriptIdOrArn", "traits": { @@ -10792,10 +10889,10 @@ "smithy.api#required": {} } }, - "ZipFile": { - "target": "com.amazonaws.gamelift#ZipBlob", + "Name": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A data object containing your Realtime scripts and dependencies as a zip file. The zip\n file can have one or multiple files. Maximum size of a zip file is 5 MB.

    \n

    When using the AWS CLI tool to create a script, this parameter is set to the zip file\n name. It must be prepended with the string \"fileb://\" to indicate that the file data is\n a binary object. For example: --zip-file\n fileb://myRealtimeScript.zip.

    " + "smithy.api#documentation": "

    A descriptive label that is associated with a script. Script names do not need to be unique.

    " } }, "Version": { @@ -10804,10 +10901,16 @@ "smithy.api#documentation": "

    The version that is associated with a build or script. Version strings do not need to be unique.

    " } }, - "Name": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "StorageLocation": { + "target": "com.amazonaws.gamelift#S3Location", "traits": { - "smithy.api#documentation": "

    A descriptive label that is associated with a script. Script names do not need to be unique.

    " + "smithy.api#documentation": "

    The Amazon S3 location of your Realtime scripts. The storage location must specify the S3\n bucket name, the zip file name (the \"key\"), and an IAM role ARN that allows Amazon GameLift to\n access the S3 storage location. The S3 bucket must be in the same Region as the script\n you're updating. By default, Amazon GameLift uploads the latest version of the zip file; if you\n have S3 object versioning turned on, you can use the ObjectVersion\n parameter to specify an earlier version. To call this operation with a storage location,\n you must have IAM PassRole permission. For more details on IAM roles and PassRole\n permissions, see Set up a role for\n GameLift access.

    " + } + }, + "ZipFile": { + "target": "com.amazonaws.gamelift#ZipBlob", + "traits": { + "smithy.api#documentation": "

    A data object containing your Realtime scripts and dependencies as a zip file. The zip\n file can have one or multiple files. Maximum size of a zip file is 5 MB.

    \n

    When using the AWS CLI tool to create a script, this parameter is set to the zip file\n name. It must be prepended with the string \"fileb://\" to indicate that the file data is\n a binary object. For example: --zip-file\n fileb://myRealtimeScript.zip.

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

    Validates the syntax of a matchmaking rule or rule set. This operation checks that\n the rule set is using syntactically correct JSON and that it conforms to allowed\n property expressions. To validate syntax, provide a rule set JSON string.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n " + "smithy.api#documentation": "

    Validates the syntax of a matchmaking rule or rule set. This operation checks that\n the rule set is using syntactically correct JSON and that it conforms to allowed\n property expressions. To validate syntax, provide a rule set JSON string.

    \n

    \n Learn more\n

    \n \n

    \n Related operations\n

    \n " } }, "com.amazonaws.gamelift#ValidateMatchmakingRuleSetInput": { @@ -10878,12 +10981,24 @@ "com.amazonaws.gamelift#VpcPeeringAuthorization": { "type": "structure", "members": { + "GameLiftAwsAccountId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. \n You can find your Account ID in the AWS Management Console under account settings.

    " + } + }, "PeerVpcAwsAccountId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { "smithy.api#documentation": "

    " } }, + "PeerVpcId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    " + } + }, "CreationTime": { "target": "com.amazonaws.gamelift#Timestamp", "traits": { @@ -10895,18 +11010,6 @@ "traits": { "smithy.api#documentation": "

    Time stamp indicating when this authorization expires (24 hours after issuance).\n Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

    " } - }, - "PeerVpcId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    " - } - }, - "GameLiftAwsAccountId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", - "traits": { - "smithy.api#documentation": "

    A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. \n You can find your Account ID in the AWS Management Console under account settings.

    " - } } }, "traits": { @@ -10928,22 +11031,22 @@ "smithy.api#documentation": "

    A unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

    " } }, - "GameLiftVpcId": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "FleetArn": { + "target": "com.amazonaws.gamelift#FleetArn", "traits": { - "smithy.api#documentation": "

    A unique identifier for the VPC that contains the Amazon GameLift fleet for this\n connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.\n

    " + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection.\n

    " } }, - "VpcPeeringConnectionId": { + "IpV4CidrBlock": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier that is automatically assigned to the connection record. This ID\n is referenced in VPC peering connection events, and is used when deleting a connection\n with DeleteVpcPeeringConnection.

    " + "smithy.api#documentation": "

    CIDR block of IPv4 addresses assigned to the VPC peering connection for the\n GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these\n blocks cannot overlap or the peering connection cannot be created.

    " } }, - "IpV4CidrBlock": { + "VpcPeeringConnectionId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    CIDR block of IPv4 addresses assigned to the VPC peering connection for the\n GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these\n blocks cannot overlap or the peering connection cannot be created.

    " + "smithy.api#documentation": "

    A unique identifier that is automatically assigned to the connection record. This ID\n is referenced in VPC peering connection events, and is used when deleting a connection\n with DeleteVpcPeeringConnection.

    " } }, "Status": { @@ -10952,16 +11055,16 @@ "smithy.api#documentation": "

    The status information about the connection. Status indicates if a\n connection is pending, successful, or failed.

    " } }, - "FleetArn": { - "target": "com.amazonaws.gamelift#FleetArn", + "PeerVpcId": { + "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection.\n

    " + "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    " } }, - "PeerVpcId": { + "GameLiftVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The\n VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

    " + "smithy.api#documentation": "

    A unique identifier for the VPC that contains the Amazon GameLift fleet for this\n connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.\n

    " } } }, diff --git a/codegen/sdk-codegen/aws-models/glue.2017-03-31.json b/codegen/sdk-codegen/aws-models/glue.2017-03-31.json index 7556ad4dd4cef..6c3e14efa54b0 100644 --- a/codegen/sdk-codegen/aws-models/glue.2017-03-31.json +++ b/codegen/sdk-codegen/aws-models/glue.2017-03-31.json @@ -102,6 +102,9 @@ { "target": "com.amazonaws.glue#CreatePartition" }, + { + "target": "com.amazonaws.glue#CreatePartitionIndex" + }, { "target": "com.amazonaws.glue#CreateRegistry" }, @@ -156,6 +159,9 @@ { "target": "com.amazonaws.glue#DeletePartition" }, + { + "target": "com.amazonaws.glue#DeletePartitionIndex" + }, { "target": "com.amazonaws.glue#DeleteRegistry" }, @@ -606,6 +612,65 @@ "com.amazonaws.glue#AttemptCount": { "type": "integer" }, + "com.amazonaws.glue#BackfillError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.glue#BackfillErrorCode", + "traits": { + "smithy.api#documentation": "

    The error code for an error that occurred when registering partition indexes for an existing table.

    " + } + }, + "Partitions": { + "target": "com.amazonaws.glue#BackfillErroredPartitionsList", + "traits": { + "smithy.api#documentation": "

    A list of a limited number of partitions in the response.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A list of errors that can occur when registering partition indexes for an existing table.

    \n\t\n\t

    These errors give the details about why an index registration failed and provide a limited number of partitions in the response, so that you can fix the partitions at fault and try registering the index again. The most common set of errors that can occur are categorized as follows:

    \n\t \n\t
      \n
    • \n

      EncryptedPartitionError: The partitions are encrypted.

      \n
    • \n
    • \n

      InvalidPartitionTypeDataError: The partition value doesn't match the data type for that partition column.

      \n
    • \n
    • \n

      MissingPartitionValueError: The partitions are encrypted.

      \n
    • \n
    • \n

      UnsupportedPartitionCharacterError: Characters inside the partition value are not supported. For example: U+0000 , U+0001, U+0002.

      \n
    • \n
    • \n

      InternalError: Any error which does not belong to other error codes.

      \n
    • \n
    " + } + }, + "com.amazonaws.glue#BackfillErrorCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENCRYPTED_PARTITION_ERROR", + "name": "ENCRYPTED_PARTITION_ERROR" + }, + { + "value": "INTERNAL_ERROR", + "name": "INTERNAL_ERROR" + }, + { + "value": "INVALID_PARTITION_TYPE_DATA_ERROR", + "name": "INVALID_PARTITION_TYPE_DATA_ERROR" + }, + { + "value": "MISSING_PARTITION_VALUE_ERROR", + "name": "MISSING_PARTITION_VALUE_ERROR" + }, + { + "value": "UNSUPPORTED_PARTITION_CHARACTER_ERROR", + "name": "UNSUPPORTED_PARTITION_CHARACTER_ERROR" + } + ] + } + }, + "com.amazonaws.glue#BackfillErroredPartitionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#PartitionValueList" + } + }, + "com.amazonaws.glue#BackfillErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#BackfillError" + } + }, "com.amazonaws.glue#BatchCreatePartition": { "type": "operation", "input": { @@ -3006,6 +3071,12 @@ "smithy.api#documentation": "

    The policy that specifies update and delete behaviors for the crawler.

    " } }, + "LineageConfiguration": { + "target": "com.amazonaws.glue#LineageConfiguration", + "traits": { + "smithy.api#documentation": "

    A configuration that specifies whether data lineage is enabled for the crawler.

    " + } + }, "State": { "target": "com.amazonaws.glue#CrawlerState", "traits": { @@ -3074,6 +3145,21 @@ "com.amazonaws.glue#CrawlerConfiguration": { "type": "string" }, + "com.amazonaws.glue#CrawlerLineageSettings": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLE", + "name": "ENABLE" + }, + { + "value": "DISABLE", + "name": "DISABLE" + } + ] + } + }, "com.amazonaws.glue#CrawlerList": { "type": "list", "member": { @@ -3478,6 +3564,12 @@ "smithy.api#documentation": "

    A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

    " } }, + "LineageConfiguration": { + "target": "com.amazonaws.glue#LineageConfiguration", + "traits": { + "smithy.api#documentation": "

    Specifies data lineage configuration settings for the crawler.

    " + } + }, "Configuration": { "target": "com.amazonaws.glue#CrawlerConfiguration", "traits": { @@ -4257,6 +4349,77 @@ "smithy.api#documentation": "

    Creates a new partition.

    " } }, + "com.amazonaws.glue#CreatePartitionIndex": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#CreatePartitionIndexRequest" + }, + "output": { + "target": "com.amazonaws.glue#CreatePartitionIndexResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AlreadyExistsException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#GlueEncryptionException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + }, + { + "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates a specified partition index in an existing table.

    " + } + }, + "com.amazonaws.glue#CreatePartitionIndexRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

    The catalog ID where the table resides.

    " + } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

    Specifies the name of a database in which you want to create a partition index.

    ", + "smithy.api#required": {} + } + }, + "TableName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

    Specifies the name of a table in which you want to create a partition index.

    ", + "smithy.api#required": {} + } + }, + "PartitionIndex": { + "target": "com.amazonaws.glue#PartitionIndex", + "traits": { + "smithy.api#documentation": "

    Specifies a PartitionIndex structure to create a partition index in an existing table.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#CreatePartitionIndexResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.glue#CreatePartitionRequest": { "type": "structure", "members": { @@ -5941,6 +6104,74 @@ "smithy.api#documentation": "

    Deletes a specified partition.

    " } }, + "com.amazonaws.glue#DeletePartitionIndex": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#DeletePartitionIndexRequest" + }, + "output": { + "target": "com.amazonaws.glue#DeletePartitionIndexResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#ConflictException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#GlueEncryptionException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes a specified partition index from an existing table.

    " + } + }, + "com.amazonaws.glue#DeletePartitionIndexRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

    The catalog ID where the table resides.

    " + } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

    Specifies the name of a database from which you want to delete a partition index.

    ", + "smithy.api#required": {} + } + }, + "TableName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

    Specifies the name of a table from which you want to delete a partition index.

    ", + "smithy.api#required": {} + } + }, + "IndexName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

    The name of the partition index to be deleted.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#DeletePartitionIndexResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.glue#DeletePartitionRequest": { "type": "structure", "members": { @@ -12023,6 +12254,20 @@ "com.amazonaws.glue#LatestSchemaVersionBoolean": { "type": "boolean" }, + "com.amazonaws.glue#LineageConfiguration": { + "type": "structure", + "members": { + "CrawlerLineageSettings": { + "target": "com.amazonaws.glue#CrawlerLineageSettings", + "traits": { + "smithy.api#documentation": "

    Specifies whether data lineage is enabled for the crawler. Valid values are:

    \n\t\n\t
      \n
    • \n

      ENABLE: enables data lineage for the crawler

      \n
    • \n
    • \n

      DISABLE: disables data lineage for the crawler

      \n
    • \n
    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Specifies data lineage configuration settings for the crawler.

    " + } + }, "com.amazonaws.glue#ListCrawlers": { "type": "operation", "input": { @@ -13556,9 +13801,15 @@ "IndexStatus": { "target": "com.amazonaws.glue#PartitionIndexStatus", "traits": { - "smithy.api#documentation": "

    The status of the partition index.

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

    The status of the partition index.

    \n\t\n\t

    The possible statuses are:

    \n\t
      \n
    • \n

      CREATING: The index is being created. When an index is in a CREATING state, the index or its table cannot be deleted.

      \n
    • \n
    • \n

      ACTIVE: The index creation succeeds.

      \n
    • \n
    • \n

      FAILED: The index creation fails.

      \n
    • \n
    • \n

      DELETING: The index is deleted from the list of indexes.

      \n
    • \n
    ", "smithy.api#required": {} } + }, + "BackfillErrors": { + "target": "com.amazonaws.glue#BackfillErrors", + "traits": { + "smithy.api#documentation": "

    A list of errors that can occur when registering partition indexes for an existing table.

    " + } } }, "traits": { @@ -13587,9 +13838,21 @@ "type": "string", "traits": { "smithy.api#enum": [ + { + "value": "CREATING", + "name": "CREATING" + }, { "value": "ACTIVE", "name": "ACTIVE" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "FAILED", + "name": "FAILED" } ] } @@ -18022,6 +18285,12 @@ "smithy.api#documentation": "

    A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

    " } }, + "LineageConfiguration": { + "target": "com.amazonaws.glue#LineageConfiguration", + "traits": { + "smithy.api#documentation": "

    Specifies data lineage configuration settings for the crawler.

    " + } + }, "Configuration": { "target": "com.amazonaws.glue#CrawlerConfiguration", "traits": { diff --git a/codegen/sdk-codegen/aws-models/iot.2015-05-28.json b/codegen/sdk-codegen/aws-models/iot.2015-05-28.json index f68e7c7a2f04a..3677fc96759cc 100644 --- a/codegen/sdk-codegen/aws-models/iot.2015-05-28.json +++ b/codegen/sdk-codegen/aws-models/iot.2015-05-28.json @@ -1423,7 +1423,7 @@ } }, "com.amazonaws.iot#AssetPropertyVariant": { - "type": "structure", + "type": "union", "members": { "stringValue": { "target": "com.amazonaws.iot#AssetPropertyStringValue", @@ -11990,6 +11990,16 @@ "com.amazonaws.iot#FileName": { "type": "string" }, + "com.amazonaws.iot#FileType": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 255 + } + } + }, "com.amazonaws.iot#FindingId": { "type": "string", "traits": { @@ -19246,6 +19256,12 @@ "smithy.api#documentation": "

    The name of the file.

    " } }, + "fileType": { + "target": "com.amazonaws.iot#FileType", + "traits": { + "smithy.api#documentation": "

    An integer value you can include in the job document to allow your devices to identify the type of file received \n from the cloud.

    " + } + }, "fileVersion": { "target": "com.amazonaws.iot#OTAUpdateFileVersion", "traits": { diff --git a/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json b/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json index e440603551e39..9808b2609ba17 100644 --- a/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json +++ b/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json @@ -115,6 +115,9 @@ { "target": "com.amazonaws.iotsitewise#DescribeDashboard" }, + { + "target": "com.amazonaws.iotsitewise#DescribeDefaultEncryptionConfiguration" + }, { "target": "com.amazonaws.iotsitewise#DescribeGateway" }, @@ -172,6 +175,9 @@ { "target": "com.amazonaws.iotsitewise#ListTagsForResource" }, + { + "target": "com.amazonaws.iotsitewise#PutDefaultEncryptionConfiguration" + }, { "target": "com.amazonaws.iotsitewise#PutLoggingOptions" }, @@ -1399,7 +1405,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Sends a list of asset property values to AWS IoT SiteWise. Each value is a timestamp-quality-value\n (TQV) data point. For more information, see Ingesting data using the API in the\n AWS IoT SiteWise User Guide.

    \n

    To identify an asset property, you must specify one of the following:

    \n
      \n
    • \n

      The assetId and propertyId of an asset property.

      \n
    • \n
    • \n

      A propertyAlias, which is a data stream alias (for example,\n /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

      \n
    • \n
    \n \n

    With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that have a timestamp of no more\n than 15 minutes in the past and no more than 5 minutes in the future. AWS IoT SiteWise rejects\n timestamps outside of the inclusive range of [-15, +5] minutes and returns a\n TimestampOutOfRangeException error.

    \n

    For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer\n TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1},\n then storing {T1, GOOD, V2} replaces the existing TQV.

    \n
    \n

    AWS IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually.\n For more information, see BatchPutAssetPropertyValue authorization in the\n AWS IoT SiteWise User Guide.

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

    Sends a list of asset property values to AWS IoT SiteWise. Each value is a timestamp-quality-value\n (TQV) data point. For more information, see Ingesting data using the API in the\n AWS IoT SiteWise User Guide.

    \n

    To identify an asset property, you must specify one of the following:

    \n
      \n
    • \n

      The assetId and propertyId of an asset property.

      \n
    • \n
    • \n

      A propertyAlias, which is a data stream alias (for example,\n /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

      \n
    • \n
    \n \n

    With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that have a timestamp of no more\n than 15 minutes in the past and no more than 5 minutes in the future. AWS IoT SiteWise rejects\n timestamps outside of the inclusive range of [-15, +5] minutes and returns a\n TimestampOutOfRangeException error.

    \n

    For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer\n TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1},\n then storing {T1, GOOD, V2} replaces the existing TQV.

    \n
    \n

    AWS IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually.\n For more information, see BatchPutAssetPropertyValue authorization in the\n AWS IoT SiteWise User Guide.

    ", "smithy.api#endpoint": { "hostPrefix": "data." }, @@ -1525,6 +1531,68 @@ "smithy.api#pattern": "\\S{36,64}" } }, + "com.amazonaws.iotsitewise#ConfigurationErrorDetails": { + "type": "structure", + "members": { + "code": { + "target": "com.amazonaws.iotsitewise#ErrorCode", + "traits": { + "smithy.api#documentation": "

    ", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.iotsitewise#ErrorMessage", + "traits": { + "smithy.api#documentation": "

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    " + } + }, + "com.amazonaws.iotsitewise#ConfigurationState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "UPDATE_IN_PROGRESS", + "name": "UPDATE_IN_PROGRESS" + }, + { + "value": "UPDATE_FAILED", + "name": "UPDATE_FAILED" + } + ] + } + }, + "com.amazonaws.iotsitewise#ConfigurationStatus": { + "type": "structure", + "members": { + "state": { + "target": "com.amazonaws.iotsitewise#ConfigurationState", + "traits": { + "smithy.api#documentation": "

    ", + "smithy.api#required": {} + } + }, + "error": { + "target": "com.amazonaws.iotsitewise#ConfigurationErrorDetails", + "traits": { + "smithy.api#documentation": "

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    " + } + }, "com.amazonaws.iotsitewise#ConflictingOperationException": { "type": "structure", "members": { @@ -2134,7 +2202,7 @@ "portalAuthMode": { "target": "com.amazonaws.iotsitewise#AuthMode", "traits": { - "smithy.api#documentation": "

    The service to use to authenticate users to the portal. Choose from the following\n options:

    \n
      \n
    • \n

      \n SSO – The portal uses AWS Single Sign-On to authenticate users and manage\n user permissions. Before you can create a portal that uses AWS SSO, you must enable AWS SSO.\n For more information, see Enabling AWS SSO in the\n AWS IoT SiteWise User Guide. This option is only available in AWS Regions other\n than the China Regions.

      \n
    • \n
    • \n

      \n IAM – The portal uses AWS Identity and Access Management (IAM) to authenticate users and manage\n user permissions. IAM users must have the\n iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. This option is only available in the China Regions.

      \n
    • \n
    \n

    You can't change this value after you create a portal.

    \n

    Default: SSO\n

    " + "smithy.api#documentation": "

    The service to use to authenticate users to the portal. Choose from the following\n options:

    \n
      \n
    • \n

      \n SSO – The portal uses AWS Single Sign-On to authenticate users and manage\n user permissions. Before you can create a portal that uses AWS SSO, you must enable AWS SSO.\n For more information, see Enabling AWS SSO in the\n AWS IoT SiteWise User Guide. This option is only available in AWS Regions other than\n the China Regions.

      \n
    • \n
    • \n

      \n IAM – The portal uses AWS Identity and Access Management (IAM) to authenticate users and manage\n user permissions. IAM users must have the\n iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. This option is only available in the\n China Regions.

      \n
    • \n
    \n

    You can't change this value after you create a portal.

    \n

    Default: SSO\n

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

    Creates a pre-signed URL to a portal. Use this operation to create URLs to portals that\n use AWS Identity and Access Management (IAM) to authenticate users. An IAM user with access to a portal can call this API\n to get a URL to that portal. The URL contains a session token that lets the IAM user access\n the portal.

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

    Creates a pre-signed URL to a portal. Use this operation to create URLs to portals that\n use AWS Identity and Access Management (IAM) to authenticate users. An IAM user with access to a portal can call this API\n to get a URL to that portal. The URL contains an authentication token that lets the IAM user\n access the portal.

    ", "smithy.api#endpoint": { "hostPrefix": "monitor." }, @@ -2224,7 +2292,7 @@ "sessionDurationSeconds": { "target": "com.amazonaws.iotsitewise#SessionDurationSeconds", "traits": { - "smithy.api#documentation": "

    The duration (in seconds) for which the session at the URL is valid.

    \n

    Default: 900 seconds (15 minutes)

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

    The duration (in seconds) for which the session at the URL is valid.

    \n

    Default: 43,200 seconds (12 hours)

    ", "smithy.api#httpQuery": "sessionDurationSeconds" } } @@ -2236,7 +2304,7 @@ "presignedPortalUrl": { "target": "com.amazonaws.iotsitewise#Url", "traits": { - "smithy.api#documentation": "

    The pre-signed URL to the portal. The URL contains the portal ID and a session token that\n lets you access the portal. The URL has the following format.

    \n

    \n https://.app.iotsitewise.aws/auth?token=\n

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

    The pre-signed URL to the portal. The URL contains the portal ID and an authentication\n token that lets you access the portal. The URL has the following format.

    \n

    \n https://.app.iotsitewise.aws/iam?token=\n

    ", "smithy.api#required": {} } } @@ -3359,6 +3427,63 @@ } } }, + "com.amazonaws.iotsitewise#DescribeDefaultEncryptionConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.iotsitewise#DescribeDefaultEncryptionConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.iotsitewise#DescribeDefaultEncryptionConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.iotsitewise#InternalFailureException" + }, + { + "target": "com.amazonaws.iotsitewise#InvalidRequestException" + }, + { + "target": "com.amazonaws.iotsitewise#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Retrieves information about the default encryption configuration for the\n AWS account in the default or specified region. For more information, see Key management\n in the AWS IoT SiteWise User Guide.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/configuration/account/encryption", + "code": 200 + } + } + }, + "com.amazonaws.iotsitewise#DescribeDefaultEncryptionConfigurationRequest": { + "type": "structure", + "members": {} + }, + "com.amazonaws.iotsitewise#DescribeDefaultEncryptionConfigurationResponse": { + "type": "structure", + "members": { + "encryptionType": { + "target": "com.amazonaws.iotsitewise#EncryptionType", + "traits": { + "smithy.api#documentation": "

    The type of encryption used for the encryption configuration.

    ", + "smithy.api#required": {} + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.iotsitewise#ARN", + "traits": { + "smithy.api#documentation": "

    The key ARN of the customer managed customer master key (CMK) used for AWS KMS encryption\n if you use KMS_BASED_ENCRYPTION.

    " + } + }, + "configurationStatus": { + "target": "com.amazonaws.iotsitewise#ConfigurationStatus", + "traits": { + "smithy.api#documentation": "

    The status of the account configuration. This contains the\n ConfigurationState. If\n there's an error, it also contains the ErrorDetails.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.iotsitewise#DescribeGateway": { "type": "operation", "input": { @@ -3924,6 +4049,21 @@ "smithy.api#pattern": "[^@]+@[^@]+" } }, + "com.amazonaws.iotsitewise#EncryptionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SITEWISE_DEFAULT_ENCRYPTION", + "name": "SITEWISE_DEFAULT_ENCRYPTION" + }, + { + "value": "KMS_BASED_ENCRYPTION", + "name": "KMS_BASED_ENCRYPTION" + } + ] + } + }, "com.amazonaws.iotsitewise#EntryId": { "type": "string", "traits": { @@ -4131,7 +4271,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Gets aggregated values for an asset property. For more information, see Querying\n aggregates in the AWS IoT SiteWise User Guide.

    \n

    To identify an asset property, you must specify one of the following:

    \n
      \n
    • \n

      The assetId and propertyId of an asset property.

      \n
    • \n
    • \n

      A propertyAlias, which is a data stream alias (for example,\n /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

      \n
    • \n
    ", + "smithy.api#documentation": "

    Gets aggregated values for an asset property. For more information, see Querying\n aggregates in the AWS IoT SiteWise User Guide.

    \n

    To identify an asset property, you must specify one of the following:

    \n
      \n
    • \n

      The assetId and propertyId of an asset property.

      \n
    • \n
    • \n

      A propertyAlias, which is a data stream alias (for example,\n /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

      \n
    • \n
    ", "smithy.api#endpoint": { "hostPrefix": "data." }, @@ -4277,7 +4417,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Gets an asset property's current value. For more information, see Querying\n current values in the AWS IoT SiteWise User Guide.

    \n

    To identify an asset property, you must specify one of the following:

    \n
      \n
    • \n

      The assetId and propertyId of an asset property.

      \n
    • \n
    • \n

      A propertyAlias, which is a data stream alias (for example,\n /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

      \n
    • \n
    ", + "smithy.api#documentation": "

    Gets an asset property's current value. For more information, see Querying\n current values in the AWS IoT SiteWise User Guide.

    \n

    To identify an asset property, you must specify one of the following:

    \n
      \n
    • \n

      The assetId and propertyId of an asset property.

      \n
    • \n
    • \n

      A propertyAlias, which is a data stream alias (for example,\n /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

      \n
    • \n
    ", "smithy.api#endpoint": { "hostPrefix": "data." }, @@ -4543,7 +4683,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Contains an identity that can access an AWS IoT SiteWise Monitor resource.

    \n \n

    Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can find the AWS SSO\n identity IDs in the URL of user and group pages in the AWS SSO console.

    \n
    " + "smithy.api#documentation": "

    Contains an identity that can access an AWS IoT SiteWise Monitor resource.

    \n \n

    Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can find the\n AWS SSO identity IDs in the URL of user and group pages in the AWS SSO console.

    \n
    " } }, "com.amazonaws.iotsitewise#IdentityId": { @@ -4698,6 +4838,15 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.iotsitewise#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, "com.amazonaws.iotsitewise#LimitExceededException": { "type": "structure", "members": { @@ -6172,6 +6321,83 @@ "smithy.api#documentation": "

    Contains a list of value updates for an asset property in the list of asset entries\n consumed by the BatchPutAssetPropertyValue API\n operation.

    " } }, + "com.amazonaws.iotsitewise#PutDefaultEncryptionConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.iotsitewise#PutDefaultEncryptionConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.iotsitewise#PutDefaultEncryptionConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.iotsitewise#ConflictingOperationException" + }, + { + "target": "com.amazonaws.iotsitewise#InternalFailureException" + }, + { + "target": "com.amazonaws.iotsitewise#InvalidRequestException" + }, + { + "target": "com.amazonaws.iotsitewise#LimitExceededException" + }, + { + "target": "com.amazonaws.iotsitewise#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Sets the default encryption configuration for the AWS\n account. For more information, see Key management\n in the AWS IoT SiteWise User Guide.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/configuration/account/encryption", + "code": 200 + } + } + }, + "com.amazonaws.iotsitewise#PutDefaultEncryptionConfigurationRequest": { + "type": "structure", + "members": { + "encryptionType": { + "target": "com.amazonaws.iotsitewise#EncryptionType", + "traits": { + "smithy.api#documentation": "

    The type of encryption used for the encryption configuration.

    ", + "smithy.api#required": {} + } + }, + "kmsKeyId": { + "target": "com.amazonaws.iotsitewise#KmsKeyId", + "traits": { + "smithy.api#documentation": "

    The Key ID of the customer managed customer master key (CMK) used for AWS KMS encryption. This is required if you use\n KMS_BASED_ENCRYPTION.

    " + } + } + } + }, + "com.amazonaws.iotsitewise#PutDefaultEncryptionConfigurationResponse": { + "type": "structure", + "members": { + "encryptionType": { + "target": "com.amazonaws.iotsitewise#EncryptionType", + "traits": { + "smithy.api#documentation": "

    The type of encryption used for the encryption configuration.

    ", + "smithy.api#required": {} + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.iotsitewise#ARN", + "traits": { + "smithy.api#documentation": "

    The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you use \n KMS_BASED_ENCRYPTION.

    " + } + }, + "configurationStatus": { + "target": "com.amazonaws.iotsitewise#ConfigurationStatus", + "traits": { + "smithy.api#documentation": "

    The status of the account configuration. This contains the\n ConfigurationState. If there is an error, it also contains the\n ErrorDetails.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.iotsitewise#PutLoggingOptions": { "type": "operation", "input": { @@ -7213,7 +7439,7 @@ "capabilitySyncStatus": { "target": "com.amazonaws.iotsitewise#CapabilitySyncStatus", "traits": { - "smithy.api#documentation": "

    The synchronization status of the capability configuration. The sync status can be one of the following:

    \n
      \n
    • \n

      \n IN_SYNC – The gateway is running the capability configuration.

      \n
    • \n
    • \n

      \n OUT_OF_SYNC – The gateway hasn't received the capability configuration.

      \n
    • \n
    • \n

      \n SYNC_FAILED – The gateway rejected the capability configuration.

      \n
    • \n
    \n

    After you update a capability configuration, its sync status is\n OUT_OF_SYNC until the gateway receives and applies or rejects the updated\n configuration.

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

    The synchronization status of the capability configuration. The sync status can be one of the following:

    \n
      \n
    • \n

      \n IN_SYNC – The gateway is running the capability configuration.

      \n
    • \n
    • \n

      \n OUT_OF_SYNC – The gateway hasn't received the capability configuration.

      \n
    • \n
    • \n

      \n SYNC_FAILED – The gateway rejected the capability configuration.

      \n
    • \n
    \n

    After you update a capability configuration, its sync status is OUT_OF_SYNC\n until the gateway receives and applies or rejects the updated configuration.

    ", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json index 838858bfa5870..67d841c324d58 100644 --- a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json +++ b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json @@ -96,14 +96,6 @@ "com.amazonaws.kafka#BatchAssociateScramSecretRequest": { "type": "structure", "members": { - "SecretArnList": { - "target": "com.amazonaws.kafka#__listOf__string", - "traits": { - "smithy.api#documentation": "

    List of AWS Secrets Manager secret ARNs.

    ", - "smithy.api#jsonName": "secretArnList", - "smithy.api#required": {} - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -111,6 +103,14 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "SecretArnList": { + "target": "com.amazonaws.kafka#__listOf__string", + "traits": { + "smithy.api#documentation": "

    List of AWS Secrets Manager secret ARNs.

    ", + "smithy.api#jsonName": "secretArnList", + "smithy.api#required": {} + } } }, "traits": { @@ -120,19 +120,19 @@ "com.amazonaws.kafka#BatchAssociateScramSecretResponse": { "type": "structure", "members": { - "UnprocessedScramSecrets": { - "target": "com.amazonaws.kafka#__listOfUnprocessedScramSecret", - "traits": { - "smithy.api#documentation": "

    List of errors when associating secrets to cluster.

    ", - "smithy.api#jsonName": "unprocessedScramSecrets" - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", "smithy.api#jsonName": "clusterArn" } + }, + "UnprocessedScramSecrets": { + "target": "com.amazonaws.kafka#__listOfUnprocessedScramSecret", + "traits": { + "smithy.api#documentation": "

    List of errors when associating secrets to cluster.

    ", + "smithy.api#jsonName": "unprocessedScramSecrets" + } } } }, @@ -179,14 +179,6 @@ "com.amazonaws.kafka#BatchDisassociateScramSecretRequest": { "type": "structure", "members": { - "SecretArnList": { - "target": "com.amazonaws.kafka#__listOf__string", - "traits": { - "smithy.api#documentation": "

    List of AWS Secrets Manager secret ARNs.

    ", - "smithy.api#jsonName": "secretArnList", - "smithy.api#required": {} - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -194,6 +186,14 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "SecretArnList": { + "target": "com.amazonaws.kafka#__listOf__string", + "traits": { + "smithy.api#documentation": "

    List of AWS Secrets Manager secret ARNs.

    ", + "smithy.api#jsonName": "secretArnList", + "smithy.api#required": {} + } } }, "traits": { @@ -234,14 +234,6 @@ "com.amazonaws.kafka#BrokerEBSVolumeInfo": { "type": "structure", "members": { - "VolumeSizeGB": { - "target": "com.amazonaws.kafka#__integer", - "traits": { - "smithy.api#documentation": "

    Size of the EBS volume to update.

    ", - "smithy.api#jsonName": "volumeSizeGB", - "smithy.api#required": {} - } - }, "KafkaBrokerNodeId": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -249,6 +241,14 @@ "smithy.api#jsonName": "kafkaBrokerNodeId", "smithy.api#required": {} } + }, + "VolumeSizeGB": { + "target": "com.amazonaws.kafka#__integer", + "traits": { + "smithy.api#documentation": "

    Size of the EBS volume to update.

    ", + "smithy.api#jsonName": "volumeSizeGB", + "smithy.api#required": {} + } } }, "traits": { @@ -258,10 +258,10 @@ "com.amazonaws.kafka#BrokerLogs": { "type": "structure", "members": { - "S3": { - "target": "com.amazonaws.kafka#S3", + "CloudWatchLogs": { + "target": "com.amazonaws.kafka#CloudWatchLogs", "traits": { - "smithy.api#jsonName": "s3" + "smithy.api#jsonName": "cloudWatchLogs" } }, "Firehose": { @@ -270,10 +270,10 @@ "smithy.api#jsonName": "firehose" } }, - "CloudWatchLogs": { - "target": "com.amazonaws.kafka#CloudWatchLogs", + "S3": { + "target": "com.amazonaws.kafka#S3", "traits": { - "smithy.api#jsonName": "cloudWatchLogs" + "smithy.api#jsonName": "s3" } } } @@ -281,20 +281,6 @@ "com.amazonaws.kafka#BrokerNodeGroupInfo": { "type": "structure", "members": { - "SecurityGroups": { - "target": "com.amazonaws.kafka#__listOf__string", - "traits": { - "smithy.api#documentation": "

    The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

    ", - "smithy.api#jsonName": "securityGroups" - } - }, - "StorageInfo": { - "target": "com.amazonaws.kafka#StorageInfo", - "traits": { - "smithy.api#documentation": "

    Contains information about storage volumes attached to MSK broker nodes.

    ", - "smithy.api#jsonName": "storageInfo" - } - }, "BrokerAZDistribution": { "target": "com.amazonaws.kafka#BrokerAZDistribution", "traits": { @@ -317,6 +303,20 @@ "smithy.api#jsonName": "instanceType", "smithy.api#required": {} } + }, + "SecurityGroups": { + "target": "com.amazonaws.kafka#__listOf__string", + "traits": { + "smithy.api#documentation": "

    The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

    ", + "smithy.api#jsonName": "securityGroups" + } + }, + "StorageInfo": { + "target": "com.amazonaws.kafka#StorageInfo", + "traits": { + "smithy.api#documentation": "

    Contains information about storage volumes attached to MSK broker nodes.

    ", + "smithy.api#jsonName": "storageInfo" + } } }, "traits": { @@ -333,13 +333,6 @@ "smithy.api#jsonName": "attachedENIId" } }, - "CurrentBrokerSoftwareInfo": { - "target": "com.amazonaws.kafka#BrokerSoftwareInfo", - "traits": { - "smithy.api#documentation": "

    Information about the version of software currently deployed on the Kafka brokers in the cluster.

    ", - "smithy.api#jsonName": "currentBrokerSoftwareInfo" - } - }, "BrokerId": { "target": "com.amazonaws.kafka#__double", "traits": { @@ -361,6 +354,13 @@ "smithy.api#jsonName": "clientVpcIpAddress" } }, + "CurrentBrokerSoftwareInfo": { + "target": "com.amazonaws.kafka#BrokerSoftwareInfo", + "traits": { + "smithy.api#documentation": "

    Information about the version of software currently deployed on the Kafka brokers in the cluster.

    ", + "smithy.api#jsonName": "currentBrokerSoftwareInfo" + } + }, "Endpoints": { "target": "com.amazonaws.kafka#__listOf__string", "traits": { @@ -376,13 +376,6 @@ "com.amazonaws.kafka#BrokerSoftwareInfo": { "type": "structure", "members": { - "KafkaVersion": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The version of Apache Kafka.

    ", - "smithy.api#jsonName": "kafkaVersion" - } - }, "ConfigurationArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -396,6 +389,13 @@ "smithy.api#documentation": "

    The revision of the configuration to use. This field isn't visible in this preview release.

    ", "smithy.api#jsonName": "configurationRevision" } + }, + "KafkaVersion": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The version of Apache Kafka.

    ", + "smithy.api#jsonName": "kafkaVersion" + } } }, "traits": { @@ -405,19 +405,19 @@ "com.amazonaws.kafka#ClientAuthentication": { "type": "structure", "members": { - "Tls": { - "target": "com.amazonaws.kafka#Tls", - "traits": { - "smithy.api#documentation": "

    Details for ClientAuthentication using TLS.

    ", - "smithy.api#jsonName": "tls" - } - }, "Sasl": { "target": "com.amazonaws.kafka#Sasl", "traits": { "smithy.api#documentation": "

    Details for ClientAuthentication using SASL.

    ", "smithy.api#jsonName": "sasl" } + }, + "Tls": { + "target": "com.amazonaws.kafka#Tls", + "traits": { + "smithy.api#documentation": "

    Details for ClientAuthentication using TLS.

    ", + "smithy.api#jsonName": "tls" + } } }, "traits": { @@ -465,13 +465,6 @@ "com.amazonaws.kafka#ClusterInfo": { "type": "structure", "members": { - "ZookeeperConnectStringTls": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The connection string to use to connect to zookeeper cluster on Tls port.

    ", - "smithy.api#jsonName": "zookeeperConnectStringTls" - } - }, "ActiveOperationArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -486,20 +479,6 @@ "smithy.api#jsonName": "brokerNodeGroupInfo" } }, - "ClusterName": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The name of the cluster.

    ", - "smithy.api#jsonName": "clusterName" - } - }, - "Tags": { - "target": "com.amazonaws.kafka#__mapOf__string", - "traits": { - "smithy.api#documentation": "

    Tags attached to the cluster.

    ", - "smithy.api#jsonName": "tags" - } - }, "ClientAuthentication": { "target": "com.amazonaws.kafka#ClientAuthentication", "traits": { @@ -507,31 +486,39 @@ "smithy.api#jsonName": "clientAuthentication" } }, - "CurrentVersion": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The current version of the MSK cluster.

    ", - "smithy.api#jsonName": "currentVersion" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", + "smithy.api#jsonName": "clusterArn" } }, - "StateInfo": { - "target": "com.amazonaws.kafka#StateInfo", + "ClusterName": { + "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#jsonName": "stateInfo" + "smithy.api#documentation": "

    The name of the cluster.

    ", + "smithy.api#jsonName": "clusterName" } }, - "State": { - "target": "com.amazonaws.kafka#ClusterState", + "CreationTime": { + "target": "com.amazonaws.kafka#__timestampIso8601", "traits": { - "smithy.api#documentation": "

    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

    ", - "smithy.api#jsonName": "state" + "smithy.api#documentation": "

    The time when the cluster was created.

    ", + "smithy.api#jsonName": "creationTime" } }, - "NumberOfBrokerNodes": { - "target": "com.amazonaws.kafka#__integer", + "CurrentBrokerSoftwareInfo": { + "target": "com.amazonaws.kafka#BrokerSoftwareInfo", "traits": { - "smithy.api#documentation": "

    The number of broker nodes in the cluster.

    ", - "smithy.api#jsonName": "numberOfBrokerNodes" + "smithy.api#documentation": "

    Information about the version of software currently deployed on the Kafka brokers in the cluster.

    ", + "smithy.api#jsonName": "currentBrokerSoftwareInfo" + } + }, + "CurrentVersion": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The current version of the MSK cluster.

    ", + "smithy.api#jsonName": "currentVersion" } }, "EncryptionInfo": { @@ -541,6 +528,13 @@ "smithy.api#jsonName": "encryptionInfo" } }, + "EnhancedMonitoring": { + "target": "com.amazonaws.kafka#EnhancedMonitoring", + "traits": { + "smithy.api#documentation": "

    Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

    ", + "smithy.api#jsonName": "enhancedMonitoring" + } + }, "OpenMonitoring": { "target": "com.amazonaws.kafka#OpenMonitoring", "traits": { @@ -554,39 +548,45 @@ "smithy.api#jsonName": "loggingInfo" } }, - "CurrentBrokerSoftwareInfo": { - "target": "com.amazonaws.kafka#BrokerSoftwareInfo", + "NumberOfBrokerNodes": { + "target": "com.amazonaws.kafka#__integer", "traits": { - "smithy.api#documentation": "

    Information about the version of software currently deployed on the Kafka brokers in the cluster.

    ", - "smithy.api#jsonName": "currentBrokerSoftwareInfo" + "smithy.api#documentation": "

    The number of broker nodes in the cluster.

    ", + "smithy.api#jsonName": "numberOfBrokerNodes" } }, - "ZookeeperConnectString": { - "target": "com.amazonaws.kafka#__string", + "State": { + "target": "com.amazonaws.kafka#ClusterState", "traits": { - "smithy.api#documentation": "

    The connection string to use to connect to the Apache ZooKeeper cluster.

    ", - "smithy.api#jsonName": "zookeeperConnectString" + "smithy.api#documentation": "

    The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

    ", + "smithy.api#jsonName": "state" } }, - "CreationTime": { - "target": "com.amazonaws.kafka#__timestampIso8601", + "StateInfo": { + "target": "com.amazonaws.kafka#StateInfo", "traits": { - "smithy.api#documentation": "

    The time when the cluster was created.

    ", - "smithy.api#jsonName": "creationTime" + "smithy.api#jsonName": "stateInfo" } }, - "ClusterArn": { + "Tags": { + "target": "com.amazonaws.kafka#__mapOf__string", + "traits": { + "smithy.api#documentation": "

    Tags attached to the cluster.

    ", + "smithy.api#jsonName": "tags" + } + }, + "ZookeeperConnectString": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", - "smithy.api#jsonName": "clusterArn" + "smithy.api#documentation": "

    The connection string to use to connect to the Apache ZooKeeper cluster.

    ", + "smithy.api#jsonName": "zookeeperConnectString" } }, - "EnhancedMonitoring": { - "target": "com.amazonaws.kafka#EnhancedMonitoring", + "ZookeeperConnectStringTls": { + "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

    ", - "smithy.api#jsonName": "enhancedMonitoring" + "smithy.api#documentation": "

    The connection string to use to connect to zookeeper cluster on Tls port.

    ", + "smithy.api#jsonName": "zookeeperConnectStringTls" } } }, @@ -597,25 +597,25 @@ "com.amazonaws.kafka#ClusterOperationInfo": { "type": "structure", "members": { - "OperationArn": { + "ClientRequestId": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    ARN of the cluster operation.

    ", - "smithy.api#jsonName": "operationArn" + "smithy.api#documentation": "

    The ID of the API request that triggered this operation.

    ", + "smithy.api#jsonName": "clientRequestId" } }, - "ClientRequestId": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The ID of the API request that triggered this operation.

    ", - "smithy.api#jsonName": "clientRequestId" + "smithy.api#documentation": "

    ARN of the cluster.

    ", + "smithy.api#jsonName": "clusterArn" } }, - "OperationSteps": { - "target": "com.amazonaws.kafka#__listOfClusterOperationStep", + "CreationTime": { + "target": "com.amazonaws.kafka#__timestampIso8601", "traits": { - "smithy.api#documentation": "

    Steps completed during the operation.

    ", - "smithy.api#jsonName": "operationSteps" + "smithy.api#documentation": "

    The time that the operation was created.

    ", + "smithy.api#jsonName": "creationTime" } }, "EndTime": { @@ -625,13 +625,6 @@ "smithy.api#jsonName": "endTime" } }, - "SourceClusterInfo": { - "target": "com.amazonaws.kafka#MutableClusterInfo", - "traits": { - "smithy.api#documentation": "

    Information about cluster attributes before a cluster is updated.

    ", - "smithy.api#jsonName": "sourceClusterInfo" - } - }, "ErrorInfo": { "target": "com.amazonaws.kafka#ErrorInfo", "traits": { @@ -639,25 +632,25 @@ "smithy.api#jsonName": "errorInfo" } }, - "ClusterArn": { + "OperationArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    ARN of the cluster.

    ", - "smithy.api#jsonName": "clusterArn" + "smithy.api#documentation": "

    ARN of the cluster operation.

    ", + "smithy.api#jsonName": "operationArn" } }, - "CreationTime": { - "target": "com.amazonaws.kafka#__timestampIso8601", + "OperationState": { + "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The time that the operation was created.

    ", - "smithy.api#jsonName": "creationTime" + "smithy.api#documentation": "

    State of the cluster operation.

    ", + "smithy.api#jsonName": "operationState" } }, - "TargetClusterInfo": { - "target": "com.amazonaws.kafka#MutableClusterInfo", + "OperationSteps": { + "target": "com.amazonaws.kafka#__listOfClusterOperationStep", "traits": { - "smithy.api#documentation": "

    Information about cluster attributes after a cluster is updated.

    ", - "smithy.api#jsonName": "targetClusterInfo" + "smithy.api#documentation": "

    Steps completed during the operation.

    ", + "smithy.api#jsonName": "operationSteps" } }, "OperationType": { @@ -667,11 +660,18 @@ "smithy.api#jsonName": "operationType" } }, - "OperationState": { - "target": "com.amazonaws.kafka#__string", + "SourceClusterInfo": { + "target": "com.amazonaws.kafka#MutableClusterInfo", "traits": { - "smithy.api#documentation": "

    State of the cluster operation.

    ", - "smithy.api#jsonName": "operationState" + "smithy.api#documentation": "

    Information about cluster attributes before a cluster is updated.

    ", + "smithy.api#jsonName": "sourceClusterInfo" + } + }, + "TargetClusterInfo": { + "target": "com.amazonaws.kafka#MutableClusterInfo", + "traits": { + "smithy.api#documentation": "

    Information about cluster attributes after a cluster is updated.

    ", + "smithy.api#jsonName": "targetClusterInfo" } } }, @@ -729,10 +729,6 @@ "value": "CREATING", "name": "CREATING" }, - { - "value": "UPDATING", - "name": "UPDATING" - }, { "value": "DELETING", "name": "DELETING" @@ -740,6 +736,18 @@ { "value": "FAILED", "name": "FAILED" + }, + { + "value": "MAINTENANCE", + "name": "MAINTENANCE" + }, + { + "value": "REBOOTING_BROKER", + "name": "REBOOTING_BROKER" + }, + { + "value": "UPDATING", + "name": "UPDATING" } ] } @@ -785,11 +793,11 @@ "smithy.api#required": {} } }, - "Name": { + "Description": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The name of the configuration.

    ", - "smithy.api#jsonName": "name", + "smithy.api#documentation": "

    The description of the configuration.

    ", + "smithy.api#jsonName": "description", "smithy.api#required": {} } }, @@ -809,11 +817,11 @@ "smithy.api#required": {} } }, - "Description": { + "Name": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The description of the configuration.

    ", - "smithy.api#jsonName": "description", + "smithy.api#documentation": "

    The name of the configuration.

    ", + "smithy.api#jsonName": "name", "smithy.api#required": {} } }, @@ -857,11 +865,11 @@ "com.amazonaws.kafka#ConfigurationRevision": { "type": "structure", "members": { - "Revision": { - "target": "com.amazonaws.kafka#__long", + "CreationTime": { + "target": "com.amazonaws.kafka#__timestampIso8601", "traits": { - "smithy.api#documentation": "

    The revision number.

    ", - "smithy.api#jsonName": "revision", + "smithy.api#documentation": "

    The time when the configuration revision was created.

    ", + "smithy.api#jsonName": "creationTime", "smithy.api#required": {} } }, @@ -872,11 +880,11 @@ "smithy.api#jsonName": "description" } }, - "CreationTime": { - "target": "com.amazonaws.kafka#__timestampIso8601", + "Revision": { + "target": "com.amazonaws.kafka#__long", "traits": { - "smithy.api#documentation": "

    The time when the configuration revision was created.

    ", - "smithy.api#jsonName": "creationTime", + "smithy.api#documentation": "

    The revision number.

    ", + "smithy.api#jsonName": "revision", "smithy.api#required": {} } } @@ -908,18 +916,18 @@ "com.amazonaws.kafka#ConflictException": { "type": "structure", "members": { - "Message": { + "InvalidParameter": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The description of the error.

    ", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

    The parameter that caused the error.

    ", + "smithy.api#jsonName": "invalidParameter" } }, - "InvalidParameter": { + "Message": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The parameter that caused the error.

    ", - "smithy.api#jsonName": "invalidParameter" + "smithy.api#documentation": "

    The description of the error.

    ", + "smithy.api#jsonName": "message" } } }, @@ -972,29 +980,43 @@ "com.amazonaws.kafka#CreateClusterRequest": { "type": "structure", "members": { - "KafkaVersion": { - "target": "com.amazonaws.kafka#__stringMin1Max128", + "BrokerNodeGroupInfo": { + "target": "com.amazonaws.kafka#BrokerNodeGroupInfo", "traits": { - "smithy.api#documentation": "

    The version of Apache Kafka.

    ", - "smithy.api#jsonName": "kafkaVersion", + "smithy.api#documentation": "

    Information about the broker nodes in the cluster.

    ", + "smithy.api#jsonName": "brokerNodeGroupInfo", "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.kafka#__mapOf__string", + "ClientAuthentication": { + "target": "com.amazonaws.kafka#ClientAuthentication", "traits": { - "smithy.api#documentation": "

    Create tags when creating the cluster.

    ", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

    Includes all client authentication related information.

    ", + "smithy.api#jsonName": "clientAuthentication" } }, - "BrokerNodeGroupInfo": { - "target": "com.amazonaws.kafka#BrokerNodeGroupInfo", + "ClusterName": { + "target": "com.amazonaws.kafka#__stringMin1Max64", "traits": { - "smithy.api#documentation": "

    Information about the broker nodes in the cluster.

    ", - "smithy.api#jsonName": "brokerNodeGroupInfo", + "smithy.api#documentation": "

    The name of the cluster.

    ", + "smithy.api#jsonName": "clusterName", "smithy.api#required": {} } }, + "ConfigurationInfo": { + "target": "com.amazonaws.kafka#ConfigurationInfo", + "traits": { + "smithy.api#documentation": "

    Represents the configuration that you want MSK to use for the brokers in a cluster.

    ", + "smithy.api#jsonName": "configurationInfo" + } + }, + "EncryptionInfo": { + "target": "com.amazonaws.kafka#EncryptionInfo", + "traits": { + "smithy.api#documentation": "

    Includes all encryption-related information.

    ", + "smithy.api#jsonName": "encryptionInfo" + } + }, "EnhancedMonitoring": { "target": "com.amazonaws.kafka#EnhancedMonitoring", "traits": { @@ -1009,26 +1031,18 @@ "smithy.api#jsonName": "openMonitoring" } }, - "ConfigurationInfo": { - "target": "com.amazonaws.kafka#ConfigurationInfo", - "traits": { - "smithy.api#documentation": "

    Represents the configuration that you want MSK to use for the brokers in a cluster.

    ", - "smithy.api#jsonName": "configurationInfo" - } - }, - "ClusterName": { - "target": "com.amazonaws.kafka#__stringMin1Max64", + "KafkaVersion": { + "target": "com.amazonaws.kafka#__stringMin1Max128", "traits": { - "smithy.api#documentation": "

    The name of the cluster.

    ", - "smithy.api#jsonName": "clusterName", + "smithy.api#documentation": "

    The version of Apache Kafka.

    ", + "smithy.api#jsonName": "kafkaVersion", "smithy.api#required": {} } }, - "EncryptionInfo": { - "target": "com.amazonaws.kafka#EncryptionInfo", + "LoggingInfo": { + "target": "com.amazonaws.kafka#LoggingInfo", "traits": { - "smithy.api#documentation": "

    Includes all encryption-related information.

    ", - "smithy.api#jsonName": "encryptionInfo" + "smithy.api#jsonName": "loggingInfo" } }, "NumberOfBrokerNodes": { @@ -1039,17 +1053,11 @@ "smithy.api#required": {} } }, - "LoggingInfo": { - "target": "com.amazonaws.kafka#LoggingInfo", - "traits": { - "smithy.api#jsonName": "loggingInfo" - } - }, - "ClientAuthentication": { - "target": "com.amazonaws.kafka#ClientAuthentication", + "Tags": { + "target": "com.amazonaws.kafka#__mapOf__string", "traits": { - "smithy.api#documentation": "

    Includes all client authentication related information.

    ", - "smithy.api#jsonName": "clientAuthentication" + "smithy.api#documentation": "

    Create tags when creating the cluster.

    ", + "smithy.api#jsonName": "tags" } } } @@ -1057,13 +1065,6 @@ "com.amazonaws.kafka#CreateClusterResponse": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.kafka#ClusterState", - "traits": { - "smithy.api#documentation": "

    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

    ", - "smithy.api#jsonName": "state" - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -1077,6 +1078,13 @@ "smithy.api#documentation": "

    The name of the MSK cluster.

    ", "smithy.api#jsonName": "clusterName" } + }, + "State": { + "target": "com.amazonaws.kafka#ClusterState", + "traits": { + "smithy.api#documentation": "

    The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

    ", + "smithy.api#jsonName": "state" + } } } }, @@ -1130,14 +1138,6 @@ "smithy.api#jsonName": "description" } }, - "ServerProperties": { - "target": "com.amazonaws.kafka#__blob", - "traits": { - "smithy.api#documentation": "

    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

    ", - "smithy.api#jsonName": "serverProperties", - "smithy.api#required": {} - } - }, "KafkaVersions": { "target": "com.amazonaws.kafka#__listOf__string", "traits": { @@ -1152,17 +1152,25 @@ "smithy.api#jsonName": "name", "smithy.api#required": {} } + }, + "ServerProperties": { + "target": "com.amazonaws.kafka#__blob", + "traits": { + "smithy.api#documentation": "

    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

    ", + "smithy.api#jsonName": "serverProperties", + "smithy.api#required": {} + } } } }, "com.amazonaws.kafka#CreateConfigurationResponse": { "type": "structure", "members": { - "LatestRevision": { - "target": "com.amazonaws.kafka#ConfigurationRevision", + "Arn": { + "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    Latest revision of the configuration.

    ", - "smithy.api#jsonName": "latestRevision" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", + "smithy.api#jsonName": "arn" } }, "CreationTime": { @@ -1172,11 +1180,11 @@ "smithy.api#jsonName": "creationTime" } }, - "State": { - "target": "com.amazonaws.kafka#ConfigurationState", + "LatestRevision": { + "target": "com.amazonaws.kafka#ConfigurationRevision", "traits": { - "smithy.api#documentation": "

    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

    ", - "smithy.api#jsonName": "state" + "smithy.api#documentation": "

    Latest revision of the configuration.

    ", + "smithy.api#jsonName": "latestRevision" } }, "Name": { @@ -1186,11 +1194,11 @@ "smithy.api#jsonName": "name" } }, - "Arn": { - "target": "com.amazonaws.kafka#__string", + "State": { + "target": "com.amazonaws.kafka#ConfigurationState", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", - "smithy.api#jsonName": "arn" + "smithy.api#documentation": "

    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

    ", + "smithy.api#jsonName": "state" } } } @@ -1229,13 +1237,6 @@ "com.amazonaws.kafka#DeleteClusterRequest": { "type": "structure", "members": { - "CurrentVersion": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The current version of the MSK cluster.

    ", - "smithy.api#httpQuery": "currentVersion" - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -1243,6 +1244,13 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "CurrentVersion": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The current version of the MSK cluster.

    ", + "smithy.api#httpQuery": "currentVersion" + } } } }, @@ -1259,7 +1267,7 @@ "State": { "target": "com.amazonaws.kafka#ClusterState", "traits": { - "smithy.api#documentation": "

    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

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

    The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

    ", "smithy.api#jsonName": "state" } } @@ -1499,6 +1507,13 @@ "com.amazonaws.kafka#DescribeConfigurationResponse": { "type": "structure", "members": { + "Arn": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", + "smithy.api#jsonName": "arn" + } + }, "CreationTime": { "target": "com.amazonaws.kafka#__timestampIso8601", "traits": { @@ -1506,11 +1521,18 @@ "smithy.api#jsonName": "creationTime" } }, - "Name": { + "Description": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The name of the configuration.

    ", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

    The description of the configuration.

    ", + "smithy.api#jsonName": "description" + } + }, + "KafkaVersions": { + "target": "com.amazonaws.kafka#__listOf__string", + "traits": { + "smithy.api#documentation": "

    The versions of Apache Kafka with which you can use this MSK configuration.

    ", + "smithy.api#jsonName": "kafkaVersions" } }, "LatestRevision": { @@ -1520,18 +1542,11 @@ "smithy.api#jsonName": "latestRevision" } }, - "Arn": { + "Name": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", - "smithy.api#jsonName": "arn" - } - }, - "KafkaVersions": { - "target": "com.amazonaws.kafka#__listOf__string", - "traits": { - "smithy.api#documentation": "

    The versions of Apache Kafka with which you can use this MSK configuration.

    ", - "smithy.api#jsonName": "kafkaVersions" + "smithy.api#documentation": "

    The name of the configuration.

    ", + "smithy.api#jsonName": "name" } }, "State": { @@ -1540,13 +1555,6 @@ "smithy.api#documentation": "

    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

    ", "smithy.api#jsonName": "state" } - }, - "Description": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The description of the configuration.

    ", - "smithy.api#jsonName": "description" - } } } }, @@ -1590,18 +1598,18 @@ "com.amazonaws.kafka#DescribeConfigurationRevisionRequest": { "type": "structure", "members": { - "Revision": { - "target": "com.amazonaws.kafka#__long", + "Arn": { + "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    A string that uniquely identifies a revision of an MSK configuration.

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

    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Arn": { - "target": "com.amazonaws.kafka#__string", + "Revision": { + "target": "com.amazonaws.kafka#__long", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

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

    A string that uniquely identifies a revision of an MSK configuration.

    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1611,11 +1619,18 @@ "com.amazonaws.kafka#DescribeConfigurationRevisionResponse": { "type": "structure", "members": { - "ServerProperties": { - "target": "com.amazonaws.kafka#__blob", + "Arn": { + "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

    ", - "smithy.api#jsonName": "serverProperties" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", + "smithy.api#jsonName": "arn" + } + }, + "CreationTime": { + "target": "com.amazonaws.kafka#__timestampIso8601", + "traits": { + "smithy.api#documentation": "

    The time when the configuration was created.

    ", + "smithy.api#jsonName": "creationTime" } }, "Description": { @@ -1632,18 +1647,11 @@ "smithy.api#jsonName": "revision" } }, - "Arn": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", - "smithy.api#jsonName": "arn" - } - }, - "CreationTime": { - "target": "com.amazonaws.kafka#__timestampIso8601", + "ServerProperties": { + "target": "com.amazonaws.kafka#__blob", "traits": { - "smithy.api#documentation": "

    The time when the configuration was created.

    ", - "smithy.api#jsonName": "creationTime" + "smithy.api#documentation": "

    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

    ", + "smithy.api#jsonName": "serverProperties" } } } @@ -1682,19 +1690,19 @@ "com.amazonaws.kafka#EncryptionInTransit": { "type": "structure", "members": { - "InCluster": { - "target": "com.amazonaws.kafka#__boolean", - "traits": { - "smithy.api#documentation": "

    When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

    \n

    The default value is true.

    ", - "smithy.api#jsonName": "inCluster" - } - }, "ClientBroker": { "target": "com.amazonaws.kafka#ClientBroker", "traits": { "smithy.api#documentation": "

    Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

    \n

    \n TLS means that client-broker communication is enabled with TLS only.

    \n

    \n TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.

    \n

    \n PLAINTEXT means that client-broker communication is enabled in plaintext only.

    \n

    The default value is TLS_PLAINTEXT.

    ", "smithy.api#jsonName": "clientBroker" } + }, + "InCluster": { + "target": "com.amazonaws.kafka#__boolean", + "traits": { + "smithy.api#documentation": "

    When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

    \n

    The default value is true.

    ", + "smithy.api#jsonName": "inCluster" + } } }, "traits": { @@ -1772,18 +1780,18 @@ "com.amazonaws.kafka#Firehose": { "type": "structure", "members": { + "DeliveryStream": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#jsonName": "deliveryStream" + } + }, "Enabled": { "target": "com.amazonaws.kafka#__boolean", "traits": { "smithy.api#jsonName": "enabled", "smithy.api#required": {} } - }, - "DeliveryStream": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#jsonName": "deliveryStream" - } } } }, @@ -1861,13 +1869,6 @@ "com.amazonaws.kafka#GetBootstrapBrokersResponse": { "type": "structure", "members": { - "BootstrapBrokerStringSaslScram": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    A string containing one or more DNS names (or IP) and Sasl Scram port pairs.

    ", - "smithy.api#jsonName": "bootstrapBrokerStringSaslScram" - } - }, "BootstrapBrokerString": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -1881,6 +1882,13 @@ "smithy.api#documentation": "

    A string containing one or more DNS names (or IP) and TLS port pairs.

    ", "smithy.api#jsonName": "bootstrapBrokerStringTls" } + }, + "BootstrapBrokerStringSaslScram": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    A string containing one or more DNS names (or IP) and Sasl Scram port pairs.

    ", + "smithy.api#jsonName": "bootstrapBrokerStringSaslScram" + } } } }, @@ -2210,19 +2218,19 @@ "com.amazonaws.kafka#ListClusterOperationsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

    ", - "smithy.api#jsonName": "nextToken" - } - }, "ClusterOperationInfoList": { "target": "com.amazonaws.kafka#__listOfClusterOperationInfo", "traits": { "smithy.api#documentation": "

    An array of cluster operation information objects.

    ", "smithy.api#jsonName": "clusterOperationInfoList" } + }, + "NextToken": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

    ", + "smithy.api#jsonName": "nextToken" + } } } }, @@ -2266,11 +2274,11 @@ "com.amazonaws.kafka#ListClustersRequest": { "type": "structure", "members": { - "NextToken": { + "ClusterNameFilter": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

    ", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

    Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

    ", + "smithy.api#httpQuery": "clusterNameFilter" } }, "MaxResults": { @@ -2280,11 +2288,11 @@ "smithy.api#httpQuery": "maxResults" } }, - "ClusterNameFilter": { + "NextToken": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

    ", - "smithy.api#httpQuery": "clusterNameFilter" + "smithy.api#documentation": "

    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

    ", + "smithy.api#httpQuery": "nextToken" } } } @@ -2292,19 +2300,19 @@ "com.amazonaws.kafka#ListClustersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

    ", - "smithy.api#jsonName": "nextToken" - } - }, "ClusterInfoList": { "target": "com.amazonaws.kafka#__listOfClusterInfo", "traits": { "smithy.api#documentation": "

    Information on each of the MSK clusters in the response.

    ", "smithy.api#jsonName": "clusterInfoList" } + }, + "NextToken": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

    ", + "smithy.api#jsonName": "nextToken" + } } } }, @@ -2362,38 +2370,38 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

    ", - "smithy.api#httpQuery": "nextToken" - } - }, "MaxResults": { "target": "com.amazonaws.kafka#MaxResults", "traits": { "smithy.api#documentation": "

    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

    ", "smithy.api#httpQuery": "maxResults" } + }, + "NextToken": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

    ", + "smithy.api#httpQuery": "nextToken" + } } } }, "com.amazonaws.kafka#ListConfigurationRevisionsResponse": { "type": "structure", "members": { - "Revisions": { - "target": "com.amazonaws.kafka#__listOfConfigurationRevision", - "traits": { - "smithy.api#documentation": "

    List of ConfigurationRevision objects.

    ", - "smithy.api#jsonName": "revisions" - } - }, "NextToken": { "target": "com.amazonaws.kafka#__string", "traits": { "smithy.api#documentation": "

    Paginated results marker.

    ", "smithy.api#jsonName": "nextToken" } + }, + "Revisions": { + "target": "com.amazonaws.kafka#__listOfConfigurationRevision", + "traits": { + "smithy.api#documentation": "

    List of ConfigurationRevision objects.

    ", + "smithy.api#jsonName": "revisions" + } } } }, @@ -2440,38 +2448,38 @@ "com.amazonaws.kafka#ListConfigurationsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

    ", - "smithy.api#httpQuery": "nextToken" - } - }, "MaxResults": { "target": "com.amazonaws.kafka#MaxResults", "traits": { "smithy.api#documentation": "

    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

    ", "smithy.api#httpQuery": "maxResults" } + }, + "NextToken": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

    ", + "smithy.api#httpQuery": "nextToken" + } } } }, "com.amazonaws.kafka#ListConfigurationsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. \n To get another batch of configurations, provide this token in your next request.

    ", - "smithy.api#jsonName": "nextToken" - } - }, "Configurations": { "target": "com.amazonaws.kafka#__listOfConfiguration", "traits": { "smithy.api#documentation": "

    An array of MSK configurations.

    ", "smithy.api#jsonName": "configurations" } + }, + "NextToken": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. \n To get another batch of configurations, provide this token in your next request.

    ", + "smithy.api#jsonName": "nextToken" + } } } }, @@ -2534,17 +2542,17 @@ "com.amazonaws.kafka#ListKafkaVersionsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#jsonName": "nextToken" - } - }, "KafkaVersions": { "target": "com.amazonaws.kafka#__listOfKafkaVersion", "traits": { "smithy.api#jsonName": "kafkaVersions" } + }, + "NextToken": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#jsonName": "nextToken" + } } } }, @@ -2588,13 +2596,6 @@ "com.amazonaws.kafka#ListNodesRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.kafka#MaxResults", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

    ", - "smithy.api#httpQuery": "maxResults" - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -2603,6 +2604,13 @@ "smithy.api#required": {} } }, + "MaxResults": { + "target": "com.amazonaws.kafka#MaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

    ", + "smithy.api#httpQuery": "maxResults" + } + }, "NextToken": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -2615,19 +2623,19 @@ "com.amazonaws.kafka#ListNodesResponse": { "type": "structure", "members": { - "NodeInfoList": { - "target": "com.amazonaws.kafka#__listOfNodeInfo", - "traits": { - "smithy.api#documentation": "

    List containing a NodeInfo object.

    ", - "smithy.api#jsonName": "nodeInfoList" - } - }, "NextToken": { "target": "com.amazonaws.kafka#__string", "traits": { "smithy.api#documentation": "

    The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. \n To get another batch of nodes, provide this token in your next request.

    ", "smithy.api#jsonName": "nextToken" } + }, + "NodeInfoList": { + "target": "com.amazonaws.kafka#__listOfNodeInfo", + "traits": { + "smithy.api#documentation": "

    List containing a NodeInfo object.

    ", + "smithy.api#jsonName": "nodeInfoList" + } } } }, @@ -2680,11 +2688,12 @@ "com.amazonaws.kafka#ListScramSecretsRequest": { "type": "structure", "members": { - "NextToken": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The nextToken of the query.

    ", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

    The arn of the cluster.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, "MaxResults": { @@ -2694,12 +2703,11 @@ "smithy.api#httpQuery": "maxResults" } }, - "ClusterArn": { + "NextToken": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The arn of the cluster.

    ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

    The nextToken of the query.

    ", + "smithy.api#httpQuery": "nextToken" } } } @@ -2800,11 +2808,11 @@ "com.amazonaws.kafka#MutableClusterInfo": { "type": "structure", "members": { - "OpenMonitoring": { - "target": "com.amazonaws.kafka#OpenMonitoring", + "BrokerEBSVolumeInfo": { + "target": "com.amazonaws.kafka#__listOfBrokerEBSVolumeInfo", "traits": { - "smithy.api#documentation": "

    The settings for open monitoring.

    ", - "smithy.api#jsonName": "openMonitoring" + "smithy.api#documentation": "

    Specifies the size of the EBS volume and the ID of the associated broker.

    ", + "smithy.api#jsonName": "brokerEBSVolumeInfo" } }, "ConfigurationInfo": { @@ -2814,10 +2822,11 @@ "smithy.api#jsonName": "configurationInfo" } }, - "LoggingInfo": { - "target": "com.amazonaws.kafka#LoggingInfo", + "NumberOfBrokerNodes": { + "target": "com.amazonaws.kafka#__integer", "traits": { - "smithy.api#jsonName": "loggingInfo" + "smithy.api#documentation": "

    The number of broker nodes in the cluster.

    ", + "smithy.api#jsonName": "numberOfBrokerNodes" } }, "EnhancedMonitoring": { @@ -2827,6 +2836,13 @@ "smithy.api#jsonName": "enhancedMonitoring" } }, + "OpenMonitoring": { + "target": "com.amazonaws.kafka#OpenMonitoring", + "traits": { + "smithy.api#documentation": "

    The settings for open monitoring.

    ", + "smithy.api#jsonName": "openMonitoring" + } + }, "KafkaVersion": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -2834,18 +2850,10 @@ "smithy.api#jsonName": "kafkaVersion" } }, - "BrokerEBSVolumeInfo": { - "target": "com.amazonaws.kafka#__listOfBrokerEBSVolumeInfo", - "traits": { - "smithy.api#documentation": "

    Specifies the size of the EBS volume and the ID of the associated broker.

    ", - "smithy.api#jsonName": "brokerEBSVolumeInfo" - } - }, - "NumberOfBrokerNodes": { - "target": "com.amazonaws.kafka#__integer", + "LoggingInfo": { + "target": "com.amazonaws.kafka#LoggingInfo", "traits": { - "smithy.api#documentation": "

    The number of broker nodes in the cluster.

    ", - "smithy.api#jsonName": "numberOfBrokerNodes" + "smithy.api#jsonName": "loggingInfo" } } }, @@ -2883,32 +2891,11 @@ }, "traits": { "smithy.api#documentation": "

    Indicates whether you want to enable or disable the Node Exporter.

    " - } - }, - "com.amazonaws.kafka#NodeInfo": { - "type": "structure", - "members": { - "NodeType": { - "target": "com.amazonaws.kafka#NodeType", - "traits": { - "smithy.api#documentation": "

    The node type.

    ", - "smithy.api#jsonName": "nodeType" - } - }, - "ZookeeperNodeInfo": { - "target": "com.amazonaws.kafka#ZookeeperNodeInfo", - "traits": { - "smithy.api#documentation": "

    The ZookeeperNodeInfo.

    ", - "smithy.api#jsonName": "zookeeperNodeInfo" - } - }, - "NodeARN": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the node.

    ", - "smithy.api#jsonName": "nodeARN" - } - }, + } + }, + "com.amazonaws.kafka#NodeInfo": { + "type": "structure", + "members": { "AddedToClusterTime": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -2929,6 +2916,27 @@ "smithy.api#documentation": "

    The instance type.

    ", "smithy.api#jsonName": "instanceType" } + }, + "NodeARN": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the node.

    ", + "smithy.api#jsonName": "nodeARN" + } + }, + "NodeType": { + "target": "com.amazonaws.kafka#NodeType", + "traits": { + "smithy.api#documentation": "

    The node type.

    ", + "smithy.api#jsonName": "nodeType" + } + }, + "ZookeeperNodeInfo": { + "target": "com.amazonaws.kafka#ZookeeperNodeInfo", + "traits": { + "smithy.api#documentation": "

    The ZookeeperNodeInfo.

    ", + "smithy.api#jsonName": "zookeeperNodeInfo" + } } }, "traits": { @@ -3006,19 +3014,19 @@ "com.amazonaws.kafka#Prometheus": { "type": "structure", "members": { - "NodeExporter": { - "target": "com.amazonaws.kafka#NodeExporter", - "traits": { - "smithy.api#documentation": "

    Indicates whether you want to enable or disable the Node Exporter.

    ", - "smithy.api#jsonName": "nodeExporter" - } - }, "JmxExporter": { "target": "com.amazonaws.kafka#JmxExporter", "traits": { "smithy.api#documentation": "

    Indicates whether you want to enable or disable the JMX Exporter.

    ", "smithy.api#jsonName": "jmxExporter" } + }, + "NodeExporter": { + "target": "com.amazonaws.kafka#NodeExporter", + "traits": { + "smithy.api#documentation": "

    Indicates whether you want to enable or disable the Node Exporter.

    ", + "smithy.api#jsonName": "nodeExporter" + } } }, "traits": { @@ -3114,18 +3122,18 @@ "com.amazonaws.kafka#RebootBrokerResponse": { "type": "structure", "members": { - "ClusterOperationArn": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", - "smithy.api#jsonName": "clusterOperationArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", + "smithy.api#jsonName": "clusterArn" } }, - "ClusterArn": { + "ClusterOperationArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", - "smithy.api#jsonName": "clusterArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", + "smithy.api#jsonName": "clusterOperationArn" } } } @@ -3133,6 +3141,12 @@ "com.amazonaws.kafka#S3": { "type": "structure", "members": { + "Bucket": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#jsonName": "bucket" + } + }, "Enabled": { "target": "com.amazonaws.kafka#__boolean", "traits": { @@ -3140,12 +3154,6 @@ "smithy.api#required": {} } }, - "Bucket": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#jsonName": "bucket" - } - }, "Prefix": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -3187,18 +3195,18 @@ "com.amazonaws.kafka#ServiceUnavailableException": { "type": "structure", "members": { - "Message": { + "InvalidParameter": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The description of the error.

    ", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

    The parameter that caused the error.

    ", + "smithy.api#jsonName": "invalidParameter" } }, - "InvalidParameter": { + "Message": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The parameter that caused the error.

    ", - "smithy.api#jsonName": "invalidParameter" + "smithy.api#documentation": "

    The description of the error.

    ", + "smithy.api#jsonName": "message" } } }, @@ -3211,16 +3219,16 @@ "com.amazonaws.kafka#StateInfo": { "type": "structure", "members": { - "Message": { + "Code": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#jsonName": "message" + "smithy.api#jsonName": "code" } }, - "Code": { + "Message": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#jsonName": "code" + "smithy.api#jsonName": "message" } } } @@ -3304,18 +3312,18 @@ "com.amazonaws.kafka#TooManyRequestsException": { "type": "structure", "members": { - "Message": { + "InvalidParameter": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The description of the error.

    ", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

    The parameter that caused the error.

    ", + "smithy.api#jsonName": "invalidParameter" } }, - "InvalidParameter": { + "Message": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The parameter that caused the error.

    ", - "smithy.api#jsonName": "invalidParameter" + "smithy.api#documentation": "

    The description of the error.

    ", + "smithy.api#jsonName": "message" } } }, @@ -3328,18 +3336,18 @@ "com.amazonaws.kafka#UnauthorizedException": { "type": "structure", "members": { - "Message": { + "InvalidParameter": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The description of the error.

    ", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

    The parameter that caused the error.

    ", + "smithy.api#jsonName": "invalidParameter" } }, - "InvalidParameter": { + "Message": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The parameter that caused the error.

    ", - "smithy.api#jsonName": "invalidParameter" + "smithy.api#documentation": "

    The description of the error.

    ", + "smithy.api#jsonName": "message" } } }, @@ -3352,18 +3360,18 @@ "com.amazonaws.kafka#UnprocessedScramSecret": { "type": "structure", "members": { - "ErrorMessage": { + "ErrorCode": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    Error message for associate/disassociate failure.

    ", - "smithy.api#jsonName": "errorMessage" + "smithy.api#documentation": "

    Error code for associate/disassociate failure.

    ", + "smithy.api#jsonName": "errorCode" } }, - "ErrorCode": { + "ErrorMessage": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    Error code for associate/disassociate failure.

    ", - "smithy.api#jsonName": "errorCode" + "smithy.api#documentation": "

    Error message for associate/disassociate failure.

    ", + "smithy.api#jsonName": "errorMessage" } }, "SecretArn": { @@ -3406,14 +3414,6 @@ "com.amazonaws.kafka#UntagResourceRequest": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.kafka#__listOf__string", - "traits": { - "smithy.api#documentation": "

    Tag keys must be unique for a given cluster. In addition, the following restrictions apply:

    \n
      \n
    • \n

      Each tag key must be unique. If you add a tag with a key that's already in\n use, your new tag overwrites the existing key-value pair.

      \n
    • \n
    • \n

      You can't start a tag key with aws: because this prefix is reserved for use\n by AWS. AWS creates tags that begin with this prefix on your behalf, but\n you can't edit or delete them.

      \n
    • \n
    • \n

      Tag keys must be between 1 and 128 Unicode characters in length.

      \n
    • \n
    • \n

      Tag keys must consist of the following characters: Unicode letters, digits,\n white space, and the following special characters: _ . / = + -\n @.

      \n
    • \n
    ", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - }, "ResourceArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -3421,6 +3421,14 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "TagKeys": { + "target": "com.amazonaws.kafka#__listOf__string", + "traits": { + "smithy.api#documentation": "

    Tag keys must be unique for a given cluster. In addition, the following restrictions apply:

    \n
      \n
    • \n

      Each tag key must be unique. If you add a tag with a key that's already in\n use, your new tag overwrites the existing key-value pair.

      \n
    • \n
    • \n

      You can't start a tag key with aws: because this prefix is reserved for use\n by AWS. AWS creates tags that begin with this prefix on your behalf, but\n you can't edit or delete them.

      \n
    • \n
    • \n

      Tag keys must be between 1 and 128 Unicode characters in length.

      \n
    • \n
    • \n

      Tag keys must consist of the following characters: Unicode letters, digits,\n white space, and the following special characters: _ . / = + -\n @.

      \n
    • \n
    ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } } } }, @@ -3461,19 +3469,19 @@ "com.amazonaws.kafka#UpdateBrokerCountRequest": { "type": "structure", "members": { - "CurrentVersion": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The version of cluster to update from. A successful operation will then generate a new version.

    ", - "smithy.api#jsonName": "currentVersion", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "ClusterArn": { + "CurrentVersion": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

    The version of cluster to update from. A successful operation will then generate a new version.

    ", + "smithy.api#jsonName": "currentVersion", "smithy.api#required": {} } }, @@ -3490,18 +3498,18 @@ "com.amazonaws.kafka#UpdateBrokerCountResponse": { "type": "structure", "members": { - "ClusterOperationArn": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", - "smithy.api#jsonName": "clusterOperationArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", + "smithy.api#jsonName": "clusterArn" } }, - "ClusterArn": { + "ClusterOperationArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", - "smithy.api#jsonName": "clusterArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", + "smithy.api#jsonName": "clusterOperationArn" } } } @@ -3543,19 +3551,19 @@ "com.amazonaws.kafka#UpdateBrokerStorageRequest": { "type": "structure", "members": { - "CurrentVersion": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The version of cluster to update from. A successful operation will then generate a new version.

    ", - "smithy.api#jsonName": "currentVersion", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "ClusterArn": { + "CurrentVersion": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

    The version of cluster to update from. A successful operation will then generate a new version.

    ", + "smithy.api#jsonName": "currentVersion", "smithy.api#required": {} } }, @@ -3572,18 +3580,18 @@ "com.amazonaws.kafka#UpdateBrokerStorageResponse": { "type": "structure", "members": { - "ClusterOperationArn": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", - "smithy.api#jsonName": "clusterOperationArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", + "smithy.api#jsonName": "clusterArn" } }, - "ClusterArn": { + "ClusterOperationArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", - "smithy.api#jsonName": "clusterArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", + "smithy.api#jsonName": "clusterOperationArn" } } } @@ -3628,6 +3636,14 @@ "com.amazonaws.kafka#UpdateClusterConfigurationRequest": { "type": "structure", "members": { + "ClusterArn": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "ConfigurationInfo": { "target": "com.amazonaws.kafka#ConfigurationInfo", "traits": { @@ -3643,14 +3659,6 @@ "smithy.api#jsonName": "currentVersion", "smithy.api#required": {} } - }, - "ClusterArn": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } } } }, @@ -3808,6 +3816,14 @@ "com.amazonaws.kafka#UpdateConfigurationRequest": { "type": "structure", "members": { + "Arn": { + "target": "com.amazonaws.kafka#__string", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "Description": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -3822,14 +3838,6 @@ "smithy.api#jsonName": "serverProperties", "smithy.api#required": {} } - }, - "Arn": { - "target": "com.amazonaws.kafka#__string", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the configuration.

    ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } } } }, @@ -3889,13 +3897,6 @@ "com.amazonaws.kafka#UpdateMonitoringRequest": { "type": "structure", "members": { - "OpenMonitoring": { - "target": "com.amazonaws.kafka#OpenMonitoringInfo", - "traits": { - "smithy.api#documentation": "

    The settings for open monitoring.

    ", - "smithy.api#jsonName": "openMonitoring" - } - }, "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -3919,6 +3920,13 @@ "smithy.api#jsonName": "enhancedMonitoring" } }, + "OpenMonitoring": { + "target": "com.amazonaws.kafka#OpenMonitoringInfo", + "traits": { + "smithy.api#documentation": "

    The settings for open monitoring.

    ", + "smithy.api#jsonName": "openMonitoring" + } + }, "LoggingInfo": { "target": "com.amazonaws.kafka#LoggingInfo", "traits": { @@ -3933,18 +3941,18 @@ "com.amazonaws.kafka#UpdateMonitoringResponse": { "type": "structure", "members": { - "ClusterOperationArn": { + "ClusterArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", - "smithy.api#jsonName": "clusterOperationArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", + "smithy.api#jsonName": "clusterArn" } }, - "ClusterArn": { + "ClusterOperationArn": { "target": "com.amazonaws.kafka#__string", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster.

    ", - "smithy.api#jsonName": "clusterArn" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the cluster operation.

    ", + "smithy.api#jsonName": "clusterOperationArn" } } } @@ -3952,13 +3960,6 @@ "com.amazonaws.kafka#ZookeeperNodeInfo": { "type": "structure", "members": { - "ZookeeperId": { - "target": "com.amazonaws.kafka#__double", - "traits": { - "smithy.api#documentation": "

    The role-specific ID for Zookeeper.

    ", - "smithy.api#jsonName": "zookeeperId" - } - }, "AttachedENIId": { "target": "com.amazonaws.kafka#__string", "traits": { @@ -3980,6 +3981,13 @@ "smithy.api#jsonName": "endpoints" } }, + "ZookeeperId": { + "target": "com.amazonaws.kafka#__double", + "traits": { + "smithy.api#documentation": "

    The role-specific ID for Zookeeper.

    ", + "smithy.api#jsonName": "zookeeperId" + } + }, "ZookeeperVersion": { "target": "com.amazonaws.kafka#__string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json b/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json index 79eb7eeb95a45..91f6f5102ebfb 100644 --- a/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json +++ b/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json @@ -42,6 +42,9 @@ { "target": "com.amazonaws.lambda#CreateAlias" }, + { + "target": "com.amazonaws.lambda#CreateCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#CreateEventSourceMapping" }, @@ -51,12 +54,18 @@ { "target": "com.amazonaws.lambda#DeleteAlias" }, + { + "target": "com.amazonaws.lambda#DeleteCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#DeleteEventSourceMapping" }, { "target": "com.amazonaws.lambda#DeleteFunction" }, + { + "target": "com.amazonaws.lambda#DeleteFunctionCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#DeleteFunctionConcurrency" }, @@ -75,12 +84,18 @@ { "target": "com.amazonaws.lambda#GetAlias" }, + { + "target": "com.amazonaws.lambda#GetCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#GetEventSourceMapping" }, { "target": "com.amazonaws.lambda#GetFunction" }, + { + "target": "com.amazonaws.lambda#GetFunctionCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#GetFunctionConcurrency" }, @@ -114,6 +129,9 @@ { "target": "com.amazonaws.lambda#ListAliases" }, + { + "target": "com.amazonaws.lambda#ListCodeSigningConfigs" + }, { "target": "com.amazonaws.lambda#ListEventSourceMappings" }, @@ -123,6 +141,9 @@ { "target": "com.amazonaws.lambda#ListFunctions" }, + { + "target": "com.amazonaws.lambda#ListFunctionsByCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#ListLayers" }, @@ -144,6 +165,9 @@ { "target": "com.amazonaws.lambda#PublishVersion" }, + { + "target": "com.amazonaws.lambda#PutFunctionCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#PutFunctionConcurrency" }, @@ -168,6 +192,9 @@ { "target": "com.amazonaws.lambda#UpdateAlias" }, + { + "target": "com.amazonaws.lambda#UpdateCodeSigningConfig" + }, { "target": "com.amazonaws.lambda#UpdateEventSourceMapping" }, @@ -581,6 +608,21 @@ "smithy.api#documentation": "

    The traffic-shifting configuration of a Lambda function alias.

    " } }, + "com.amazonaws.lambda#AllowedPublishers": { + "type": "structure", + "members": { + "SigningProfileVersionArns": { + "target": "com.amazonaws.lambda#SigningProfileVersionArns", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for each of the signing profiles. A signing profile defines a trusted user\n who can sign a code package.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    List of signing profiles that can sign a code package.

    " + } + }, "com.amazonaws.lambda#Arn": { "type": "string", "traits": { @@ -618,6 +660,122 @@ "com.amazonaws.lambda#Boolean": { "type": "boolean" }, + "com.amazonaws.lambda#CodeSigningConfig": { + "type": "structure", + "members": { + "CodeSigningConfigId": { + "target": "com.amazonaws.lambda#CodeSigningConfigId", + "traits": { + "smithy.api#documentation": "

    Unique identifer for the Code signing configuration.

    ", + "smithy.api#required": {} + } + }, + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Code signing configuration.

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.lambda#Description", + "traits": { + "smithy.api#documentation": "

    Code signing configuration description.

    " + } + }, + "AllowedPublishers": { + "target": "com.amazonaws.lambda#AllowedPublishers", + "traits": { + "smithy.api#documentation": "

    List of allowed publishers.

    ", + "smithy.api#required": {} + } + }, + "CodeSigningPolicies": { + "target": "com.amazonaws.lambda#CodeSigningPolicies", + "traits": { + "smithy.api#documentation": "

    The code signing policy controls the validation failure action for signature mismatch or expiry.

    ", + "smithy.api#required": {} + } + }, + "LastModified": { + "target": "com.amazonaws.lambda#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date and time that the Code signing configuration was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details about a Code signing configuration.

    " + } + }, + "com.amazonaws.lambda#CodeSigningConfigArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#pattern": "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:code-signing-config:csc-[a-z0-9]{17}" + } + }, + "com.amazonaws.lambda#CodeSigningConfigId": { + "type": "string", + "traits": { + "smithy.api#pattern": "csc-[a-zA-Z0-9-_\\.]{17}" + } + }, + "com.amazonaws.lambda#CodeSigningConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#CodeSigningConfig" + } + }, + "com.amazonaws.lambda#CodeSigningConfigNotFoundException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String" + }, + "Message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

    The specified code signing configuration does not exist.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.lambda#CodeSigningPolicies": { + "type": "structure", + "members": { + "UntrustedArtifactOnDeployment": { + "target": "com.amazonaws.lambda#CodeSigningPolicy", + "traits": { + "smithy.api#documentation": "

    Code signing configuration policy for deployment validation failure. If you set the policy to\n Enforce, Lambda blocks the deployment request if code-signing validation checks fail. If you set the\n policy to Warn, Lambda allows the deployment and creates a CloudWatch log.

    \n

    Default value: Warn\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Code signing configuration policies specifies the validation failure action for signature mismatch or\n expiry.

    " + } + }, + "com.amazonaws.lambda#CodeSigningPolicy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Warn", + "name": "Warn" + }, + { + "value": "Enforce", + "name": "Enforce" + } + ] + } + }, "com.amazonaws.lambda#CodeStorageExceededException": { "type": "structure", "members": { @@ -637,6 +795,22 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.lambda#CodeVerificationFailedException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String" + }, + "Message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

    The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy \n is set to ENFORCE. Lambda blocks the deployment.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.lambda#CompatibleRuntimes": { "type": "list", "member": { @@ -645,7 +819,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 5 + "max": 15 } } }, @@ -733,6 +907,67 @@ } } }, + "com.amazonaws.lambda#CreateCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#CreateCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#CreateCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates a code signing configuration. A code signing configuration defines a list of\n allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment\n validation checks fail).

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/2020-04-22/code-signing-configs", + "code": 201 + } + } + }, + "com.amazonaws.lambda#CreateCodeSigningConfigRequest": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.lambda#Description", + "traits": { + "smithy.api#documentation": "

    Descriptive name for this code signing configuration.

    " + } + }, + "AllowedPublishers": { + "target": "com.amazonaws.lambda#AllowedPublishers", + "traits": { + "smithy.api#documentation": "

    Signing profiles for this code signing configuration.

    ", + "smithy.api#required": {} + } + }, + "CodeSigningPolicies": { + "target": "com.amazonaws.lambda#CodeSigningPolicies", + "traits": { + "smithy.api#documentation": "

    The code signing policies define the actions to take if the validation checks fail.

    " + } + } + } + }, + "com.amazonaws.lambda#CreateCodeSigningConfigResponse": { + "type": "structure", + "members": { + "CodeSigningConfig": { + "target": "com.amazonaws.lambda#CodeSigningConfig", + "traits": { + "smithy.api#documentation": "

    The code signing configuration.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.lambda#CreateEventSourceMapping": { "type": "operation", "input": { @@ -859,7 +1094,7 @@ "SourceAccessConfigurations": { "target": "com.amazonaws.lambda#SourceAccessConfigurations", "traits": { - "smithy.api#documentation": "

    \n (MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format:\n \t {\n \"username\": \"your username\",\n \"password\": \"your password\"\n }\n

    \n \n

    To reference the secret, use the following format:\n [\n {\n \"Type\": \"BASIC_AUTH\",\n \"URI\": \"secretARN\"\n }\n ] \n

    \n

    The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

    " + "smithy.api#documentation": "

    \n (MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format:\n \t {\n \"username\": \"your username\",\n \"password\": \"your password\"\n }\n

    \n\n

    To reference the secret, use the following format:\n [\n {\n \"Type\": \"BASIC_AUTH\",\n \"URI\": \"secretARN\"\n }\n ] \n

    \n

    The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

    " } } } @@ -873,9 +1108,18 @@ "target": "com.amazonaws.lambda#FunctionConfiguration" }, "errors": [ + { + "target": "com.amazonaws.lambda#CodeSigningConfigNotFoundException" + }, { "target": "com.amazonaws.lambda#CodeStorageExceededException" }, + { + "target": "com.amazonaws.lambda#CodeVerificationFailedException" + }, + { + "target": "com.amazonaws.lambda#InvalidCodeSignatureException" + }, { "target": "com.amazonaws.lambda#InvalidParameterValueException" }, @@ -893,7 +1137,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a Lambda function. To create a function, you need a deployment package and an execution role. The\n deployment package contains your function code. The execution role grants the function permission to use AWS\n services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

    \n \n

    When you create a function, Lambda provisions an instance of the function and its supporting resources. If\n your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or\n modify the function. The State, StateReason, and StateReasonCode fields in\n the response from GetFunctionConfiguration indicate when the function is ready to invoke. For\n more information, see Function\n States.

    \n \n

    A function has an unpublished version, and can have published versions and aliases. The unpublished version\n changes when you update your function's code and configuration. A published version is a snapshot of your function\n code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be\n changed to map to a different version. Use the Publish parameter to create version 1 of\n your function from its initial configuration.

    \n \n

    The other parameters let you configure version-specific and function-level settings. You can modify\n version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply\n to both the unpublished and published versions of the function, and include tags (TagResource)\n and per-function concurrency limits (PutFunctionConcurrency).

    \n \n

    If another account or an AWS service invokes your function, use AddPermission to grant\n permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version,\n or on an alias.

    \n \n

    To invoke your function directly, use Invoke. To invoke your function in response to events\n in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a\n function trigger in the other service. For more information, see Invoking Functions.

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

    Creates a Lambda function. To create a function, you need a deployment package and an execution role. The\n deployment package contains your function code. The execution role grants the function permission to use AWS\n services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

    \n \n

    When you create a function, Lambda provisions an instance of the function and its supporting resources. If\n your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or\n modify the function. The State, StateReason, and StateReasonCode fields in\n the response from GetFunctionConfiguration indicate when the function is ready to invoke. For\n more information, see Function\n States.

    \n \n

    A function has an unpublished version, and can have published versions and aliases. The unpublished version\n changes when you update your function's code and configuration. A published version is a snapshot of your function\n code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be\n changed to map to a different version. Use the Publish parameter to create version 1 of\n your function from its initial configuration.

    \n \n

    The other parameters let you configure version-specific and function-level settings. You can modify\n version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply\n to both the unpublished and published versions of the function, and include tags (TagResource)\n and per-function concurrency limits (PutFunctionConcurrency).

    \n \n

    To enable code signing for this function, specify the ARN of a code-signing configuration. When a user\n attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code\n package has a valid signature from a trusted publisher. The code-signing configuration \n includes set set of signing profiles, which define the trusted publishers for this function.

    \n \n

    If another account or an AWS service invokes your function, use AddPermission to grant\n permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version,\n or on an alias.

    \n \n

    To invoke your function directly, use Invoke. To invoke your function in response to events\n in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a\n function trigger in the other service. For more information, see Invoking Functions.

    ", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/functions", @@ -1010,6 +1254,12 @@ "traits": { "smithy.api#documentation": "

    Connection settings for an Amazon EFS file system.

    " } + }, + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration\nincludes set set of signing profiles, which define the trusted publishers for this function.

    " + } } } }, @@ -1079,6 +1329,54 @@ } } }, + "com.amazonaws.lambda#DeleteCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#DeleteCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#DeleteCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceConflictException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes the code signing configuration. You can delete the code signing configuration only if no function is\n using it.

    ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + "code": 204 + } + } + }, + "com.amazonaws.lambda#DeleteCodeSigningConfigRequest": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.lambda#DeleteCodeSigningConfigResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.lambda#DeleteEventSourceMapping": { "type": "operation", "input": { @@ -1157,6 +1455,53 @@ } } }, + "com.amazonaws.lambda#DeleteFunctionCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#DeleteFunctionCodeSigningConfigRequest" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#CodeSigningConfigNotFoundException" + }, + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceConflictException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Removes the code signing configuration from the function.

    ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2020-06-30/functions/{FunctionName}/code-signing-config", + "code": 204 + } + } + }, + "com.amazonaws.lambda#DeleteFunctionCodeSigningConfigRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

    The name of the Lambda function.

    \n

    \n Name formats\n

    \n
      \n
    • \n

      \n Function name - MyFunction.

      \n
    • \n
    • \n

      \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

      \n
    • \n
    • \n

      \n Partial ARN - 123456789012:function:MyFunction.

      \n
    • \n
    \n

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.lambda#DeleteFunctionConcurrency": { "type": "operation", "input": { @@ -1715,7 +2060,7 @@ "SourceAccessConfigurations": { "target": "com.amazonaws.lambda#SourceAccessConfigurations", "traits": { - "smithy.api#documentation": "

    \n (MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format:\n \t {\n \"username\": \"your username\",\n \"password\": \"your password\"\n }\n

    \n \n

    To reference the secret, use the following format:\n [\n {\n \"Type\": \"BASIC_AUTH\",\n \"URI\": \"secretARN\"\n }\n ] \n

    \n

    The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

    " + "smithy.api#documentation": "

    \n (MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format:\n \t {\n \"username\": \"your username\",\n \"password\": \"your password\"\n }\n

    \n\n

    To reference the secret, use the following format:\n [\n {\n \"Type\": \"BASIC_AUTH\",\n \"URI\": \"secretARN\"\n }\n ] \n

    \n

    The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

    " } }, "MaximumRecordAgeInSeconds": { @@ -1826,6 +2171,12 @@ "smithy.api#pattern": "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" } }, + "com.amazonaws.lambda#FunctionArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#FunctionArn" + } + }, "com.amazonaws.lambda#FunctionCode": { "type": "structure", "members": { @@ -2042,6 +2393,18 @@ "traits": { "smithy.api#documentation": "

    Connection settings for an Amazon EFS file system.

    " } + }, + "SigningProfileVersionArn": { + "target": "com.amazonaws.lambda#Arn", + "traits": { + "smithy.api#documentation": "

    The ARN of the signing profile version.

    " + } + }, + "SigningJobArn": { + "target": "com.amazonaws.lambda#Arn", + "traits": { + "smithy.api#documentation": "

    The ARN of the signing job.

    " + } } }, "traits": { @@ -2214,6 +2577,59 @@ } } }, + "com.amazonaws.lambda#GetCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#GetCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#GetCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns information about the specified code signing configuration.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + "code": 200 + } + } + }, + "com.amazonaws.lambda#GetCodeSigningConfigRequest": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.lambda#GetCodeSigningConfigResponse": { + "type": "structure", + "members": { + "CodeSigningConfig": { + "target": "com.amazonaws.lambda#CodeSigningConfig", + "traits": { + "smithy.api#documentation": "

    The code signing configuration

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.lambda#GetEventSourceMapping": { "type": "operation", "input": { @@ -2289,6 +2705,69 @@ } } }, + "com.amazonaws.lambda#GetFunctionCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#GetFunctionCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#GetFunctionCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns the code signing configuration for the specified function.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-06-30/functions/{FunctionName}/code-signing-config", + "code": 200 + } + } + }, + "com.amazonaws.lambda#GetFunctionCodeSigningConfigRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

    The name of the Lambda function.

    \n

    \n Name formats\n

    \n
      \n
    • \n

      \n Function name - MyFunction.

      \n
    • \n
    • \n

      \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

      \n
    • \n
    • \n

      \n Partial ARN - 123456789012:function:MyFunction.

      \n
    • \n
    \n

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.lambda#GetFunctionCodeSigningConfigResponse": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#required": {} + } + }, + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

    The name of the Lambda function.

    \n

    \n Name formats\n

    \n
      \n
    • \n

      \n Function name - MyFunction.

      \n
    • \n
    • \n

      \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

      \n
    • \n
    • \n

      \n Partial ARN - 123456789012:function:MyFunction.

      \n
    • \n
    \n

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.lambda#GetFunctionConcurrency": { "type": "operation", "input": { @@ -2893,6 +3372,22 @@ "com.amazonaws.lambda#Integer": { "type": "integer" }, + "com.amazonaws.lambda#InvalidCodeSignatureException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String" + }, + "Message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

    The code signature failed the integrity check. Lambda always blocks deployment if the integrity check\n fails, even if code signing policy is set to WARN.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.lambda#InvalidParameterValueException": { "type": "structure", "members": { @@ -3421,6 +3916,18 @@ "traits": { "smithy.api#documentation": "

    The size of the layer archive in bytes.

    " } + }, + "SigningProfileVersionArn": { + "target": "com.amazonaws.lambda#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for a signing profile version.

    " + } + }, + "SigningJobArn": { + "target": "com.amazonaws.lambda#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a signing job.

    " + } } }, "traits": { @@ -3522,10 +4029,22 @@ "smithy.api#documentation": "

    The SHA-256 hash of the layer archive.

    " } }, - "CodeSize": { - "target": "com.amazonaws.lambda#Long", + "CodeSize": { + "target": "com.amazonaws.lambda#Long", + "traits": { + "smithy.api#documentation": "

    The size of the layer archive in bytes.

    " + } + }, + "SigningProfileVersionArn": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for a signing profile version.

    " + } + }, + "SigningJobArn": { + "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

    The size of the layer archive in bytes.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of a signing job.

    " } } }, @@ -3721,6 +4240,73 @@ } } }, + "com.amazonaws.lambda#ListCodeSigningConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#ListCodeSigningConfigsRequest" + }, + "output": { + "target": "com.amazonaws.lambda#ListCodeSigningConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns a list of code\n signing configurations for the specified function. A request returns up to 10,000 configurations per\n call. You can use the MaxItems parameter to return fewer configurations per call.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-04-22/code-signing-configs", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "NextMarker", + "items": "CodeSigningConfigs", + "pageSize": "MaxItems" + } + } + }, + "com.amazonaws.lambda#ListCodeSigningConfigsRequest": { + "type": "structure", + "members": { + "Marker": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

    Specify the pagination token that's returned by a previous request to retrieve the next page of results.

    ", + "smithy.api#httpQuery": "Marker" + } + }, + "MaxItems": { + "target": "com.amazonaws.lambda#MaxListItems", + "traits": { + "smithy.api#documentation": "

    Maximum number of items to return.

    ", + "smithy.api#httpQuery": "MaxItems" + } + } + } + }, + "com.amazonaws.lambda#ListCodeSigningConfigsResponse": { + "type": "structure", + "members": { + "NextMarker": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

    The pagination token that's included if more results are available.

    " + } + }, + "CodeSigningConfigs": { + "target": "com.amazonaws.lambda#CodeSigningConfigList", + "traits": { + "smithy.api#documentation": "

    The code signing configurations

    " + } + } + } + }, "com.amazonaws.lambda#ListEventSourceMappings": { "type": "operation", "input": { @@ -3923,6 +4509,84 @@ } } }, + "com.amazonaws.lambda#ListFunctionsByCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#ListFunctionsByCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#ListFunctionsByCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

    List the functions that use the specified code signing configuration. You can use this method prior to deleting a\n code signing configuration, to verify that no functions are using it.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}/functions", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "NextMarker", + "items": "FunctionArns", + "pageSize": "MaxItems" + } + } + }, + "com.amazonaws.lambda#ListFunctionsByCodeSigningConfigRequest": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Marker": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

    Specify the pagination token that's returned by a previous request to retrieve the next page of results.

    ", + "smithy.api#httpQuery": "Marker" + } + }, + "MaxItems": { + "target": "com.amazonaws.lambda#MaxListItems", + "traits": { + "smithy.api#documentation": "

    Maximum number of items to return.

    ", + "smithy.api#httpQuery": "MaxItems" + } + } + } + }, + "com.amazonaws.lambda#ListFunctionsByCodeSigningConfigResponse": { + "type": "structure", + "members": { + "NextMarker": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

    The pagination token that's included if more results are available.

    " + } + }, + "FunctionArns": { + "target": "com.amazonaws.lambda#FunctionArnList", + "traits": { + "smithy.api#documentation": "

    The function ARNs.

    " + } + } + } + }, "com.amazonaws.lambda#ListFunctionsRequest": { "type": "structure", "members": { @@ -4911,6 +5575,82 @@ } } }, + "com.amazonaws.lambda#PutFunctionCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#PutFunctionCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#PutFunctionCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#CodeSigningConfigNotFoundException" + }, + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceConflictException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Update the code signing configuration for the function. Changes to the code signing configuration take effect the\n next time a user tries to deploy a code package to the function.

    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/2020-06-30/functions/{FunctionName}/code-signing-config", + "code": 200 + } + } + }, + "com.amazonaws.lambda#PutFunctionCodeSigningConfigRequest": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#required": {} + } + }, + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

    The name of the Lambda function.

    \n

    \n Name formats\n

    \n
      \n
    • \n

      \n Function name - MyFunction.

      \n
    • \n
    • \n

      \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

      \n
    • \n
    • \n

      \n Partial ARN - 123456789012:function:MyFunction.

      \n
    • \n
    \n

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.lambda#PutFunctionCodeSigningConfigResponse": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#required": {} + } + }, + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

    The name of the Lambda function.

    \n

    \n Name formats\n

    \n
      \n
    • \n

      \n Function name - MyFunction.

      \n
    • \n
    • \n

      \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

      \n
    • \n
    • \n

      \n Partial ARN - 123456789012:function:MyFunction.

      \n
    • \n
    \n

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.lambda#PutFunctionConcurrency": { "type": "operation", "input": { @@ -5579,6 +6319,18 @@ "smithy.api#httpError": 500 } }, + "com.amazonaws.lambda#SigningProfileVersionArns": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#Arn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.lambda#SourceAccessConfiguration": { "type": "structure", "members": { @@ -6106,6 +6858,77 @@ } } }, + "com.amazonaws.lambda#UpdateCodeSigningConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#UpdateCodeSigningConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#UpdateCodeSigningConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

    Update the code signing configuration. Changes to the code signing configuration take effect the next time a\n user tries to deploy a code package to the function.

    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + "code": 200 + } + } + }, + "com.amazonaws.lambda#UpdateCodeSigningConfigRequest": { + "type": "structure", + "members": { + "CodeSigningConfigArn": { + "target": "com.amazonaws.lambda#CodeSigningConfigArn", + "traits": { + "smithy.api#documentation": "

    The The Amazon Resource Name (ARN) of the code signing configuration.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.lambda#Description", + "traits": { + "smithy.api#documentation": "

    Descriptive name for this code signing configuration.

    " + } + }, + "AllowedPublishers": { + "target": "com.amazonaws.lambda#AllowedPublishers", + "traits": { + "smithy.api#documentation": "

    Signing profiles for this code signing configuration.

    " + } + }, + "CodeSigningPolicies": { + "target": "com.amazonaws.lambda#CodeSigningPolicies", + "traits": { + "smithy.api#documentation": "

    The code signing policy.

    " + } + } + } + }, + "com.amazonaws.lambda#UpdateCodeSigningConfigResponse": { + "type": "structure", + "members": { + "CodeSigningConfig": { + "target": "com.amazonaws.lambda#CodeSigningConfig", + "traits": { + "smithy.api#documentation": "

    The code signing configuration

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.lambda#UpdateEventSourceMapping": { "type": "operation", "input": { @@ -6211,7 +7034,7 @@ "SourceAccessConfigurations": { "target": "com.amazonaws.lambda#SourceAccessConfigurations", "traits": { - "smithy.api#documentation": "

    \n (MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format:\n \t {\n \"username\": \"your username\",\n \"password\": \"your password\"\n }\n

    \n \n

    To reference the secret, use the following format:\n [\n {\n \"Type\": \"BASIC_AUTH\",\n \"URI\": \"secretARN\"\n }\n ] \n

    \n

    The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

    " + "smithy.api#documentation": "

    \n (MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format:\n \t {\n \"username\": \"your username\",\n \"password\": \"your password\"\n }\n

    \n\n

    To reference the secret, use the following format:\n [\n {\n \"Type\": \"BASIC_AUTH\",\n \"URI\": \"secretARN\"\n }\n ] \n

    \n

    The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

    " } } } @@ -6225,9 +7048,18 @@ "target": "com.amazonaws.lambda#FunctionConfiguration" }, "errors": [ + { + "target": "com.amazonaws.lambda#CodeSigningConfigNotFoundException" + }, { "target": "com.amazonaws.lambda#CodeStorageExceededException" }, + { + "target": "com.amazonaws.lambda#CodeVerificationFailedException" + }, + { + "target": "com.amazonaws.lambda#InvalidCodeSignatureException" + }, { "target": "com.amazonaws.lambda#InvalidParameterValueException" }, @@ -6248,7 +7080,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Updates a Lambda function's code.

    \n \n

    The function's code is locked when you publish a version. You can't modify the code of a published version,\n only the unpublished version.

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

    Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed\n by a trusted publisher. For more information, see Configuring code signing.

    \n \n

    The function's code is locked when you publish a version. You can't modify the code of a published version,\n only the unpublished version.

    ", "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/functions/{FunctionName}/code", @@ -6320,6 +7152,15 @@ "target": "com.amazonaws.lambda#FunctionConfiguration" }, "errors": [ + { + "target": "com.amazonaws.lambda#CodeSigningConfigNotFoundException" + }, + { + "target": "com.amazonaws.lambda#CodeVerificationFailedException" + }, + { + "target": "com.amazonaws.lambda#InvalidCodeSignatureException" + }, { "target": "com.amazonaws.lambda#InvalidParameterValueException" }, diff --git a/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json b/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json index 924be8a1d740b..be6a2d433cd9c 100644 --- a/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json +++ b/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json @@ -3972,6 +3972,10 @@ "value": "en-US", "name": "EN_US" }, + { + "value": "es-419", + "name": "ES_419" + }, { "value": "es-ES", "name": "ES_ES" diff --git a/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json b/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json index fa15d2ef0bb3a..e70537fc95e68 100644 --- a/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json +++ b/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json @@ -93,7 +93,7 @@ "name": "license-manager" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": " AWS License Manager \n

    AWS License Manager makes it easier to manage licenses from software vendors across multiple \n AWS accounts and on-premises servers.

    ", + "smithy.api#documentation": " AWS License Manager \n

    AWS License Manager makes it easier to manage licenses from software vendors across multiple\n AWS accounts and on-premises servers.

    ", "smithy.api#title": "AWS License Manager", "smithy.api#xmlNamespace": { "uri": "https://license-manager.amazonaws.com/doc/2018_08_01" @@ -216,28 +216,23 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a license configuration.

    \n

    A license configuration is an abstraction of a customer license agreement that can be\n consumed and enforced by License Manager. Components include specifications for the license\n type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, \n Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a \n license must be associated with a host), and the number of licenses purchased and used.

    " + "smithy.api#documentation": "

    Creates a license configuration.

    \n

    A license configuration is an abstraction of a customer license agreement that can be\n consumed and enforced by License Manager. Components include specifications for the license\n type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy,\n Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a\n license must be associated with a host), and the number of licenses purchased and\n used.

    " } }, "com.amazonaws.licensemanager#CreateLicenseConfigurationRequest": { "type": "structure", "members": { - "Description": { + "Name": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Description of the license configuration.

    " - } - }, - "LicenseCountHardLimit": { - "target": "com.amazonaws.licensemanager#BoxBoolean", - "traits": { - "smithy.api#documentation": "

    Indicates whether hard or soft license enforcement is used. Exceeding a hard limit\n blocks the launch of new instances.

    " + "smithy.api#documentation": "

    Name of the license configuration.

    ", + "smithy.api#required": {} } }, - "ProductInformationList": { - "target": "com.amazonaws.licensemanager#ProductInformationList", + "Description": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Product information.

    " + "smithy.api#documentation": "

    Description of the license configuration.

    " } }, "LicenseCountingType": { @@ -253,11 +248,16 @@ "smithy.api#documentation": "

    Number of licenses managed by the license configuration.

    " } }, - "Name": { - "target": "com.amazonaws.licensemanager#String", + "LicenseCountHardLimit": { + "target": "com.amazonaws.licensemanager#BoxBoolean", "traits": { - "smithy.api#documentation": "

    Name of the license configuration.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Indicates whether hard or soft license enforcement is used. Exceeding a hard limit\n blocks the launch of new instances.

    " + } + }, + "LicenseRules": { + "target": "com.amazonaws.licensemanager#StringList", + "traits": { + "smithy.api#documentation": "

    License rules. The syntax is #name=value (for example,\n #allowedTenancy=EC2-DedicatedHost). The available rules vary by dimension, as\n follows.

    \n
      \n
    • \n

      \n Cores dimension: allowedTenancy |\n licenseAffinityToHost | maximumCores |\n minimumCores\n

      \n
    • \n
    • \n

      \n Instances dimension: allowedTenancy |\n maximumCores | minimumCores |\n maximumSockets | minimumSockets |\n maximumVcpus | minimumVcpus\n

      \n
    • \n
    • \n

      \n Sockets dimension: allowedTenancy |\n licenseAffinityToHost | maximumSockets |\n minimumSockets\n

      \n
    • \n
    • \n

      \n vCPUs dimension: allowedTenancy |\n honorVcpuOptimization | maximumVcpus |\n minimumVcpus\n

      \n
    • \n
    \n

    The unit for licenseAffinityToHost is days and the range is 1 to 180. The\n possible values for allowedTenancy are EC2-Default,\n EC2-DedicatedHost, and EC2-DedicatedInstance. The possible\n values for honorVcpuOptimization are True and\n False.

    " } }, "Tags": { @@ -266,10 +266,10 @@ "smithy.api#documentation": "

    Tags to add to the license configuration.

    " } }, - "LicenseRules": { - "target": "com.amazonaws.licensemanager#StringList", + "ProductInformationList": { + "target": "com.amazonaws.licensemanager#ProductInformationList", "traits": { - "smithy.api#documentation": "

    License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules \n vary by dimension, as follows.

    \n
      \n
    • \n

      \n Cores dimension: allowedTenancy |\n licenseAffinityToHost |\n maximumCores | minimumCores\n

      \n
    • \n
    • \n

      \n Instances dimension: allowedTenancy | \n maximumCores | minimumCores |\n maximumSockets | minimumSockets |\n maximumVcpus | minimumVcpus\n

      \n
    • \n
    • \n

      \n Sockets dimension: allowedTenancy | \n licenseAffinityToHost |\n maximumSockets | minimumSockets\n

      \n
    • \n
    • \n

      \n vCPUs dimension: allowedTenancy | \n honorVcpuOptimization | \n maximumVcpus | minimumVcpus\n

      \n
    • \n
    \n

    The unit for licenseAffinityToHost is days and the range is 1 to 180. The possible \n values for allowedTenancy are EC2-Default, EC2-DedicatedHost, and \n EC2-DedicatedInstance. The possible values for honorVcpuOptimization are \n True and False.

    " + "smithy.api#documentation": "

    Product information.

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

    Deletes the specified license configuration.

    \n

    You cannot delete a license configuration that is in use.

    " + "smithy.api#documentation": "

    Deletes the specified license configuration.

    \n

    You cannot delete a license configuration that is in use.

    " } }, "com.amazonaws.licensemanager#DeleteLicenseConfigurationRequest": { @@ -447,22 +447,16 @@ "com.amazonaws.licensemanager#GetLicenseConfigurationResponse": { "type": "structure", "members": { - "ProductInformationList": { - "target": "com.amazonaws.licensemanager#ProductInformationList", - "traits": { - "smithy.api#documentation": "

    Product information.

    " - } - }, - "OwnerAccountId": { + "LicenseConfigurationId": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Account ID of the owner of the license configuration.

    " + "smithy.api#documentation": "

    Unique ID for the license configuration.

    " } }, - "LicenseConfigurationId": { + "LicenseConfigurationArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Unique ID for the license configuration.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    " } }, "Name": { @@ -471,10 +465,10 @@ "smithy.api#documentation": "

    Name of the license configuration.

    " } }, - "ManagedResourceSummaryList": { - "target": "com.amazonaws.licensemanager#ManagedResourceSummaryList", + "Description": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Summaries of the managed resources.

    " + "smithy.api#documentation": "

    Description of the license configuration.

    " } }, "LicenseCountingType": { @@ -483,16 +477,10 @@ "smithy.api#documentation": "

    Dimension on which the licenses are counted.

    " } }, - "Tags": { - "target": "com.amazonaws.licensemanager#TagList", - "traits": { - "smithy.api#documentation": "

    Tags for the license configuration.

    " - } - }, - "AutomatedDiscoveryInformation": { - "target": "com.amazonaws.licensemanager#AutomatedDiscoveryInformation", + "LicenseRules": { + "target": "com.amazonaws.licensemanager#StringList", "traits": { - "smithy.api#documentation": "

    Automated discovery information.

    " + "smithy.api#documentation": "

    License rules.

    " } }, "LicenseCount": { @@ -501,22 +489,16 @@ "smithy.api#documentation": "

    Number of available licenses.

    " } }, - "LicenseRules": { - "target": "com.amazonaws.licensemanager#StringList", - "traits": { - "smithy.api#documentation": "

    License rules.

    " - } - }, "LicenseCountHardLimit": { "target": "com.amazonaws.licensemanager#BoxBoolean", "traits": { "smithy.api#documentation": "

    Sets the number of available licenses as a hard limit.

    " } }, - "Description": { - "target": "com.amazonaws.licensemanager#String", + "ConsumedLicenses": { + "target": "com.amazonaws.licensemanager#BoxLong", "traits": { - "smithy.api#documentation": "

    Description of the license configuration.

    " + "smithy.api#documentation": "

    Number of licenses assigned to resources.

    " } }, "Status": { @@ -525,16 +507,10 @@ "smithy.api#documentation": "

    License configuration status.

    " } }, - "ConsumedLicenses": { - "target": "com.amazonaws.licensemanager#BoxLong", - "traits": { - "smithy.api#documentation": "

    Number of licenses assigned to resources.

    " - } - }, - "LicenseConfigurationArn": { + "OwnerAccountId": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    " + "smithy.api#documentation": "

    Account ID of the owner of the license configuration.

    " } }, "ConsumedLicenseSummaryList": { @@ -542,6 +518,30 @@ "traits": { "smithy.api#documentation": "

    Summaries of the licenses consumed by resources.

    " } + }, + "ManagedResourceSummaryList": { + "target": "com.amazonaws.licensemanager#ManagedResourceSummaryList", + "traits": { + "smithy.api#documentation": "

    Summaries of the managed resources.

    " + } + }, + "Tags": { + "target": "com.amazonaws.licensemanager#TagList", + "traits": { + "smithy.api#documentation": "

    Tags for the license configuration.

    " + } + }, + "ProductInformationList": { + "target": "com.amazonaws.licensemanager#ProductInformationList", + "traits": { + "smithy.api#documentation": "

    Product information.

    " + } + }, + "AutomatedDiscoveryInformation": { + "target": "com.amazonaws.licensemanager#AutomatedDiscoveryInformation", + "traits": { + "smithy.api#documentation": "

    Automated discovery information.

    " + } } } }, @@ -578,22 +578,22 @@ "com.amazonaws.licensemanager#GetServiceSettingsResponse": { "type": "structure", "members": { - "OrganizationConfiguration": { - "target": "com.amazonaws.licensemanager#OrganizationConfiguration", - "traits": { - "smithy.api#documentation": "

    Indicates whether AWS Organizations has been integrated with License Manager for\n cross-account discovery.

    " - } - }, "S3BucketArn": { "target": "com.amazonaws.licensemanager#String", "traits": { "smithy.api#documentation": "

    Regional S3 bucket path for storing reports, license trail event data, discovery data,\n and so on.

    " } }, - "LicenseManagerResourceShareArn": { + "SnsTopicArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the AWS resource share. The License Manager master account will provide member\n accounts with access to this share.

    " + "smithy.api#documentation": "

    SNS topic configured to receive notifications from License Manager.

    " + } + }, + "OrganizationConfiguration": { + "target": "com.amazonaws.licensemanager#OrganizationConfiguration", + "traits": { + "smithy.api#documentation": "

    Indicates whether AWS Organizations has been integrated with License Manager for\n cross-account discovery.

    " } }, "EnableCrossAccountsDiscovery": { @@ -602,10 +602,10 @@ "smithy.api#documentation": "

    Indicates whether cross-account discovery has been enabled.

    " } }, - "SnsTopicArn": { + "LicenseManagerResourceShareArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    SNS topic configured to receive notifications from License Manager.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the AWS resource share. The License Manager master account\n will provide member accounts with access to this share.

    " } } } @@ -639,10 +639,11 @@ "com.amazonaws.licensemanager#InventoryFilter": { "type": "structure", "members": { - "Value": { + "Name": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Value of the filter.

    " + "smithy.api#documentation": "

    Name of the filter.

    ", + "smithy.api#required": {} } }, "Condition": { @@ -652,11 +653,10 @@ "smithy.api#required": {} } }, - "Name": { + "Value": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Name of the filter.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Value of the filter.

    " } } }, @@ -696,34 +696,34 @@ "com.amazonaws.licensemanager#LicenseConfiguration": { "type": "structure", "members": { - "LicenseCount": { - "target": "com.amazonaws.licensemanager#BoxLong", + "LicenseConfigurationId": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Number of licenses managed by the license configuration.

    " + "smithy.api#documentation": "

    Unique ID of the license configuration.

    " } }, - "AutomatedDiscoveryInformation": { - "target": "com.amazonaws.licensemanager#AutomatedDiscoveryInformation", + "LicenseConfigurationArn": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Automated discovery information.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    " } }, - "Status": { + "Name": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Status of the license configuration.

    " + "smithy.api#documentation": "

    Name of the license configuration.

    " } }, - "LicenseCountHardLimit": { - "target": "com.amazonaws.licensemanager#BoxBoolean", + "Description": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Number of available licenses as a hard limit.

    " + "smithy.api#documentation": "

    Description of the license configuration.

    " } }, - "ProductInformationList": { - "target": "com.amazonaws.licensemanager#ProductInformationList", + "LicenseCountingType": { + "target": "com.amazonaws.licensemanager#LicenseCountingType", "traits": { - "smithy.api#documentation": "

    Product information.

    " + "smithy.api#documentation": "

    Dimension to use to track the license inventory.

    " } }, "LicenseRules": { @@ -732,63 +732,63 @@ "smithy.api#documentation": "

    License rules.

    " } }, - "LicenseConfigurationId": { - "target": "com.amazonaws.licensemanager#String", + "LicenseCount": { + "target": "com.amazonaws.licensemanager#BoxLong", "traits": { - "smithy.api#documentation": "

    Unique ID of the license configuration.

    " + "smithy.api#documentation": "

    Number of licenses managed by the license configuration.

    " } }, - "OwnerAccountId": { - "target": "com.amazonaws.licensemanager#String", + "LicenseCountHardLimit": { + "target": "com.amazonaws.licensemanager#BoxBoolean", "traits": { - "smithy.api#documentation": "

    Account ID of the license configuration's owner.

    " + "smithy.api#documentation": "

    Number of available licenses as a hard limit.

    " } }, - "ManagedResourceSummaryList": { - "target": "com.amazonaws.licensemanager#ManagedResourceSummaryList", + "ConsumedLicenses": { + "target": "com.amazonaws.licensemanager#BoxLong", "traits": { - "smithy.api#documentation": "

    Summaries for managed resources.

    " + "smithy.api#documentation": "

    Number of licenses consumed.

    " } }, - "Name": { + "Status": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Name of the license configuration.

    " + "smithy.api#documentation": "

    Status of the license configuration.

    " } }, - "LicenseCountingType": { - "target": "com.amazonaws.licensemanager#LicenseCountingType", + "OwnerAccountId": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Dimension to use to track the license inventory.

    " + "smithy.api#documentation": "

    Account ID of the license configuration's owner.

    " } }, - "ConsumedLicenses": { - "target": "com.amazonaws.licensemanager#BoxLong", + "ConsumedLicenseSummaryList": { + "target": "com.amazonaws.licensemanager#ConsumedLicenseSummaryList", "traits": { - "smithy.api#documentation": "

    Number of licenses consumed.

    " + "smithy.api#documentation": "

    Summaries for licenses consumed by various resources.

    " } }, - "LicenseConfigurationArn": { - "target": "com.amazonaws.licensemanager#String", + "ManagedResourceSummaryList": { + "target": "com.amazonaws.licensemanager#ManagedResourceSummaryList", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    " + "smithy.api#documentation": "

    Summaries for managed resources.

    " } }, - "ConsumedLicenseSummaryList": { - "target": "com.amazonaws.licensemanager#ConsumedLicenseSummaryList", + "ProductInformationList": { + "target": "com.amazonaws.licensemanager#ProductInformationList", "traits": { - "smithy.api#documentation": "

    Summaries for licenses consumed by various resources.

    " + "smithy.api#documentation": "

    Product information.

    " } }, - "Description": { - "target": "com.amazonaws.licensemanager#String", + "AutomatedDiscoveryInformation": { + "target": "com.amazonaws.licensemanager#AutomatedDiscoveryInformation", "traits": { - "smithy.api#documentation": "

    Description of the license configuration.

    " + "smithy.api#documentation": "

    Automated discovery information.

    " } } }, "traits": { - "smithy.api#documentation": "

    A license configuration is an abstraction of a customer license agreement that can be\n consumed and enforced by License Manager. Components include specifications for the license\n type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, \n Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM\n must be associated with a host), and the number of licenses purchased and used.

    " + "smithy.api#documentation": "

    A license configuration is an abstraction of a customer license agreement that can be\n consumed and enforced by License Manager. Components include specifications for the license\n type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy,\n Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be\n associated with a host), and the number of licenses purchased and used.

    " } }, "com.amazonaws.licensemanager#LicenseConfigurationAssociation": { @@ -800,6 +800,12 @@ "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " } }, + "ResourceType": { + "target": "com.amazonaws.licensemanager#ResourceType", + "traits": { + "smithy.api#documentation": "

    Type of server resource.

    " + } + }, "ResourceOwnerId": { "target": "com.amazonaws.licensemanager#String", "traits": { @@ -812,10 +818,10 @@ "smithy.api#documentation": "

    Time when the license configuration was associated with the resource.

    " } }, - "ResourceType": { - "target": "com.amazonaws.licensemanager#ResourceType", + "AmiAssociationScope": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Type of server resource.

    " + "smithy.api#documentation": "

    Scope of AMI associations.

    " } } }, @@ -847,40 +853,40 @@ "com.amazonaws.licensemanager#LicenseConfigurationUsage": { "type": "structure", "members": { - "AssociationTime": { - "target": "com.amazonaws.licensemanager#DateTime", + "ResourceArn": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Time when the license configuration was initially associated with the resource.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " } }, - "ConsumedLicenses": { - "target": "com.amazonaws.licensemanager#BoxLong", + "ResourceType": { + "target": "com.amazonaws.licensemanager#ResourceType", "traits": { - "smithy.api#documentation": "

    Number of licenses consumed by the resource.

    " + "smithy.api#documentation": "

    Type of resource.

    " } }, - "ResourceOwnerId": { + "ResourceStatus": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    ID of the account that owns the resource.

    " + "smithy.api#documentation": "

    Status of the resource.

    " } }, - "ResourceArn": { + "ResourceOwnerId": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " + "smithy.api#documentation": "

    ID of the account that owns the resource.

    " } }, - "ResourceType": { - "target": "com.amazonaws.licensemanager#ResourceType", + "AssociationTime": { + "target": "com.amazonaws.licensemanager#DateTime", "traits": { - "smithy.api#documentation": "

    Type of resource.

    " + "smithy.api#documentation": "

    Time when the license configuration was initially associated with the resource.

    " } }, - "ResourceStatus": { - "target": "com.amazonaws.licensemanager#String", + "ConsumedLicenses": { + "target": "com.amazonaws.licensemanager#BoxLong", "traits": { - "smithy.api#documentation": "

    Status of the resource.

    " + "smithy.api#documentation": "

    Number of licenses consumed by the resource.

    " } } }, @@ -926,22 +932,16 @@ "com.amazonaws.licensemanager#LicenseOperationFailure": { "type": "structure", "members": { - "ResourceType": { - "target": "com.amazonaws.licensemanager#ResourceType", - "traits": { - "smithy.api#documentation": "

    Resource type.

    " - } - }, - "OperationName": { + "ResourceArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Name of the operation.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " } }, - "OperationRequestedBy": { - "target": "com.amazonaws.licensemanager#String", + "ResourceType": { + "target": "com.amazonaws.licensemanager#ResourceType", "traits": { - "smithy.api#documentation": "

    The requester is \"License Manager Automated Discovery\".

    " + "smithy.api#documentation": "

    Resource type.

    " } }, "ErrorMessage": { @@ -950,22 +950,16 @@ "smithy.api#documentation": "

    Error message.

    " } }, - "MetadataList": { - "target": "com.amazonaws.licensemanager#MetadataList", - "traits": { - "smithy.api#documentation": "

    Reserved.

    " - } - }, "FailureTime": { "target": "com.amazonaws.licensemanager#DateTime", "traits": { "smithy.api#documentation": "

    Failure time.

    " } }, - "ResourceArn": { + "OperationName": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " + "smithy.api#documentation": "

    Name of the operation.

    " } }, "ResourceOwnerId": { @@ -973,6 +967,18 @@ "traits": { "smithy.api#documentation": "

    ID of the AWS account that owns the resource.

    " } + }, + "OperationRequestedBy": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    The requester is \"License Manager Automated Discovery\".

    " + } + }, + "MetadataList": { + "target": "com.amazonaws.licensemanager#MetadataList", + "traits": { + "smithy.api#documentation": "

    Reserved.

    " + } } }, "traits": { @@ -994,6 +1000,12 @@ "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    ", "smithy.api#required": {} } + }, + "AmiAssociationScope": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    Scope of AMI associations.

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

    Lists the resource associations for the specified license configuration.

    \n

    Resource associations need not consume licenses from a license configuration. \n For example, an AMI or a stopped instance might not consume a license (depending on \n the license rules).

    " + "smithy.api#documentation": "

    Lists the resource associations for the specified license configuration.

    \n

    Resource associations need not consume licenses from a license configuration. For\n example, an AMI or a stopped instance might not consume a license (depending on the license\n rules).

    " } }, "com.amazonaws.licensemanager#ListAssociationsForLicenseConfigurationRequest": { @@ -1131,17 +1143,17 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.licensemanager#String", - "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

    " - } - }, "MaxResults": { "target": "com.amazonaws.licensemanager#BoxInteger", "traits": { "smithy.api#documentation": "

    Maximum number of results to return in a single call.

    " } + }, + "NextToken": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    Token for the next set of results.

    " + } } } }, @@ -1197,12 +1209,6 @@ "com.amazonaws.licensemanager#ListLicenseConfigurationsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.licensemanager#Filters", - "traits": { - "smithy.api#documentation": "

    Filters to scope the results. The following filters and logical operators\n are supported:

    \n
      \n
    • \n

      \n licenseCountingType - The dimension on which licenses are counted.\n Possible values are vCPU | Instance | Core | Socket.\n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n enforceLicenseCount - A Boolean value that indicates whether hard license enforcement is used. \n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n usagelimitExceeded - A Boolean value that indicates whether the available licenses have been exceeded. \n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    " - } - }, "LicenseConfigurationArns": { "target": "com.amazonaws.licensemanager#StringList", "traits": { @@ -1220,23 +1226,29 @@ "traits": { "smithy.api#documentation": "

    Token for the next set of results.

    " } + }, + "Filters": { + "target": "com.amazonaws.licensemanager#Filters", + "traits": { + "smithy.api#documentation": "

    Filters to scope the results. The following filters and logical operators are\n supported:

    \n
      \n
    • \n

      \n licenseCountingType - The dimension on which licenses are counted.\n Possible values are vCPU | Instance | Core |\n Socket. Logical operators are EQUALS |\n NOT_EQUALS.

      \n
    • \n
    • \n

      \n enforceLicenseCount - A Boolean value that indicates whether hard\n license enforcement is used. Logical operators are EQUALS |\n NOT_EQUALS.

      \n
    • \n
    • \n

      \n usagelimitExceeded - A Boolean value that indicates whether the\n available licenses have been exceeded. Logical operators are EQUALS |\n NOT_EQUALS.

      \n
    • \n
    " + } } } }, "com.amazonaws.licensemanager#ListLicenseConfigurationsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.licensemanager#String", - "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

    " - } - }, "LicenseConfigurations": { "target": "com.amazonaws.licensemanager#LicenseConfigurations", "traits": { "smithy.api#documentation": "

    Information about the license configurations.

    " } + }, + "NextToken": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    Token for the next set of results.

    " + } } } }, @@ -1275,7 +1287,7 @@ "ResourceArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of a resource that has an associated license configuration.

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

    Amazon Resource Name (ARN) of a resource that has an associated license\n configuration.

    ", "smithy.api#required": {} } }, @@ -1296,17 +1308,17 @@ "com.amazonaws.licensemanager#ListLicenseSpecificationsForResourceResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.licensemanager#String", - "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

    " - } - }, "LicenseSpecifications": { "target": "com.amazonaws.licensemanager#LicenseSpecifications", "traits": { "smithy.api#documentation": "

    License configurations associated with a resource.

    " } + }, + "NextToken": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    Token for the next set of results.

    " + } } } }, @@ -1354,17 +1366,17 @@ "smithy.api#documentation": "

    Maximum number of results to return in a single call.

    " } }, - "Filters": { - "target": "com.amazonaws.licensemanager#InventoryFilterList", - "traits": { - "smithy.api#documentation": "

    Filters to scope the results. The following filters and logical operators\n are supported:

    \n
      \n
    • \n

      \n account_id - The ID of the AWS account that owns the resource.\n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n application_name - The name of the application. \n Logical operators are EQUALS | BEGINS_WITH.

      \n
    • \n
    • \n

      \n license_included - The type of license included. \n Logical operators are EQUALS | NOT_EQUALS.\n Possible values are sql-server-enterprise | \n sql-server-standard | \n sql-server-web | \n windows-server-datacenter.

      \n
    • \n
    • \n

      \n platform - The platform of the resource.\n Logical operators are EQUALS | BEGINS_WITH.

      \n
    • \n
    • \n

      \n resource_id - The ID of the resource. \n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    " - } - }, "NextToken": { "target": "com.amazonaws.licensemanager#String", "traits": { "smithy.api#documentation": "

    Token for the next set of results.

    " } + }, + "Filters": { + "target": "com.amazonaws.licensemanager#InventoryFilterList", + "traits": { + "smithy.api#documentation": "

    Filters to scope the results. The following filters and logical operators are\n supported:

    \n
      \n
    • \n

      \n account_id - The ID of the AWS account that owns the resource.\n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n application_name - The name of the application. Logical operators are\n EQUALS | BEGINS_WITH.

      \n
    • \n
    • \n

      \n license_included - The type of license included. Logical operators\n are EQUALS | NOT_EQUALS. Possible values are\n sql-server-enterprise | sql-server-standard |\n sql-server-web | windows-server-datacenter.

      \n
    • \n
    • \n

      \n platform - The platform of the resource. Logical operators are\n EQUALS | BEGINS_WITH.

      \n
    • \n
    • \n

      \n resource_id - The ID of the resource. Logical operators are\n EQUALS | NOT_EQUALS.

      \n
    • \n
    " + } } } }, @@ -1479,6 +1491,12 @@ "smithy.api#required": {} } }, + "MaxResults": { + "target": "com.amazonaws.licensemanager#BoxInteger", + "traits": { + "smithy.api#documentation": "

    Maximum number of results to return in a single call.

    " + } + }, "NextToken": { "target": "com.amazonaws.licensemanager#String", "traits": { @@ -1488,13 +1506,7 @@ "Filters": { "target": "com.amazonaws.licensemanager#Filters", "traits": { - "smithy.api#documentation": "

    Filters to scope the results. The following filters and logical operators\n are supported:

    \n
      \n
    • \n

      \n resourceArn - The ARN of the license configuration resource.\n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI | SYSTEMS_MANAGER_MANAGED_INSTANCE). \n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n resourceAccount - The ID of the account that owns the resource. \n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    " - } - }, - "MaxResults": { - "target": "com.amazonaws.licensemanager#BoxInteger", - "traits": { - "smithy.api#documentation": "

    Maximum number of results to return in a single call.

    " + "smithy.api#documentation": "

    Filters to scope the results. The following filters and logical operators are\n supported:

    \n
      \n
    • \n

      \n resourceArn - The ARN of the license configuration resource. Logical\n operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    • \n

      \n resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI |\n SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS |\n NOT_EQUALS.

      \n
    • \n
    • \n

      \n resourceAccount - The ID of the account that owns the resource.\n Logical operators are EQUALS | NOT_EQUALS.

      \n
    • \n
    " } } } @@ -1502,17 +1514,17 @@ "com.amazonaws.licensemanager#ListUsageForLicenseConfigurationResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.licensemanager#String", - "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

    " - } - }, "LicenseConfigurationUsageList": { "target": "com.amazonaws.licensemanager#LicenseConfigurationUsageList", "traits": { "smithy.api#documentation": "

    Information about the license configurations.

    " } + }, + "NextToken": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    Token for the next set of results.

    " + } } } }, @@ -1548,13 +1560,13 @@ "com.amazonaws.licensemanager#Metadata": { "type": "structure", "members": { - "Value": { + "Name": { "target": "com.amazonaws.licensemanager#String", "traits": { "smithy.api#documentation": "

    Reserved.

    " } }, - "Name": { + "Value": { "target": "com.amazonaws.licensemanager#String", "traits": { "smithy.api#documentation": "

    Reserved.

    " @@ -1592,14 +1604,14 @@ "ResourceType": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Resource type. The possible values are SSM_MANAGED | RDS.

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

    Resource type. The possible values are SSM_MANAGED |\n RDS.

    ", "smithy.api#required": {} } }, "ProductInformationFilterList": { "target": "com.amazonaws.licensemanager#ProductInformationFilterList", "traits": { - "smithy.api#documentation": "

    Product information filters.

    \n

    The following filters and logical operators are supported when the resource type \n is SSM_MANAGED:

    \n
      \n
    • \n

      \n Application Name - The name of the application.\n Logical operator is EQUALS.

      \n
    • \n
    • \n

      \n Application Publisher - The publisher of the application.\n Logical operator is EQUALS.

      \n
    • \n
    • \n

      \n Application Version - The version of the application.\n Logical operator is EQUALS.

      \n
    • \n
    • \n

      \n Platform Name - The name of the platform.\n Logical operator is EQUALS.

      \n
    • \n
    • \n

      \n Platform Type - The platform type.\n Logical operator is EQUALS.

      \n
    • \n
    • \n

      \n License Included - The type of license included.\n Logical operators are EQUALS and NOT_EQUALS.\n Possible values are: sql-server-enterprise | \n sql-server-standard | \n sql-server-web | \n windows-server-datacenter.

      \n
    • \n
    \n

    The following filters and logical operators are supported when the resource type\n is RDS:

    \n
      \n
    • \n

      \n Engine Edition - The edition of the database engine.\n Logical operator is EQUALS.\n Possible values are: oracle-ee | oracle-se | oracle-se1 | oracle-se2.

      \n
    • \n
    • \n

      \n License Pack - The license pack.\n Logical operator is EQUALS.\n Possible values are: data guard | \n diagnostic pack sqlt | \n tuning pack sqlt | \n ols | \n olap.

      \n
    • \n
    ", + "smithy.api#documentation": "

    Product information filters.

    \n

    The following filters and logical operators are supported when the resource type is\n SSM_MANAGED:

    \n
      \n
    • \n

      \n Application Name - The name of the application. Logical operator is\n EQUALS.

      \n
    • \n
    • \n

      \n Application Publisher - The publisher of the application. Logical\n operator is EQUALS.

      \n
    • \n
    • \n

      \n Application Version - The version of the application. Logical\n operator is EQUALS.

      \n
    • \n
    • \n

      \n Platform Name - The name of the platform. Logical operator is\n EQUALS.

      \n
    • \n
    • \n

      \n Platform Type - The platform type. Logical operator is\n EQUALS.

      \n
    • \n
    • \n

      \n License Included - The type of license included. Logical operators\n are EQUALS and NOT_EQUALS. Possible values are:\n sql-server-enterprise | sql-server-standard |\n sql-server-web | windows-server-datacenter.

      \n
    • \n
    \n

    The following filters and logical operators are supported when the resource type is\n RDS:

    \n
      \n
    • \n

      \n Engine Edition - The edition of the database engine. Logical operator\n is EQUALS. Possible values are: oracle-ee |\n oracle-se | oracle-se1 | oracle-se2.

      \n
    • \n
    • \n

      \n License Pack - The license pack. Logical operator is\n EQUALS. Possible values are: data guard |\n diagnostic pack sqlt | tuning pack sqlt |\n ols | olap.

      \n
    • \n
    ", "smithy.api#required": {} } } @@ -1611,6 +1623,13 @@ "com.amazonaws.licensemanager#ProductInformationFilter": { "type": "structure", "members": { + "ProductInformationFilterName": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    Filter name.

    ", + "smithy.api#required": {} + } + }, "ProductInformationFilterValue": { "target": "com.amazonaws.licensemanager#StringList", "traits": { @@ -1624,13 +1643,6 @@ "smithy.api#documentation": "

    Logical operator.

    ", "smithy.api#required": {} } - }, - "ProductInformationFilterName": { - "target": "com.amazonaws.licensemanager#String", - "traits": { - "smithy.api#documentation": "

    Filter name.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -1665,16 +1677,22 @@ "com.amazonaws.licensemanager#ResourceInventory": { "type": "structure", "members": { + "ResourceId": { + "target": "com.amazonaws.licensemanager#String", + "traits": { + "smithy.api#documentation": "

    ID of the resource.

    " + } + }, "ResourceType": { "target": "com.amazonaws.licensemanager#ResourceType", "traits": { "smithy.api#documentation": "

    Type of resource.

    " } }, - "ResourceId": { + "ResourceArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    ID of the resource.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " } }, "Platform": { @@ -1683,22 +1701,16 @@ "smithy.api#documentation": "

    Platform of the resource.

    " } }, - "ResourceOwningAccountId": { - "target": "com.amazonaws.licensemanager#String", - "traits": { - "smithy.api#documentation": "

    ID of the account that owns the resource.

    " - } - }, - "ResourceArn": { + "PlatformVersion": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the resource.

    " + "smithy.api#documentation": "

    Platform version of the resource in the inventory.

    " } }, - "PlatformVersion": { + "ResourceOwningAccountId": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Platform version of the resource in the inventory.

    " + "smithy.api#documentation": "

    ID of the account that owns the resource.

    " } } }, @@ -1890,17 +1902,17 @@ "com.amazonaws.licensemanager#UntagResourceRequest": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.licensemanager#TagKeyList", + "ResourceArn": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Keys identifying the tags to remove.

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

    Amazon Resource Name (ARN) of the license configuration.

    ", "smithy.api#required": {} } }, - "ResourceArn": { - "target": "com.amazonaws.licensemanager#String", + "TagKeys": { + "target": "com.amazonaws.licensemanager#TagKeyList", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

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

    Keys identifying the tags to remove.

    ", "smithy.api#required": {} } } @@ -1942,28 +1954,23 @@ "com.amazonaws.licensemanager#UpdateLicenseConfigurationRequest": { "type": "structure", "members": { - "Description": { + "LicenseConfigurationArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    New description of the license configuration.

    " - } - }, - "LicenseCountHardLimit": { - "target": "com.amazonaws.licensemanager#BoxBoolean", - "traits": { - "smithy.api#documentation": "

    New hard limit of the number of available licenses.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    ", + "smithy.api#required": {} } }, - "ProductInformationList": { - "target": "com.amazonaws.licensemanager#ProductInformationList", + "LicenseConfigurationStatus": { + "target": "com.amazonaws.licensemanager#LicenseConfigurationStatus", "traits": { - "smithy.api#documentation": "

    New product information.

    " + "smithy.api#documentation": "

    New status of the license configuration.

    " } }, "LicenseRules": { "target": "com.amazonaws.licensemanager#StringList", "traits": { - "smithy.api#documentation": "

    New license rule. The only rule that you can add after you create a license\n configuration is licenseAffinityToHost.

    " + "smithy.api#documentation": "

    New license rule. The only rule that you can add after you create a license\n configuration is licenseAffinityToHost.

    " } }, "LicenseCount": { @@ -1972,23 +1979,28 @@ "smithy.api#documentation": "

    New number of licenses managed by the license configuration.

    " } }, - "LicenseConfigurationArn": { - "target": "com.amazonaws.licensemanager#String", + "LicenseCountHardLimit": { + "target": "com.amazonaws.licensemanager#BoxBoolean", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the license configuration.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    New hard limit of the number of available licenses.

    " } }, - "LicenseConfigurationStatus": { - "target": "com.amazonaws.licensemanager#LicenseConfigurationStatus", + "Name": { + "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    New status of the license configuration.

    " + "smithy.api#documentation": "

    New name of the license configuration.

    " } }, - "Name": { + "Description": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    New name of the license configuration.

    " + "smithy.api#documentation": "

    New description of the license configuration.

    " + } + }, + "ProductInformationList": { + "target": "com.amazonaws.licensemanager#ProductInformationList", + "traits": { + "smithy.api#documentation": "

    New product information.

    " } } } @@ -2029,18 +2041,12 @@ } ], "traits": { - "smithy.api#documentation": "

    Adds or removes the specified license configurations for the specified AWS resource.

    \n

    You can update the license specifications of AMIs, instances, and hosts.\n You cannot update the license specifications for launch templates and AWS CloudFormation templates, \n as they send license configurations to the operation that creates the resource.

    " + "smithy.api#documentation": "

    Adds or removes the specified license configurations for the specified AWS\n resource.

    \n

    You can update the license specifications of AMIs, instances, and hosts. You cannot\n update the license specifications for launch templates and AWS CloudFormation templates, as\n they send license configurations to the operation that creates the resource.

    " } }, "com.amazonaws.licensemanager#UpdateLicenseSpecificationsForResourceRequest": { "type": "structure", "members": { - "AddLicenseSpecifications": { - "target": "com.amazonaws.licensemanager#LicenseSpecifications", - "traits": { - "smithy.api#documentation": "

    ARNs of the license configurations to add.

    " - } - }, "ResourceArn": { "target": "com.amazonaws.licensemanager#String", "traits": { @@ -2048,6 +2054,12 @@ "smithy.api#required": {} } }, + "AddLicenseSpecifications": { + "target": "com.amazonaws.licensemanager#LicenseSpecifications", + "traits": { + "smithy.api#documentation": "

    ARNs of the license configurations to add.

    " + } + }, "RemoveLicenseSpecifications": { "target": "com.amazonaws.licensemanager#LicenseSpecifications", "traits": { @@ -2095,7 +2107,7 @@ "S3BucketArn": { "target": "com.amazonaws.licensemanager#String", "traits": { - "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is stored.

    " + "smithy.api#documentation": "

    Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is\n stored.

    " } }, "SnsTopicArn": { diff --git a/codegen/sdk-codegen/aws-models/mediaconvert.2017-08-29.json b/codegen/sdk-codegen/aws-models/mediaconvert.2017-08-29.json index 33f8ed3e4690f..8a2b978846aa9 100644 --- a/codegen/sdk-codegen/aws-models/mediaconvert.2017-08-29.json +++ b/codegen/sdk-codegen/aws-models/mediaconvert.2017-08-29.json @@ -2465,7 +2465,7 @@ "com.amazonaws.mediaconvert#CmafClientCache": { "type": "string", "traits": { - "smithy.api#documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "smithy.api#documentation": "Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled (ENABLED) and control caching in your video distribution set up. For example, use the Cache-Control http header.", "smithy.api#enum": [ { "value": "DISABLED", @@ -2580,7 +2580,7 @@ "ClientCache": { "target": "com.amazonaws.mediaconvert#CmafClientCache", "traits": { - "smithy.api#documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "smithy.api#documentation": "Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled (ENABLED) and control caching in your video distribution set up. For example, use the Cache-Control http header.", "smithy.api#jsonName": "clientCache" } }, @@ -2861,6 +2861,22 @@ ] } }, + "com.amazonaws.mediaconvert#CmfcAudioDuration": { + "type": "string", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#enum": [ + { + "value": "DEFAULT_CODEC_DURATION", + "name": "DEFAULT_CODEC_DURATION" + }, + { + "value": "MATCH_VIDEO_DURATION", + "name": "MATCH_VIDEO_DURATION" + } + ] + } + }, "com.amazonaws.mediaconvert#CmfcScte35Esam": { "type": "string", "traits": { @@ -2896,6 +2912,13 @@ "com.amazonaws.mediaconvert#CmfcSettings": { "type": "structure", "members": { + "AudioDuration": { + "target": "com.amazonaws.mediaconvert#CmfcAudioDuration", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#jsonName": "audioDuration" + } + }, "Scte35Esam": { "target": "com.amazonaws.mediaconvert#CmfcScte35Esam", "traits": { @@ -3327,14 +3350,14 @@ "Tags": { "target": "com.amazonaws.mediaconvert#__mapOf__string", "traits": { - "smithy.api#documentation": "Optional. The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "smithy.api#documentation": "Optional. The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. Use standard AWS tags on your job for automatic integration with AWS services and for custom integrations and workflows.", "smithy.api#jsonName": "tags" } }, "UserMetadata": { "target": "com.amazonaws.mediaconvert#__mapOf__string", "traits": { - "smithy.api#documentation": "Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.", + "smithy.api#documentation": "Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. Use only for existing integrations or workflows that rely on job metadata tags. Otherwise, we recommend that you use standard AWS tags.", "smithy.api#jsonName": "userMetadata" } } @@ -3769,6 +3792,13 @@ "smithy.api#jsonName": "minBufferTime" } }, + "MinFinalSegmentLength": { + "target": "com.amazonaws.mediaconvert#__doubleMin0Max2147483647", + "traits": { + "smithy.api#documentation": "Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds.", + "smithy.api#jsonName": "minFinalSegmentLength" + } + }, "MpdProfile": { "target": "com.amazonaws.mediaconvert#DashIsoMpdProfile", "traits": { @@ -7998,7 +8028,7 @@ "com.amazonaws.mediaconvert#HlsClientCache": { "type": "string", "traits": { - "smithy.api#documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "smithy.api#documentation": "Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled (ENABLED) and control caching in your video distribution set up. For example, use the Cache-Control http header.", "smithy.api#enum": [ { "value": "DISABLED", @@ -8164,7 +8194,7 @@ "ClientCache": { "target": "com.amazonaws.mediaconvert#HlsClientCache", "traits": { - "smithy.api#documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "smithy.api#documentation": "Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled (ENABLED) and control caching in your video distribution set up. For example, use the Cache-Control http header.", "smithy.api#jsonName": "clientCache" } }, @@ -8686,7 +8716,7 @@ } }, "FileInput": { - "target": "com.amazonaws.mediaconvert#__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL", + "target": "com.amazonaws.mediaconvert#__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaA", "traits": { "smithy.api#documentation": "Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, \"s3://bucket/vf/cpl.xml\". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs that contain assets referenced by the CPL.", "smithy.api#jsonName": "fileInput" @@ -10982,6 +11012,22 @@ ] } }, + "com.amazonaws.mediaconvert#M2tsAudioDuration": { + "type": "string", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#enum": [ + { + "value": "DEFAULT_CODEC_DURATION", + "name": "DEFAULT_CODEC_DURATION" + }, + { + "value": "MATCH_VIDEO_DURATION", + "name": "MATCH_VIDEO_DURATION" + } + ] + } + }, "com.amazonaws.mediaconvert#M2tsBufferModel": { "type": "string", "traits": { @@ -11199,6 +11245,13 @@ "smithy.api#jsonName": "audioBufferModel" } }, + "AudioDuration": { + "target": "com.amazonaws.mediaconvert#M2tsAudioDuration", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#jsonName": "audioDuration" + } + }, "AudioFramesPerPes": { "target": "com.amazonaws.mediaconvert#__integerMin0Max2147483647", "traits": { @@ -11449,6 +11502,22 @@ "smithy.api#documentation": "MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset." } }, + "com.amazonaws.mediaconvert#M3u8AudioDuration": { + "type": "string", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#enum": [ + { + "value": "DEFAULT_CODEC_DURATION", + "name": "DEFAULT_CODEC_DURATION" + }, + { + "value": "MATCH_VIDEO_DURATION", + "name": "MATCH_VIDEO_DURATION" + } + ] + } + }, "com.amazonaws.mediaconvert#M3u8NielsenId3": { "type": "string", "traits": { @@ -11500,6 +11569,13 @@ "com.amazonaws.mediaconvert#M3u8Settings": { "type": "structure", "members": { + "AudioDuration": { + "target": "com.amazonaws.mediaconvert#M3u8AudioDuration", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#jsonName": "audioDuration" + } + }, "AudioFramesPerPes": { "target": "com.amazonaws.mediaconvert#__integerMin0Max2147483647", "traits": { @@ -12100,6 +12176,13 @@ "com.amazonaws.mediaconvert#Mp4Settings": { "type": "structure", "members": { + "AudioDuration": { + "target": "com.amazonaws.mediaconvert#CmfcAudioDuration", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#jsonName": "audioDuration" + } + }, "CslgAtom": { "target": "com.amazonaws.mediaconvert#Mp4CslgAtom", "traits": { @@ -12140,6 +12223,38 @@ "smithy.api#documentation": "Settings for MP4 container. You can create audio-only AAC outputs with this container." } }, + "com.amazonaws.mediaconvert#MpdAccessibilityCaptionHints": { + "type": "string", + "traits": { + "smithy.api#documentation": "Optional. Choose Include (INCLUDE) to have MediaConvert mark up your DASH manifest with elements for embedded 608 captions. This markup isn't generally required, but some video players require it to discover and play embedded 608 captions. Keep the default value, Exclude (EXCLUDE), to leave these elements out. When you enable this setting, this is the markup that MediaConvert includes in your manifest: ", + "smithy.api#enum": [ + { + "value": "INCLUDE", + "name": "INCLUDE" + }, + { + "value": "EXCLUDE", + "name": "EXCLUDE" + } + ] + } + }, + "com.amazonaws.mediaconvert#MpdAudioDuration": { + "type": "string", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#enum": [ + { + "value": "DEFAULT_CODEC_DURATION", + "name": "DEFAULT_CODEC_DURATION" + }, + { + "value": "MATCH_VIDEO_DURATION", + "name": "MATCH_VIDEO_DURATION" + } + ] + } + }, "com.amazonaws.mediaconvert#MpdCaptionContainerType": { "type": "string", "traits": { @@ -12191,6 +12306,20 @@ "com.amazonaws.mediaconvert#MpdSettings": { "type": "structure", "members": { + "AccessibilityCaptionHints": { + "target": "com.amazonaws.mediaconvert#MpdAccessibilityCaptionHints", + "traits": { + "smithy.api#documentation": "Optional. Choose Include (INCLUDE) to have MediaConvert mark up your DASH manifest with elements for embedded 608 captions. This markup isn't generally required, but some video players require it to discover and play embedded 608 captions. Keep the default value, Exclude (EXCLUDE), to leave these elements out. When you enable this setting, this is the markup that MediaConvert includes in your manifest: ", + "smithy.api#jsonName": "accessibilityCaptionHints" + } + }, + "AudioDuration": { + "target": "com.amazonaws.mediaconvert#MpdAudioDuration", + "traits": { + "smithy.api#documentation": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.", + "smithy.api#jsonName": "audioDuration" + } + }, "CaptionContainerType": { "target": "com.amazonaws.mediaconvert#MpdCaptionContainerType", "traits": { @@ -17847,10 +17976,10 @@ "smithy.api#pattern": "^s3:\\/\\/.*\\/(ASSETMAP.xml)?$" } }, - "com.amazonaws.mediaconvert#__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL": { + "com.amazonaws.mediaconvert#__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaA": { "type": "string", "traits": { - "smithy.api#pattern": "^((s3://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[pP]|[mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL]))))|(https?://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL])))(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + "smithy.api#pattern": "^((s3://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[pP]|[mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL]|[oO][gG][gGaA]))))|(https?://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL]|[oO][gG][gGaA])))(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" } }, "com.amazonaws.mediaconvert#__stringPatternS3MM2PPWWEEBBMMMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE": { diff --git a/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json b/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json index 73cf7f9f7f8d5..24f60145e9050 100644 --- a/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json +++ b/codegen/sdk-codegen/aws-models/outposts.2019-12-03.json @@ -131,6 +131,12 @@ }, "AvailabilityZoneId": { "target": "com.amazonaws.outposts#AvailabilityZoneId" + }, + "Tags": { + "target": "com.amazonaws.outposts#TagMap", + "traits": { + "smithy.api#documentation": "

    The tags to apply to the Outpost.

    " + } } } }, @@ -589,6 +595,12 @@ }, "AvailabilityZoneId": { "target": "com.amazonaws.outposts#AvailabilityZoneId" + }, + "Tags": { + "target": "com.amazonaws.outposts#TagMap", + "traits": { + "smithy.api#documentation": "

    The Outpost tags.

    " + } } }, "traits": { @@ -718,6 +730,12 @@ }, "Description": { "target": "com.amazonaws.outposts#SiteDescription" + }, + "Tags": { + "target": "com.amazonaws.outposts#TagMap", + "traits": { + "smithy.api#documentation": "

    The site tags.

    " + } } }, "traits": { @@ -757,6 +775,41 @@ "smithy.api#pattern": "^[\\S ]+$" } }, + "com.amazonaws.outposts#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$" + } + }, + "com.amazonaws.outposts#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.outposts#TagKey" + }, + "value": { + "target": "com.amazonaws.outposts#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.outposts#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^[\\S \\n]+$" + } + }, "com.amazonaws.outposts#Token": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json b/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json index a40777f4e701f..ca5ee97b7fbc3 100644 --- a/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json +++ b/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json @@ -146,6 +146,18 @@ "smithy.api#documentation": "

    Ad hoc (one-time) filtering option.

    " } }, + "com.amazonaws.quicksight#AdditionalDashboardIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.quicksight#RestrictiveResourceId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.quicksight#AliasName": { "type": "string", "traits": { @@ -3748,7 +3760,7 @@ "ColumnLevelPermissionRulesApplied": { "target": "com.amazonaws.quicksight#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates if the dataset has column level permission\n configured.

    " + "smithy.api#documentation": "

    Indicates if the dataset has column level permission\n configured.

    " } } }, @@ -3929,7 +3941,7 @@ } }, "com.amazonaws.quicksight#DataSourceParameters": { - "type": "structure", + "type": "union", "members": { "AmazonElasticsearchParameters": { "target": "com.amazonaws.quicksight#AmazonElasticsearchParameters", @@ -7572,6 +7584,25 @@ ] } }, + "com.amazonaws.quicksight#EmbeddingIdentityType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IAM", + "name": "IAM" + }, + { + "value": "QUICKSIGHT", + "name": "QUICKSIGHT" + }, + { + "value": "ANONYMOUS", + "name": "ANONYMOUS" + } + ] + } + }, "com.amazonaws.quicksight#EmbeddingUrl": { "type": "string", "traits": { @@ -7844,6 +7875,9 @@ { "target": "com.amazonaws.quicksight#ThrottlingException" }, + { + "target": "com.amazonaws.quicksight#UnsupportedPricingPlanException" + }, { "target": "com.amazonaws.quicksight#UnsupportedUserEditionException" } @@ -7877,7 +7911,7 @@ } }, "IdentityType": { - "target": "com.amazonaws.quicksight#IdentityType", + "target": "com.amazonaws.quicksight#EmbeddingIdentityType", "traits": { "smithy.api#documentation": "

    The authentication method that the user uses to sign in.

    ", "smithy.api#httpQuery": "creds-type", @@ -7918,7 +7952,24 @@ "smithy.api#documentation": "

    The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT identity type.\n\t\t\tYou can use this for any Amazon QuickSight users in your account (readers, authors, or\n\t\t\tadmins) authenticated as one of the following:

    \n\t\t
      \n
    • \n\t\t\t\t

      Active Directory (AD) users or group members

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      Invited nonfederated users

      \n\t\t\t
    • \n
    • \n\t\t\t\t

      IAM users and IAM role-based sessions authenticated through Federated Single Sign-On using\n\t\t\t\t\tSAML, OpenID Connect, or IAM federation.

      \n\t\t\t
    • \n
    \n

    Omit this parameter for users in the third group – IAM users and IAM\n role-based sessions.

    ", "smithy.api#httpQuery": "user-arn" } + }, + "Namespace": { + "target": "com.amazonaws.quicksight#Namespace", + "traits": { + "smithy.api#documentation": "

    The QuickSight namespace that contains the dashboard IDs in this request.\n \t If you're not using a custom namespace, set this to \n \t \"default\".

    ", + "smithy.api#httpQuery": "namespace" + } + }, + "AdditionalDashboardIds": { + "target": "com.amazonaws.quicksight#AdditionalDashboardIdList", + "traits": { + "smithy.api#documentation": "

    A list of one or more dashboard ids that you want to add to a session that \n includes anonymous authorizations. IdentityType must be set to ANONYMOUS \n for this to work, because other other identity types authenticate as QuickSight users. \n For example, if you set \"--dashboard-id dash_id1 --dashboard-id dash_id2 \n dash_id3 identity-type ANONYMOUS\", the session can access all \n three dashboards.\n

    ", + "smithy.api#httpQuery": "additional-dashboard-ids" + } } + }, + "traits": { + "smithy.api#documentation": "

    Parameter input for the GetDashboardEmbedUrl operation.

    " } }, "com.amazonaws.quicksight#GetDashboardEmbedUrlResponse": { @@ -7943,6 +7994,9 @@ "smithy.api#documentation": "

    The AWS request ID for this operation.

    " } } + }, + "traits": { + "smithy.api#documentation": "

    Output returned from the GetDashboardEmbedUrl operation.

    " } }, "com.amazonaws.quicksight#GetSessionEmbedUrl": { @@ -11445,7 +11499,7 @@ } }, "com.amazonaws.quicksight#PhysicalTable": { - "type": "structure", + "type": "union", "members": { "RelationalTable": { "target": "com.amazonaws.quicksight#RelationalTable", @@ -14146,7 +14200,7 @@ } }, "com.amazonaws.quicksight#TransformOperation": { - "type": "structure", + "type": "union", "members": { "ProjectOperation": { "target": "com.amazonaws.quicksight#ProjectOperation", @@ -14336,6 +14390,25 @@ "smithy.api#documentation": "

    The theme colors that apply to UI and to charts, excluding data colors. The colors\n description is a hexadecimal color code that consists of six alphanumerical characters,\n prefixed with #, for example #37BFF5. For more information, see Using Themes in Amazon QuickSight in the Amazon QuickSight User\n Guide.\n

    " } }, + "com.amazonaws.quicksight#UnsupportedPricingPlanException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.quicksight#String" + }, + "RequestId": { + "target": "com.amazonaws.quicksight#String", + "traits": { + "smithy.api#documentation": "

    The AWS request ID for this request.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    This error indicates that you are calling an embedding operation in Amazon QuickSight\n\t\t\twithout the required pricing plan on your AWS account. Before you can use anonymous \n\t\t\tembedding, a QuickSight administrator needs to add capacity pricing to QuickSight. You \n\t\t can do this on the Manage QuickSight page.

    \n

    After capacity pricing is added, you can enable anonymous embedding by using the \n \n GetDashboardEmbedUrl\n API operation with the \n --identity-type ANONYMOUS option.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, "com.amazonaws.quicksight#UnsupportedUserEditionException": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/securityhub.2018-10-26.json b/codegen/sdk-codegen/aws-models/securityhub.2018-10-26.json index 09ff637122cf7..b5788b7ecda99 100644 --- a/codegen/sdk-codegen/aws-models/securityhub.2018-10-26.json +++ b/codegen/sdk-codegen/aws-models/securityhub.2018-10-26.json @@ -55,7 +55,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Accepts the invitation to be a member account and be monitored by the Security Hub master\n account that the invitation was sent from.

    \n

    When the member account accepts the invitation, permission is granted to the master\n account to view findings generated in the member account.

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

    Accepts the invitation to be a member account and be monitored by the Security Hub master\n account that the invitation was sent from.

    \n

    This operation is only used by member accounts that are not added through\n Organizations.

    \n

    When the member account accepts the invitation, permission is granted to the master\n account to view findings generated in the member account.

    ", "smithy.api#http": { "method": "POST", "uri": "/master", @@ -66,17 +66,17 @@ "com.amazonaws.securityhub#AcceptInvitationRequest": { "type": "structure", "members": { - "MasterId": { + "InvitationId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The account ID of the Security Hub master account that sent the invitation.

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

    The ID of the invitation sent from the Security Hub master account.

    ", "smithy.api#required": {} } }, - "InvitationId": { + "MasterId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the invitation sent from the Security Hub master account.

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

    The account ID of the Security Hub master account that sent the invitation.

    ", "smithy.api#required": {} } } @@ -89,10 +89,10 @@ "com.amazonaws.securityhub#AccessDeniedException": { "type": "structure", "members": { - "Message": { + "Code": { "target": "com.amazonaws.securityhub#NonEmptyString" }, - "Code": { + "Message": { "target": "com.amazonaws.securityhub#NonEmptyString" } }, @@ -105,16 +105,17 @@ "com.amazonaws.securityhub#AccountDetails": { "type": "structure", "members": { - "Email": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AccountId": { + "target": "com.amazonaws.securityhub#AccountId", "traits": { - "smithy.api#documentation": "

    The email of an AWS account.

    " + "smithy.api#documentation": "

    The ID of an AWS account.

    ", + "smithy.api#required": {} } }, - "AccountId": { - "target": "com.amazonaws.securityhub#AccountId", + "Email": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of an AWS account.

    " + "smithy.api#documentation": "

    The email of an AWS account.

    " } } }, @@ -140,24 +141,24 @@ "com.amazonaws.securityhub#ActionTarget": { "type": "structure", "members": { - "Name": { + "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the action target.

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

    The description of the target action.

    ", "smithy.api#required": {} } }, - "Description": { + "ActionTargetArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The description of the target action.

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

    The ARN for the target action.

    ", "smithy.api#required": {} } }, - "ActionTargetArn": { + "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN for the target action.

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

    The name of the action target.

    ", "smithy.api#required": {} } } @@ -172,6 +173,56 @@ "target": "com.amazonaws.securityhub#ActionTarget" } }, + "com.amazonaws.securityhub#AdminAccount": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.securityhub#AdminStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the Security Hub administrator account. Indicates whether the account is\n currently enabled as a Security Hub administrator.

    " + } + }, + "AccountId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The AWS account identifier of the Security Hub administrator account.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Represents a Security Hub administrator account designated by an organization management\n account.

    " + } + }, + "com.amazonaws.securityhub#AdminAccounts": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AdminAccount" + } + }, + "com.amazonaws.securityhub#AdminStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "DISABLE_IN_PROGRESS", + "name": "DISABLE_IN_PROGRESS" + } + ] + } + }, + "com.amazonaws.securityhub#AdminsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.securityhub#ArnList": { "type": "list", "member": { @@ -207,16 +258,16 @@ "com.amazonaws.securityhub#AwsApiGatewayAccessLogSettings": { "type": "structure", "members": { - "DestinationArn": { + "Format": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the CloudWatch Logs log group that receives the access logs.

    " + "smithy.api#documentation": "

    A single-line format of the access logs of data, as specified by selected\n $context variables. The format must include at least\n $context.requestId.

    " } }, - "Format": { + "DestinationArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A single-line format of the access logs of data, as specified by selected\n $context variables. The format must include at least\n $context.requestId.

    " + "smithy.api#documentation": "

    The ARN of the CloudWatch Logs log group that receives the access logs.

    " } } }, @@ -233,12 +284,6 @@ "smithy.api#documentation": "

    The deployment identifier for the canary deployment.

    " } }, - "PercentTraffic": { - "target": "com.amazonaws.securityhub#Double", - "traits": { - "smithy.api#documentation": "

    The percentage of traffic that is diverted to a canary deployment.

    " - } - }, "UseStageCache": { "target": "com.amazonaws.securityhub#Boolean", "traits": { @@ -250,6 +295,12 @@ "traits": { "smithy.api#documentation": "

    Stage variables that are overridden in the canary release deployment. The variables\n include new stage variables that are introduced in the canary.

    \n

    Each variable is represented as a string-to-string map between the stage variable name\n and the variable value.

    " } + }, + "PercentTraffic": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

    The percentage of traffic that is diverted to a canary deployment.

    " + } } }, "traits": { @@ -273,58 +324,52 @@ "com.amazonaws.securityhub#AwsApiGatewayMethodSettings": { "type": "structure", "members": { - "HttpMethod": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to\n multiple methods.

    " - } - }, "RequireAuthorizationForCacheControl": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Indicates whether authorization is required for a cache invalidation request.

    " } }, - "ResourcePath": { + "LoggingLevel": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial\n slash must include a forward slash.

    \n

    For example, the path value /resource/subresource must be encoded as\n /~1resource~1subresource.

    \n

    To specify the root path, use only a slash (/). You can use an asterisk (*) as a\n wildcard to apply method settings to multiple methods.

    " + "smithy.api#documentation": "

    The logging level for this method. The logging level affects the log entries that are\n pushed to CloudWatch Logs.

    \n

    If the logging level is ERROR, then the logs only include error-level\n entries.

    \n

    If the logging level is INFO, then the logs include both ERROR\n events and extra informational events.

    \n

    Valid values: OFF | ERROR | INFO\n

    " } }, - "LoggingLevel": { + "UnauthorizedCacheControlHeaderStrategy": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The logging level for this method. The logging level affects the log entries that are\n pushed to CloudWatch Logs.

    \n

    If the logging level is ERROR, then the logs only include error-level\n entries.

    \n

    If the logging level is INFO, then the logs include both ERROR\n events and extra informational events.

    \n

    Valid values: OFF | ERROR | INFO\n

    " + "smithy.api#documentation": "

    Indicates how to handle unauthorized requests for cache invalidation.

    \n

    Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER |\n SUCCEED_WITHOUT_RESPONSE_HEADER\n

    " } }, - "CachingEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "ResourcePath": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether responses are cached and returned for requests. For responses to be\n cached, a cache cluster must be enabled on the stage.

    " + "smithy.api#documentation": "

    The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial\n slash must include a forward slash.

    \n

    For example, the path value /resource/subresource must be encoded as\n /~1resource~1subresource.

    \n

    To specify the root path, use only a slash (/). You can use an asterisk (*) as a\n wildcard to apply method settings to multiple methods.

    " } }, - "DataTraceEnabled": { + "MetricsEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether data trace logging is enabled for the method. Data trace logging\n affects the log entries that are pushed to CloudWatch Logs.

    " + "smithy.api#documentation": "

    Indicates whether CloudWatch metrics are enabled for the method.

    " } }, - "ThrottlingBurstLimit": { + "CacheTtlInSeconds": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The throttling burst limit for the method.

    " + "smithy.api#documentation": "

    Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL,\n the longer the response is cached.

    " } }, - "ThrottlingRateLimit": { - "target": "com.amazonaws.securityhub#Double", + "HttpMethod": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The throttling rate limit for the method.

    " + "smithy.api#documentation": "

    The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to\n multiple methods.

    " } }, - "UnauthorizedCacheControlHeaderStrategy": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ThrottlingRateLimit": { + "target": "com.amazonaws.securityhub#Double", "traits": { - "smithy.api#documentation": "

    Indicates how to handle unauthorized requests for cache invalidation.

    \n

    Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER |\n SUCCEED_WITHOUT_RESPONSE_HEADER\n

    " + "smithy.api#documentation": "

    The throttling rate limit for the method.

    " } }, "CacheDataEncrypted": { @@ -333,16 +378,22 @@ "smithy.api#documentation": "

    Indicates whether the cached responses are encrypted.

    " } }, - "MetricsEnabled": { + "CachingEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether CloudWatch metrics are enabled for the method.

    " + "smithy.api#documentation": "

    Indicates whether responses are cached and returned for requests. For responses to be\n cached, a cache cluster must be enabled on the stage.

    " } }, - "CacheTtlInSeconds": { + "ThrottlingBurstLimit": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL,\n the longer the response is cached.

    " + "smithy.api#documentation": "

    The throttling burst limit for the method.

    " + } + }, + "DataTraceEnabled": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Indicates whether data trace logging is enabled for the method. Data trace logging\n affects the log entries that are pushed to CloudWatch Logs.

    " } } }, @@ -359,22 +410,34 @@ "com.amazonaws.securityhub#AwsApiGatewayRestApiDetails": { "type": "structure", "members": { + "BinaryMediaTypes": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

    The list of binary media types supported by the REST API.

    " + } + }, "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    A description of the REST API.

    " } }, - "BinaryMediaTypes": { - "target": "com.amazonaws.securityhub#NonEmptyStringList", + "ApiKeySource": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of binary media types supported by the REST API.

    " + "smithy.api#documentation": "

    The source of the API key for metering requests according to a usage plan.

    \n

    \n HEADER indicates whether to read the API key from the X-API-Key header of a\n request.

    \n

    \n AUTHORIZER indicates whether to read the API key from the\n UsageIdentifierKey from a custom authorizer.

    " } }, - "ApiKeySource": { + "Id": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The source of the API key for metering requests according to a usage plan.

    \n

    \n HEADER indicates whether to read the API key from the X-API-Key header of a\n request.

    \n

    \n AUTHORIZER indicates whether to read the API key from the\n UsageIdentifierKey from a custom authorizer.

    " + "smithy.api#documentation": "

    The identifier of the REST API.

    " + } + }, + "Version": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The version identifier for the REST API.

    " } }, "MinimumCompressionSize": { @@ -383,10 +446,10 @@ "smithy.api#documentation": "

    The minimum size in bytes of a payload before compression is enabled.

    \n

    If null, then compression is disabled.

    \n

    If 0, then all payloads are compressed.

    " } }, - "Id": { + "CreatedDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the REST API.

    " + "smithy.api#documentation": "

    Indicates when the API was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, "Name": { @@ -400,18 +463,6 @@ "traits": { "smithy.api#documentation": "

    The endpoint configuration of the REST API.

    " } - }, - "Version": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The version identifier for the REST API.

    " - } - }, - "CreatedDate": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the API was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } } }, "traits": { @@ -421,76 +472,76 @@ "com.amazonaws.securityhub#AwsApiGatewayStageDetails": { "type": "structure", "members": { - "MethodSettings": { - "target": "com.amazonaws.securityhub#AwsApiGatewayMethodSettingsList", + "CacheClusterEnabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Defines the method settings for the stage.

    " + "smithy.api#documentation": "

    Indicates whether a cache cluster is enabled for the stage.

    " } }, - "CanarySettings": { - "target": "com.amazonaws.securityhub#AwsApiGatewayCanarySettings", + "AccessLogSettings": { + "target": "com.amazonaws.securityhub#AwsApiGatewayAccessLogSettings", "traits": { - "smithy.api#documentation": "

    Information about settings for canary deployment in the stage.

    " + "smithy.api#documentation": "

    Settings for logging access for the stage.

    " } }, - "CacheClusterStatus": { + "DocumentationVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    If a cache cluster is enabled, the status of the cache cluster.

    " + "smithy.api#documentation": "

    The version of the API documentation that is associated with the stage.

    " } }, - "CreatedDate": { + "CacheClusterSize": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the stage was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    If a cache cluster is enabled, the size of the cache cluster.

    " } }, - "LastUpdatedDate": { + "ClientCertificateId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the stage was most recently updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The identifier of the client certificate for the stage.

    " } }, - "WebAclArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Variables": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    The ARN of the web ACL associated with the stage.

    " + "smithy.api#documentation": "

    A map that defines the stage variables for the stage.

    \n

    Variable names can have alphanumeric and underscore characters.

    \n

    Variable values can contain the following characters:

    \n
      \n
    • \n

      Uppercase and lowercase letters

      \n
    • \n
    • \n

      Numbers

      \n
    • \n
    • \n

      Special characters -._~:/?#&=,

      \n
    • \n
    " } }, - "StageName": { + "DeploymentId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the stage.

    " + "smithy.api#documentation": "

    The identifier of the deployment that the stage points to.

    " } }, - "CacheClusterSize": { + "LastUpdatedDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    If a cache cluster is enabled, the size of the cache cluster.

    " + "smithy.api#documentation": "

    Indicates when the stage was most recently updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "AccessLogSettings": { - "target": "com.amazonaws.securityhub#AwsApiGatewayAccessLogSettings", + "TracingEnabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Settings for logging access for the stage.

    " + "smithy.api#documentation": "

    Indicates whether active tracing with AWS X-Ray is enabled for the stage.

    " } }, - "DocumentationVersion": { + "CreatedDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version of the API documentation that is associated with the stage.

    " + "smithy.api#documentation": "

    Indicates when the stage was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "TracingEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "CanarySettings": { + "target": "com.amazonaws.securityhub#AwsApiGatewayCanarySettings", "traits": { - "smithy.api#documentation": "

    Indicates whether active tracing with AWS X-Ray is enabled for the stage.

    " + "smithy.api#documentation": "

    Information about settings for canary deployment in the stage.

    " } }, - "DeploymentId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "MethodSettings": { + "target": "com.amazonaws.securityhub#AwsApiGatewayMethodSettingsList", "traits": { - "smithy.api#documentation": "

    The identifier of the deployment that the stage points to.

    " + "smithy.api#documentation": "

    Defines the method settings for the stage.

    " } }, "Description": { @@ -499,22 +550,22 @@ "smithy.api#documentation": "

    A description of the stage.

    " } }, - "ClientCertificateId": { + "WebAclArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the client certificate for the stage.

    " + "smithy.api#documentation": "

    The ARN of the web ACL associated with the stage.

    " } }, - "CacheClusterEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "CacheClusterStatus": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether a cache cluster is enabled for the stage.

    " + "smithy.api#documentation": "

    If a cache cluster is enabled, the status of the cache cluster.

    " } }, - "Variables": { - "target": "com.amazonaws.securityhub#FieldMap", + "StageName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A map that defines the stage variables for the stage.

    \n

    Variable names can have alphanumeric and underscore characters.

    \n

    Variable values can contain the following characters:

    \n
      \n
    • \n

      Uppercase and lowercase letters

      \n
    • \n
    • \n

      Numbers

      \n
    • \n
    • \n

      Special characters -._~:/?#&=,

      \n
    • \n
    " + "smithy.api#documentation": "

    The name of the stage.

    " } } }, @@ -531,58 +582,58 @@ "smithy.api#documentation": "

    The name of the API.

    " } }, - "Version": { + "ApiId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version identifier for the API.

    " + "smithy.api#documentation": "

    The identifier of the API.

    " } }, - "CorsConfiguration": { - "target": "com.amazonaws.securityhub#AwsCorsConfiguration", + "ProtocolType": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A cross-origin resource sharing (CORS) configuration. Supported only for HTTP\n APIs.

    " + "smithy.api#documentation": "

    The API protocol for the API.

    \n

    Valid values: WEBSOCKET | HTTP\n

    " } }, - "RouteSelectionExpression": { + "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The route selection expression for the API.

    \n

    For HTTP APIs, must be ${request.method} ${request.path}. This is the\n default value for HTTP APIs.

    \n

    For WebSocket APIs, there is no default value.

    " + "smithy.api#documentation": "

    A description of the API.

    " } }, - "CreatedDate": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "CorsConfiguration": { + "target": "com.amazonaws.securityhub#AwsCorsConfiguration", "traits": { - "smithy.api#documentation": "

    Indicates when the API was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    A cross-origin resource sharing (CORS) configuration. Supported only for HTTP\n APIs.

    " } }, - "ApiEndpoint": { + "ApiKeySelectionExpression": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The URI of the API.

    \n

    Uses the format\n \n .execute-api..amazonaws.com\n

    \n

    The stage name is typically appended to the URI to form a complete path to a deployed\n API stage.

    " + "smithy.api#documentation": "

    An API key selection expression. Supported only for WebSocket APIs.

    " } }, - "ApiKeySelectionExpression": { + "ApiEndpoint": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    An API key selection expression. Supported only for WebSocket APIs.

    " + "smithy.api#documentation": "

    The URI of the API.

    \n

    Uses the format\n \n .execute-api..amazonaws.com\n

    \n

    The stage name is typically appended to the URI to form a complete path to a deployed\n API stage.

    " } }, - "Description": { + "Version": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A description of the API.

    " + "smithy.api#documentation": "

    The version identifier for the API.

    " } }, - "ProtocolType": { + "RouteSelectionExpression": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The API protocol for the API.

    \n

    Valid values: WEBSOCKET | HTTP\n

    " + "smithy.api#documentation": "

    The route selection expression for the API.

    \n

    For HTTP APIs, must be ${request.method} ${request.path}. This is the\n default value for HTTP APIs.

    \n

    For WebSocket APIs, there is no default value.

    " } }, - "ApiId": { + "CreatedDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the API.

    " + "smithy.api#documentation": "

    Indicates when the API was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -593,12 +644,24 @@ "com.amazonaws.securityhub#AwsApiGatewayV2RouteSettings": { "type": "structure", "members": { + "ThrottlingBurstLimit": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The throttling burst limit.

    " + } + }, "ThrottlingRateLimit": { "target": "com.amazonaws.securityhub#Double", "traits": { "smithy.api#documentation": "

    The throttling rate limit.

    " } }, + "LoggingLevel": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The logging level. The logging level affects the log entries that are pushed to\n CloudWatch Logs. Supported only for WebSocket APIs.

    \n

    If the logging level is ERROR, then the logs only include error-level\n entries.

    \n

    If the logging level is INFO, then the logs include both ERROR\n events and extra informational events.

    \n

    Valid values: OFF | ERROR | INFO\n

    " + } + }, "DataTraceEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { @@ -610,18 +673,6 @@ "traits": { "smithy.api#documentation": "

    Indicates whether detailed metrics are enabled.

    " } - }, - "ThrottlingBurstLimit": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The throttling burst limit.

    " - } - }, - "LoggingLevel": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The logging level. The logging level affects the log entries that are pushed to\n CloudWatch Logs. Supported only for WebSocket APIs.

    \n

    If the logging level is ERROR, then the logs only include error-level\n entries.

    \n

    If the logging level is INFO, then the logs include both ERROR\n events and extra informational events.

    \n

    Valid values: OFF | ERROR | INFO\n

    " - } } }, "traits": { @@ -631,52 +682,46 @@ "com.amazonaws.securityhub#AwsApiGatewayV2StageDetails": { "type": "structure", "members": { - "LastUpdatedDate": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the stage was most recently updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } - }, "DeploymentId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The identifier of the deployment that the stage is associated with.

    " } }, - "ApiGatewayManaged": { - "target": "com.amazonaws.securityhub#Boolean", + "StageName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether the stage is managed by API Gateway.

    " + "smithy.api#documentation": "

    The name of the stage.

    " } }, - "RouteSettings": { - "target": "com.amazonaws.securityhub#AwsApiGatewayV2RouteSettings", + "StageVariables": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    The route settings for the stage.

    " + "smithy.api#documentation": "

    A map that defines the stage variables for the stage.

    \n

    Variable names can have alphanumeric and underscore characters.

    \n

    Variable values can contain the following characters:

    \n
      \n
    • \n

      Uppercase and lowercase letters

      \n
    • \n
    • \n

      Numbers

      \n
    • \n
    • \n

      Special characters -._~:/?#&=,

      \n
    • \n
    " } }, - "LastDeploymentStatusMessage": { + "LastUpdatedDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the last deployment of a stage. Supported only if the stage has automatic\n deployment enabled.

    " + "smithy.api#documentation": "

    Indicates when the stage was most recently updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "StageVariables": { - "target": "com.amazonaws.securityhub#FieldMap", + "ApiGatewayManaged": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    A map that defines the stage variables for the stage.

    \n

    Variable names can have alphanumeric and underscore characters.

    \n

    Variable values can contain the following characters:

    \n
      \n
    • \n

      Uppercase and lowercase letters

      \n
    • \n
    • \n

      Numbers

      \n
    • \n
    • \n

      Special characters -._~:/?#&=,

      \n
    • \n
    " + "smithy.api#documentation": "

    Indicates whether the stage is managed by API Gateway.

    " } }, - "StageName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AutoDeploy": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The name of the stage.

    " + "smithy.api#documentation": "

    Indicates whether updates to an API automatically trigger a new deployment.

    " } }, - "AccessLogSettings": { - "target": "com.amazonaws.securityhub#AwsApiGatewayAccessLogSettings", + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about settings for logging access for the stage.

    " + "smithy.api#documentation": "

    The description of the stage.

    " } }, "CreatedDate": { @@ -691,16 +736,22 @@ "smithy.api#documentation": "

    Default route settings for the stage.

    " } }, - "Description": { + "LastDeploymentStatusMessage": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The description of the stage.

    " + "smithy.api#documentation": "

    The status of the last deployment of a stage. Supported only if the stage has automatic\n deployment enabled.

    " } }, - "AutoDeploy": { - "target": "com.amazonaws.securityhub#Boolean", + "AccessLogSettings": { + "target": "com.amazonaws.securityhub#AwsApiGatewayAccessLogSettings", "traits": { - "smithy.api#documentation": "

    Indicates whether updates to an API automatically trigger a new deployment.

    " + "smithy.api#documentation": "

    Information about settings for logging access for the stage.

    " + } + }, + "RouteSettings": { + "target": "com.amazonaws.securityhub#AwsApiGatewayV2RouteSettings", + "traits": { + "smithy.api#documentation": "

    The route settings for the stage.

    " } } }, @@ -717,16 +768,16 @@ "smithy.api#documentation": "

    The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the\n health status of an EC2 instance that has come into service.

    " } }, - "LoadBalancerNames": { - "target": "com.amazonaws.securityhub#StringList", + "HealthCheckType": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of load balancers associated with the group.

    " + "smithy.api#documentation": "

    The service to use for the health checks.

    " } }, - "LaunchConfigurationName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "LoadBalancerNames": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The name of the launch configuration.

    " + "smithy.api#documentation": "

    The list of load balancers associated with the group.

    " } }, "CreatedTime": { @@ -735,10 +786,10 @@ "smithy.api#documentation": "

    Indicates when the auto scaling group was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "HealthCheckType": { + "LaunchConfigurationName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The service to use for the health checks.

    " + "smithy.api#documentation": "

    The name of the launch configuration.

    " } } }, @@ -749,58 +800,52 @@ "com.amazonaws.securityhub#AwsCertificateManagerCertificateDetails": { "type": "structure", "members": { - "KeyAlgorithm": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Options": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateOptions", "traits": { - "smithy.api#documentation": "

    The algorithm that was used to generate the public-private key pair.

    \n

    Valid values: RSA_2048 | RSA_1024 | RSA_4096 |\n EC_prime256v1 | EC_secp384r1 |\n EC_secp521r1\n

    " + "smithy.api#documentation": "

    Provides a value that specifies whether to add the certificate to a transparency\n log.

    " } }, - "CertificateAuthorityArn": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the private certificate authority (CA) that will be used to issue the\n certificate.

    " + "smithy.api#documentation": "

    The status of the certificate.

    \n

    Valid values: PENDING_VALIDATION | ISSUED |\n INACTIVE | EXPIRED | VALIDATION_TIMED_OUT |\n REVOKED | FAILED\n

    " } }, - "ImportedAt": { + "IssuedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the certificate was imported. Provided if the certificate type is\n IMPORTED.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    Indicates when the certificate was issued. Provided if the certificate type is\n AMAZON_ISSUED.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "Type": { + "CreatedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The source of the certificate. For certificates that AWS Certificate Manager provides,\n Type is AMAZON_ISSUED. For certificates that are imported with\n ImportCertificate, Type is IMPORTED.

    \n

    Valid values: IMPORTED | AMAZON_ISSUED |\n PRIVATE\n

    " + "smithy.api#documentation": "

    Indicates when the certificate was requested.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "RenewalSummary": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateRenewalSummary", + "ExtendedKeyUsages": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateExtendedKeyUsages", "traits": { - "smithy.api#documentation": "

    Information about the status of the AWS Certificate Manager managed renewal for the\n certificate. Provided only when the certificate type is AMAZON_ISSUED.

    " + "smithy.api#documentation": "

    Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies\n a purpose for which the certificate public key can be used and consists of a name and an\n object identifier (OID).

    " } }, - "FailureReason": { + "NotAfter": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    For a failed certificate request, the reason for the failure.

    \n

    Valid values: NO_AVAILABLE_CONTACTS |\n ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED |\n INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED |\n CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN\n | PCA_INVALID_STATE | PCA_REQUEST_FAILED |\n PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND |\n PCA_INVALID_ARGS | PCA_INVALID_DURATION |\n PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER\n

    " - } - }, - "KeyUsages": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateKeyUsages", - "traits": { - "smithy.api#documentation": "

    A list of key usage X.509 v3 extension objects.

    " + "smithy.api#documentation": "

    The time after which the certificate becomes invalid.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "SubjectAlternativeNames": { - "target": "com.amazonaws.securityhub#StringList", + "DomainName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    One or more domain names (subject alternative names) included in the certificate. This\n list contains the domain names that are bound to the public key that is contained in the\n certificate.

    \n

    The subject alternative names include the canonical domain name (CN) of the certificate\n and additional domain names that can be used to connect to the website.

    " + "smithy.api#documentation": "

    The fully qualified domain name (FQDN), such as www.example.com, that is secured by the\n certificate.

    " } }, - "DomainValidationOptions": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateDomainValidationOptions", + "Subject": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Contains information about the initial validation of each domain name that occurs as a\n result of the RequestCertificate request.

    \n

    Only provided if the certificate type is AMAZON_ISSUED.

    " + "smithy.api#documentation": "

    The name of the entity that is associated with the public key contained in the\n certificate.

    " } }, "InUseBy": { @@ -809,82 +854,88 @@ "smithy.api#documentation": "

    The list of ARNs for the AWS resources that use the certificate.

    " } }, - "Serial": { + "RenewalEligibility": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The serial number of the certificate.

    " + "smithy.api#documentation": "

    Whether the certificate is eligible for renewal.

    \n

    Valid values: ELIGIBLE | INELIGIBLE\n

    " } }, - "DomainName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "DomainValidationOptions": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateDomainValidationOptions", "traits": { - "smithy.api#documentation": "

    The fully qualified domain name (FQDN), such as www.example.com, that is secured by the\n certificate.

    " + "smithy.api#documentation": "

    Contains information about the initial validation of each domain name that occurs as a\n result of the RequestCertificate request.

    \n

    Only provided if the certificate type is AMAZON_ISSUED.

    " } }, - "IssuedAt": { + "Issuer": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the certificate was issued. Provided if the certificate type is\n AMAZON_ISSUED.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The name of the certificate authority that issued and signed the certificate.

    " } }, - "Options": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateOptions", + "SubjectAlternativeNames": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    Provides a value that specifies whether to add the certificate to a transparency\n log.

    " + "smithy.api#documentation": "

    One or more domain names (subject alternative names) included in the certificate. This\n list contains the domain names that are bound to the public key that is contained in the\n certificate.

    \n

    The subject alternative names include the canonical domain name (CN) of the certificate\n and additional domain names that can be used to connect to the website.

    " } }, - "CreatedAt": { + "SignatureAlgorithm": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the certificate was requested.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The algorithm that was used to sign the certificate.

    " } }, - "NotBefore": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "KeyUsages": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateKeyUsages", "traits": { - "smithy.api#documentation": "

    The time before which the certificate is not valid.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    A list of key usage X.509 v3 extension objects.

    " } }, - "Issuer": { + "ImportedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the certificate authority that issued and signed the certificate.

    " + "smithy.api#documentation": "

    Indicates when the certificate was imported. Provided if the certificate type is\n IMPORTED.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "Status": { + "CertificateAuthorityArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the certificate.

    \n

    Valid values: PENDING_VALIDATION | ISSUED |\n INACTIVE | EXPIRED | VALIDATION_TIMED_OUT |\n REVOKED | FAILED\n

    " + "smithy.api#documentation": "

    The ARN of the private certificate authority (CA) that will be used to issue the\n certificate.

    " } }, - "SignatureAlgorithm": { + "KeyAlgorithm": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The algorithm that was used to sign the certificate.

    " + "smithy.api#documentation": "

    The algorithm that was used to generate the public-private key pair.

    \n

    Valid values: RSA_2048 | RSA_1024 | RSA_4096 |\n EC_prime256v1 | EC_secp384r1 |\n EC_secp521r1\n

    " } }, - "Subject": { + "RenewalSummary": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateRenewalSummary", + "traits": { + "smithy.api#documentation": "

    Information about the status of the AWS Certificate Manager managed renewal for the\n certificate. Provided only when the certificate type is AMAZON_ISSUED.

    " + } + }, + "Serial": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the entity that is associated with the public key contained in the\n certificate.

    " + "smithy.api#documentation": "

    The serial number of the certificate.

    " } }, - "RenewalEligibility": { + "FailureReason": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether the certificate is eligible for renewal.

    \n

    Valid values: ELIGIBLE | INELIGIBLE\n

    " + "smithy.api#documentation": "

    For a failed certificate request, the reason for the failure.

    \n

    Valid values: NO_AVAILABLE_CONTACTS |\n ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED |\n INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED |\n CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN\n | PCA_INVALID_STATE | PCA_REQUEST_FAILED |\n PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND |\n PCA_INVALID_ARGS | PCA_INVALID_DURATION |\n PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER\n

    " } }, - "NotAfter": { + "NotBefore": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The time after which the certificate becomes invalid.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The time before which the certificate is not valid.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "ExtendedKeyUsages": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateExtendedKeyUsages", + "Type": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies\n a purpose for which the certificate public key can be used and consists of a name and an\n object identifier (OID).

    " + "smithy.api#documentation": "

    The source of the certificate. For certificates that AWS Certificate Manager provides,\n Type is AMAZON_ISSUED. For certificates that are imported with\n ImportCertificate, Type is IMPORTED.

    \n

    Valid values: IMPORTED | AMAZON_ISSUED |\n PRIVATE\n

    " } } }, @@ -901,16 +952,16 @@ "smithy.api#documentation": "

    The validation status of the domain name.

    " } }, - "ResourceRecord": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateResourceRecord", - "traits": { - "smithy.api#documentation": "

    The CNAME record that is added to the DNS database for domain validation.

    " + "DomainName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    A fully qualified domain name (FQDN) in the certificate.

    " } }, - "ValidationEmails": { - "target": "com.amazonaws.securityhub#StringList", + "ValidationMethod": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of email addresses that AWS Certificate Manager uses to send domain validation\n emails.

    " + "smithy.api#documentation": "

    The method used to validate the domain name.

    " } }, "ValidationDomain": { @@ -919,16 +970,16 @@ "smithy.api#documentation": "

    The domain name that AWS Certificate Manager uses to send domain validation\n emails.

    " } }, - "ValidationMethod": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ValidationEmails": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The method used to validate the domain name.

    " + "smithy.api#documentation": "

    A list of email addresses that AWS Certificate Manager uses to send domain validation\n emails.

    " } }, - "DomainName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ResourceRecord": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateResourceRecord", "traits": { - "smithy.api#documentation": "

    A fully qualified domain name (FQDN) in the certificate.

    " + "smithy.api#documentation": "

    The CNAME record that is added to the DNS database for domain validation.

    " } } }, @@ -1005,22 +1056,16 @@ "com.amazonaws.securityhub#AwsCertificateManagerCertificateRenewalSummary": { "type": "structure", "members": { - "RenewalStatus": { + "RenewalStatusReason": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the AWS Certificate Manager managed renewal of the certificate.

    \n

    Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION |\n SUCCESS | FAILED\n

    " - } - }, - "DomainValidationOptions": { - "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateDomainValidationOptions", - "traits": { - "smithy.api#documentation": "

    Information about the validation of each domain name in the certificate, as it pertains\n to AWS Certificate Manager managed renewal. Provided only when the certificate type is\n AMAZON_ISSUED.

    " + "smithy.api#documentation": "

    The reason that a renewal request was unsuccessful.

    \n

    Valid values: NO_AVAILABLE_CONTACTS |\n ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED |\n INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED |\n CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN\n | PCA_INVALID_STATE | PCA_REQUEST_FAILED |\n PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND |\n PCA_INVALID_ARGS | PCA_INVALID_DURATION |\n PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER\n

    " } }, - "RenewalStatusReason": { + "RenewalStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The reason that a renewal request was unsuccessful.

    \n

    Valid values: NO_AVAILABLE_CONTACTS |\n ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED |\n INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED |\n CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN\n | PCA_INVALID_STATE | PCA_REQUEST_FAILED |\n PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND |\n PCA_INVALID_ARGS | PCA_INVALID_DURATION |\n PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER\n

    " + "smithy.api#documentation": "

    The status of the AWS Certificate Manager managed renewal of the certificate.

    \n

    Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION |\n SUCCESS | FAILED\n

    " } }, "UpdatedAt": { @@ -1028,6 +1073,12 @@ "traits": { "smithy.api#documentation": "

    Indicates when the renewal summary was last updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } + }, + "DomainValidationOptions": { + "target": "com.amazonaws.securityhub#AwsCertificateManagerCertificateDomainValidationOptions", + "traits": { + "smithy.api#documentation": "

    Information about the validation of each domain name in the certificate, as it pertains\n to AWS Certificate Manager managed renewal. Provided only when the certificate type is\n AMAZON_ISSUED.

    " + } } }, "traits": { @@ -1111,46 +1162,40 @@ "com.amazonaws.securityhub#AwsCloudFrontDistributionDetails": { "type": "structure", "members": { - "WebAclId": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

    " - } - }, "ETag": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The entity tag is a hash of the object.

    " } }, - "LastModifiedTime": { + "DomainName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when that the distribution was last modified.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The domain name corresponding to the distribution.

    " } }, - "DefaultRootObject": { + "WebAclId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The object that CloudFront sends in response to requests from the origin (for example,\n index.html) when a viewer requests the root URL for the distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/product-description.html).

    " + "smithy.api#documentation": "

    A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

    " } }, - "CacheBehaviors": { - "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionCacheBehaviors", + "Origins": { + "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOrigins", "traits": { - "smithy.api#documentation": "

    Provides information about the cache configuration for the distribution.

    " + "smithy.api#documentation": "

    A complex type that contains information about origins for this distribution.

    " } }, - "Logging": { - "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionLogging", + "OriginGroups": { + "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginGroups", "traits": { - "smithy.api#documentation": "

    A complex type that controls whether access logs are written for the distribution.

    " + "smithy.api#documentation": "

    Provides information about the origin groups in the distribution.

    " } }, - "Status": { + "DefaultRootObject": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates the current status of the distribution.

    " + "smithy.api#documentation": "

    The object that CloudFront sends in response to requests from the origin (for example,\n index.html) when a viewer requests the root URL for the distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/product-description.html).

    " } }, "DefaultCacheBehavior": { @@ -1159,22 +1204,28 @@ "smithy.api#documentation": "

    The default cache behavior for the configuration.

    " } }, - "Origins": { - "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOrigins", + "Status": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A complex type that contains information about origins for this distribution.

    " + "smithy.api#documentation": "

    Indicates the current status of the distribution.

    " } }, - "OriginGroups": { - "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginGroups", + "CacheBehaviors": { + "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionCacheBehaviors", "traits": { - "smithy.api#documentation": "

    Provides information about the origin groups in the distribution.

    " + "smithy.api#documentation": "

    Provides information about the cache configuration for the distribution.

    " } }, - "DomainName": { + "LastModifiedTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The domain name corresponding to the distribution.

    " + "smithy.api#documentation": "

    Indicates when that the distribution was last modified.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + } + }, + "Logging": { + "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionLogging", + "traits": { + "smithy.api#documentation": "

    A complex type that controls whether access logs are written for the distribution.

    " } } }, @@ -1185,16 +1236,10 @@ "com.amazonaws.securityhub#AwsCloudFrontDistributionLogging": { "type": "structure", "members": { - "Prefix": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    An optional string that you want CloudFront to use as a prefix to the access log\n filenames for this distribution.

    " - } - }, - "Enabled": { + "IncludeCookies": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    With this field, you can enable or disable the selected distribution.

    " + "smithy.api#documentation": "

    Specifies whether you want CloudFront to include cookies in access logs.

    " } }, "Bucket": { @@ -1203,10 +1248,16 @@ "smithy.api#documentation": "

    The Amazon S3 bucket to store the access logs in.

    " } }, - "IncludeCookies": { + "Prefix": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    An optional string that you want CloudFront to use as a prefix to the access log\n filenames for this distribution.

    " + } + }, + "Enabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Specifies whether you want CloudFront to include cookies in access logs.

    " + "smithy.api#documentation": "

    With this field, you can enable or disable the selected distribution.

    " } } }, @@ -1245,17 +1296,17 @@ "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginGroupFailoverStatusCodes": { "type": "structure", "members": { - "Items": { - "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList", - "traits": { - "smithy.api#documentation": "

    The list of status code values that can cause a failover to the next origin.

    " - } - }, "Quantity": { "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    The number of status codes that can cause a failover.

    " } + }, + "Items": { + "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList", + "traits": { + "smithy.api#documentation": "

    The list of status code values that can cause a failover to the next origin.

    " + } } }, "traits": { @@ -1291,28 +1342,28 @@ "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginItem": { "type": "structure", "members": { - "S3OriginConfig": { - "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginS3OriginConfig", + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    An origin that is an S3 bucket that is not configured with static website\n hosting.

    " + "smithy.api#documentation": "

    A unique identifier for the origin or origin group.

    " } }, - "DomainName": { + "OriginPath": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

    " + "smithy.api#documentation": "

    An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

    " } }, - "Id": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "S3OriginConfig": { + "target": "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginS3OriginConfig", "traits": { - "smithy.api#documentation": "

    A unique identifier for the origin or origin group.

    " + "smithy.api#documentation": "

    An origin that is an S3 bucket that is not configured with static website\n hosting.

    " } }, - "OriginPath": { + "DomainName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

    " + "smithy.api#documentation": "

    Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

    " } } }, @@ -1357,28 +1408,22 @@ "com.amazonaws.securityhub#AwsCloudTrailTrailDetails": { "type": "structure", "members": { - "CloudWatchLogsRoleArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log\n group.

    " - } - }, - "SnsTopicArn": { + "SnsTopicName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the SNS topic that is used for notifications of log file delivery.

    " + "smithy.api#documentation": "

    The name of the SNS topic that is used for notifications of log file delivery.

    " } }, - "S3BucketName": { + "TrailArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the S3 bucket where the log files are published.

    " + "smithy.api#documentation": "

    The ARN of the trail.

    " } }, - "IncludeGlobalServiceEvents": { + "LogFileValidationEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether the trail publishes events from global services such as IAM to the log\n files.

    " + "smithy.api#documentation": "

    Indicates whether CloudTrail log file validation is enabled.

    " } }, "HomeRegion": { @@ -1387,52 +1432,52 @@ "smithy.api#documentation": "

    The Region where the trail was created.

    " } }, - "SnsTopicName": { + "SnsTopicArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the SNS topic that is used for notifications of log file delivery.

    " - } - }, - "IsOrganizationTrail": { - "target": "com.amazonaws.securityhub#Boolean", - "traits": { - "smithy.api#documentation": "

    Whether the trail is created for all accounts in an organization in AWS Organizations,\n or only for the current AWS account.

    " + "smithy.api#documentation": "

    The ARN of the SNS topic that is used for notifications of log file delivery.

    " } }, - "Name": { + "CloudWatchLogsLogGroupArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the trail.

    " + "smithy.api#documentation": "

    The ARN of the log group that CloudTrail logs are delivered to.

    " } }, - "HasCustomEventSelectors": { + "IncludeGlobalServiceEvents": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether the trail has custom event selectors.

    " + "smithy.api#documentation": "

    Indicates whether the trail publishes events from global services such as IAM to the log\n files.

    " } }, - "KmsKeyId": { + "S3KeyPrefix": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The AWS KMS key ID to use to encrypt the logs.

    " + "smithy.api#documentation": "

    The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log\n files are published.

    " } }, - "S3KeyPrefix": { + "S3BucketName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log\n files are published.

    " + "smithy.api#documentation": "

    The name of the S3 bucket where the log files are published.

    " } }, - "CloudWatchLogsLogGroupArn": { + "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the log group that CloudTrail logs are delivered to.

    " + "smithy.api#documentation": "

    The name of the trail.

    " } }, - "LogFileValidationEnabled": { + "IsOrganizationTrail": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether CloudTrail log file validation is enabled.

    " + "smithy.api#documentation": "

    Whether the trail is created for all accounts in an organization in AWS Organizations,\n or only for the current AWS account.

    " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The AWS KMS key ID to use to encrypt the logs.

    " } }, "IsMultiRegionTrail": { @@ -1441,10 +1486,16 @@ "smithy.api#documentation": "

    Indicates whether the trail applies only to the current Region or to all Regions.

    " } }, - "TrailArn": { + "HasCustomEventSelectors": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Indicates whether the trail has custom event selectors.

    " + } + }, + "CloudWatchLogsRoleArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the trail.

    " + "smithy.api#documentation": "

    The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log\n group.

    " } } }, @@ -1455,24 +1506,12 @@ "com.amazonaws.securityhub#AwsCodeBuildProjectDetails": { "type": "structure", "members": { - "VpcConfig": { - "target": "com.amazonaws.securityhub#AwsCodeBuildProjectVpcConfig", - "traits": { - "smithy.api#documentation": "

    Information about the VPC configuration that AWS CodeBuild accesses.

    " - } - }, "Environment": { "target": "com.amazonaws.securityhub#AwsCodeBuildProjectEnvironment", "traits": { "smithy.api#documentation": "

    Information about the build environment for this build project.

    " } }, - "ServiceRole": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS\n services on behalf of the AWS account.

    " - } - }, "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -1490,6 +1529,18 @@ "traits": { "smithy.api#documentation": "

    The AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the\n build output artifacts.

    \n

    You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the\n CMK alias (using the format alias/alias-name).

    " } + }, + "ServiceRole": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS\n services on behalf of the AWS account.

    " + } + }, + "VpcConfig": { + "target": "com.amazonaws.securityhub#AwsCodeBuildProjectVpcConfig", + "traits": { + "smithy.api#documentation": "

    Information about the VPC configuration that AWS CodeBuild accesses.

    " + } } }, "traits": { @@ -1505,10 +1556,10 @@ "smithy.api#documentation": "

    The credentials for access to a private registry.

    " } }, - "ImagePullCredentialsType": { + "Certificate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of credentials AWS CodeBuild uses to pull images in your build.

    \n

    Valid values:

    \n
      \n
    • \n

      \n CODEBUILD specifies that AWS CodeBuild uses its own credentials. This\n requires that you modify your ECR repository policy to trust the AWS CodeBuild\n service principal.

      \n
    • \n
    • \n

      \n SERVICE_ROLE specifies that AWS CodeBuild uses your build project's\n service role.

      \n
    • \n
    \n

    When you use a cross-account or private registry image, you must use\n SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you\n must use CODEBUILD credentials.

    " + "smithy.api#documentation": "

    The certificate to use with this build project.

    " } }, "Type": { @@ -1517,10 +1568,10 @@ "smithy.api#documentation": "

    The type of build environment to use for related builds.

    \n

    The environment type ARM_CONTAINER is available only in Regions US East (N.\n Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia\n Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).

    \n

    The environment type LINUX_CONTAINER with compute type\n build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N.\n Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe\n (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia\n Pacific (Sydney), China (Beijing), and China (Ningxia).

    \n

    The environment type LINUX_GPU_CONTAINER is available only in Regions US\n East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe\n (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul),\n Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China\n (Ningxia).

    \n

    Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER |\n LINUX_GPU_CONTAINER | ARM_CONTAINER\n

    " } }, - "Certificate": { + "ImagePullCredentialsType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The certificate to use with this build project.

    " + "smithy.api#documentation": "

    The type of credentials AWS CodeBuild uses to pull images in your build.

    \n

    Valid values:

    \n
      \n
    • \n

      \n CODEBUILD specifies that AWS CodeBuild uses its own credentials. This\n requires that you modify your ECR repository policy to trust the AWS CodeBuild\n service principal.

      \n
    • \n
    • \n

      \n SERVICE_ROLE specifies that AWS CodeBuild uses your build project's\n service role.

      \n
    • \n
    \n

    When you use a cross-account or private registry image, you must use\n SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you\n must use CODEBUILD credentials.

    " } } }, @@ -1531,16 +1582,16 @@ "com.amazonaws.securityhub#AwsCodeBuildProjectEnvironmentRegistryCredential": { "type": "structure", "members": { - "CredentialProvider": { + "Credential": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The service that created the credentials to access a private Docker registry.

    \n

    The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets\n Manager.

    \n \n

    The credential can use the name of the credentials only if they exist in your current\n AWS Region.

    \n
    " } }, - "Credential": { + "CredentialProvider": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets\n Manager.

    \n \n

    The credential can use the name of the credentials only if they exist in your current\n AWS Region.

    \n
    " + "smithy.api#documentation": "

    The service that created the credentials to access a private Docker registry.

    \n

    The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

    " } } }, @@ -1557,10 +1608,10 @@ "smithy.api#documentation": "

    Information about the Git clone depth for the build project.

    " } }, - "Type": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "InsecureSsl": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The type of repository that contains the source code to be built. Valid values\n are:

    \n
      \n
    • \n

      \n BITBUCKET - The source code is in a Bitbucket repository.

      \n
    • \n
    • \n

      \n CODECOMMIT - The source code is in an AWS CodeCommit\n repository.

      \n
    • \n
    • \n

      \n CODEPIPELINE - The source code settings are specified in the source\n action of a pipeline in AWS CodePipeline.

      \n
    • \n
    • \n

      \n GITHUB - The source code is in a GitHub repository.

      \n
    • \n
    • \n

      \n GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise\n repository.

      \n
    • \n
    • \n

      \n NO_SOURCE - The project does not have input source code.

      \n
    • \n
    • \n

      \n S3 - The source code is in an S3 input bucket.

      \n
    • \n
    " + "smithy.api#documentation": "

    Whether to ignore SSL warnings while connecting to the project source code.

    " } }, "Location": { @@ -1569,10 +1620,10 @@ "smithy.api#documentation": "

    Information about the location of the source code to be built.

    \n

    Valid values include:

    \n
      \n
    • \n

      For source code settings that are specified in the source action of a pipeline in\n AWS CodePipeline, location should not be specified. If it is specified, AWS\n CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a\n pipeline's source action instead of this value.

      \n
    • \n
    • \n

      For source code in an AWS CodeCommit repository, the HTTPS clone URL to the\n repository that contains the source code and the build spec file (for example,\n https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name\n ).

      \n
    • \n
    • \n

      For source code in an S3 input bucket, one of the following.

      \n
        \n
      • \n

        The path to the ZIP file that contains the source code (for example,\n bucket-name/path/to/object-name.zip).

        \n
      • \n
      • \n

        The path to the folder that contains the source code (for example,\n bucket-name/path/to/source-code/folder/).

        \n
      • \n
      \n
    • \n
    • \n

      For source code in a GitHub repository, the HTTPS clone URL to the repository that\n contains the source and the build spec file.

      \n
    • \n
    • \n

      For source code in a Bitbucket repository, the HTTPS clone URL to the repository\n that contains the source and the build spec file.

      \n
    • \n
    " } }, - "InsecureSsl": { - "target": "com.amazonaws.securityhub#Boolean", + "Type": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether to ignore SSL warnings while connecting to the project source code.

    " + "smithy.api#documentation": "

    The type of repository that contains the source code to be built. Valid values\n are:

    \n
      \n
    • \n

      \n BITBUCKET - The source code is in a Bitbucket repository.

      \n
    • \n
    • \n

      \n CODECOMMIT - The source code is in an AWS CodeCommit\n repository.

      \n
    • \n
    • \n

      \n CODEPIPELINE - The source code settings are specified in the source\n action of a pipeline in AWS CodePipeline.

      \n
    • \n
    • \n

      \n GITHUB - The source code is in a GitHub repository.

      \n
    • \n
    • \n

      \n GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise\n repository.

      \n
    • \n
    • \n

      \n NO_SOURCE - The project does not have input source code.

      \n
    • \n
    • \n

      \n S3 - The source code is in an S3 input bucket.

      \n
    • \n
    " } } }, @@ -1583,6 +1634,12 @@ "com.amazonaws.securityhub#AwsCodeBuildProjectVpcConfig": { "type": "structure", "members": { + "VpcId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The ID of the VPC.

    " + } + }, "SecurityGroupIds": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { @@ -1594,12 +1651,6 @@ "traits": { "smithy.api#documentation": "

    A list of one or more subnet IDs in your Amazon VPC.

    " } - }, - "VpcId": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ID of the VPC.

    " - } } }, "traits": { @@ -1615,16 +1666,16 @@ "smithy.api#documentation": "

    The number of seconds for which the browser caches preflight request results.

    " } }, - "AllowMethods": { + "AllowHeaders": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    The allowed methods for CORS requests.

    " + "smithy.api#documentation": "

    The allowed headers for CORS requests.

    " } }, - "ExposeHeaders": { + "AllowOrigins": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    The exposed headers for CORS requests.

    " + "smithy.api#documentation": "

    The allowed origins for CORS requests.

    " } }, "AllowCredentials": { @@ -1633,16 +1684,16 @@ "smithy.api#documentation": "

    Indicates whether the CORS request includes credentials.

    " } }, - "AllowHeaders": { + "AllowMethods": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    The allowed headers for CORS requests.

    " + "smithy.api#documentation": "

    The allowed methods for CORS requests.

    " } }, - "AllowOrigins": { + "ExposeHeaders": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    The allowed origins for CORS requests.

    " + "smithy.api#documentation": "

    The exposed headers for CORS requests.

    " } } }, @@ -1699,118 +1750,118 @@ "com.amazonaws.securityhub#AwsDynamoDbTableDetails": { "type": "structure", "members": { - "SseDescription": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableSseDescription", + "ProvisionedThroughput": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughput", "traits": { - "smithy.api#documentation": "

    Information about the server-side encryption for the table.

    " + "smithy.api#documentation": "

    Information about the provisioned throughput for the table.

    " } }, - "ItemCount": { - "target": "com.amazonaws.securityhub#Integer", + "RestoreSummary": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableRestoreSummary", "traits": { - "smithy.api#documentation": "

    The number of items in the table.

    " + "smithy.api#documentation": "

    Information about the restore for the table.

    " } }, - "StreamSpecification": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableStreamSpecification", + "TableStatus": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The current DynamoDB Streams configuration for the table.

    " + "smithy.api#documentation": "

    The current status of the table.

    " } }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableGlobalSecondaryIndexList", + "KeySchema": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableKeySchemaList", "traits": { - "smithy.api#documentation": "

    List of global secondary indexes for the table.

    " + "smithy.api#documentation": "

    The primary key structure for the table.

    " } }, - "TableSizeBytes": { - "target": "com.amazonaws.securityhub#SizeBytes", + "AttributeDefinitions": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableAttributeDefinitionList", "traits": { - "smithy.api#documentation": "

    The total size of the table in bytes.

    " + "smithy.api#documentation": "

    A list of attribute definitions for the table.

    " } }, - "TableName": { + "LatestStreamArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the table.

    " + "smithy.api#documentation": "

    The ARN of the latest stream for the table.

    " } }, - "AttributeDefinitions": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableAttributeDefinitionList", + "GlobalTableVersion": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of attribute definitions for the table.

    " + "smithy.api#documentation": "

    The version of global tables being used.

    " } }, - "KeySchema": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableKeySchemaList", + "TableId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The primary key structure for the table.

    " + "smithy.api#documentation": "

    The identifier of the table.

    " } }, - "LatestStreamLabel": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "SseDescription": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableSseDescription", "traits": { - "smithy.api#documentation": "

    The label of the latest stream. The label is not a unique identifier.

    " + "smithy.api#documentation": "

    Information about the server-side encryption for the table.

    " } }, - "BillingModeSummary": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableBillingModeSummary", + "Replicas": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableReplicaList", "traits": { - "smithy.api#documentation": "

    Information about the billing for read/write capacity on the table.

    " + "smithy.api#documentation": "

    The list of replicas of this table.

    " } }, - "LatestStreamArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "TableSizeBytes": { + "target": "com.amazonaws.securityhub#SizeBytes", "traits": { - "smithy.api#documentation": "

    The ARN of the latest stream for the table.

    " + "smithy.api#documentation": "

    The total size of the table in bytes.

    " } }, - "LocalSecondaryIndexes": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableLocalSecondaryIndexList", + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableGlobalSecondaryIndexList", "traits": { - "smithy.api#documentation": "

    The list of local secondary indexes for the table.

    " + "smithy.api#documentation": "

    List of global secondary indexes for the table.

    " } }, - "ProvisionedThroughput": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughput", + "ItemCount": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Information about the provisioned throughput for the table.

    " + "smithy.api#documentation": "

    The number of items in the table.

    " } }, - "TableStatus": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "BillingModeSummary": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableBillingModeSummary", "traits": { - "smithy.api#documentation": "

    The current status of the table.

    " + "smithy.api#documentation": "

    Information about the billing for read/write capacity on the table.

    " } }, - "CreationDateTime": { + "LatestStreamLabel": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the table was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The label of the latest stream. The label is not a unique identifier.

    " } }, - "TableId": { + "TableName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the table.

    " + "smithy.api#documentation": "

    The name of the table.

    " } }, - "Replicas": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableReplicaList", + "CreationDateTime": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of replicas of this table.

    " + "smithy.api#documentation": "

    Indicates when the table was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "RestoreSummary": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableRestoreSummary", + "StreamSpecification": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableStreamSpecification", "traits": { - "smithy.api#documentation": "

    Information about the restore for the table.

    " + "smithy.api#documentation": "

    The current DynamoDB Streams configuration for the table.

    " } }, - "GlobalTableVersion": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "LocalSecondaryIndexes": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableLocalSecondaryIndexList", "traits": { - "smithy.api#documentation": "

    The version of global tables being used.

    " + "smithy.api#documentation": "

    The list of local secondary indexes for the table.

    " } } }, @@ -1833,22 +1884,10 @@ "smithy.api#documentation": "

    The number of items in the index.

    " } }, - "ProvisionedThroughput": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughput", - "traits": { - "smithy.api#documentation": "

    Information about the provisioned throughput settings for the indexes.

    " - } - }, - "IndexSizeBytes": { - "target": "com.amazonaws.securityhub#SizeBytes", - "traits": { - "smithy.api#documentation": "

    The total size in bytes of the index.

    " - } - }, - "Projection": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableProjection", + "IndexStatus": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Attributes that are copied from the table into an index.

    " + "smithy.api#documentation": "

    The current status of the index.

    " } }, "Backfilling": { @@ -1857,22 +1896,34 @@ "smithy.api#documentation": "

    Whether the index is currently backfilling.

    " } }, + "IndexName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The name of the index.

    " + } + }, "IndexArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The ARN of the index.

    " } }, - "IndexName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ProvisionedThroughput": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughput", "traits": { - "smithy.api#documentation": "

    The name of the index.

    " + "smithy.api#documentation": "

    Information about the provisioned throughput settings for the indexes.

    " } }, - "IndexStatus": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IndexSizeBytes": { + "target": "com.amazonaws.securityhub#SizeBytes", "traits": { - "smithy.api#documentation": "

    The current status of the index.

    " + "smithy.api#documentation": "

    The total size in bytes of the index.

    " + } + }, + "Projection": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableProjection", + "traits": { + "smithy.api#documentation": "

    Attributes that are copied from the table into an index.

    " } } }, @@ -1915,28 +1966,28 @@ "com.amazonaws.securityhub#AwsDynamoDbTableLocalSecondaryIndex": { "type": "structure", "members": { + "KeySchema": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableKeySchemaList", + "traits": { + "smithy.api#documentation": "

    The complete key schema for the index.

    " + } + }, "Projection": { "target": "com.amazonaws.securityhub#AwsDynamoDbTableProjection", "traits": { "smithy.api#documentation": "

    Attributes that are copied from the table into the index. These are in addition to the\n primary key attributes and index key attributes, which are automatically projected.

    " } }, - "IndexArn": { + "IndexName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the index.

    " - } - }, - "KeySchema": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableKeySchemaList", - "traits": { - "smithy.api#documentation": "

    The complete key schema for the index.

    " + "smithy.api#documentation": "

    The name of the index.

    " } }, - "IndexName": { + "IndexArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the index.

    " + "smithy.api#documentation": "

    The ARN of the index.

    " } } }, @@ -1953,17 +2004,17 @@ "com.amazonaws.securityhub#AwsDynamoDbTableProjection": { "type": "structure", "members": { - "ProjectionType": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The types of attributes that are projected into the index.

    " - } - }, "NonKeyAttributes": { "target": "com.amazonaws.securityhub#StringList", "traits": { "smithy.api#documentation": "

    The nonkey attributes that are projected into the index. For each attribute, provide the\n attribute name.

    " } + }, + "ProjectionType": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The types of attributes that are projected into the index.

    " + } } }, "traits": { @@ -1979,6 +2030,12 @@ "smithy.api#documentation": "

    The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.

    " } }, + "LastIncreaseDateTime": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    Indicates when the provisioned throughput was last increased.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + } + }, "LastDecreaseDateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -1996,12 +2053,6 @@ "traits": { "smithy.api#documentation": "

    The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException.

    " } - }, - "LastIncreaseDateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the provisioned throughput was last increased.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } } }, "traits": { @@ -2025,10 +2076,10 @@ "com.amazonaws.securityhub#AwsDynamoDbTableReplica": { "type": "structure", "members": { - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableReplicaGlobalSecondaryIndexList", + "RegionName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    List of global secondary indexes for the replica.

    " + "smithy.api#documentation": "

    The name of the Region where the replica is located.

    " } }, "KmsMasterKeyId": { @@ -2037,16 +2088,16 @@ "smithy.api#documentation": "

    The identifier of the AWS KMS customer master key (CMK) that will be used for AWS KMS\n encryption for the replica.

    " } }, - "RegionName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableReplicaGlobalSecondaryIndexList", "traits": { - "smithy.api#documentation": "

    The name of the Region where the replica is located.

    " + "smithy.api#documentation": "

    List of global secondary indexes for the replica.

    " } }, - "ProvisionedThroughputOverride": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughputOverride", + "ReplicaStatusDescription": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Replica-specific configuration for the provisioned throughput.

    " + "smithy.api#documentation": "

    Detailed information about the replica status.

    " } }, "ReplicaStatus": { @@ -2055,10 +2106,10 @@ "smithy.api#documentation": "

    The current status of the replica.

    " } }, - "ReplicaStatusDescription": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ProvisionedThroughputOverride": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughputOverride", "traits": { - "smithy.api#documentation": "

    Detailed information about the replica status.

    " + "smithy.api#documentation": "

    Replica-specific configuration for the provisioned throughput.

    " } } }, @@ -2069,17 +2120,17 @@ "com.amazonaws.securityhub#AwsDynamoDbTableReplicaGlobalSecondaryIndex": { "type": "structure", "members": { - "IndexName": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The name of the index.

    " - } - }, "ProvisionedThroughputOverride": { "target": "com.amazonaws.securityhub#AwsDynamoDbTableProvisionedThroughputOverride", "traits": { "smithy.api#documentation": "

    Replica-specific configuration for the provisioned throughput for the index.

    " } + }, + "IndexName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The name of the index.

    " + } } }, "traits": { @@ -2113,17 +2164,17 @@ "smithy.api#documentation": "

    The ARN of the source backup from which the table was restored.

    " } }, - "SourceTableArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of the source table for the backup.

    " - } - }, "RestoreInProgress": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Whether a restore is currently in progress.

    " } + }, + "SourceTableArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The ARN of the source table for the backup.

    " + } } }, "traits": { @@ -2139,10 +2190,10 @@ "smithy.api#documentation": "

    The ARN of the AWS KMS customer master key (CMK) that is used for the AWS KMS\n encryption.

    " } }, - "SseType": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of server-side encryption.

    " + "smithy.api#documentation": "

    The status of the server-side encryption.

    " } }, "InaccessibleEncryptionDateTime": { @@ -2151,10 +2202,10 @@ "smithy.api#documentation": "

    If the key is inaccessible, the date and time when DynamoDB detected that the key was\n inaccessible.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "Status": { + "SseType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the server-side encryption.

    " + "smithy.api#documentation": "

    The type of server-side encryption.

    " } } }, @@ -2185,40 +2236,40 @@ "com.amazonaws.securityhub#AwsEc2EipDetails": { "type": "structure", "members": { - "PublicIp": { + "InstanceId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A public IP address that is associated with the EC2 instance.

    " + "smithy.api#documentation": "

    The identifier of the EC2 instance.

    " } }, - "NetworkInterfaceId": { + "PublicIp": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the network interface.

    " + "smithy.api#documentation": "

    A public IP address that is associated with the EC2 instance.

    " } }, - "Domain": { + "NetworkInterfaceOwnerId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The domain in which to allocate the address.

    \n

    If the address is for use with EC2 instances in a VPC, then Domain is\n vpc. Otherwise, Domain is standard.

    " + "smithy.api#documentation": "

    The AWS account ID of the owner of the network interface.

    " } }, - "AllocationId": { + "NetworkBorderGroup": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier that AWS assigns to represent the allocation of the Elastic IP address\n for use with Amazon VPC.

    " + "smithy.api#documentation": "

    The name of the location from which the Elastic IP address is advertised.

    " } }, - "InstanceId": { + "Domain": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the EC2 instance.

    " + "smithy.api#documentation": "

    The domain in which to allocate the address.

    \n

    If the address is for use with EC2 instances in a VPC, then Domain is\n vpc. Otherwise, Domain is standard.

    " } }, - "NetworkBorderGroup": { + "NetworkInterfaceId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the location from which the Elastic IP address is advertised.

    " + "smithy.api#documentation": "

    The identifier of the network interface.

    " } }, "AssociationId": { @@ -2227,22 +2278,22 @@ "smithy.api#documentation": "

    The identifier that represents the association of the Elastic IP address with an EC2\n instance.

    " } }, - "PublicIpv4Pool": { + "PrivateIpAddress": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP\n address from the address pool.

    " + "smithy.api#documentation": "

    The private IP address that is associated with the Elastic IP address.

    " } }, - "NetworkInterfaceOwnerId": { + "AllocationId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the owner of the network interface.

    " + "smithy.api#documentation": "

    The identifier that AWS assigns to represent the allocation of the Elastic IP address\n for use with Amazon VPC.

    " } }, - "PrivateIpAddress": { + "PublicIpv4Pool": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The private IP address that is associated with the Elastic IP address.

    " + "smithy.api#documentation": "

    The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP\n address from the address pool.

    " } } }, @@ -2253,10 +2304,10 @@ "com.amazonaws.securityhub#AwsEc2InstanceDetails": { "type": "structure", "members": { - "IpV4Addresses": { - "target": "com.amazonaws.securityhub#StringList", + "SubnetId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The IPv4 addresses associated with the instance.

    " + "smithy.api#documentation": "

    The identifier of the subnet that the instance was launched in.

    " } }, "VpcId": { @@ -2265,46 +2316,46 @@ "smithy.api#documentation": "

    The identifier of the VPC that the instance was launched in.

    " } }, - "ImageId": { + "Type": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The Amazon Machine Image (AMI) ID of the instance.

    " + "smithy.api#documentation": "

    The instance type of the instance.

    " } }, - "SubnetId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IpV4Addresses": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The identifier of the subnet that the instance was launched in.

    " + "smithy.api#documentation": "

    The IPv4 addresses associated with the instance.

    " } }, - "LaunchedAt": { + "ImageId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the instance was launched.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The Amazon Machine Image (AMI) ID of the instance.

    " } }, - "Type": { + "KeyName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The instance type of the instance.

    " + "smithy.api#documentation": "

    The key name associated with the instance.

    " } }, - "IamInstanceProfileArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IpV6Addresses": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The IAM profile ARN of the instance.

    " + "smithy.api#documentation": "

    The IPv6 addresses associated with the instance.

    " } }, - "KeyName": { + "IamInstanceProfileArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The key name associated with the instance.

    " + "smithy.api#documentation": "

    The IAM profile ARN of the instance.

    " } }, - "IpV6Addresses": { - "target": "com.amazonaws.securityhub#StringList", + "LaunchedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The IPv6 addresses associated with the instance.

    " + "smithy.api#documentation": "

    Indicates when the instance was launched.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -2315,22 +2366,28 @@ "com.amazonaws.securityhub#AwsEc2NetworkInterfaceAttachment": { "type": "structure", "members": { + "AttachmentId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The identifier of the network interface attachment

    " + } + }, "InstanceId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The ID of the instance.

    " } }, - "AttachmentId": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the network interface attachment

    " + "smithy.api#documentation": "

    The attachment state.

    \n

    Valid values: attaching | attached | detaching |\n detached\n

    " } }, - "DeleteOnTermination": { - "target": "com.amazonaws.securityhub#Boolean", + "InstanceOwnerId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether the network interface is deleted when the instance is\n terminated.

    " + "smithy.api#documentation": "

    The AWS account ID of the owner of the instance.

    " } }, "AttachTime": { @@ -2339,22 +2396,16 @@ "smithy.api#documentation": "

    Indicates when the attachment initiated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "DeviceIndex": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The device index of the network interface attachment on the instance.

    " - } - }, - "Status": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "DeleteOnTermination": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The attachment state.

    \n

    Valid values: attaching | attached | detaching |\n detached\n

    " + "smithy.api#documentation": "

    Indicates whether the network interface is deleted when the instance is\n terminated.

    " } }, - "InstanceOwnerId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "DeviceIndex": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the owner of the instance.

    " + "smithy.api#documentation": "

    The device index of the network interface attachment on the instance.

    " } } }, @@ -2365,10 +2416,10 @@ "com.amazonaws.securityhub#AwsEc2NetworkInterfaceDetails": { "type": "structure", "members": { - "Attachment": { - "target": "com.amazonaws.securityhub#AwsEc2NetworkInterfaceAttachment", + "NetworkInterfaceId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The network interface attachment.

    " + "smithy.api#documentation": "

    The ID of the network interface.

    " } }, "SecurityGroups": { @@ -2383,10 +2434,10 @@ "smithy.api#documentation": "

    Indicates whether traffic to or from the instance is validated.

    " } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Attachment": { + "target": "com.amazonaws.securityhub#AwsEc2NetworkInterfaceAttachment", "traits": { - "smithy.api#documentation": "

    The ID of the network interface.

    " + "smithy.api#documentation": "

    The network interface attachment.

    " } } }, @@ -2423,40 +2474,40 @@ "com.amazonaws.securityhub#AwsEc2SecurityGroupDetails": { "type": "structure", "members": { - "VpcId": { + "GroupId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    [VPC only] The ID of the VPC for the security group.

    " + "smithy.api#documentation": "

    The ID of the security group.

    " } }, - "GroupName": { + "OwnerId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the security group.

    " + "smithy.api#documentation": "

    The AWS account ID of the owner of the security group.

    " } }, - "IpPermissionsEgress": { + "IpPermissions": { "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpPermissionList", "traits": { - "smithy.api#documentation": "

    [VPC only] The outbound rules associated with the security group.

    " + "smithy.api#documentation": "

    The inbound rules associated with the security group.

    " } }, - "OwnerId": { + "GroupName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the owner of the security group.

    " + "smithy.api#documentation": "

    The name of the security group.

    " } }, - "GroupId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IpPermissionsEgress": { + "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpPermissionList", "traits": { - "smithy.api#documentation": "

    The ID of the security group.

    " + "smithy.api#documentation": "

    [VPC only] The outbound rules associated with the security group.

    " } }, - "IpPermissions": { - "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpPermissionList", + "VpcId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The inbound rules associated with the security group.

    " + "smithy.api#documentation": "

    [VPC only] The ID of the VPC for the security group.

    " } } }, @@ -2473,16 +2524,16 @@ "smithy.api#documentation": "

    The IP protocol name (tcp, udp, icmp,\n icmpv6) or number.

    \n

    [VPC only] Use -1 to specify all protocols.

    \n

    When authorizing security group rules, specifying -1 or a protocol number other than\n tcp, udp, icmp, or icmpv6 allows\n traffic on all ports, regardless of any port range you specify.

    \n

    For tcp, udp, and icmp, you must specify a port\n range.

    \n

    For icmpv6, the port range is optional. If you omit the port range, traffic\n for all types and codes is allowed.

    " } }, - "FromPort": { - "target": "com.amazonaws.securityhub#Integer", + "PrefixListIds": { + "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupPrefixListIdList", "traits": { - "smithy.api#documentation": "

    The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type\n number.

    \n

    A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you\n must specify all codes.

    " + "smithy.api#documentation": "

    [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS\n service to access through a VPC endpoint from instances associated with the security\n group.

    " } }, - "IpRanges": { - "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpRangeList", + "Ipv6Ranges": { + "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpv6RangeList", "traits": { - "smithy.api#documentation": "

    The IPv4 ranges.

    " + "smithy.api#documentation": "

    The IPv6 ranges.

    " } }, "UserIdGroupPairs": { @@ -2491,22 +2542,22 @@ "smithy.api#documentation": "

    The security group and AWS account ID pairs.

    " } }, - "ToPort": { + "FromPort": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

    \n

    A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you\n must specify all codes.

    " + "smithy.api#documentation": "

    The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type\n number.

    \n

    A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you\n must specify all codes.

    " } }, - "PrefixListIds": { - "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupPrefixListIdList", + "IpRanges": { + "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpRangeList", "traits": { - "smithy.api#documentation": "

    [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS\n service to access through a VPC endpoint from instances associated with the security\n group.

    " + "smithy.api#documentation": "

    The IPv4 ranges.

    " } }, - "Ipv6Ranges": { - "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupIpv6RangeList", + "ToPort": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The IPv6 ranges.

    " + "smithy.api#documentation": "

    The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

    \n

    A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you\n must specify all codes.

    " } } }, @@ -2589,34 +2640,34 @@ "smithy.api#documentation": "

    The name of the security group.

    " } }, - "UserId": { + "GroupId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of an AWS account.

    \n

    For a referenced security group in another VPC, the account ID of the referenced\n security group is returned in the response. If the referenced security group is deleted,\n this value is not returned.

    \n

    [EC2-Classic] Required when adding or removing rules that reference a security group in\n another AWS.

    " + "smithy.api#documentation": "

    The ID of the security group.

    " } }, - "VpcPeeringConnectionId": { + "PeeringStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the VPC peering connection, if applicable.

    " + "smithy.api#documentation": "

    The status of a VPC peering connection, if applicable.

    " } }, - "GroupId": { + "VpcId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the security group.

    " + "smithy.api#documentation": "

    The ID of the VPC for the referenced security group, if applicable.

    " } }, - "VpcId": { + "VpcPeeringConnectionId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the VPC for the referenced security group, if applicable.

    " + "smithy.api#documentation": "

    The ID of the VPC peering connection, if applicable.

    " } }, - "PeeringStatus": { + "UserId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of a VPC peering connection, if applicable.

    " + "smithy.api#documentation": "

    The ID of an AWS account.

    \n

    For a referenced security group in another VPC, the account ID of the referenced\n security group is returned in the response. If the referenced security group is deleted,\n this value is not returned.

    \n

    [EC2-Classic] Required when adding or removing rules that reference a security group in\n another AWS.

    " } } }, @@ -2639,6 +2690,12 @@ "smithy.api#documentation": "

    The identifier of the EC2 instance.

    " } }, + "Status": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The attachment state of the volume.

    " + } + }, "DeleteOnTermination": { "target": "com.amazonaws.securityhub#Boolean", "traits": { @@ -2650,12 +2707,6 @@ "traits": { "smithy.api#documentation": "

    The datetime when the attachment initiated.

    " } - }, - "Status": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The attachment state of the volume.

    " - } } }, "traits": { @@ -2677,22 +2728,28 @@ "smithy.api#documentation": "

    The volume attachments.

    " } }, + "SnapshotId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The snapshot from which the volume was created.

    " + } + }, "Encrypted": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Whether the volume is encrypted.

    " } }, - "SnapshotId": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The snapshot from which the volume was created.

    " + "smithy.api#documentation": "

    The volume state.

    " } }, - "KmsKeyId": { + "CreateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was\n used to protect the volume encryption key for the volume.

    " + "smithy.api#documentation": "

    Indicates when the volume was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, "Size": { @@ -2701,16 +2758,10 @@ "smithy.api#documentation": "

    The size of the volume, in GiBs.

    " } }, - "CreateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the volume was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } - }, - "Status": { + "KmsKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The volume state.

    " + "smithy.api#documentation": "

    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was\n used to protect the volume encryption key for the volume.

    " } } }, @@ -2727,6 +2778,12 @@ "smithy.api#documentation": "

    The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options that are\n associated with the VPC. If the default options are associated with the VPC, then this is\n default.

    " } }, + "Ipv6CidrBlockAssociationSet": { + "target": "com.amazonaws.securityhub#Ipv6CidrBlockAssociationList", + "traits": { + "smithy.api#documentation": "

    Information about the IPv6 CIDR blocks associated with the VPC.

    " + } + }, "State": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -2738,12 +2795,6 @@ "traits": { "smithy.api#documentation": "

    Information about the IPv4 CIDR blocks associated with the VPC.

    " } - }, - "Ipv6CidrBlockAssociationSet": { - "target": "com.amazonaws.securityhub#Ipv6CidrBlockAssociationList", - "traits": { - "smithy.api#documentation": "

    Information about the IPv6 CIDR blocks associated with the VPC.

    " - } } }, "traits": { @@ -2759,28 +2810,28 @@ "smithy.api#documentation": "

    Unique identifier for an Amazon ES domain.

    " } }, - "Endpoint": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Endpoints": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    Domain-specific endpoint used to submit index, search, and data upload requests to an\n Amazon ES domain.

    \n

    The endpoint is a service URL.

    " + "smithy.api#documentation": "

    The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

    " } }, - "VPCOptions": { - "target": "com.amazonaws.securityhub#AwsElasticsearchDomainVPCOptions", + "Endpoint": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information that Amazon ES derives based on VPCOptions for the\n domain.

    " + "smithy.api#documentation": "

    Domain-specific endpoint used to submit index, search, and data upload requests to an\n Amazon ES domain.

    \n

    The endpoint is a service URL.

    " } }, - "NodeToNodeEncryptionOptions": { - "target": "com.amazonaws.securityhub#AwsElasticsearchDomainNodeToNodeEncryptionOptions", + "DomainName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Details about the configuration for node-to-node encryption.

    " + "smithy.api#documentation": "

    Name of an Amazon ES domain.

    \n

    Domain names are unique across all domains owned by the same account within an AWS\n Region.

    \n

    Domain names must start with a lowercase letter and must be between 3 and 28\n characters.

    \n

    Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

    " } }, - "AccessPolicies": { + "ElasticsearchVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    IAM policy document specifying the access policies for the new Amazon ES domain.

    " + "smithy.api#documentation": "

    Elasticsearch version.

    " } }, "EncryptionAtRestOptions": { @@ -2789,28 +2840,28 @@ "smithy.api#documentation": "

    Details about the configuration for encryption at rest.

    " } }, - "DomainEndpointOptions": { - "target": "com.amazonaws.securityhub#AwsElasticsearchDomainDomainEndpointOptions", + "AccessPolicies": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Additional options for the domain endpoint.

    " + "smithy.api#documentation": "

    IAM policy document specifying the access policies for the new Amazon ES domain.

    " } }, - "Endpoints": { - "target": "com.amazonaws.securityhub#FieldMap", + "DomainEndpointOptions": { + "target": "com.amazonaws.securityhub#AwsElasticsearchDomainDomainEndpointOptions", "traits": { - "smithy.api#documentation": "

    The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

    " + "smithy.api#documentation": "

    Additional options for the domain endpoint.

    " } }, - "DomainName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "NodeToNodeEncryptionOptions": { + "target": "com.amazonaws.securityhub#AwsElasticsearchDomainNodeToNodeEncryptionOptions", "traits": { - "smithy.api#documentation": "

    Name of an Amazon ES domain.

    \n

    Domain names are unique across all domains owned by the same account within an AWS\n Region.

    \n

    Domain names must start with a lowercase letter and must be between 3 and 28\n characters.

    \n

    Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

    " + "smithy.api#documentation": "

    Details about the configuration for node-to-node encryption.

    " } }, - "ElasticsearchVersion": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "VPCOptions": { + "target": "com.amazonaws.securityhub#AwsElasticsearchDomainVPCOptions", "traits": { - "smithy.api#documentation": "

    Elasticsearch version.

    " + "smithy.api#documentation": "

    Information that Amazon ES derives based on VPCOptions for the\n domain.

    " } } }, @@ -2875,28 +2926,28 @@ "com.amazonaws.securityhub#AwsElasticsearchDomainVPCOptions": { "type": "structure", "members": { - "SubnetIds": { - "target": "com.amazonaws.securityhub#NonEmptyStringList", + "VPCId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of subnet IDs associated with the VPC endpoints for the domain.

    " + "smithy.api#documentation": "

    ID for the VPC.

    " } }, - "SecurityGroupIds": { + "AvailabilityZones": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    The list of security group IDs associated with the VPC endpoints for the domain.

    " + "smithy.api#documentation": "

    The list of Availability Zones associated with the VPC subnets.

    " } }, - "VPCId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "SecurityGroupIds": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    ID for the VPC.

    " + "smithy.api#documentation": "

    The list of security group IDs associated with the VPC endpoints for the domain.

    " } }, - "AvailabilityZones": { + "SubnetIds": { "target": "com.amazonaws.securityhub#NonEmptyStringList", "traits": { - "smithy.api#documentation": "

    The list of Availability Zones associated with the VPC subnets.

    " + "smithy.api#documentation": "

    A list of subnet IDs associated with the VPC endpoints for the domain.

    " } } }, @@ -2913,16 +2964,16 @@ "com.amazonaws.securityhub#AwsElbAppCookieStickinessPolicy": { "type": "structure", "members": { - "PolicyName": { + "CookieName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The mnemonic name for the policy being created. The name must be unique within the set\n of policies for the load balancer.

    " + "smithy.api#documentation": "

    The name of the application cookie used for stickiness.

    " } }, - "CookieName": { + "PolicyName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the application cookie used for stickiness.

    " + "smithy.api#documentation": "

    The mnemonic name for the policy being created. The name must be unique within the set\n of policies for the load balancer.

    " } } }, @@ -2939,17 +2990,17 @@ "com.amazonaws.securityhub#AwsElbLbCookieStickinessPolicy": { "type": "structure", "members": { - "PolicyName": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The name of the policy. The name must be unique within the set of policies for the load\n balancer.

    " - } - }, "CookieExpirationPeriod": { "target": "com.amazonaws.securityhub#Long", "traits": { "smithy.api#documentation": "

    The amount of time, in seconds, after which the cookie is considered stale. If an\n expiration period is not specified, the stickiness session lasts for the duration of the\n browser session.

    " } + }, + "PolicyName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The name of the policy. The name must be unique within the set of policies for the load\n balancer.

    " + } } }, "traits": { @@ -2959,28 +3010,28 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerAccessLog": { "type": "structure", "members": { - "S3BucketPrefix": { + "S3BucketName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The logical hierarchy that was created for the S3 bucket.

    \n

    If a prefix is not provided, the log is placed at the root level of the bucket.

    " + "smithy.api#documentation": "

    The name of the S3 bucket where the access logs are stored.

    " } }, - "EmitInterval": { - "target": "com.amazonaws.securityhub#Integer", + "Enabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The interval in minutes for publishing the access logs.

    \n

    You can publish access logs either every 5 minutes or every 60 minutes.

    " + "smithy.api#documentation": "

    Indicates whether access logs are enabled for the load balancer.

    " } }, - "S3BucketName": { + "S3BucketPrefix": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the S3 bucket where the access logs are stored.

    " + "smithy.api#documentation": "

    The logical hierarchy that was created for the S3 bucket.

    \n

    If a prefix is not provided, the log is placed at the root level of the bucket.

    " } }, - "Enabled": { - "target": "com.amazonaws.securityhub#Boolean", + "EmitInterval": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Indicates whether access logs are enabled for the load balancer.

    " + "smithy.api#documentation": "

    The interval in minutes for publishing the access logs.

    \n

    You can publish access logs either every 5 minutes or every 60 minutes.

    " } } }, @@ -2991,10 +3042,10 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerAttributes": { "type": "structure", "members": { - "ConnectionDraining": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerConnectionDraining", + "AccessLog": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerAccessLog", "traits": { - "smithy.api#documentation": "

    Information about the connection draining configuration for the load balancer.

    \n

    If connection draining is enabled, the load balancer allows existing requests to\n complete before it shifts traffic away from a deregistered or unhealthy instance.

    " + "smithy.api#documentation": "

    Information about the access log configuration for the load balancer.

    \n

    If the access log is enabled, the load balancer captures detailed information about all\n requests. It delivers the information to a specified S3 bucket.

    " } }, "ConnectionSettings": { @@ -3009,10 +3060,10 @@ "smithy.api#documentation": "

    Cross-zone load balancing settings for the load balancer.

    \n

    If cross-zone load balancing is enabled, the load balancer routes the request traffic\n evenly across all instances regardless of the Availability Zones.

    " } }, - "AccessLog": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerAccessLog", + "ConnectionDraining": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerConnectionDraining", "traits": { - "smithy.api#documentation": "

    Information about the access log configuration for the load balancer.

    \n

    If the access log is enabled, the load balancer captures detailed information about all\n requests. It delivers the information to a specified S3 bucket.

    " + "smithy.api#documentation": "

    Information about the connection draining configuration for the load balancer.

    \n

    If connection draining is enabled, the load balancer allows existing requests to\n complete before it shifts traffic away from a deregistered or unhealthy instance.

    " } } }, @@ -3023,17 +3074,17 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerBackendServerDescription": { "type": "structure", "members": { - "InstancePort": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The port on which the EC2 instance is listening.

    " - } - }, "PolicyNames": { "target": "com.amazonaws.securityhub#StringList", "traits": { "smithy.api#documentation": "

    The names of the policies that are enabled for the EC2 instance.

    " } + }, + "InstancePort": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The port on which the EC2 instance is listening.

    " + } } }, "traits": { @@ -3049,17 +3100,17 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerConnectionDraining": { "type": "structure", "members": { - "Timeout": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The maximum time, in seconds, to keep the existing connections open before deregistering\n the instances.

    " - } - }, "Enabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Indicates whether connection draining is enabled for the load balancer.

    " } + }, + "Timeout": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The maximum time, in seconds, to keep the existing connections open before deregistering\n the instances.

    " + } } }, "traits": { @@ -3097,76 +3148,88 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerDetails": { "type": "structure", "members": { - "CanonicalHostedZoneNameID": { + "SourceSecurityGroup": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerSourceSecurityGroup", + "traits": { + "smithy.api#documentation": "

    Information about the security group for the load balancer. This is the security group\n that is used for inbound rules.

    " + } + }, + "SecurityGroups": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

    The security groups for the load balancer. Only provided if the load balancer is in a\n VPC.

    " + } + }, + "DnsName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the Amazon Route 53 hosted zone for the load balancer.

    " + "smithy.api#documentation": "

    The DNS name of the load balancer.

    " } }, - "VpcId": { + "Scheme": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the VPC for the load balancer.

    " + "smithy.api#documentation": "

    The type of load balancer. Only provided if the load balancer is in a VPC.

    \n

    If Scheme is internet-facing, the load balancer has a public\n DNS name that resolves to a public IP address.

    \n

    If Scheme is internal, the load balancer has a public DNS name\n that resolves to a private IP address.

    " } }, - "BackendServerDescriptions": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerBackendServerDescriptions", + "CreatedTime": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the configuration of the EC2 instances.

    " + "smithy.api#documentation": "

    Indicates when the load balancer was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "HealthCheck": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerHealthCheck", + "CanonicalHostedZoneName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the health checks that are conducted on the load balancer.

    " + "smithy.api#documentation": "

    The name of the Amazon Route 53 hosted zone for the load balancer.

    " } }, - "ListenerDescriptions": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerListenerDescriptions", + "BackendServerDescriptions": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerBackendServerDescriptions", "traits": { - "smithy.api#documentation": "

    The policies that are enabled for the load balancer listeners.

    " + "smithy.api#documentation": "

    Information about the configuration of the EC2 instances.

    " } }, - "Instances": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerInstances", + "LoadBalancerAttributes": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerAttributes", "traits": { - "smithy.api#documentation": "

    List of EC2 instances for the load balancer.

    " + "smithy.api#documentation": "

    The attributes for a load balancer.

    " } }, - "Scheme": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Policies": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerPolicies", "traits": { - "smithy.api#documentation": "

    The type of load balancer. Only provided if the load balancer is in a VPC.

    \n

    If Scheme is internet-facing, the load balancer has a public\n DNS name that resolves to a public IP address.

    \n

    If Scheme is internal, the load balancer has a public DNS name\n that resolves to a private IP address.

    " + "smithy.api#documentation": "

    The policies for a load balancer.

    " } }, - "CanonicalHostedZoneName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ListenerDescriptions": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerListenerDescriptions", "traits": { - "smithy.api#documentation": "

    The name of the Amazon Route 53 hosted zone for the load balancer.

    " + "smithy.api#documentation": "

    The policies that are enabled for the load balancer listeners.

    " } }, - "CreatedTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Instances": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerInstances", "traits": { - "smithy.api#documentation": "

    Indicates when the load balancer was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    List of EC2 instances for the load balancer.

    " } }, - "DnsName": { + "LoadBalancerName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The DNS name of the load balancer.

    " + "smithy.api#documentation": "

    The name of the load balancer.

    " } }, - "SecurityGroups": { + "Subnets": { "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The security groups for the load balancer. Only provided if the load balancer is in a\n VPC.

    " + "smithy.api#documentation": "

    The list of subnet identifiers for the load balancer.

    " } }, - "SourceSecurityGroup": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerSourceSecurityGroup", + "VpcId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the security group for the load balancer. This is the security group\n that is used for inbound rules.

    " + "smithy.api#documentation": "

    The identifier of the VPC for the load balancer.

    " } }, "AvailabilityZones": { @@ -3175,28 +3238,16 @@ "smithy.api#documentation": "

    The list of Availability Zones for the load balancer.

    " } }, - "LoadBalancerAttributes": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerAttributes", + "CanonicalHostedZoneNameID": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The attributes for a load balancer.

    " + "smithy.api#documentation": "

    The ID of the Amazon Route 53 hosted zone for the load balancer.

    " } }, - "Policies": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerPolicies", + "HealthCheck": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerHealthCheck", "traits": { - "smithy.api#documentation": "

    The policies for a load balancer.

    " - } - }, - "Subnets": { - "target": "com.amazonaws.securityhub#StringList", - "traits": { - "smithy.api#documentation": "

    The list of subnet identifiers for the load balancer.

    " - } - }, - "LoadBalancerName": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The name of the load balancer.

    " + "smithy.api#documentation": "

    Information about the health checks that are conducted on the load balancer.

    " } } }, @@ -3207,10 +3258,10 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerHealthCheck": { "type": "structure", "members": { - "Timeout": { + "HealthyThreshold": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The amount of time, in seconds, during which no response means a failed health\n check.

    " + "smithy.api#documentation": "

    The number of consecutive health check successes required before the instance is moved\n to the Healthy state.

    " } }, "UnhealthyThreshold": { @@ -3219,16 +3270,10 @@ "smithy.api#documentation": "

    The number of consecutive health check failures that must occur before the instance is\n moved to the Unhealthy state.

    " } }, - "HealthyThreshold": { + "Timeout": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The number of consecutive health check successes required before the instance is moved\n to the Healthy state.

    " - } - }, - "Target": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The instance that is being checked. The target specifies the protocol and port. The\n available protocols are TCP, SSL, HTTP, and HTTPS. The range of valid ports is 1 through\n 65535.

    \n

    For the HTTP and HTTPS protocols, the target also specifies the ping path.

    \n

    For the TCP protocol, the target is specified as TCP:\n \n .

    \n

    For the SSL protocol, the target is specified as\n SSL.\n .

    \n

    For the HTTP and HTTPS protocols, the target is specified as\n \n :/\n .

    " + "smithy.api#documentation": "

    The amount of time, in seconds, during which no response means a failed health\n check.

    " } }, "Interval": { @@ -3236,6 +3281,12 @@ "traits": { "smithy.api#documentation": "

    The approximate interval, in seconds, between health checks of an individual\n instance.

    " } + }, + "Target": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The instance that is being checked. The target specifies the protocol and port. The\n available protocols are TCP, SSL, HTTP, and HTTPS. The range of valid ports is 1 through\n 65535.

    \n

    For the HTTP and HTTPS protocols, the target also specifies the ping path.

    \n

    For the TCP protocol, the target is specified as TCP:\n \n .

    \n

    For the SSL protocol, the target is specified as\n SSL.\n .

    \n

    For the HTTP and HTTPS protocols, the target is specified as\n \n :/\n .

    " + } } }, "traits": { @@ -3271,18 +3322,6 @@ "smithy.api#documentation": "

    The protocol to use to route traffic to instances.

    \n

    Valid values: HTTP | HTTPS | TCP |\n SSL\n

    " } }, - "InstancePort": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The port on which the instance is listening.

    " - } - }, - "SslCertificateId": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of the server certificate.

    " - } - }, "Protocol": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -3294,6 +3333,18 @@ "traits": { "smithy.api#documentation": "

    The port on which the load balancer is listening.

    \n

    On EC2-VPC, you can specify any port from the range 1-65535.

    \n

    On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587,\n 1024-65535.

    " } + }, + "InstancePort": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The port on which the instance is listening.

    " + } + }, + "SslCertificateId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The ARN of the server certificate.

    " + } } }, "traits": { @@ -3303,17 +3354,17 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerListenerDescription": { "type": "structure", "members": { - "PolicyNames": { - "target": "com.amazonaws.securityhub#StringList", - "traits": { - "smithy.api#documentation": "

    The policies enabled for the listener.

    " - } - }, "Listener": { "target": "com.amazonaws.securityhub#AwsElbLoadBalancerListener", "traits": { "smithy.api#documentation": "

    Information about the listener.

    " } + }, + "PolicyNames": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

    The policies enabled for the listener.

    " + } } }, "traits": { @@ -3329,6 +3380,12 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerPolicies": { "type": "structure", "members": { + "AppCookieStickinessPolicies": { + "target": "com.amazonaws.securityhub#AwsElbAppCookieStickinessPolicies", + "traits": { + "smithy.api#documentation": "

    The stickiness policies that are created using\n CreateAppCookieStickinessPolicy.

    " + } + }, "OtherPolicies": { "target": "com.amazonaws.securityhub#StringList", "traits": { @@ -3340,12 +3397,6 @@ "traits": { "smithy.api#documentation": "

    The stickiness policies that are created using\n CreateLBCookieStickinessPolicy.

    " } - }, - "AppCookieStickinessPolicies": { - "target": "com.amazonaws.securityhub#AwsElbAppCookieStickinessPolicies", - "traits": { - "smithy.api#documentation": "

    The stickiness policies that are created using\n CreateAppCookieStickinessPolicy.

    " - } } }, "traits": { @@ -3355,16 +3406,16 @@ "com.amazonaws.securityhub#AwsElbLoadBalancerSourceSecurityGroup": { "type": "structure", "members": { - "GroupName": { + "OwnerAlias": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the security group.

    " + "smithy.api#documentation": "

    The owner of the security group.

    " } }, - "OwnerAlias": { + "GroupName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The owner of the security group.

    " + "smithy.api#documentation": "

    The name of the security group.

    " } } }, @@ -3381,16 +3432,22 @@ "smithy.api#documentation": "

    The ID of the VPC for the load balancer.

    " } }, - "Type": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AvailabilityZones": { + "target": "com.amazonaws.securityhub#AvailabilityZones", "traits": { - "smithy.api#documentation": "

    The type of load balancer.

    " + "smithy.api#documentation": "

    The Availability Zones for the load balancer.

    " } }, - "IpAddressType": { + "CanonicalHostedZoneId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of IP addresses used by the subnets for your load balancer. The possible values\n are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6\n addresses).

    " + "smithy.api#documentation": "

    The ID of the Amazon Route 53 hosted zone associated with the load balancer.

    " + } + }, + "State": { + "target": "com.amazonaws.securityhub#LoadBalancerState", + "traits": { + "smithy.api#documentation": "

    The state of the load balancer.

    " } }, "Scheme": { @@ -3399,16 +3456,22 @@ "smithy.api#documentation": "

    The nodes of an Internet-facing load balancer have public IP addresses.

    " } }, + "SecurityGroups": { + "target": "com.amazonaws.securityhub#SecurityGroups", + "traits": { + "smithy.api#documentation": "

    The IDs of the security groups for the load balancer.

    " + } + }, "CreatedTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    Indicates when the load balancer was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "AvailabilityZones": { - "target": "com.amazonaws.securityhub#AvailabilityZones", + "IpAddressType": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The Availability Zones for the load balancer.

    " + "smithy.api#documentation": "

    The type of IP addresses used by the subnets for your load balancer. The possible values\n are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6\n addresses).

    " } }, "DNSName": { @@ -3417,22 +3480,10 @@ "smithy.api#documentation": "

    The public DNS name of the load balancer.

    " } }, - "State": { - "target": "com.amazonaws.securityhub#LoadBalancerState", - "traits": { - "smithy.api#documentation": "

    The state of the load balancer.

    " - } - }, - "CanonicalHostedZoneId": { + "Type": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the Amazon Route 53 hosted zone associated with the load balancer.

    " - } - }, - "SecurityGroups": { - "target": "com.amazonaws.securityhub#SecurityGroups", - "traits": { - "smithy.api#documentation": "

    The IDs of the security groups for the load balancer.

    " + "smithy.api#documentation": "

    The type of load balancer.

    " } } }, @@ -3443,10 +3494,10 @@ "com.amazonaws.securityhub#AwsIamAccessKeyDetails": { "type": "structure", "members": { - "SessionContext": { - "target": "com.amazonaws.securityhub#AwsIamAccessKeySessionContext", + "PrincipalName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the session that the key was used for.

    " + "smithy.api#documentation": "

    The name of the principal.

    " } }, "AccessKeyId": { @@ -3455,16 +3506,10 @@ "smithy.api#documentation": "

    The identifier of the access key.

    " } }, - "PrincipalId": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ID of the principal associated with an access key.

    " - } - }, - "PrincipalName": { + "AccountId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the principal.

    " + "smithy.api#documentation": "

    The AWS account ID of the account for the key.

    " } }, "CreatedAt": { @@ -3482,22 +3527,28 @@ "smithy.api#documentation": "

    The user associated with the IAM access key related to a finding.

    \n

    The UserName parameter has been replaced with the\n PrincipalName parameter because access keys can also be assigned to\n principals that are not IAM users.

    " } }, + "PrincipalType": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The type of principal associated with an access key.

    " + } + }, "Status": { "target": "com.amazonaws.securityhub#AwsIamAccessKeyStatus", "traits": { "smithy.api#documentation": "

    The status of the IAM access key related to a finding.

    " } }, - "PrincipalType": { + "PrincipalId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of principal associated with an access key.

    " + "smithy.api#documentation": "

    The ID of the principal associated with an access key.

    " } }, - "AccountId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "SessionContext": { + "target": "com.amazonaws.securityhub#AwsIamAccessKeySessionContext", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the account for the key.

    " + "smithy.api#documentation": "

    Information about the session that the key was used for.

    " } } }, @@ -3528,17 +3579,17 @@ "com.amazonaws.securityhub#AwsIamAccessKeySessionContextAttributes": { "type": "structure", "members": { - "CreationDate": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the session was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } - }, "MfaAuthenticated": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Indicates whether the session used multi-factor authentication (MFA).

    " } + }, + "CreationDate": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    Indicates when the session was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + } } }, "traits": { @@ -3548,16 +3599,16 @@ "com.amazonaws.securityhub#AwsIamAccessKeySessionContextSessionIssuer": { "type": "structure", "members": { - "Type": { + "UserName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of principal (user, role, or group) that created the session.

    " + "smithy.api#documentation": "

    The name of the principal that created the session.

    " } }, - "AccountId": { + "Arn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the AWS account that created the session.

    " + "smithy.api#documentation": "

    The ARN of the session.

    " } }, "PrincipalId": { @@ -3566,16 +3617,16 @@ "smithy.api#documentation": "

    The principal ID of the principal (user, role, or group) that created the\n session.

    " } }, - "Arn": { + "Type": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the session.

    " + "smithy.api#documentation": "

    The type of principal (user, role, or group) that created the session.

    " } }, - "UserName": { + "AccountId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the principal that created the session.

    " + "smithy.api#documentation": "

    The identifier of the AWS account that created the session.

    " } } }, @@ -3627,10 +3678,10 @@ "com.amazonaws.securityhub#AwsIamGroupDetails": { "type": "structure", "members": { - "AttachedManagedPolicies": { - "target": "com.amazonaws.securityhub#AwsIamAttachedManagedPolicyList", + "Path": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of the managed policies that are attached to the IAM group.

    " + "smithy.api#documentation": "

    The path to the group.

    " } }, "GroupName": { @@ -3639,16 +3690,10 @@ "smithy.api#documentation": "

    The name of the IAM group.

    " } }, - "Path": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The path to the group.

    " - } - }, - "GroupPolicyList": { - "target": "com.amazonaws.securityhub#AwsIamGroupPolicyList", + "AttachedManagedPolicies": { + "target": "com.amazonaws.securityhub#AwsIamAttachedManagedPolicyList", "traits": { - "smithy.api#documentation": "

    The list of inline policies that are embedded in the group.

    " + "smithy.api#documentation": "

    A list of the managed policies that are attached to the IAM group.

    " } }, "GroupId": { @@ -3662,6 +3707,12 @@ "traits": { "smithy.api#documentation": "

    Indicates when the IAM group was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } + }, + "GroupPolicyList": { + "target": "com.amazonaws.securityhub#AwsIamGroupPolicyList", + "traits": { + "smithy.api#documentation": "

    The list of inline policies that are embedded in the group.

    " + } } }, "traits": { @@ -3697,10 +3748,16 @@ "smithy.api#documentation": "

    The path to the instance profile.

    " } }, - "InstanceProfileName": { + "Arn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the instance profile.

    " + "smithy.api#documentation": "

    The ARN of the instance profile.

    " + } + }, + "CreateDate": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    Indicates when the instance profile was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, "InstanceProfileId": { @@ -3715,16 +3772,10 @@ "smithy.api#documentation": "

    The roles associated with the instance profile.

    " } }, - "Arn": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of the instance profile.

    " - } - }, - "CreateDate": { + "InstanceProfileName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the instance profile was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The name of the instance profile.

    " } } }, @@ -3741,16 +3792,16 @@ "com.amazonaws.securityhub#AwsIamInstanceProfileRole": { "type": "structure", "members": { - "RoleId": { + "CreateDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the role.

    " + "smithy.api#documentation": "

    Indicates when the role was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "AssumeRolePolicyDocument": { - "target": "com.amazonaws.securityhub#AwsIamRoleAssumeRolePolicyDocument", + "RoleId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The policy that grants an entity permission to assume the role.

    " + "smithy.api#documentation": "

    The identifier of the role.

    " } }, "Arn": { @@ -3759,26 +3810,26 @@ "smithy.api#documentation": "

    The ARN of the role.

    " } }, - "Path": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The path to the role.

    " - } - }, "RoleName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The name of the role.

    " } }, - "CreateDate": { + "Path": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the role was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The path to the role.

    " } - } - }, - "traits": { + }, + "AssumeRolePolicyDocument": { + "target": "com.amazonaws.securityhub#AwsIamRoleAssumeRolePolicyDocument", + "traits": { + "smithy.api#documentation": "

    The policy that grants an entity permission to assume the role.

    " + } + } + }, + "traits": { "smithy.api#documentation": "

    Information about a role associated with an instance profile.

    " } }, @@ -3811,16 +3862,16 @@ "com.amazonaws.securityhub#AwsIamPolicyDetails": { "type": "structure", "members": { - "Path": { + "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The path to the policy.

    " + "smithy.api#documentation": "

    A description of the policy.

    " } }, - "AttachmentCount": { - "target": "com.amazonaws.securityhub#Integer", + "Path": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The number of users, groups, and roles that the policy is attached to.

    " + "smithy.api#documentation": "

    The path to the policy.

    " } }, "UpdateDate": { @@ -3829,52 +3880,52 @@ "smithy.api#documentation": "

    When the policy was most recently updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "PolicyId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "PermissionsBoundaryUsageCount": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The unique identifier of the policy.

    " + "smithy.api#documentation": "

    The number of users and roles that use the policy to set the permissions\n boundary.

    " } }, - "IsAttachable": { - "target": "com.amazonaws.securityhub#Boolean", + "PolicyVersionList": { + "target": "com.amazonaws.securityhub#AwsIamPolicyVersionList", "traits": { - "smithy.api#documentation": "

    Whether the policy can be attached to a user, group, or role.

    " + "smithy.api#documentation": "

    List of versions of the policy.

    " } }, - "CreateDate": { + "PolicyName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    When the policy was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The name of the policy.

    " } }, - "DefaultVersionId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AttachmentCount": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The identifier of the default version of the policy.

    " + "smithy.api#documentation": "

    The number of users, groups, and roles that the policy is attached to.

    " } }, - "PolicyVersionList": { - "target": "com.amazonaws.securityhub#AwsIamPolicyVersionList", + "DefaultVersionId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    List of versions of the policy.

    " + "smithy.api#documentation": "

    The identifier of the default version of the policy.

    " } }, - "Description": { + "PolicyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A description of the policy.

    " + "smithy.api#documentation": "

    The unique identifier of the policy.

    " } }, - "PolicyName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IsAttachable": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The name of the policy.

    " + "smithy.api#documentation": "

    Whether the policy can be attached to a user, group, or role.

    " } }, - "PermissionsBoundaryUsageCount": { - "target": "com.amazonaws.securityhub#Integer", + "CreateDate": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The number of users and roles that use the policy to set the permissions\n boundary.

    " + "smithy.api#documentation": "

    When the policy was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -3891,16 +3942,16 @@ "smithy.api#documentation": "

    Whether the version is the default version.

    " } }, - "VersionId": { + "CreateDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the policy version.

    " + "smithy.api#documentation": "

    Indicates when the version was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "CreateDate": { + "VersionId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the version was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The identifier of the policy version.

    " } } }, @@ -3927,12 +3978,6 @@ "com.amazonaws.securityhub#AwsIamRoleDetails": { "type": "structure", "members": { - "AttachedManagedPolicies": { - "target": "com.amazonaws.securityhub#AwsIamAttachedManagedPolicyList", - "traits": { - "smithy.api#documentation": "

    The list of the managed policies that are attached to the role.

    " - } - }, "Path": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -3945,43 +3990,49 @@ "smithy.api#documentation": "

    The maximum session duration (in seconds) that you want to set for the specified role.

    " } }, + "AttachedManagedPolicies": { + "target": "com.amazonaws.securityhub#AwsIamAttachedManagedPolicyList", + "traits": { + "smithy.api#documentation": "

    The list of the managed policies that are attached to the role.

    " + } + }, "RoleName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The friendly name that identifies the role.

    " } }, - "RolePolicyList": { - "target": "com.amazonaws.securityhub#AwsIamRolePolicyList", + "CreateDate": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of inline policies that are embedded in the role.

    " + "smithy.api#documentation": "

    Indicates when the role was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "AssumeRolePolicyDocument": { - "target": "com.amazonaws.securityhub#AwsIamRoleAssumeRolePolicyDocument", + "RoleId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The trust policy that grants permission to assume the role.

    " + "smithy.api#documentation": "

    The stable and unique string identifying the role.

    " } }, + "PermissionsBoundary": { + "target": "com.amazonaws.securityhub#AwsIamPermissionsBoundary" + }, "InstanceProfileList": { "target": "com.amazonaws.securityhub#AwsIamInstanceProfileList", "traits": { "smithy.api#documentation": "

    The list of instance profiles that contain this role.

    " } }, - "RoleId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "RolePolicyList": { + "target": "com.amazonaws.securityhub#AwsIamRolePolicyList", "traits": { - "smithy.api#documentation": "

    The stable and unique string identifying the role.

    " + "smithy.api#documentation": "

    The list of inline policies that are embedded in the role.

    " } }, - "PermissionsBoundary": { - "target": "com.amazonaws.securityhub#AwsIamPermissionsBoundary" - }, - "CreateDate": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AssumeRolePolicyDocument": { + "target": "com.amazonaws.securityhub#AwsIamRoleAssumeRolePolicyDocument", "traits": { - "smithy.api#documentation": "

    Indicates when the role was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The trust policy that grants permission to assume the role.

    " } } }, @@ -4012,10 +4063,16 @@ "com.amazonaws.securityhub#AwsIamUserDetails": { "type": "structure", "members": { - "Path": { + "PermissionsBoundary": { + "target": "com.amazonaws.securityhub#AwsIamPermissionsBoundary", + "traits": { + "smithy.api#documentation": "

    The permissions boundary for the user.

    " + } + }, + "CreateDate": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The path to the user.

    " + "smithy.api#documentation": "

    Indicates when the user was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, "AttachedManagedPolicies": { @@ -4024,16 +4081,16 @@ "smithy.api#documentation": "

    A list of the managed policies that are attached to the user.

    " } }, - "UserId": { + "UserName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The unique identifier for the user.

    " + "smithy.api#documentation": "

    The name of the user.

    " } }, - "GroupList": { - "target": "com.amazonaws.securityhub#StringList", + "Path": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of IAM groups that the user belongs to.

    " + "smithy.api#documentation": "

    The path to the user.

    " } }, "UserPolicyList": { @@ -4042,22 +4099,16 @@ "smithy.api#documentation": "

    The list of inline policies that are embedded in the user.

    " } }, - "CreateDate": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the user was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } - }, - "UserName": { + "UserId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the user.

    " + "smithy.api#documentation": "

    The unique identifier for the user.

    " } }, - "PermissionsBoundary": { - "target": "com.amazonaws.securityhub#AwsIamPermissionsBoundary", + "GroupList": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The permissions boundary for the user.

    " + "smithy.api#documentation": "

    A list of IAM groups that the user belongs to.

    " } } }, @@ -4100,34 +4151,34 @@ "smithy.api#documentation": "

    Indicates when the CMK was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "KeyManager": { + "AWSAccountId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

    " + "smithy.api#documentation": "

    The twelve-digit account ID of the AWS account that owns the CMK.

    " } }, - "KeyState": { + "KeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The state of the CMK.

    " + "smithy.api#documentation": "

    The globally unique identifier for the CMK.

    " } }, - "AWSAccountId": { + "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The twelve-digit account ID of the AWS account that owns the CMK.

    " + "smithy.api#documentation": "

    A description of the key.

    " } }, - "KeyId": { + "KeyManager": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The globally unique identifier for the CMK.

    " + "smithy.api#documentation": "

    The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

    " } }, - "Description": { + "KeyState": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A description of the key.

    " + "smithy.api#documentation": "

    The state of the CMK.

    " } } }, @@ -4138,28 +4189,28 @@ "com.amazonaws.securityhub#AwsLambdaFunctionCode": { "type": "structure", "members": { - "S3Bucket": { + "S3Key": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

    " + "smithy.api#documentation": "

    The Amazon S3 key of the deployment package.

    " } }, - "ZipFile": { + "S3ObjectVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

    " + "smithy.api#documentation": "

    For versioned objects, the version of the deployment package object to use.

    " } }, - "S3Key": { + "ZipFile": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The Amazon S3 key of the deployment package.

    " + "smithy.api#documentation": "

    The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

    " } }, - "S3ObjectVersion": { + "S3Bucket": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    For versioned objects, the version of the deployment package object to use.

    " + "smithy.api#documentation": "

    An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

    " } } }, @@ -4184,64 +4235,76 @@ "com.amazonaws.securityhub#AwsLambdaFunctionDetails": { "type": "structure", "members": { - "KmsKeyArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "TracingConfig": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionTracingConfig", "traits": { - "smithy.api#documentation": "

    The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

    " + "smithy.api#documentation": "

    The function's AWS X-Ray tracing configuration.

    " } }, - "MasterArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Layers": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionLayerList", "traits": { - "smithy.api#documentation": "

    For Lambda@Edge functions, the ARN of the master function.

    " + "smithy.api#documentation": "

    The function's layers.

    " } }, - "FunctionName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "DeadLetterConfig": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionDeadLetterConfig", "traits": { - "smithy.api#documentation": "

    The name of the function.

    " + "smithy.api#documentation": "

    The function's dead letter queue.

    " } }, - "LastModified": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "MemorySize": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Indicates when the function was last updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The memory that's allocated to the function.

    " } }, - "Runtime": { + "VpcConfig": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionVpcConfig", + "traits": { + "smithy.api#documentation": "

    The function's networking configuration.

    " + } + }, + "Version": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The runtime environment for the Lambda function.

    " + "smithy.api#documentation": "

    The version of the Lambda function.

    " } }, - "CodeSha256": { + "Environment": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionEnvironment", + "traits": { + "smithy.api#documentation": "

    The function's environment variables.

    " + } + }, + "Runtime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The SHA256 hash of the function's deployment package.

    " + "smithy.api#documentation": "

    The runtime environment for the Lambda function.

    " } }, - "RevisionId": { + "KmsKeyArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The latest updated revision of the function or alias.

    " + "smithy.api#documentation": "

    The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

    " } }, - "Version": { + "MasterArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version of the Lambda function.

    " + "smithy.api#documentation": "

    For Lambda@Edge functions, the ARN of the master function.

    " } }, - "Code": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionCode", + "FunctionName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    An AwsLambdaFunctionCode object.

    " + "smithy.api#documentation": "

    The name of the function.

    " } }, - "MemorySize": { - "target": "com.amazonaws.securityhub#Integer", + "Role": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The memory that's allocated to the function.

    " + "smithy.api#documentation": "

    The function's execution role.

    " } }, "Timeout": { @@ -4250,46 +4313,34 @@ "smithy.api#documentation": "

    The amount of time that Lambda allows a function to run before stopping it.

    " } }, - "DeadLetterConfig": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionDeadLetterConfig", + "Code": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionCode", "traits": { - "smithy.api#documentation": "

    The function's dead letter queue.

    " + "smithy.api#documentation": "

    An AwsLambdaFunctionCode object.

    " } }, - "Handler": { + "CodeSha256": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The function that Lambda calls to begin executing your function.

    " - } - }, - "TracingConfig": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionTracingConfig", - "traits": { - "smithy.api#documentation": "

    The function's AWS X-Ray tracing configuration.

    " - } - }, - "Layers": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionLayerList", - "traits": { - "smithy.api#documentation": "

    The function's layers.

    " + "smithy.api#documentation": "

    The SHA256 hash of the function's deployment package.

    " } }, - "Environment": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionEnvironment", + "RevisionId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The function's environment variables.

    " + "smithy.api#documentation": "

    The latest updated revision of the function or alias.

    " } }, - "Role": { + "Handler": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The function's execution role.

    " + "smithy.api#documentation": "

    The function that Lambda calls to begin executing your function.

    " } }, - "VpcConfig": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionVpcConfig", + "LastModified": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The function's networking configuration.

    " + "smithy.api#documentation": "

    Indicates when the function was last updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -4320,16 +4371,16 @@ "com.amazonaws.securityhub#AwsLambdaFunctionEnvironmentError": { "type": "structure", "members": { - "ErrorCode": { + "Message": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The error code.

    " + "smithy.api#documentation": "

    The error message.

    " } }, - "Message": { + "ErrorCode": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The error message.

    " + "smithy.api#documentation": "

    The error code.

    " } } }, @@ -4340,17 +4391,17 @@ "com.amazonaws.securityhub#AwsLambdaFunctionLayer": { "type": "structure", "members": { - "Arn": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the function layer.

    " - } - }, "CodeSize": { "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    The size of the layer archive in bytes.

    " } + }, + "Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the function layer.

    " + } } }, "traits": { @@ -4412,17 +4463,17 @@ "smithy.api#documentation": "

    Indicates when the version was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "CompatibleRuntimes": { - "target": "com.amazonaws.securityhub#NonEmptyStringList", - "traits": { - "smithy.api#documentation": "

    The layer's compatible runtimes. Maximum number of five items.

    \n

    Valid values: nodejs10.x | nodejs12.x | java8 |\n java11 | python2.7 | python3.6 |\n python3.7 | python3.8 | dotnetcore1.0 |\n dotnetcore2.1 | go1.x | ruby2.5 |\n provided\n

    " - } - }, "Version": { "target": "com.amazonaws.securityhub#AwsLambdaLayerVersionNumber", "traits": { "smithy.api#documentation": "

    The version number.

    " } + }, + "CompatibleRuntimes": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

    The layer's compatible runtimes. Maximum number of five items.

    \n

    Valid values: nodejs10.x | nodejs12.x | java8 |\n java11 | python2.7 | python3.6 |\n python3.7 | python3.8 | dotnetcore1.0 |\n dotnetcore2.1 | go1.x | ruby2.5 |\n provided\n

    " + } } }, "traits": { @@ -4435,16 +4486,16 @@ "com.amazonaws.securityhub#AwsRdsDbClusterAssociatedRole": { "type": "structure", "members": { - "Status": { + "RoleArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the association between the IAM role and the DB cluster.

    " + "smithy.api#documentation": "

    The ARN of the IAM role.

    " } }, - "RoleArn": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the IAM role.

    " + "smithy.api#documentation": "

    The status of the association between the IAM role and the DB cluster.

    " } } }, @@ -4461,22 +4512,28 @@ "com.amazonaws.securityhub#AwsRdsDbClusterDetails": { "type": "structure", "members": { - "Port": { - "target": "com.amazonaws.securityhub#Integer", + "CustomEndpoints": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The port number on which the DB instances in the DB cluster accept connections.

    " + "smithy.api#documentation": "

    A list of custom endpoints for the DB cluster.

    " } }, - "HttpEndpointEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "VpcSecurityGroups": { + "target": "com.amazonaws.securityhub#AwsRdsDbInstanceVpcSecurityGroups", "traits": { - "smithy.api#documentation": "

    Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

    " + "smithy.api#documentation": "

    A list of VPC security groups that the DB cluster belongs to.

    " } }, - "ActivityStreamStatus": { + "AssociatedRoles": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterAssociatedRoles", + "traits": { + "smithy.api#documentation": "

    A list of the IAM roles that are associated with the DB cluster.

    " + } + }, + "Endpoint": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the database activity stream.

    " + "smithy.api#documentation": "

    The connection endpoint for the primary instance of the DB cluster.

    " } }, "StorageEncrypted": { @@ -4485,112 +4542,112 @@ "smithy.api#documentation": "

    Whether the DB cluster is encrypted.

    " } }, - "BackupRetentionPeriod": { + "Port": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The number of days for which automated backups are retained.

    " + "smithy.api#documentation": "

    The port number on which the DB instances in the DB cluster accept connections.

    " } }, - "PreferredBackupWindow": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AllocatedStorage": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The range of time each day when automated backups are created, if automated backups are\n enabled.

    \n

    Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

    " + "smithy.api#documentation": "

    For all database engines except Aurora, specifies the allocated storage size in\n gibibytes (GiB).

    " } }, - "DbClusterResourceId": { + "DeletionProtection": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether the DB cluster has deletion protection enabled.

    " + } + }, + "DatabaseName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the DB cluster. The identifier must be unique within each AWS Region\n and is immutable.

    " + "smithy.api#documentation": "

    The name of the database.

    " } }, - "DomainMemberships": { - "target": "com.amazonaws.securityhub#AwsRdsDbDomainMemberships", + "EnabledCloudWatchLogsExports": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The Active Directory domain membership records that are associated with the DB\n cluster.

    " + "smithy.api#documentation": "

    A list of log types that this DB cluster is configured to export to CloudWatch\n Logs.

    " } }, - "MasterUsername": { + "KmsKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the master user for the DB cluster.

    " + "smithy.api#documentation": "

    The ARN of the AWS KMS master key that is used to encrypt the database instances in the\n DB cluster.

    " } }, - "VpcSecurityGroups": { - "target": "com.amazonaws.securityhub#AwsRdsDbInstanceVpcSecurityGroups", + "CrossAccountClone": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    A list of VPC security groups that the DB cluster belongs to.

    " + "smithy.api#documentation": "

    Whether the DB cluster is a clone of a DB cluster owned by a different AWS\n account.

    " } }, - "DbClusterOptionGroupMemberships": { - "target": "com.amazonaws.securityhub#AwsRdsDbClusterOptionGroupMemberships", + "DomainMemberships": { + "target": "com.amazonaws.securityhub#AwsRdsDbDomainMemberships", "traits": { - "smithy.api#documentation": "

    The list of option group memberships for this DB cluster.

    " + "smithy.api#documentation": "

    The Active Directory domain membership records that are associated with the DB\n cluster.

    " } }, - "CopyTagsToSnapshot": { + "HttpEndpointEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Whether tags are copied from the DB cluster to snapshots of the DB cluster.

    " + "smithy.api#documentation": "

    Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

    " } }, - "PreferredMaintenanceWindow": { + "MasterUsername": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The weekly time range during which system maintenance can occur, in Universal\n Coordinated Time (UTC).

    \n

    Uses the format :HH:MM-:HH:MM.

    \n

    For the day values, use\n mon|tue|wed|thu|fri|sat|sun.

    \n

    For example, sun:09:32-sun:10:02.

    " - } - }, - "AssociatedRoles": { - "target": "com.amazonaws.securityhub#AwsRdsDbClusterAssociatedRoles", - "traits": { - "smithy.api#documentation": "

    A list of the IAM roles that are associated with the DB cluster.

    " + "smithy.api#documentation": "

    The name of the master user for the DB cluster.

    " } }, - "CrossAccountClone": { - "target": "com.amazonaws.securityhub#Boolean", + "EngineMode": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether the DB cluster is a clone of a DB cluster owned by a different AWS\n account.

    " + "smithy.api#documentation": "

    The database engine mode of the DB cluster.

    " } }, - "DbClusterIdentifier": { + "ClusterCreateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The DB cluster identifier that the user assigned to the cluster. This identifier is the\n unique key that identifies a DB cluster.

    " + "smithy.api#documentation": "

    Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "EnabledCloudWatchLogsExports": { - "target": "com.amazonaws.securityhub#StringList", + "Status": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of log types that this DB cluster is configured to export to CloudWatch\n Logs.

    " + "smithy.api#documentation": "

    The current status of this DB cluster.

    " } }, - "DeletionProtection": { - "target": "com.amazonaws.securityhub#Boolean", + "ActivityStreamStatus": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether the DB cluster has deletion protection enabled.

    " + "smithy.api#documentation": "

    The status of the database activity stream.

    " } }, - "AllocatedStorage": { + "BackupRetentionPeriod": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    For all database engines except Aurora, specifies the allocated storage size in\n gibibytes (GiB).

    " + "smithy.api#documentation": "

    The number of days for which automated backups are retained.

    " } }, - "KmsKeyId": { + "DbSubnetGroup": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the AWS KMS master key that is used to encrypt the database instances in the\n DB cluster.

    " + "smithy.api#documentation": "

    The subnet group that is associated with the DB cluster, including the name,\n description, and subnets in the subnet group.

    " } }, - "Status": { + "DbClusterParameterGroup": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The current status of this DB cluster.

    " + "smithy.api#documentation": "

    The name of the DB cluster parameter group for the DB cluster.

    " } }, - "DatabaseName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ReadReplicaIdentifiers": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The name of the database.

    " + "smithy.api#documentation": "

    The identifiers of the read replicas that are associated with this DB cluster.

    " } }, "MultiAz": { @@ -4599,16 +4656,10 @@ "smithy.api#documentation": "

    Whether the DB cluster has instances in multiple Availability Zones.

    " } }, - "DbClusterParameterGroup": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The name of the DB cluster parameter group for the DB cluster.

    " - } - }, - "IamDatabaseAuthenticationEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "DbClusterMembers": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterMembers", "traits": { - "smithy.api#documentation": "

    Whether the mapping of IAM accounts to database accounts is enabled.

    " + "smithy.api#documentation": "

    The list of instances that make up the DB cluster.

    " } }, "HostedZoneId": { @@ -4623,64 +4674,64 @@ "smithy.api#documentation": "

    A list of Availability Zones (AZs) where instances in the DB cluster can be\n created.

    " } }, - "Engine": { + "ReaderEndpoint": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the database engine to use for this DB cluster.

    " + "smithy.api#documentation": "

    The reader endpoint for the DB cluster.

    " } }, - "Endpoint": { + "EngineVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The connection endpoint for the primary instance of the DB cluster.

    " + "smithy.api#documentation": "

    The version number of the database engine to use.

    " } }, - "CustomEndpoints": { - "target": "com.amazonaws.securityhub#StringList", + "DbClusterResourceId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of custom endpoints for the DB cluster.

    " + "smithy.api#documentation": "

    The identifier of the DB cluster. The identifier must be unique within each AWS Region\n and is immutable.

    " } }, - "DbClusterMembers": { - "target": "com.amazonaws.securityhub#AwsRdsDbClusterMembers", + "PreferredBackupWindow": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of instances that make up the DB cluster.

    " + "smithy.api#documentation": "

    The range of time each day when automated backups are created, if automated backups are\n enabled.

    \n

    Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

    " } }, - "ReadReplicaIdentifiers": { - "target": "com.amazonaws.securityhub#StringList", + "DbClusterIdentifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifiers of the read replicas that are associated with this DB cluster.

    " + "smithy.api#documentation": "

    The DB cluster identifier that the user assigned to the cluster. This identifier is the\n unique key that identifies a DB cluster.

    " } }, - "DbSubnetGroup": { + "PreferredMaintenanceWindow": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The subnet group that is associated with the DB cluster, including the name,\n description, and subnets in the subnet group.

    " + "smithy.api#documentation": "

    The weekly time range during which system maintenance can occur, in Universal\n Coordinated Time (UTC).

    \n

    Uses the format :HH:MM-:HH:MM.

    \n

    For the day values, use\n mon|tue|wed|thu|fri|sat|sun.

    \n

    For example, sun:09:32-sun:10:02.

    " } }, - "ReaderEndpoint": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "DbClusterOptionGroupMemberships": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterOptionGroupMemberships", "traits": { - "smithy.api#documentation": "

    The reader endpoint for the DB cluster.

    " + "smithy.api#documentation": "

    The list of option group memberships for this DB cluster.

    " } }, - "ClusterCreateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IamDatabaseAuthenticationEnabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    Whether the mapping of IAM accounts to database accounts is enabled.

    " } }, - "EngineMode": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "CopyTagsToSnapshot": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The database engine mode of the DB cluster.

    " + "smithy.api#documentation": "

    Whether tags are copied from the DB cluster to snapshots of the DB cluster.

    " } }, - "EngineVersion": { + "Engine": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version number of the database engine to use.

    " + "smithy.api#documentation": "

    The name of the database engine to use for this DB cluster.

    " } } }, @@ -4697,12 +4748,6 @@ "smithy.api#documentation": "

    Specifies the order in which an Aurora replica is promoted to the primary instance when\n the existing primary instance fails.

    " } }, - "IsClusterWriter": { - "target": "com.amazonaws.securityhub#Boolean", - "traits": { - "smithy.api#documentation": "

    Whether the cluster member is the primary instance for the DB cluster.

    " - } - }, "DbInstanceIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -4714,6 +4759,12 @@ "traits": { "smithy.api#documentation": "

    The status of the DB cluster parameter group for this member of the DB cluster.

    " } + }, + "IsClusterWriter": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether the cluster member is the primary instance for the DB cluster.

    " + } } }, "traits": { @@ -4755,28 +4806,22 @@ "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDetails": { "type": "structure", "members": { - "SnapshotCreateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the snapshot was taken.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } - }, - "Engine": { + "MasterUsername": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    " + "smithy.api#documentation": "

    The name of the master user for the DB cluster.

    " } }, - "StorageEncrypted": { - "target": "com.amazonaws.securityhub#Boolean", + "Port": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Whether the DB cluster is encrypted.

    " + "smithy.api#documentation": "

    The port number on which the DB instances in the DB cluster accept connections.

    " } }, - "LicenseModel": { + "SnapshotType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The license model information for this DB cluster snapshot.

    " + "smithy.api#documentation": "

    The type of DB cluster snapshot.

    " } }, "VpcId": { @@ -4785,28 +4830,28 @@ "smithy.api#documentation": "

    The VPC ID that is associated with the DB cluster snapshot.

    " } }, - "AvailabilityZones": { - "target": "com.amazonaws.securityhub#StringList", - "traits": { - "smithy.api#documentation": "

    A list of Availability Zones where instances in the DB cluster can be created.

    " - } - }, "KmsKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The ARN of the AWS KMS master key that is used to encrypt the database instances in the\n DB cluster.

    " } }, - "SnapshotType": { + "SnapshotCreateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of DB cluster snapshot.

    " + "smithy.api#documentation": "

    Indicates when the snapshot was taken.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "MasterUsername": { + "StorageEncrypted": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether the DB cluster is encrypted.

    " + } + }, + "LicenseModel": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the master user for the DB cluster.

    " + "smithy.api#documentation": "

    The license model information for this DB cluster snapshot.

    " } }, "PercentProgress": { @@ -4815,34 +4860,46 @@ "smithy.api#documentation": "

    Specifies the percentage of the estimated data that has been transferred.

    " } }, + "AllocatedStorage": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    Specifies the allocated storage size in gibibytes (GiB).

    " + } + }, + "EngineVersion": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The version of the database engine to use.

    " + } + }, "DbClusterIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The DB cluster identifier.

    " } }, - "IamDatabaseAuthenticationEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "Engine": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether mapping of IAM accounts to database accounts is enabled.

    " + "smithy.api#documentation": "

    " } }, - "AllocatedStorage": { - "target": "com.amazonaws.securityhub#Integer", + "AvailabilityZones": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    Specifies the allocated storage size in gibibytes (GiB).

    " + "smithy.api#documentation": "

    A list of Availability Zones where instances in the DB cluster can be created.

    " } }, - "Status": { + "ClusterCreateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of this DB cluster snapshot.

    " + "smithy.api#documentation": "

    Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "EngineVersion": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version of the database engine to use.

    " + "smithy.api#documentation": "

    The status of this DB cluster snapshot.

    " } }, "DbClusterSnapshotIdentifier": { @@ -4851,16 +4908,10 @@ "smithy.api#documentation": "

    The identifier of the DB cluster snapshot.

    " } }, - "Port": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The port number on which the DB instances in the DB cluster accept connections.

    " - } - }, - "ClusterCreateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IamDatabaseAuthenticationEnabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    Whether mapping of IAM accounts to database accounts is enabled.

    " } } }, @@ -4883,16 +4934,16 @@ "smithy.api#documentation": "

    The fully qualified domain name of the Active Directory domain.

    " } }, - "Status": { + "Domain": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the Active Directory Domain membership for the DB instance.

    " + "smithy.api#documentation": "

    The identifier of the Active Directory domain.

    " } }, - "Domain": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the Active Directory domain.

    " + "smithy.api#documentation": "

    The status of the Active Directory Domain membership for the DB instance.

    " } } }, @@ -4909,16 +4960,16 @@ "com.amazonaws.securityhub#AwsRdsDbInstanceAssociatedRole": { "type": "structure", "members": { - "FeatureName": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the feature associated with the IAM)role.

    " + "smithy.api#documentation": "

    Describes the state of the association between the IAM role and the DB instance. The\n Status property returns one of the following values:

    \n
      \n
    • \n

      \n ACTIVE - The IAM role ARN is associated with the DB instance and can\n be used to access other AWS services on your behalf.

      \n
    • \n
    • \n

      \n PENDING - The IAM role ARN is being associated with the DB\n instance.

      \n
    • \n
    • \n

      \n INVALID - The IAM role ARN is associated with the DB instance. But\n the DB instance is unable to assume the IAM role in order to access other AWS\n services on your behalf.

      \n
    • \n
    " } }, - "Status": { + "FeatureName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Describes the state of the association between the IAM role and the DB instance. The\n Status property returns one of the following values:

    \n
      \n
    • \n

      \n ACTIVE - The IAM role ARN is associated with the DB instance and can\n be used to access other AWS services on your behalf.

      \n
    • \n
    • \n

      \n PENDING - The IAM role ARN is being associated with the DB\n instance.

      \n
    • \n
    • \n

      \n INVALID - The IAM role ARN is associated with the DB instance. But\n the DB instance is unable to assume the IAM role in order to access other AWS\n services on your behalf.

      \n
    • \n
    " + "smithy.api#documentation": "

    The name of the feature associated with the IAM)role.

    " } }, "RoleArn": { @@ -4941,223 +4992,220 @@ "com.amazonaws.securityhub#AwsRdsDbInstanceDetails": { "type": "structure", "members": { - "PreferredBackupWindow": { + "TdeCredentialArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The range of time each day when automated backups are created, if automated backups are\n enabled.

    \n

    Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

    " + "smithy.api#documentation": "

    The ARN from the key store with which the instance is associated for TDE\n encryption.

    " } }, - "CopyTagsToSnapshot": { + "IAMDatabaseAuthenticationEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Whether to copy resource tags to snapshots of the DB instance.

    " + "smithy.api#documentation": "

    True if mapping of AWS Identity and Access Management (IAM) accounts to database\n accounts is enabled, and otherwise false.

    \n

    IAM database authentication can be enabled for the following database engines.

    \n
      \n
    • \n

      For MySQL 5.6, minor version 5.6.34 or higher

      \n
    • \n
    • \n

      For MySQL 5.7, minor version 5.7.16 or higher

      \n
    • \n
    • \n

      Aurora 5.6 or higher

      \n
    • \n
    " } }, - "MasterUsername": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "PendingModifiedValues": { + "target": "com.amazonaws.securityhub#AwsRdsDbPendingModifiedValues", "traits": { - "smithy.api#documentation": "

    The master user name of the DB instance.

    " + "smithy.api#documentation": "

    Changes to the DB instance that are currently pending.

    " } }, - "MonitoringRoleArn": { + "VpcSecurityGroups": { + "target": "com.amazonaws.securityhub#AwsRdsDbInstanceVpcSecurityGroups", + "traits": { + "smithy.api#documentation": "

    A list of VPC security groups that the DB instance belongs to.

    " + } + }, + "SecondaryAvailabilityZone": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to\n CloudWatch Logs.

    " + "smithy.api#documentation": "

    For a DB instance with multi-Availability Zone support, the name of the secondary\n Availability Zone.

    " } }, - "DbSubnetGroup": { - "target": "com.amazonaws.securityhub#AwsRdsDbSubnetGroup", + "DBClusterIdentifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the subnet group that is associated with the DB instance.

    " + "smithy.api#documentation": "

    If the DB instance is a member of a DB cluster, contains the name of the DB cluster that\n the DB instance is a member of.

    " } }, - "PromotionTier": { - "target": "com.amazonaws.securityhub#Integer", + "Timezone": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The order in which to promote an Aurora replica to the primary instance after a failure\n of the existing primary instance.

    " + "smithy.api#documentation": "

    The time zone of the DB instance.

    " } }, - "MultiAz": { + "StorageEncrypted": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Whether the DB instance is a multiple Availability Zone deployment.

    " + "smithy.api#documentation": "

    Specifies whether the DB instance is encrypted.

    " } }, - "PerformanceInsightsKmsKeyId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "DbInstancePort": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The identifier of the AWS KMS key used to encrypt the Performance Insights data.

    " + "smithy.api#documentation": "

    Specifies the port that the DB instance listens on. If the DB instance is part of a DB\n cluster, this can be a different port than the DB cluster port.

    " } }, - "ProcessorFeatures": { - "target": "com.amazonaws.securityhub#AwsRdsDbProcessorFeatures", + "Endpoint": { + "target": "com.amazonaws.securityhub#AwsRdsDbInstanceEndpoint", "traits": { - "smithy.api#documentation": "

    The number of CPU cores and the number of threads per core for the DB instance class of\n the DB instance.

    " + "smithy.api#documentation": "

    Specifies the connection endpoint.

    " } }, - "PerformanceInsightsRetentionPeriod": { + "MonitoringInterval": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The number of days to retain Performance Insights data.

    " + "smithy.api#documentation": "

    The interval, in seconds, between points when enhanced monitoring metrics are collected\n for the DB instance.

    " } }, - "DbSecurityGroups": { + "ReadReplicaDBClusterIdentifiers": { "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    A list of the DB security groups to assign to the DB instance.

    " + "smithy.api#documentation": "

    List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as\n a read replica.

    " } }, - "ListenerEndpoint": { - "target": "com.amazonaws.securityhub#AwsRdsDbInstanceEndpoint" - }, - "CharacterSetName": { + "PreferredMaintenanceWindow": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the character set that this DB instance is associated with.

    " + "smithy.api#documentation": "

    The weekly time range during which system maintenance can occur, in Universal\n Coordinated Time (UTC).

    \n

    Uses the format :HH:MM-:HH:MM.

    \n

    For the day values, use\n mon|tue|wed|thu|fri|sat|sun.

    \n

    For example, sun:09:32-sun:10:02.

    " } }, - "StorageType": { + "DbiResourceId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The storage type for the DB instance.

    " + "smithy.api#documentation": "

    The AWS Region-unique, immutable identifier for the DB instance. This identifier is\n found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is\n accessed.

    " } }, - "EnabledCloudWatchLogsExports": { - "target": "com.amazonaws.securityhub#StringList", + "OptionGroupMemberships": { + "target": "com.amazonaws.securityhub#AwsRdsDbOptionGroupMemberships", "traits": { - "smithy.api#documentation": "

    A list of log types that this DB instance is configured to export to CloudWatch\n Logs.

    " + "smithy.api#documentation": "

    The list of option group memberships for this DB instance.

    " } }, - "DBInstanceIdentifier": { + "LatestRestorableTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Contains a user-supplied database identifier. This identifier is the unique key that\n identifies a DB instance.

    " + "smithy.api#documentation": "

    Specifies the latest time to which a database can be restored with point-in-time\n restore.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "ReadReplicaDBInstanceIdentifiers": { - "target": "com.amazonaws.securityhub#StringList", + "DBInstanceClass": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    List of identifiers of the read replicas associated with this DB instance.

    " + "smithy.api#documentation": "

    Contains the name of the compute and memory capacity class of the DB instance.

    " } }, - "DBName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "StatusInfos": { + "target": "com.amazonaws.securityhub#AwsRdsDbStatusInfos", "traits": { - "smithy.api#documentation": "

    The meaning of this parameter differs according to the database engine you use.

    \n

    \n MySQL, MariaDB, SQL Server, PostgreSQL\n

    \n

    Contains the name of the initial database of this instance that was provided at create\n time, if one was specified when the DB instance was created. This same name is returned for\n the life of the DB instance.

    \n

    \n Oracle\n

    \n

    Contains the Oracle System ID (SID) of the created DB instance. Not shown when the\n returned parameters do not apply to an Oracle DB instance.

    " + "smithy.api#documentation": "

    The status of a read replica. If the instance isn't a read replica, this is\n empty.

    " } }, - "DbInstancePort": { + "Iops": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Specifies the port that the DB instance listens on. If the DB instance is part of a DB\n cluster, this can be a different port than the DB cluster port.

    " + "smithy.api#documentation": "

    Specifies the provisioned IOPS (I/O operations per second) for this DB instance.

    " } }, - "Endpoint": { - "target": "com.amazonaws.securityhub#AwsRdsDbInstanceEndpoint", + "LicenseModel": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Specifies the connection endpoint.

    " + "smithy.api#documentation": "

    License model information for this DB instance.

    " } }, - "CACertificateIdentifier": { + "DBName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the CA certificate for this DB instance.

    " + "smithy.api#documentation": "

    The meaning of this parameter differs according to the database engine you use.

    \n

    \n MySQL, MariaDB, SQL Server, PostgreSQL\n

    \n

    Contains the name of the initial database of this instance that was provided at create\n time, if one was specified when the DB instance was created. This same name is returned for\n the life of the DB instance.

    \n

    \n Oracle\n

    \n

    Contains the Oracle System ID (SID) of the created DB instance. Not shown when the\n returned parameters do not apply to an Oracle DB instance.

    " } }, - "Engine": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "PerformanceInsightsEnabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Provides the name of the database engine to use for this DB instance.

    " + "smithy.api#documentation": "

    Indicates whether Performance Insights is enabled for the DB instance.

    " } }, - "Iops": { + "BackupRetentionPeriod": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Specifies the provisioned IOPS (I/O operations per second) for this DB instance.

    " + "smithy.api#documentation": "

    The number of days for which to retain automated backups.

    " } }, - "DbParameterGroups": { - "target": "com.amazonaws.securityhub#AwsRdsDbParameterGroups", + "DbSubnetGroup": { + "target": "com.amazonaws.securityhub#AwsRdsDbSubnetGroup", "traits": { - "smithy.api#documentation": "

    A list of the DB parameter groups to assign to the DB instance.

    " + "smithy.api#documentation": "

    Information about the subnet group that is associated with the DB instance.

    " } }, - "LicenseModel": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AssociatedRoles": { + "target": "com.amazonaws.securityhub#AwsRdsDbInstanceAssociatedRoles", "traits": { - "smithy.api#documentation": "

    License model information for this DB instance.

    " + "smithy.api#documentation": "

    The AWS Identity and Access Management (IAM) roles associated with the DB\n instance.

    " } }, - "IAMDatabaseAuthenticationEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "InstanceCreateTime": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    True if mapping of AWS Identity and Access Management (IAM) accounts to database\n accounts is enabled, and otherwise false.

    \n

    IAM database authentication can be enabled for the following database engines.

    \n
      \n
    • \n

      For MySQL 5.6, minor version 5.6.34 or higher

      \n
    • \n
    • \n

      For MySQL 5.7, minor version 5.7.16 or higher

      \n
    • \n
    • \n

      Aurora 5.6 or higher

      \n
    • \n
    " + "smithy.api#documentation": "

    Indicates when the DB instance was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "PreferredMaintenanceWindow": { + "MonitoringRoleArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The weekly time range during which system maintenance can occur, in Universal\n Coordinated Time (UTC).

    \n

    Uses the format :HH:MM-:HH:MM.

    \n

    For the day values, use\n mon|tue|wed|thu|fri|sat|sun.

    \n

    For example, sun:09:32-sun:10:02.

    " + "smithy.api#documentation": "

    The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to\n CloudWatch Logs.

    " } }, - "DbiResourceId": { + "MasterUsername": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The AWS Region-unique, immutable identifier for the DB instance. This identifier is\n found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is\n accessed.

    " + "smithy.api#documentation": "

    The master user name of the DB instance.

    " } }, - "DomainMemberships": { - "target": "com.amazonaws.securityhub#AwsRdsDbDomainMemberships", + "CACertificateIdentifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The Active Directory domain membership records associated with the DB instance.

    " - } - }, - "MaxAllocatedStorage": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The upper limit to which Amazon RDS can automatically scale the storage of the DB\n instance.

    " + "smithy.api#documentation": "

    The identifier of the CA certificate for this DB instance.

    " } }, - "BackupRetentionPeriod": { - "target": "com.amazonaws.securityhub#Integer", + "DbParameterGroups": { + "target": "com.amazonaws.securityhub#AwsRdsDbParameterGroups", "traits": { - "smithy.api#documentation": "

    The number of days for which to retain automated backups.

    " + "smithy.api#documentation": "

    A list of the DB parameter groups to assign to the DB instance.

    " } }, - "DBClusterIdentifier": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ProcessorFeatures": { + "target": "com.amazonaws.securityhub#AwsRdsDbProcessorFeatures", "traits": { - "smithy.api#documentation": "

    If the DB instance is a member of a DB cluster, contains the name of the DB cluster that\n the DB instance is a member of.

    " + "smithy.api#documentation": "

    The number of CPU cores and the number of threads per core for the DB instance class of\n the DB instance.

    " } }, - "SecondaryAvailabilityZone": { + "PreferredBackupWindow": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    For a DB instance with multi-Availability Zone support, the name of the secondary\n Availability Zone.

    " + "smithy.api#documentation": "

    The range of time each day when automated backups are created, if automated backups are\n enabled.

    \n

    Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

    " } }, - "PerformanceInsightsEnabled": { + "CopyTagsToSnapshot": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether Performance Insights is enabled for the DB instance.

    " + "smithy.api#documentation": "

    Whether to copy resource tags to snapshots of the DB instance.

    " } }, - "TdeCredentialArn": { + "EnhancedMonitoringResourceArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN from the key store with which the instance is associated for TDE\n encryption.

    " + "smithy.api#documentation": "

    The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics\n data for the DB instance.

    " } }, - "StorageEncrypted": { - "target": "com.amazonaws.securityhub#Boolean", + "Engine": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Specifies whether the DB instance is encrypted.

    " + "smithy.api#documentation": "

    Provides the name of the database engine to use for this DB instance.

    " } }, - "EngineVersion": { + "PerformanceInsightsKmsKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates the database engine version.

    " + "smithy.api#documentation": "

    The identifier of the AWS KMS key used to encrypt the Performance Insights data.

    " } }, "ReadReplicaSourceDBInstanceIdentifier": { @@ -5166,28 +5214,34 @@ "smithy.api#documentation": "

    If this DB instance is a read replica, contains the identifier of the source DB\n instance.

    " } }, - "AllocatedStorage": { - "target": "com.amazonaws.securityhub#Integer", + "MultiAz": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The amount of storage (in gigabytes) to initially allocate for the DB instance.

    " + "smithy.api#documentation": "

    Whether the DB instance is a multiple Availability Zone deployment.

    " } }, - "DbInstanceStatus": { + "EngineVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The current status of the DB instance.

    " + "smithy.api#documentation": "

    Indicates the database engine version.

    " } }, - "PubliclyAccessible": { - "target": "com.amazonaws.securityhub#Boolean", + "StorageType": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Specifies the accessibility options for the DB instance.

    \n

    A value of true specifies an Internet-facing instance with a publicly resolvable DNS\n name, which resolves to a public IP address.

    \n

    A value of false specifies an internal instance with a DNS name that resolves to a\n private IP address.

    " + "smithy.api#documentation": "

    The storage type for the DB instance.

    " } }, - "DeletionProtection": { + "AutoMinorVersionUpgrade": { "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates whether the DB instance has deletion protection enabled.

    \n

    When deletion protection is enabled, the database cannot be deleted.

    " + "smithy.api#documentation": "

    Indicates whether minor version patches are applied automatically.

    " + } + }, + "DBInstanceIdentifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    Contains a user-supplied database identifier. This identifier is the unique key that\n identifies a DB instance.

    " } }, "KmsKeyId": { @@ -5196,89 +5250,86 @@ "smithy.api#documentation": "

    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted\n DB instance.

    " } }, - "AvailabilityZone": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "EnabledCloudWatchLogsExports": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    The Availability Zone where the DB instance will be created.

    " + "smithy.api#documentation": "

    A list of log types that this DB instance is configured to export to CloudWatch\n Logs.

    " } }, - "PendingModifiedValues": { - "target": "com.amazonaws.securityhub#AwsRdsDbPendingModifiedValues", + "DeletionProtection": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Changes to the DB instance that are currently pending.

    " + "smithy.api#documentation": "

    Indicates whether the DB instance has deletion protection enabled.

    \n

    When deletion protection is enabled, the database cannot be deleted.

    " } }, - "EnhancedMonitoringResourceArn": { + "AvailabilityZone": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics\n data for the DB instance.

    " + "smithy.api#documentation": "

    The Availability Zone where the DB instance will be created.

    " } }, - "LatestRestorableTime": { + "DbInstanceStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Specifies the latest time to which a database can be restored with point-in-time\n restore.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The current status of the DB instance.

    " } }, - "DBInstanceClass": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ReadReplicaDBInstanceIdentifiers": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    Contains the name of the compute and memory capacity class of the DB instance.

    " + "smithy.api#documentation": "

    List of identifiers of the read replicas associated with this DB instance.

    " } }, - "InstanceCreateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "PubliclyAccessible": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    Indicates when the DB instance was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    Specifies the accessibility options for the DB instance.

    \n

    A value of true specifies an Internet-facing instance with a publicly resolvable DNS\n name, which resolves to a public IP address.

    \n

    A value of false specifies an internal instance with a DNS name that resolves to a\n private IP address.

    " } }, - "AssociatedRoles": { - "target": "com.amazonaws.securityhub#AwsRdsDbInstanceAssociatedRoles", + "MaxAllocatedStorage": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The AWS Identity and Access Management (IAM) roles associated with the DB\n instance.

    " + "smithy.api#documentation": "

    The upper limit to which Amazon RDS can automatically scale the storage of the DB\n instance.

    " } }, - "StatusInfos": { - "target": "com.amazonaws.securityhub#AwsRdsDbStatusInfos", + "AllocatedStorage": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The status of a read replica. If the instance isn't a read replica, this is\n empty.

    " + "smithy.api#documentation": "

    The amount of storage (in gigabytes) to initially allocate for the DB instance.

    " } }, - "OptionGroupMemberships": { - "target": "com.amazonaws.securityhub#AwsRdsDbOptionGroupMemberships", + "DomainMemberships": { + "target": "com.amazonaws.securityhub#AwsRdsDbDomainMemberships", "traits": { - "smithy.api#documentation": "

    The list of option group memberships for this DB instance.

    " + "smithy.api#documentation": "

    The Active Directory domain membership records associated with the DB instance.

    " } }, - "Timezone": { + "CharacterSetName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The time zone of the DB instance.

    " + "smithy.api#documentation": "

    The name of the character set that this DB instance is associated with.

    " } }, - "MonitoringInterval": { + "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The interval, in seconds, between points when enhanced monitoring metrics are collected\n for the DB instance.

    " + "smithy.api#documentation": "

    The number of days to retain Performance Insights data.

    " } }, - "ReadReplicaDBClusterIdentifiers": { - "target": "com.amazonaws.securityhub#StringList", + "PromotionTier": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as\n a read replica.

    " + "smithy.api#documentation": "

    The order in which to promote an Aurora replica to the primary instance after a failure\n of the existing primary instance.

    " } }, - "AutoMinorVersionUpgrade": { - "target": "com.amazonaws.securityhub#Boolean", + "DbSecurityGroups": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    Indicates whether minor version patches are applied automatically.

    " + "smithy.api#documentation": "

    A list of the DB security groups to assign to the DB instance.

    " } }, - "VpcSecurityGroups": { - "target": "com.amazonaws.securityhub#AwsRdsDbInstanceVpcSecurityGroups", - "traits": { - "smithy.api#documentation": "

    A list of VPC security groups that the DB instance belongs to.

    " - } + "ListenerEndpoint": { + "target": "com.amazonaws.securityhub#AwsRdsDbInstanceEndpoint" } }, "traits": { @@ -5314,16 +5365,16 @@ "com.amazonaws.securityhub#AwsRdsDbInstanceVpcSecurityGroup": { "type": "structure", "members": { - "Status": { + "VpcSecurityGroupId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the VPC security group.

    " + "smithy.api#documentation": "

    The name of the VPC security group.

    " } }, - "VpcSecurityGroupId": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the VPC security group.

    " + "smithy.api#documentation": "

    The status of the VPC security group.

    " } } }, @@ -5340,13 +5391,13 @@ "com.amazonaws.securityhub#AwsRdsDbOptionGroupMembership": { "type": "structure", "members": { - "Status": { + "OptionGroupName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "OptionGroupName": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " @@ -5392,92 +5443,92 @@ "com.amazonaws.securityhub#AwsRdsDbPendingModifiedValues": { "type": "structure", "members": { - "PendingCloudWatchLogsExports": { - "target": "com.amazonaws.securityhub#AwsRdsPendingCloudWatchLogsExports", + "StorageType": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "DbSubnetGroupName": { + "LicenseModel": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "DbInstanceClass": { + "DbInstanceIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "MasterUserPassword": { + "EngineVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "ProcessorFeatures": { - "target": "com.amazonaws.securityhub#AwsRdsDbProcessorFeatures", + "Port": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "DbInstanceIdentifier": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Iops": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "EngineVersion": { + "CaCertificateIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "StorageType": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ProcessorFeatures": { + "target": "com.amazonaws.securityhub#AwsRdsDbProcessorFeatures", "traits": { "smithy.api#documentation": "

    " } }, - "LicenseModel": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AllocatedStorage": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "MultiAZ": { - "target": "com.amazonaws.securityhub#Boolean", + "MasterUserPassword": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "CaCertificateIdentifier": { + "DbSubnetGroupName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "BackupRetentionPeriod": { - "target": "com.amazonaws.securityhub#Integer", + "PendingCloudWatchLogsExports": { + "target": "com.amazonaws.securityhub#AwsRdsPendingCloudWatchLogsExports", "traits": { "smithy.api#documentation": "

    " } }, - "AllocatedStorage": { + "BackupRetentionPeriod": { "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "Iops": { - "target": "com.amazonaws.securityhub#Integer", + "DbInstanceClass": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "Port": { - "target": "com.amazonaws.securityhub#Integer", + "MultiAZ": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    " } @@ -5516,85 +5567,85 @@ "com.amazonaws.securityhub#AwsRdsDbSnapshotDetails": { "type": "structure", "members": { - "ProcessorFeatures": { - "target": "com.amazonaws.securityhub#AwsRdsDbProcessorFeatures", + "AvailabilityZone": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "TdeCredentialArn": { + "OptionGroupName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "IamDatabaseAuthenticationEnabled": { - "target": "com.amazonaws.securityhub#Boolean", + "PercentProgress": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "Encrypted": { - "target": "com.amazonaws.securityhub#Boolean", + "VpcId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "Port": { - "target": "com.amazonaws.securityhub#Integer", + "KmsKeyId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "AvailabilityZone": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "DbiResourceId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IamDatabaseAuthenticationEnabled": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    " } }, - "SnapshotType": { + "Engine": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "LicenseModel": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ProcessorFeatures": { + "target": "com.amazonaws.securityhub#AwsRdsDbProcessorFeatures", "traits": { "smithy.api#documentation": "

    " } }, - "InstanceCreateTime": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Encrypted": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    " } }, - "VpcId": { + "EngineVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "Timezone": { + "StorageType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "DbInstanceIdentifier": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AllocatedStorage": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "KmsKeyId": { + "SnapshotType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " @@ -5606,74 +5657,74 @@ "smithy.api#documentation": "

    " } }, - "DbSnapshotIdentifier": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Port": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "SourceRegion": { + "InstanceCreateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "Iops": { - "target": "com.amazonaws.securityhub#Integer", + "DbInstanceIdentifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "SnapshotCreateTime": { + "TdeCredentialArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "Engine": { + "DbSnapshotIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "SourceDbSnapshotIdentifier": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Iops": { + "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    " } }, - "Status": { + "SourceDbSnapshotIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "EngineVersion": { + "LicenseModel": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "StorageType": { + "Timezone": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "PercentProgress": { - "target": "com.amazonaws.securityhub#Integer", + "SourceRegion": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "OptionGroupName": { + "SnapshotCreateTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } }, - "AllocatedStorage": { - "target": "com.amazonaws.securityhub#Integer", + "DbiResourceId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    " } @@ -5724,40 +5775,40 @@ "com.amazonaws.securityhub#AwsRdsDbSubnetGroup": { "type": "structure", "members": { - "VpcId": { + "SubnetGroupStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The VPC ID of the subnet group.

    " + "smithy.api#documentation": "

    The status of the subnet group.

    " } }, - "Subnets": { - "target": "com.amazonaws.securityhub#AwsRdsDbSubnetGroupSubnets", + "DbSubnetGroupName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of subnets in the subnet group.

    " + "smithy.api#documentation": "

    The name of the subnet group.

    " } }, - "SubnetGroupStatus": { + "DbSubnetGroupArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the subnet group.

    " + "smithy.api#documentation": "

    The ARN of the subnet group.

    " } }, - "DbSubnetGroupDescription": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Subnets": { + "target": "com.amazonaws.securityhub#AwsRdsDbSubnetGroupSubnets", "traits": { - "smithy.api#documentation": "

    The description of the subnet group.

    " + "smithy.api#documentation": "

    A list of subnets in the subnet group.

    " } }, - "DbSubnetGroupName": { + "DbSubnetGroupDescription": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the subnet group.

    " + "smithy.api#documentation": "

    The description of the subnet group.

    " } }, - "DbSubnetGroupArn": { + "VpcId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the subnet group.

    " + "smithy.api#documentation": "

    The VPC ID of the subnet group.

    " } } }, @@ -5768,6 +5819,12 @@ "com.amazonaws.securityhub#AwsRdsDbSubnetGroupSubnet": { "type": "structure", "members": { + "SubnetAvailabilityZone": { + "target": "com.amazonaws.securityhub#AwsRdsDbSubnetGroupSubnetAvailabilityZone", + "traits": { + "smithy.api#documentation": "

    Information about the Availability Zone for a subnet in the subnet group.

    " + } + }, "SubnetIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -5779,12 +5836,6 @@ "traits": { "smithy.api#documentation": "

    The status of a subnet in the subnet group.

    " } - }, - "SubnetAvailabilityZone": { - "target": "com.amazonaws.securityhub#AwsRdsDbSubnetGroupSubnetAvailabilityZone", - "traits": { - "smithy.api#documentation": "

    Information about the Availability Zone for a subnet in the subnet group.

    " - } } }, "traits": { @@ -5814,16 +5865,16 @@ "com.amazonaws.securityhub#AwsRdsPendingCloudWatchLogsExports": { "type": "structure", "members": { - "LogTypesToEnable": { + "LogTypesToDisable": { "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    A list of log types that are being enabled.

    " + "smithy.api#documentation": "

    A list of log types that are being disabled.

    " } }, - "LogTypesToDisable": { + "LogTypesToEnable": { "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    A list of log types that are being disabled.

    " + "smithy.api#documentation": "

    A list of log types that are being enabled.

    " } } }, @@ -5834,10 +5885,10 @@ "com.amazonaws.securityhub#AwsRedshiftClusterClusterNode": { "type": "structure", "members": { - "PrivateIpAddress": { + "PublicIpAddress": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The private IP address of the node.

    " + "smithy.api#documentation": "

    The public IP address of the node.

    " } }, "NodeRole": { @@ -5846,10 +5897,10 @@ "smithy.api#documentation": "

    The role of the node. A node might be a leader node or a compute node.

    " } }, - "PublicIpAddress": { + "PrivateIpAddress": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The public IP address of the node.

    " + "smithy.api#documentation": "

    The private IP address of the node.

    " } } }, @@ -5866,10 +5917,10 @@ "com.amazonaws.securityhub#AwsRedshiftClusterClusterParameterGroup": { "type": "structure", "members": { - "ClusterParameterStatusList": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterParameterStatusList", + "ParameterGroupName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of parameter statuses.

    " + "smithy.api#documentation": "

    The name of the parameter group.

    " } }, "ParameterApplyStatus": { @@ -5878,10 +5929,10 @@ "smithy.api#documentation": "

    The status of updates to the parameters.

    " } }, - "ParameterGroupName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ClusterParameterStatusList": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterParameterStatusList", "traits": { - "smithy.api#documentation": "

    The name of the parameter group.

    " + "smithy.api#documentation": "

    The list of parameter statuses.

    " } } }, @@ -5898,10 +5949,10 @@ "com.amazonaws.securityhub#AwsRedshiftClusterClusterParameterStatus": { "type": "structure", "members": { - "ParameterApplyErrorDescription": { + "ParameterApplyStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The error that prevented the parameter from being applied to the database.

    " + "smithy.api#documentation": "

    The status of the parameter. Indicates whether the parameter is in sync with the\n database, waiting for a cluster reboot, or encountered an error when it was applied.

    \n

    Valid values: in-sync | pending-reboot | applying\n | invalid-parameter | apply-deferred | apply-error |\n unknown-error\n

    " } }, "ParameterName": { @@ -5910,10 +5961,10 @@ "smithy.api#documentation": "

    The name of the parameter.

    " } }, - "ParameterApplyStatus": { + "ParameterApplyErrorDescription": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the parameter. Indicates whether the parameter is in sync with the\n database, waiting for a cluster reboot, or encountered an error when it was applied.

    \n

    Valid values: in-sync | pending-reboot | applying\n | invalid-parameter | apply-deferred | apply-error |\n unknown-error\n

    " + "smithy.api#documentation": "

    The error that prevented the parameter from being applied to the database.

    " } } }, @@ -5956,28 +6007,28 @@ "com.amazonaws.securityhub#AwsRedshiftClusterClusterSnapshotCopyStatus": { "type": "structure", "members": { - "ManualSnapshotRetentionPeriod": { + "RetentionPeriod": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The number of days that manual snapshots are retained in the destination region after\n they are copied from a source region.

    \n

    If the value is -1, then the manual snapshot is retained indefinitely.

    \n

    Valid values: Either -1 or an integer between 1 and 3,653

    " + "smithy.api#documentation": "

    The number of days to retain automated snapshots in the destination Region after they\n are copied from a source Region.

    " } }, - "DestinationRegion": { + "SnapshotCopyGrantName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The destination Region that snapshots are automatically copied to when cross-Region\n snapshot copy is enabled.

    " + "smithy.api#documentation": "

    The name of the snapshot copy grant.

    " } }, - "RetentionPeriod": { + "ManualSnapshotRetentionPeriod": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The number of days to retain automated snapshots in the destination Region after they\n are copied from a source Region.

    " + "smithy.api#documentation": "

    The number of days that manual snapshots are retained in the destination region after\n they are copied from a source region.

    \n

    If the value is -1, then the manual snapshot is retained indefinitely.

    \n

    Valid values: Either -1 or an integer between 1 and 3,653

    " } }, - "SnapshotCopyGrantName": { + "DestinationRegion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the snapshot copy grant.

    " + "smithy.api#documentation": "

    The destination Region that snapshots are automatically copied to when cross-Region\n snapshot copy is enabled.

    " } } }, @@ -5988,10 +6039,10 @@ "com.amazonaws.securityhub#AwsRedshiftClusterDeferredMaintenanceWindow": { "type": "structure", "members": { - "DeferMaintenanceStartTime": { + "DeferMaintenanceEndTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The start of the time window for which maintenance was deferred.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The end of the time window for which maintenance was deferred.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, "DeferMaintenanceIdentifier": { @@ -6000,10 +6051,10 @@ "smithy.api#documentation": "

    The identifier of the maintenance window.

    " } }, - "DeferMaintenanceEndTime": { + "DeferMaintenanceStartTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The end of the time window for which maintenance was deferred.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The start of the time window for which maintenance was deferred.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -6020,46 +6071,40 @@ "com.amazonaws.securityhub#AwsRedshiftClusterDetails": { "type": "structure", "members": { - "IamRoles": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterIamRoles", - "traits": { - "smithy.api#documentation": "

    A list of IAM roles that the cluster can use to access other AWS services.

    " - } - }, - "KmsKeyId": { + "ClusterSubnetGroupName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the AWS KMS encryption key that is used to encrypt data in the\n cluster.

    " + "smithy.api#documentation": "

    The name of the subnet group that is associated with the cluster. This parameter is\n valid only when the cluster is in a VPC.

    " } }, - "ClusterAvailabilityStatus": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The availability status of the cluster for queries. Possible values are the\n following:

    \n
      \n
    • \n

      \n Available - The cluster is available for queries.

      \n
    • \n
    • \n

      \n Unavailable - The cluster is not available for queries.

      \n
    • \n
    • \n

      \n Maintenance - The cluster is intermittently available for queries due\n to maintenance activities.

      \n
    • \n
    • \n

      \n Modifying -The cluster is intermittently available for queries due to\n changes that modify the cluster.

      \n
    • \n
    • \n

      \n Failed - The cluster failed and is not available for queries.

      \n
    • \n
    " + "smithy.api#documentation": "

    The default number of days to retain a manual snapshot.

    \n

    If the value is -1, the snapshot is retained indefinitely.

    \n

    This setting doesn't change the retention period of existing snapshots.

    \n

    Valid values: Either -1 or an integer between 1 and 3,653

    " } }, - "DBName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AllowVersionUpgrade": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The name of the initial database that was created when the cluster was created.

    \n

    The same name is returned for the life of the cluster.

    \n

    If an initial database is not specified, a database named devdev is created\n by default.

    " + "smithy.api#documentation": "

    Indicates whether major version upgrades are applied automatically to the cluster during\n the maintenance window.

    " } }, - "AvailabilityZone": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ClusterParameterGroups": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterParameterGroups", "traits": { - "smithy.api#documentation": "

    The name of the Availability Zone in which the cluster is located.

    " + "smithy.api#documentation": "

    The list of cluster parameter groups that are associated with this cluster.

    " } }, - "ExpectedNextSnapshotScheduleTimeStatus": { + "MaintenanceTrackName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the next expected snapshot.

    \n

    Valid values: OnTrack | Pending\n

    " + "smithy.api#documentation": "

    The name of the maintenance track for the cluster.

    " } }, - "ClusterVersion": { + "ClusterPublicKey": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version ID of the Amazon Redshift engine that runs on the cluster.

    " + "smithy.api#documentation": "

    The public key for the cluster.

    " } }, "ResizeInfo": { @@ -6068,28 +6113,40 @@ "smithy.api#documentation": "

    Information about the resize operation for the cluster.

    " } }, + "ClusterVersion": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The version ID of the Amazon Redshift engine that runs on the cluster.

    " + } + }, "NextMaintenanceWindowStartTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    Indicates the start of the next maintenance window.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "PubliclyAccessible": { - "target": "com.amazonaws.securityhub#Boolean", + "ElasticResizeNumberOfNodeOptions": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether the cluster can be accessed from a public network.

    " + "smithy.api#documentation": "

    The number of nodes that you can use the elastic resize method to resize the cluster\n to.

    " } }, - "MaintenanceTrackName": { + "SnapshotScheduleIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the maintenance track for the cluster.

    " + "smithy.api#documentation": "

    A unique identifier for the cluster snapshot schedule.

    " } }, - "ClusterParameterGroups": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterParameterGroups", + "ClusterSecurityGroups": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterSecurityGroups", "traits": { - "smithy.api#documentation": "

    The list of cluster parameter groups that are associated with this cluster.

    " + "smithy.api#documentation": "

    A list of cluster security groups that are associated with the cluster.

    " + } + }, + "MasterUsername": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The master user name for the cluster. This name is used to connect to the database that\n is specified in as the value of DBName.

    " } }, "ClusterStatus": { @@ -6098,34 +6155,40 @@ "smithy.api#documentation": "

    The current status of the cluster.

    \n

    Valid values: available | available, prep-for-resize |\n available, resize-cleanup | cancelling-resize |\n creating | deleting | final-snapshot |\n hardware-failure | incompatible-hsm |\n incompatible-network | incompatible-parameters |\n incompatible-restore | modifying | paused |\n rebooting | renaming | resizing |\n rotating-keys | storage-full |\n updating-hsm\n

    " } }, - "ManualSnapshotRetentionPeriod": { - "target": "com.amazonaws.securityhub#Integer", + "PubliclyAccessible": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The default number of days to retain a manual snapshot.

    \n

    If the value is -1, the snapshot is retained indefinitely.

    \n

    This setting doesn't change the retention period of existing snapshots.

    \n

    Valid values: Either -1 or an integer between 1 and 3,653

    " + "smithy.api#documentation": "

    Whether the cluster can be accessed from a public network.

    " } }, - "ClusterSubnetGroupName": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "RestoreStatus": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterRestoreStatus", "traits": { - "smithy.api#documentation": "

    The name of the subnet group that is associated with the cluster. This parameter is\n valid only when the cluster is in a VPC.

    " + "smithy.api#documentation": "

    Information about the status of a cluster restore action. Only applies to a cluster that\n was created by restoring a snapshot.

    " } }, - "AllowVersionUpgrade": { - "target": "com.amazonaws.securityhub#Boolean", + "PendingActions": { + "target": "com.amazonaws.securityhub#StringList", "traits": { - "smithy.api#documentation": "

    Indicates whether major version upgrades are applied automatically to the cluster during\n the maintenance window.

    " + "smithy.api#documentation": "

    A list of cluster operations that are waiting to start.

    " } }, - "ClusterNodes": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterNodes", + "ClusterCreateTime": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The nodes in the cluster.

    " + "smithy.api#documentation": "

    Indicates when the cluster was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "ElasticResizeNumberOfNodeOptions": { + "Encrypted": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Indicates whether the data in the cluster is encrypted at rest.

    " + } + }, + "NodeType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The number of nodes that you can use the elastic resize method to resize the cluster\n to.

    " + "smithy.api#documentation": "

    The node type for the nodes in the cluster.

    " } }, "PendingModifiedValues": { @@ -6134,10 +6197,28 @@ "smithy.api#documentation": "

    A list of changes to the cluster that are currently pending.

    " } }, - "ClusterRevisionNumber": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "VpcSecurityGroups": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterVpcSecurityGroups", "traits": { - "smithy.api#documentation": "

    The specific revision number of the database in the cluster.

    " + "smithy.api#documentation": "

    The list of VPC security groups that the cluster belongs to, if the cluster is in a\n VPC.

    " + } + }, + "ClusterNodes": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterNodes", + "traits": { + "smithy.api#documentation": "

    The nodes in the cluster.

    " + } + }, + "ElasticIpStatus": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterElasticIpStatus", + "traits": { + "smithy.api#documentation": "

    Information about the status of the Elastic IP (EIP) address.

    " + } + }, + "HsmStatus": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterHsmStatus", + "traits": { + "smithy.api#documentation": "

    Information about whether the Amazon Redshift cluster finished applying any changes to\n hardware security module (HSM) settings that were specified in a modify cluster\n command.

    " } }, "ClusterSnapshotCopyStatus": { @@ -6152,22 +6233,10 @@ "smithy.api#documentation": "

    The unique identifier of the cluster.

    " } }, - "PreferredMaintenanceWindow": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Endpoint": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterEndpoint", "traits": { - "smithy.api#documentation": "

    The weekly time range, in Universal Coordinated Time (UTC), during which system\n maintenance can occur.

    \n

    Format:\n \n :HH:MM-:HH:MM\n

    \n

    For the day values, use mon | tue | wed |\n thu | fri | sat | sun\n

    \n

    For example, sun:09:32-sun:10:02\n

    " - } - }, - "NumberOfNodes": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The number of compute nodes in the cluster.

    " - } - }, - "ClusterSecurityGroups": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterClusterSecurityGroups", - "traits": { - "smithy.api#documentation": "

    A list of cluster security groups that are associated with the cluster.

    " + "smithy.api#documentation": "

    The connection endpoint.

    " } }, "VpcId": { @@ -6176,58 +6245,58 @@ "smithy.api#documentation": "

    The identifier of the VPC that the cluster is in, if the cluster is in a VPC.

    " } }, - "EnhancedVpcRouting": { - "target": "com.amazonaws.securityhub#Boolean", + "AvailabilityZone": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether to create the cluster with enhanced VPC routing enabled.

    " + "smithy.api#documentation": "

    The name of the Availability Zone in which the cluster is located.

    " } }, - "VpcSecurityGroups": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterVpcSecurityGroups", + "DBName": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of VPC security groups that the cluster belongs to, if the cluster is in a\n VPC.

    " + "smithy.api#documentation": "

    The name of the initial database that was created when the cluster was created.

    \n

    The same name is returned for the life of the cluster.

    \n

    If an initial database is not specified, a database named devdev is created\n by default.

    " } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.securityhub#Integer", + "ClusterRevisionNumber": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The number of days that automatic cluster snapshots are retained.

    " + "smithy.api#documentation": "

    The specific revision number of the database in the cluster.

    " } }, - "Encrypted": { - "target": "com.amazonaws.securityhub#Boolean", + "KmsKeyId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether the data in the cluster is encrypted at rest.

    " + "smithy.api#documentation": "

    The identifier of the AWS KMS encryption key that is used to encrypt data in the\n cluster.

    " } }, - "PendingActions": { - "target": "com.amazonaws.securityhub#StringList", + "IamRoles": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterIamRoles", "traits": { - "smithy.api#documentation": "

    A list of cluster operations that are waiting to start.

    " + "smithy.api#documentation": "

    A list of IAM roles that the cluster can use to access other AWS services.

    " } }, - "ClusterCreateTime": { + "ClusterAvailabilityStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the cluster was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The availability status of the cluster for queries. Possible values are the\n following:

    \n
      \n
    • \n

      \n Available - The cluster is available for queries.

      \n
    • \n
    • \n

      \n Unavailable - The cluster is not available for queries.

      \n
    • \n
    • \n

      \n Maintenance - The cluster is intermittently available for queries due\n to maintenance activities.

      \n
    • \n
    • \n

      \n Modifying -The cluster is intermittently available for queries due to\n changes that modify the cluster.

      \n
    • \n
    • \n

      \n Failed - The cluster failed and is not available for queries.

      \n
    • \n
    " } }, - "DeferredMaintenanceWindows": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterDeferredMaintenanceWindows", + "AutomatedSnapshotRetentionPeriod": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    List of time windows during which maintenance was deferred.

    " + "smithy.api#documentation": "

    The number of days that automatic cluster snapshots are retained.

    " } }, - "MasterUsername": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "EnhancedVpcRouting": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The master user name for the cluster. This name is used to connect to the database that\n is specified in as the value of DBName.

    " + "smithy.api#documentation": "

    Indicates whether to create the cluster with enhanced VPC routing enabled.

    " } }, - "SnapshotScheduleState": { + "PreferredMaintenanceWindow": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The current state of the cluster snapshot schedule.

    \n

    Valid values: MODIFYING | ACTIVE | FAILED\n

    " + "smithy.api#documentation": "

    The weekly time range, in Universal Coordinated Time (UTC), during which system\n maintenance can occur.

    \n

    Format:\n \n :HH:MM-:HH:MM\n

    \n

    For the day values, use mon | tue | wed |\n thu | fri | sat | sun\n

    \n

    For example, sun:09:32-sun:10:02\n

    " } }, "ExpectedNextSnapshotScheduleTime": { @@ -6236,46 +6305,28 @@ "smithy.api#documentation": "

    Indicates when the next snapshot is expected to be taken. The cluster must have a valid\n snapshot schedule and have backups enabled.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "ElasticIpStatus": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterElasticIpStatus", - "traits": { - "smithy.api#documentation": "

    Information about the status of the Elastic IP (EIP) address.

    " - } - }, - "NodeType": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The node type for the nodes in the cluster.

    " - } - }, - "Endpoint": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterEndpoint", - "traits": { - "smithy.api#documentation": "

    The connection endpoint.

    " - } - }, - "SnapshotScheduleIdentifier": { + "SnapshotScheduleState": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A unique identifier for the cluster snapshot schedule.

    " + "smithy.api#documentation": "

    The current state of the cluster snapshot schedule.

    \n

    Valid values: MODIFYING | ACTIVE | FAILED\n

    " } }, - "HsmStatus": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterHsmStatus", + "DeferredMaintenanceWindows": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterDeferredMaintenanceWindows", "traits": { - "smithy.api#documentation": "

    Information about whether the Amazon Redshift cluster finished applying any changes to\n hardware security module (HSM) settings that were specified in a modify cluster\n command.

    " + "smithy.api#documentation": "

    List of time windows during which maintenance was deferred.

    " } }, - "RestoreStatus": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterRestoreStatus", + "NumberOfNodes": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Information about the status of a cluster restore action. Only applies to a cluster that\n was created by restoring a snapshot.

    " + "smithy.api#documentation": "

    The number of compute nodes in the cluster.

    " } }, - "ClusterPublicKey": { + "ExpectedNextSnapshotScheduleTimeStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The public key for the cluster.

    " + "smithy.api#documentation": "

    The status of the next expected snapshot.

    \n

    Valid values: OnTrack | Pending\n

    " } } }, @@ -6286,16 +6337,16 @@ "com.amazonaws.securityhub#AwsRedshiftClusterElasticIpStatus": { "type": "structure", "members": { - "Status": { + "ElasticIp": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the elastic IP address.

    " + "smithy.api#documentation": "

    The elastic IP address for the cluster.

    " } }, - "ElasticIp": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The elastic IP address for the cluster.

    " + "smithy.api#documentation": "

    The status of the elastic IP address.

    " } } }, @@ -6332,16 +6383,16 @@ "smithy.api#documentation": "

    The name of the HSM configuration that contains the information that the Amazon Redshift\n cluster can use to retrieve and store keys in an HSM.

    " } }, - "HsmClientCertificateIdentifier": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve\n the data encryption keys that are stored in an HSM.

    " + "smithy.api#documentation": "

    Indicates whether the Amazon Redshift cluster has finished applying any HSM settings\n changes specified in a modify cluster command.

    \n

    Type: String

    \n

    Valid values: active | applying\n

    " } }, - "Status": { + "HsmClientCertificateIdentifier": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether the Amazon Redshift cluster has finished applying any HSM settings\n changes specified in a modify cluster command.

    \n

    Type: String

    \n

    Valid values: active | applying\n

    " + "smithy.api#documentation": "

    The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve\n the data encryption keys that are stored in an HSM.

    " } } }, @@ -6352,16 +6403,16 @@ "com.amazonaws.securityhub#AwsRedshiftClusterIamRole": { "type": "structure", "members": { - "ApplyStatus": { + "IamRoleArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the IAM role's association with the cluster.

    \n

    Valid values: in-sync | adding | removing\n

    " + "smithy.api#documentation": "

    The ARN of the IAM role.

    " } }, - "IamRoleArn": { + "ApplyStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the IAM role.

    " + "smithy.api#documentation": "

    The status of the IAM role's association with the cluster.

    \n

    Valid values: in-sync | adding | removing\n

    " } } }, @@ -6384,28 +6435,28 @@ "smithy.api#documentation": "

    The pending or in-progress change to the number of nodes in the cluster.

    " } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.securityhub#Integer", + "ClusterVersion": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The pending or in-progress change to the automated snapshot retention period.

    " + "smithy.api#documentation": "

    The pending or in-progress change to the service version.

    " } }, - "EnhancedVpcRouting": { - "target": "com.amazonaws.securityhub#Boolean", + "ClusterIdentifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates whether to create the cluster with enhanced VPC routing enabled.

    " + "smithy.api#documentation": "

    The pending or in-progress change to the identifier for the cluster.

    " } }, - "MaintenanceTrackName": { + "ClusterType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the maintenance track that the cluster changes to during the next\n maintenance window.

    " + "smithy.api#documentation": "

    The pending or in-progress change to the cluster type.

    " } }, - "NodeType": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "PubliclyAccessible": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The pending or in-progress change to the cluster's node type.

    " + "smithy.api#documentation": "

    The pending or in-progress change to whether the cluster can be connected to from the\n public network.

    " } }, "MasterUserPassword": { @@ -6414,34 +6465,34 @@ "smithy.api#documentation": "

    The pending or in-progress change to the master user password for the cluster.

    " } }, - "EncryptionType": { + "NodeType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The encryption type for a cluster.

    " + "smithy.api#documentation": "

    The pending or in-progress change to the cluster's node type.

    " } }, - "ClusterVersion": { + "EncryptionType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The pending or in-progress change to the service version.

    " + "smithy.api#documentation": "

    The encryption type for a cluster.

    " } }, - "PubliclyAccessible": { - "target": "com.amazonaws.securityhub#Boolean", + "AutomatedSnapshotRetentionPeriod": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The pending or in-progress change to whether the cluster can be connected to from the\n public network.

    " + "smithy.api#documentation": "

    The pending or in-progress change to the automated snapshot retention period.

    " } }, - "ClusterIdentifier": { + "MaintenanceTrackName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The pending or in-progress change to the identifier for the cluster.

    " + "smithy.api#documentation": "

    The name of the maintenance track that the cluster changes to during the next\n maintenance window.

    " } }, - "ClusterType": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "EnhancedVpcRouting": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The pending or in-progress change to the cluster type.

    " + "smithy.api#documentation": "

    Indicates whether to create the cluster with enhanced VPC routing enabled.

    " } } }, @@ -6452,17 +6503,17 @@ "com.amazonaws.securityhub#AwsRedshiftClusterResizeInfo": { "type": "structure", "members": { - "ResizeType": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The type of resize operation.

    \n

    Valid values: ClassicResize\n

    " - } - }, "AllowCancelResize": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Indicates whether the resize operation can be canceled.

    " } + }, + "ResizeType": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The type of resize operation.

    \n

    Valid values: ClassicResize\n

    " + } } }, "traits": { @@ -6478,16 +6529,10 @@ "smithy.api#documentation": "

    The size of the set of snapshot data that was used to restore the cluster.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " } }, - "Status": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The status of the restore action.

    \n

    Valid values: starting | restoring | completed |\n failed\n

    " - } - }, - "ProgressInMegaBytes": { + "EstimatedTimeToCompletionInSeconds": { "target": "com.amazonaws.securityhub#Long", "traits": { - "smithy.api#documentation": "

    The number of megabytes that were transferred from snapshot storage.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " + "smithy.api#documentation": "

    The estimate of the time remaining before the restore is complete. Returns 0 for a\n completed restore.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " } }, "CurrentRestoreRateInMegaBytesPerSecond": { @@ -6496,10 +6541,10 @@ "smithy.api#documentation": "

    The number of megabytes per second being transferred from the backup storage. Returns\n the average rate for a completed backup.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " } }, - "EstimatedTimeToCompletionInSeconds": { - "target": "com.amazonaws.securityhub#Long", + "Status": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The estimate of the time remaining before the restore is complete. Returns 0 for a\n completed restore.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " + "smithy.api#documentation": "

    The status of the restore action.

    \n

    Valid values: starting | restoring | completed |\n failed\n

    " } }, "ElapsedTimeInSeconds": { @@ -6507,6 +6552,12 @@ "traits": { "smithy.api#documentation": "

    The amount of time an in-progress restore has been running, or the amount of time it\n took a completed restore to finish.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " } + }, + "ProgressInMegaBytes": { + "target": "com.amazonaws.securityhub#Long", + "traits": { + "smithy.api#documentation": "

    The number of megabytes that were transferred from snapshot storage.

    \n

    This field is only updated when you restore to DC2 and DS2 node types.

    " + } } }, "traits": { @@ -6516,16 +6567,16 @@ "com.amazonaws.securityhub#AwsRedshiftClusterVpcSecurityGroup": { "type": "structure", "members": { - "Status": { + "VpcSecurityGroupId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The status of the VPC security group.

    " + "smithy.api#documentation": "

    The identifier of the VPC security group.

    " } }, - "VpcSecurityGroupId": { + "Status": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the VPC security group.

    " + "smithy.api#documentation": "

    The status of the VPC security group.

    " } } }, @@ -6542,28 +6593,28 @@ "com.amazonaws.securityhub#AwsS3BucketDetails": { "type": "structure", "members": { - "ServerSideEncryptionConfiguration": { - "target": "com.amazonaws.securityhub#AwsS3BucketServerSideEncryptionConfiguration", - "traits": { - "smithy.api#documentation": "

    The encryption rules that are applied to the S3 bucket.

    " - } - }, "OwnerId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The canonical user ID of the owner of the S3 bucket.

    " } }, - "CreatedAt": { + "OwnerName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the S3 bucket was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The display name of the owner of the S3 bucket.

    " } }, - "OwnerName": { + "ServerSideEncryptionConfiguration": { + "target": "com.amazonaws.securityhub#AwsS3BucketServerSideEncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

    The encryption rules that are applied to the S3 bucket.

    " + } + }, + "CreatedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The display name of the owner of the S3 bucket.

    " + "smithy.api#documentation": "

    Indicates when the S3 bucket was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -6634,16 +6685,16 @@ "smithy.api#documentation": "

    If the object is stored using server-side encryption, the value of the server-side\n encryption algorithm used when storing this object in Amazon S3.

    " } }, - "SSEKMSKeyId": { + "ETag": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed\n customer master key (CMK) that was used for the object.

    " + "smithy.api#documentation": "

    The opaque identifier assigned by a web server to a specific version of a resource found\n at a URL.

    " } }, - "ContentType": { + "VersionId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A standard MIME type describing the format of the object data.

    " + "smithy.api#documentation": "

    The version of the object.

    " } }, "LastModified": { @@ -6652,16 +6703,16 @@ "smithy.api#documentation": "

    Indicates when the object was last modified.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "VersionId": { + "SSEKMSKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version of the object.

    " + "smithy.api#documentation": "

    The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed\n customer master key (CMK) that was used for the object.

    " } }, - "ETag": { + "ContentType": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The opaque identifier assigned by a web server to a specific version of a resource found\n at a URL.

    " + "smithy.api#documentation": "

    A standard MIME type describing the format of the object data.

    " } } }, @@ -6672,34 +6723,22 @@ "com.amazonaws.securityhub#AwsSecretsManagerSecretDetails": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The user-provided description of the secret.

    " - } - }, "RotationEnabled": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Whether rotation is enabled.

    " } }, - "RotationOccurredWithinFrequency": { - "target": "com.amazonaws.securityhub#Boolean", - "traits": { - "smithy.api#documentation": "

    Whether the rotation occurred within the specified rotation frequency.

    " - } - }, - "RotationLambdaArn": { + "KmsKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the Lambda function that rotates the secret.

    " + "smithy.api#documentation": "

    The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the\n SecretString or SecretBinary values for versions of this\n secret.

    " } }, - "RotationRules": { - "target": "com.amazonaws.securityhub#AwsSecretsManagerSecretRotationRules", + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Defines the rotation schedule for the secret.

    " + "smithy.api#documentation": "

    The user-provided description of the secret.

    " } }, "Name": { @@ -6708,16 +6747,28 @@ "smithy.api#documentation": "

    The name of the secret.

    " } }, + "RotationOccurredWithinFrequency": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether the rotation occurred within the specified rotation frequency.

    " + } + }, "Deleted": { "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#documentation": "

    Whether the secret is deleted.

    " } }, - "KmsKeyId": { + "RotationLambdaArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the\n SecretString or SecretBinary values for versions of this\n secret.

    " + "smithy.api#documentation": "

    The ARN of the Lambda function that rotates the secret.

    " + } + }, + "RotationRules": { + "target": "com.amazonaws.securityhub#AwsSecretsManagerSecretRotationRules", + "traits": { + "smithy.api#documentation": "

    Defines the rotation schedule for the secret.

    " } } }, @@ -6742,42 +6793,41 @@ "com.amazonaws.securityhub#AwsSecurityFinding": { "type": "structure", "members": { - "ProductArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Resources": { + "target": "com.amazonaws.securityhub#ResourceList", "traits": { - "smithy.api#documentation": "

    The ARN generated by Security Hub that uniquely identifies a product that generates findings.\n This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for\n a custom integration.

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

    A set of resource data types that describe the resources that the finding refers\n to.

    ", "smithy.api#required": {} } }, - "CreatedAt": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "NetworkPath": { + "target": "com.amazonaws.securityhub#NetworkPathList", "traits": { - "smithy.api#documentation": "

    Indicates when the security-findings provider created the potential security issue that\n a finding captured.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Provides information about a network path that is relevant to a finding. Each entry\n under NetworkPath represents a component of that path.

    " } }, - "Criticality": { - "target": "com.amazonaws.securityhub#Integer", + "Malware": { + "target": "com.amazonaws.securityhub#MalwareList", "traits": { - "smithy.api#documentation": "

    The level of importance assigned to the resources associated with the finding.

    \n

    A score of 0 means that the underlying resources have no criticality, and a score of 100\n is reserved for the most critical resources.

    " + "smithy.api#documentation": "

    A list of malware related to a finding.

    " } }, - "Compliance": { - "target": "com.amazonaws.securityhub#Compliance", + "VerificationState": { + "target": "com.amazonaws.securityhub#VerificationState", "traits": { - "smithy.api#documentation": "

    This data type is exclusive to findings that are generated as the result of a check run\n against a specific rule in a supported security standard, such as CIS AWS Foundations.\n Contains security standard-related finding details.

    " + "smithy.api#documentation": "

    Indicates the veracity of a finding.

    " } }, - "ThreatIntelIndicators": { - "target": "com.amazonaws.securityhub#ThreatIntelIndicatorList", + "RecordState": { + "target": "com.amazonaws.securityhub#RecordState", "traits": { - "smithy.api#documentation": "

    Threat intelligence details related to a finding.

    " + "smithy.api#documentation": "

    The record state of a finding.

    " } }, - "Id": { + "CreatedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The security findings provider-specific identifier for a finding.

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

    Indicates when the security-findings provider created the potential security issue that\n a finding captured.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    ", "smithy.api#required": {} } }, @@ -6794,22 +6844,23 @@ "smithy.api#documentation": "

    A URL that links to a page about the current finding in the security-findings provider's\n solution.

    " } }, - "FirstObservedAt": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "UserDefinedFields": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    Indicates when the security-findings provider first observed the potential security\n issue that a finding captured.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    A list of name/value string pairs associated with the finding. These are custom,\n user-defined fields added to a finding.

    " } }, - "LastObservedAt": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Types": { + "target": "com.amazonaws.securityhub#TypeList", "traits": { - "smithy.api#documentation": "

    Indicates when the security-findings provider most recently observed the potential\n security issue that a finding captured.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    One or more finding types in the format of namespace/category/classifier\n that classify a finding.

    \n

    Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual\n Behaviors | Sensitive Data Identifications

    ", + "smithy.api#required": {} } }, - "Process": { - "target": "com.amazonaws.securityhub#ProcessDetails", + "PatchSummary": { + "target": "com.amazonaws.securityhub#PatchSummary", "traits": { - "smithy.api#documentation": "

    The details of process-related information about a finding.

    " + "smithy.api#documentation": "

    Provides an overview of the patch compliance status for an instance against a selected\n compliance standard.

    " } }, "Vulnerabilities": { @@ -6818,144 +6869,144 @@ "smithy.api#documentation": "

    Provides a list of vulnerabilities associated with the findings.

    " } }, - "UserDefinedFields": { - "target": "com.amazonaws.securityhub#FieldMap", + "AwsAccountId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of name/value string pairs associated with the finding. These are custom,\n user-defined fields added to a finding.

    " + "smithy.api#documentation": "

    The AWS account ID that a finding is generated in.

    ", + "smithy.api#required": {} } }, - "Types": { - "target": "com.amazonaws.securityhub#TypeList", + "GeneratorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    One or more finding types in the format of namespace/category/classifier\n that classify a finding.

    \n

    Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual\n Behaviors | Sensitive Data Identifications

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

    The identifier for the solution-specific component (a discrete unit of logic) that\n generated a finding. In various security-findings providers' solutions, this generator can\n be called a rule, a check, a detector, a plugin, etc.

    ", "smithy.api#required": {} } }, - "Network": { - "target": "com.amazonaws.securityhub#Network", + "ThreatIntelIndicators": { + "target": "com.amazonaws.securityhub#ThreatIntelIndicatorList", "traits": { - "smithy.api#documentation": "

    The details of network-related information about a finding.

    " + "smithy.api#documentation": "

    Threat intelligence details related to a finding.

    " } }, - "Confidence": { - "target": "com.amazonaws.securityhub#Integer", + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A finding's confidence. Confidence is defined as the likelihood that a finding\n accurately identifies the behavior or issue that it was intended to identify.

    \n

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent\n confidence and 100 means 100 percent confidence.

    " + "smithy.api#documentation": "

    The security findings provider-specific identifier for a finding.

    ", + "smithy.api#required": {} } }, - "VerificationState": { - "target": "com.amazonaws.securityhub#VerificationState", + "Compliance": { + "target": "com.amazonaws.securityhub#Compliance", "traits": { - "smithy.api#documentation": "

    Indicates the veracity of a finding.

    " + "smithy.api#documentation": "

    This data type is exclusive to findings that are generated as the result of a check run\n against a specific rule in a supported security standard, such as CIS AWS Foundations.\n Contains security standard-related finding details.

    " } }, - "Remediation": { - "target": "com.amazonaws.securityhub#Remediation", + "WorkflowState": { + "target": "com.amazonaws.securityhub#WorkflowState", "traits": { - "smithy.api#documentation": "

    A data type that describes the remediation options for a finding.

    " + "smithy.api#documentation": "

    The workflow state of a finding.

    " } }, - "ProductFields": { - "target": "com.amazonaws.securityhub#FieldMap", + "Note": { + "target": "com.amazonaws.securityhub#Note", "traits": { - "smithy.api#documentation": "

    A data type where security-findings providers can include additional solution-specific\n details that aren't part of the defined AwsSecurityFinding format.

    " + "smithy.api#documentation": "

    A user-defined note added to a finding.

    " } }, - "RecordState": { - "target": "com.amazonaws.securityhub#RecordState", + "UpdatedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The record state of a finding.

    " + "smithy.api#documentation": "

    Indicates when the security-findings provider last updated the finding record.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    ", + "smithy.api#required": {} } }, - "Malware": { - "target": "com.amazonaws.securityhub#MalwareList", + "LastObservedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A list of malware related to a finding.

    " + "smithy.api#documentation": "

    Indicates when the security-findings provider most recently observed the potential\n security issue that a finding captured.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "SchemaVersion": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Remediation": { + "target": "com.amazonaws.securityhub#Remediation", "traits": { - "smithy.api#documentation": "

    The schema version that a finding is formatted for.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A data type that describes the remediation options for a finding.

    " } }, - "Title": { + "SchemaVersion": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A finding's title.

    \n \n

    In this release, Title is a required property.

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

    The schema version that a finding is formatted for.

    ", "smithy.api#required": {} } }, - "RelatedFindings": { - "target": "com.amazonaws.securityhub#RelatedFindingList", + "Network": { + "target": "com.amazonaws.securityhub#Network", "traits": { - "smithy.api#documentation": "

    A list of related findings.

    " + "smithy.api#documentation": "

    The details of network-related information about a finding.

    " } }, - "NetworkPath": { - "target": "com.amazonaws.securityhub#NetworkPathList", + "ProductFields": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    Provides information about a network path that is relevant to a finding. Each entry\n under NetworkPath represents a component of that path.

    " + "smithy.api#documentation": "

    A data type where security-findings providers can include additional solution-specific\n details that aren't part of the defined AwsSecurityFinding format.

    " } }, - "Severity": { - "target": "com.amazonaws.securityhub#Severity", + "Title": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A finding's severity.

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

    A finding's title.

    \n \n

    In this release, Title is a required property.

    \n
    ", "smithy.api#required": {} } }, - "GeneratorId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Confidence": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The identifier for the solution-specific component (a discrete unit of logic) that\n generated a finding. In various security-findings providers' solutions, this generator can\n be called a rule, a check, a detector, a plugin, etc.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A finding's confidence. Confidence is defined as the likelihood that a finding\n accurately identifies the behavior or issue that it was intended to identify.

    \n

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent\n confidence and 100 means 100 percent confidence.

    " } }, - "Workflow": { - "target": "com.amazonaws.securityhub#Workflow", + "Criticality": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    Provides information about the status of the investigation into a finding.

    " + "smithy.api#documentation": "

    The level of importance assigned to the resources associated with the finding.

    \n

    A score of 0 means that the underlying resources have no criticality, and a score of 100\n is reserved for the most critical resources.

    " } }, - "UpdatedAt": { + "ProductArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the security-findings provider last updated the finding record.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

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

    The ARN generated by Security Hub that uniquely identifies a product that generates findings.\n This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for\n a custom integration.

    ", "smithy.api#required": {} } }, - "Note": { - "target": "com.amazonaws.securityhub#Note", + "RelatedFindings": { + "target": "com.amazonaws.securityhub#RelatedFindingList", "traits": { - "smithy.api#documentation": "

    A user-defined note added to a finding.

    " + "smithy.api#documentation": "

    A list of related findings.

    " } }, - "WorkflowState": { - "target": "com.amazonaws.securityhub#WorkflowState", + "Workflow": { + "target": "com.amazonaws.securityhub#Workflow", "traits": { - "smithy.api#documentation": "

    The workflow state of a finding.

    " + "smithy.api#documentation": "

    Provides information about the status of the investigation into a finding.

    " } }, - "AwsAccountId": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Severity": { + "target": "com.amazonaws.securityhub#Severity", "traits": { - "smithy.api#documentation": "

    The AWS account ID that a finding is generated in.

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

    A finding's severity.

    ", "smithy.api#required": {} } }, - "Resources": { - "target": "com.amazonaws.securityhub#ResourceList", + "Process": { + "target": "com.amazonaws.securityhub#ProcessDetails", "traits": { - "smithy.api#documentation": "

    A set of resource data types that describe the resources that the finding refers\n to.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The details of process-related information about a finding.

    " } }, - "PatchSummary": { - "target": "com.amazonaws.securityhub#PatchSummary", + "FirstObservedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Provides an overview of the patch compliance status for an instance against a selected\n compliance standard.

    " + "smithy.api#documentation": "

    Indicates when the security-findings provider first observed the potential security\n issue that a finding captured.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } } }, @@ -6966,136 +7017,88 @@ "com.amazonaws.securityhub#AwsSecurityFindingFilters": { "type": "structure", "members": { - "ResourcePartition": { - "target": "com.amazonaws.securityhub#StringFilterList", + "ProductFields": { + "target": "com.amazonaws.securityhub#MapFilterList", "traits": { - "smithy.api#documentation": "

    The canonical AWS partition name that the Region is assigned to.

    " + "smithy.api#documentation": "

    A data type where security-findings providers can include additional solution-specific\n details that aren't part of the defined AwsSecurityFinding format.

    " } }, - "ProcessPath": { + "GeneratorId": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The path to the process executable.

    " + "smithy.api#documentation": "

    The identifier for the solution-specific component (a discrete unit of logic) that\n generated a finding. In various security-findings providers' solutions, this generator can\n be called a rule, a check, a detector, a plugin, etc.

    " } }, - "NetworkSourceMac": { + "ComplianceStatus": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The source media access control (MAC) address of network-related information about a\n finding.

    " - } - }, - "Keyword": { - "target": "com.amazonaws.securityhub#KeywordFilterList", - "traits": { - "smithy.api#documentation": "

    A keyword for a finding.

    " + "smithy.api#documentation": "

    Exclusive to findings that are generated as the result of a check run against a specific\n rule in a supported standard, such as CIS AWS Foundations. Contains security\n standard-related finding details.

    " } }, - "RecommendationText": { + "MalwareType": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The recommendation of what to do about the issue described in a finding.

    " + "smithy.api#documentation": "

    The type of the malware that was observed.

    " } }, - "RelatedFindingsId": { + "RelatedFindingsProductArn": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The solution-generated identifier for a related finding.

    " - } - }, - "ProcessTerminatedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", - "traits": { - "smithy.api#documentation": "

    The date/time that the process was terminated.

    " - } - }, - "ResourceAwsEc2InstanceLaunchedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", - "traits": { - "smithy.api#documentation": "

    The date and time the instance was launched.

    " - } - }, - "NetworkSourceIpV6": { - "target": "com.amazonaws.securityhub#IpFilterList", - "traits": { - "smithy.api#documentation": "

    The source IPv6 address of network-related information about a finding.

    " - } - }, - "ResourceAwsEc2InstanceIpV4Addresses": { - "target": "com.amazonaws.securityhub#IpFilterList", - "traits": { - "smithy.api#documentation": "

    The IPv4 addresses associated with the instance.

    " + "smithy.api#documentation": "

    The ARN of the solution that generated a related finding.

    " } }, - "ResourceAwsIamAccessKeyCreatedAt": { + "UpdatedAt": { "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The creation date/time of the IAM access key related to a finding.

    " + "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider last\n updated the finding record.

    " } }, - "NetworkProtocol": { + "CompanyName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The protocol of network-related information about a finding.

    " - } - }, - "NetworkSourceIpV4": { - "target": "com.amazonaws.securityhub#IpFilterList", - "traits": { - "smithy.api#documentation": "

    The source IPv4 address of network-related information about a finding.

    " - } - }, - "NoteUpdatedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", - "traits": { - "smithy.api#documentation": "

    The timestamp of when the note was updated.

    " + "smithy.api#documentation": "

    The name of the findings provider (company) that owns the solution (product) that\n generates findings.

    " } }, - "NetworkDirection": { + "ResourceAwsEc2InstanceImageId": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    Indicates the direction of network traffic associated with a finding.

    " + "smithy.api#documentation": "

    The Amazon Machine Image (AMI) ID of the instance.

    " } }, - "ThreatIntelIndicatorValue": { + "SeverityLabel": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The value of a threat intelligence indicator.

    " + "smithy.api#documentation": "

    The label of a finding's severity.

    " } }, - "ResourceType": { + "ResourceAwsEc2InstanceSubnetId": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    Specifies the type of the resource that details are provided for.

    " - } - }, - "Criticality": { - "target": "com.amazonaws.securityhub#NumberFilterList", - "traits": { - "smithy.api#documentation": "

    The level of importance assigned to the resources associated with the finding.

    \n

    A score of 0 means that the underlying resources have no criticality, and a score of 100\n is reserved for the most critical resources.

    " + "smithy.api#documentation": "

    The identifier of the subnet that the instance was launched in.

    " } }, - "ResourceAwsIamAccessKeyUserName": { + "ThreatIntelIndicatorCategory": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The user associated with the IAM access key related to a finding.

    " + "smithy.api#documentation": "

    The category of a threat intelligence indicator.

    " } }, - "Description": { + "Title": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    A finding's description.

    " + "smithy.api#documentation": "

    A finding's title.

    " } }, - "FirstObservedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", + "Confidence": { + "target": "com.amazonaws.securityhub#NumberFilterList", "traits": { - "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider first\n observed the potential security issue that a finding captured.

    " + "smithy.api#documentation": "

    A finding's confidence. Confidence is defined as the likelihood that a finding\n accurately identifies the behavior or issue that it was intended to identify.

    \n

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent\n confidence and 100 means 100 percent confidence.

    " } }, - "ProductName": { + "AwsAccountId": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The name of the solution (product) that generates findings.

    " + "smithy.api#documentation": "

    The AWS account ID that a finding is generated in.

    " } }, "LastObservedAt": { @@ -7104,28 +7107,28 @@ "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider most\n recently observed the potential security issue that a finding captured.

    " } }, - "SourceUrl": { - "target": "com.amazonaws.securityhub#StringFilterList", + "UserDefinedFields": { + "target": "com.amazonaws.securityhub#MapFilterList", "traits": { - "smithy.api#documentation": "

    A URL that links to a page about the current finding in the security-findings provider's\n solution.

    " + "smithy.api#documentation": "

    A list of name/value string pairs associated with the finding. These are custom,\n user-defined fields added to a finding.

    " } }, - "ProcessName": { - "target": "com.amazonaws.securityhub#StringFilterList", + "CreatedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The name of the process.

    " + "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider\n captured the potential security issue that a finding captured.

    " } }, - "ResourceContainerName": { + "MalwareState": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The name of the container related to a finding.

    " + "smithy.api#documentation": "

    The state of the malware that was observed.

    " } }, - "ResourceAwsEc2InstanceKeyName": { + "ProductName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The key name associated with the instance.

    " + "smithy.api#documentation": "

    The name of the solution (product) that generates findings.

    " } }, "ResourceAwsS3BucketOwnerId": { @@ -7134,34 +7137,28 @@ "smithy.api#documentation": "

    The canonical user ID of the owner of the S3 bucket.

    " } }, - "ResourceRegion": { + "WorkflowState": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The canonical AWS external Region name where this resource is located.

    " + "smithy.api#documentation": "

    The workflow state of a finding.

    \n

    Note that this field is deprecated. To search for a finding based on its workflow\n status, use WorkflowStatus.

    " } }, - "ThreatIntelIndicatorSourceUrl": { + "NetworkDestinationDomain": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The URL for more details from the source of the threat intelligence.

    " - } - }, - "UserDefinedFields": { - "target": "com.amazonaws.securityhub#MapFilterList", - "traits": { - "smithy.api#documentation": "

    A list of name/value string pairs associated with the finding. These are custom,\n user-defined fields added to a finding.

    " + "smithy.api#documentation": "

    The destination domain of network-related information about a finding.

    " } }, - "UpdatedAt": { + "NoteUpdatedAt": { "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider last\n updated the finding record.

    " + "smithy.api#documentation": "

    The timestamp of when the note was updated.

    " } }, - "NoteText": { + "NetworkDirection": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The text of a note.

    " + "smithy.api#documentation": "

    Indicates the direction of network traffic associated with a finding.

    " } }, "ThreatIntelIndicatorType": { @@ -7170,10 +7167,16 @@ "smithy.api#documentation": "

    The type of a threat intelligence indicator.

    " } }, - "NetworkDestinationDomain": { - "target": "com.amazonaws.securityhub#StringFilterList", + "ResourceAwsEc2InstanceLaunchedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The destination domain of network-related information about a finding.

    " + "smithy.api#documentation": "

    The date and time the instance was launched.

    " + } + }, + "ResourceAwsEc2InstanceIpV6Addresses": { + "target": "com.amazonaws.securityhub#IpFilterList", + "traits": { + "smithy.api#documentation": "

    The IPv6 addresses associated with the instance.

    " } }, "ResourceId": { @@ -7182,166 +7185,178 @@ "smithy.api#documentation": "

    The canonical identifier for the given resource type.

    " } }, - "GeneratorId": { - "target": "com.amazonaws.securityhub#StringFilterList", + "ProcessLaunchedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The identifier for the solution-specific component (a discrete unit of logic) that\n generated a finding. In various security-findings providers' solutions, this generator can\n be called a rule, a check, a detector, a plugin, etc.

    " + "smithy.api#documentation": "

    The date/time that the process was launched.

    " } }, - "Title": { + "MalwarePath": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    A finding's title.

    " + "smithy.api#documentation": "

    The filesystem path of the malware that was observed.

    " } }, - "WorkflowState": { + "ResourcePartition": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The workflow state of a finding.

    \n

    Note that this field is deprecated. To search for a finding based on its workflow\n status, use WorkflowStatus.

    " + "smithy.api#documentation": "

    The canonical AWS partition name that the Region is assigned to.

    " } }, - "MalwareName": { + "ResourceAwsIamAccessKeyUserName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The name of the malware that was observed.

    " + "smithy.api#documentation": "

    The user associated with the IAM access key related to a finding.

    " } }, - "Type": { + "ProcessPath": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    A finding type in the format of namespace/category/classifier that\n classifies a finding.

    " + "smithy.api#documentation": "

    The path to the process executable.

    " } }, - "ResourceAwsEc2InstanceIpV6Addresses": { - "target": "com.amazonaws.securityhub#IpFilterList", + "ThreatIntelIndicatorSourceUrl": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The IPv6 addresses associated with the instance.

    " + "smithy.api#documentation": "

    The URL for more details from the source of the threat intelligence.

    " } }, - "RecordState": { + "WorkflowStatus": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The updated record state for the finding.

    " + "smithy.api#documentation": "

    The status of the investigation into a finding. Allowed values are the following.

    \n
      \n
    • \n

      \n NEW - The initial state of a finding, before it is reviewed.

      \n
    • \n
    • \n

      \n NOTIFIED - Indicates that the resource owner has been notified about\n the security issue. Used when the initial reviewer is not the resource owner, and\n needs intervention from the resource owner.

      \n
    • \n
    • \n

      \n SUPPRESSED - The finding will not be reviewed again and will not be\n acted upon.

      \n
    • \n
    • \n

      \n RESOLVED - The finding was reviewed and remediated and is now\n considered resolved.

      \n
    • \n
    " } }, - "MalwarePath": { - "target": "com.amazonaws.securityhub#StringFilterList", + "Criticality": { + "target": "com.amazonaws.securityhub#NumberFilterList", "traits": { - "smithy.api#documentation": "

    The filesystem path of the malware that was observed.

    " + "smithy.api#documentation": "

    The level of importance assigned to the resources associated with the finding.

    \n

    A score of 0 means that the underlying resources have no criticality, and a score of 100\n is reserved for the most critical resources.

    " } }, - "AwsAccountId": { + "ResourceRegion": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The AWS account ID that a finding is generated in.

    " + "smithy.api#documentation": "

    The canonical AWS external Region name where this resource is located.

    " } }, - "ResourceContainerImageName": { - "target": "com.amazonaws.securityhub#StringFilterList", + "FirstObservedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The name of the image related to a finding.

    " + "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider first\n observed the potential security issue that a finding captured.

    " } }, - "ThreatIntelIndicatorCategory": { + "ProcessParentPid": { + "target": "com.amazonaws.securityhub#NumberFilterList", + "traits": { + "smithy.api#documentation": "

    The parent process ID.

    " + } + }, + "NoteUpdatedBy": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The category of a threat intelligence indicator.

    " + "smithy.api#documentation": "

    The principal that created a note.

    " } }, - "ResourceAwsEc2InstanceSubnetId": { + "ResourceContainerName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The identifier of the subnet that the instance was launched in.

    " + "smithy.api#documentation": "

    The name of the container related to a finding.

    " } }, - "WorkflowStatus": { + "ThreatIntelIndicatorSource": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The status of the investigation into a finding. Allowed values are the following.

    \n
      \n
    • \n

      \n NEW - The initial state of a finding, before it is reviewed.

      \n
    • \n
    • \n

      \n NOTIFIED - Indicates that the resource owner has been notified about\n the security issue. Used when the initial reviewer is not the resource owner, and\n needs intervention from the resource owner.

      \n
    • \n
    • \n

      \n SUPPRESSED - The finding will not be reviewed again and will not be\n acted upon.

      \n
    • \n
    • \n

      \n RESOLVED - The finding was reviewed and remediated and is now\n considered resolved.

      \n
    • \n
    " + "smithy.api#documentation": "

    The source of the threat intelligence.

    " } }, - "ComplianceStatus": { + "ResourceAwsEc2InstanceKeyName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    Exclusive to findings that are generated as the result of a check run against a specific\n rule in a supported standard, such as CIS AWS Foundations. Contains security\n standard-related finding details.

    " + "smithy.api#documentation": "

    The key name associated with the instance.

    " } }, - "ProductFields": { - "target": "com.amazonaws.securityhub#MapFilterList", + "ResourceType": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    A data type where security-findings providers can include additional solution-specific\n details that aren't part of the defined AwsSecurityFinding format.

    " + "smithy.api#documentation": "

    Specifies the type of the resource that details are provided for.

    " } }, - "VerificationState": { + "NetworkSourceMac": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The veracity of a finding.

    " + "smithy.api#documentation": "

    The source media access control (MAC) address of network-related information about a\n finding.

    " } }, - "Confidence": { + "SeverityNormalized": { "target": "com.amazonaws.securityhub#NumberFilterList", "traits": { - "smithy.api#documentation": "

    A finding's confidence. Confidence is defined as the likelihood that a finding\n accurately identifies the behavior or issue that it was intended to identify.

    \n

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent\n confidence and 100 means 100 percent confidence.

    " + "smithy.api#documentation": "

    The normalized severity of a finding.

    " } }, - "ResourceAwsIamAccessKeyStatus": { + "NetworkProtocol": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The status of the IAM access key related to a finding.

    " + "smithy.api#documentation": "

    The protocol of network-related information about a finding.

    " } }, - "ProductArn": { - "target": "com.amazonaws.securityhub#StringFilterList", + "ResourceContainerLaunchedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The ARN generated by Security Hub that uniquely identifies a third-party company\n (security findings provider) after this provider's product (solution that generates\n findings) is registered with Security Hub.

    " + "smithy.api#documentation": "

    The date/time that the container was started.

    " } }, - "NetworkSourceDomain": { - "target": "com.amazonaws.securityhub#StringFilterList", + "ResourceAwsIamAccessKeyCreatedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The source domain of network-related information about a finding.

    " + "smithy.api#documentation": "

    The creation date/time of the IAM access key related to a finding.

    " } }, - "SeverityProduct": { - "target": "com.amazonaws.securityhub#NumberFilterList", + "Type": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The native severity as defined by the security-findings provider's solution that\n generated the finding.

    " + "smithy.api#documentation": "

    A finding type in the format of namespace/category/classifier that\n classifies a finding.

    " } }, - "CompanyName": { + "MalwareName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The name of the findings provider (company) that owns the solution (product) that\n generates findings.

    " + "smithy.api#documentation": "

    The name of the malware that was observed.

    " } }, - "RelatedFindingsProductArn": { - "target": "com.amazonaws.securityhub#StringFilterList", + "ResourceAwsEc2InstanceIpV4Addresses": { + "target": "com.amazonaws.securityhub#IpFilterList", "traits": { - "smithy.api#documentation": "

    The ARN of the solution that generated a related finding.

    " + "smithy.api#documentation": "

    The IPv4 addresses associated with the instance.

    " } }, - "ResourceAwsS3BucketOwnerName": { + "ResourceAwsEc2InstanceType": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The display name of the owner of the S3 bucket.

    " + "smithy.api#documentation": "

    The instance type of the instance.

    " + } + }, + "ProcessPid": { + "target": "com.amazonaws.securityhub#NumberFilterList", + "traits": { + "smithy.api#documentation": "

    The process ID.

    " } }, - "ResourceContainerLaunchedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", + "ResourceContainerImageId": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The date/time that the container was started.

    " + "smithy.api#documentation": "

    The identifier of the image related to a finding.

    " } }, - "SeverityNormalized": { - "target": "com.amazonaws.securityhub#NumberFilterList", + "Keyword": { + "target": "com.amazonaws.securityhub#KeywordFilterList", "traits": { - "smithy.api#documentation": "

    The normalized severity of a finding.

    " + "smithy.api#documentation": "

    A keyword for a finding.

    " } }, - "ProcessLaunchedAt": { + "ProcessTerminatedAt": { "target": "com.amazonaws.securityhub#DateFilterList", "traits": { - "smithy.api#documentation": "

    The date/time that the process was launched.

    " + "smithy.api#documentation": "

    The date/time that the process was terminated.

    " } }, "Id": { @@ -7350,46 +7365,58 @@ "smithy.api#documentation": "

    The security findings provider-specific identifier for a finding.

    " } }, + "Description": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

    A finding's description.

    " + } + }, "ResourceDetailsOther": { "target": "com.amazonaws.securityhub#MapFilterList", "traits": { "smithy.api#documentation": "

    The details of a resource that doesn't have a specific subfield for the resource type\n defined.

    " } }, - "MalwareState": { + "RecommendationText": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The state of the malware that was observed.

    " + "smithy.api#documentation": "

    The recommendation of what to do about the issue described in a finding.

    " } }, - "ProcessPid": { - "target": "com.amazonaws.securityhub#NumberFilterList", + "ResourceAwsEc2InstanceVpcId": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The process ID.

    " + "smithy.api#documentation": "

    The identifier of the VPC that the instance was launched in.

    " } }, - "ResourceAwsEc2InstanceType": { + "VerificationState": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The instance type of the instance.

    " + "smithy.api#documentation": "

    The veracity of a finding.

    " } }, - "ThreatIntelIndicatorLastObservedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", + "NoteText": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The date/time of the last observation of a threat intelligence indicator.

    " + "smithy.api#documentation": "

    The text of a note.

    " } }, - "CreatedAt": { - "target": "com.amazonaws.securityhub#DateFilterList", + "NetworkSourceIpV4": { + "target": "com.amazonaws.securityhub#IpFilterList", "traits": { - "smithy.api#documentation": "

    An ISO8601-formatted timestamp that indicates when the security-findings provider\n captured the potential security issue that a finding captured.

    " + "smithy.api#documentation": "

    The source IPv4 address of network-related information about a finding.

    " } }, - "ThreatIntelIndicatorSource": { - "target": "com.amazonaws.securityhub#StringFilterList", + "NetworkDestinationIpV6": { + "target": "com.amazonaws.securityhub#IpFilterList", "traits": { - "smithy.api#documentation": "

    The source of the threat intelligence.

    " + "smithy.api#documentation": "

    The destination IPv6 address of network-related information about a finding.

    " + } + }, + "SeverityProduct": { + "target": "com.amazonaws.securityhub#NumberFilterList", + "traits": { + "smithy.api#documentation": "

    The native severity as defined by the security-findings provider's solution that\n generated the finding.

    " } }, "NetworkSourcePort": { @@ -7398,34 +7425,40 @@ "smithy.api#documentation": "

    The source port of network-related information about a finding.

    " } }, - "MalwareType": { - "target": "com.amazonaws.securityhub#StringFilterList", + "NetworkSourceIpV6": { + "target": "com.amazonaws.securityhub#IpFilterList", "traits": { - "smithy.api#documentation": "

    The type of the malware that was observed.

    " + "smithy.api#documentation": "

    The source IPv6 address of network-related information about a finding.

    " } }, - "NoteUpdatedBy": { + "ProcessName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The principal that created a note.

    " + "smithy.api#documentation": "

    The name of the process.

    " } }, - "ProcessParentPid": { + "NetworkDestinationIpV4": { + "target": "com.amazonaws.securityhub#IpFilterList", + "traits": { + "smithy.api#documentation": "

    The destination IPv4 address of network-related information about a finding.

    " + } + }, + "NetworkDestinationPort": { "target": "com.amazonaws.securityhub#NumberFilterList", "traits": { - "smithy.api#documentation": "

    The parent process ID.

    " + "smithy.api#documentation": "

    The destination port of network-related information about a finding.

    " } }, - "ResourceAwsEc2InstanceVpcId": { + "ResourceAwsEc2InstanceIamInstanceProfileArn": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The identifier of the VPC that the instance was launched in.

    " + "smithy.api#documentation": "

    The IAM profile ARN of the instance.

    " } }, - "NetworkDestinationIpV6": { - "target": "com.amazonaws.securityhub#IpFilterList", + "RelatedFindingsId": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The destination IPv6 address of network-related information about a finding.

    " + "smithy.api#documentation": "

    The solution-generated identifier for a related finding.

    " } }, "ResourceTags": { @@ -7434,40 +7467,58 @@ "smithy.api#documentation": "

    A list of AWS tags associated with a resource at the time the finding was\n processed.

    " } }, - "ResourceAwsEc2InstanceImageId": { + "SourceUrl": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The Amazon Machine Image (AMI) ID of the instance.

    " + "smithy.api#documentation": "

    A URL that links to a page about the current finding in the security-findings provider's\n solution.

    " } }, - "SeverityLabel": { + "ResourceContainerImageName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The label of a finding's severity.

    " + "smithy.api#documentation": "

    The name of the image related to a finding.

    " } }, - "ResourceContainerImageId": { + "RecordState": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The identifier of the image related to a finding.

    " + "smithy.api#documentation": "

    The updated record state for the finding.

    " } }, - "NetworkDestinationPort": { - "target": "com.amazonaws.securityhub#NumberFilterList", + "NetworkSourceDomain": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The destination port of network-related information about a finding.

    " + "smithy.api#documentation": "

    The source domain of network-related information about a finding.

    " } }, - "ResourceAwsEc2InstanceIamInstanceProfileArn": { + "ResourceAwsS3BucketOwnerName": { "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The IAM profile ARN of the instance.

    " + "smithy.api#documentation": "

    The display name of the owner of the S3 bucket.

    " } }, - "NetworkDestinationIpV4": { - "target": "com.amazonaws.securityhub#IpFilterList", + "ProductArn": { + "target": "com.amazonaws.securityhub#StringFilterList", "traits": { - "smithy.api#documentation": "

    The destination IPv4 address of network-related information about a finding.

    " + "smithy.api#documentation": "

    The ARN generated by Security Hub that uniquely identifies a third-party company\n (security findings provider) after this provider's product (solution that generates\n findings) is registered with Security Hub.

    " + } + }, + "ThreatIntelIndicatorLastObservedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", + "traits": { + "smithy.api#documentation": "

    The date/time of the last observation of a threat intelligence indicator.

    " + } + }, + "ResourceAwsIamAccessKeyStatus": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

    The status of the IAM access key related to a finding.

    " + } + }, + "ThreatIntelIndicatorValue": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

    The value of a threat intelligence indicator.

    " } } }, @@ -7512,28 +7563,28 @@ "com.amazonaws.securityhub#AwsSnsTopicDetails": { "type": "structure", "members": { - "Owner": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Subscription": { + "target": "com.amazonaws.securityhub#AwsSnsTopicSubscriptionList", "traits": { - "smithy.api#documentation": "

    The subscription's owner.

    " + "smithy.api#documentation": "

    Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

    " } }, - "KmsMasterKeyId": { + "TopicName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom\n CMK.

    " + "smithy.api#documentation": "

    The name of the topic.

    " } }, - "TopicName": { + "KmsMasterKeyId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the topic.

    " + "smithy.api#documentation": "

    The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom\n CMK.

    " } }, - "Subscription": { - "target": "com.amazonaws.securityhub#AwsSnsTopicSubscriptionList", + "Owner": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

    " + "smithy.api#documentation": "

    The subscription's owner.

    " } } }, @@ -7544,16 +7595,16 @@ "com.amazonaws.securityhub#AwsSnsTopicSubscription": { "type": "structure", "members": { - "Protocol": { + "Endpoint": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The subscription's protocol.

    " + "smithy.api#documentation": "

    The subscription's endpoint (format depends on the protocol).

    " } }, - "Endpoint": { + "Protocol": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The subscription's endpoint (format depends on the protocol).

    " + "smithy.api#documentation": "

    The subscription's protocol.

    " } } }, @@ -7602,22 +7653,16 @@ "com.amazonaws.securityhub#AwsWafWebAclDetails": { "type": "structure", "members": { - "WebAclId": { + "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A unique identifier for a WebACL.

    " - } - }, - "Rules": { - "target": "com.amazonaws.securityhub#AwsWafWebAclRuleList", - "traits": { - "smithy.api#documentation": "

    An array that contains the action for each rule in a WebACL, the priority of the rule,\n and the ID of the rule.

    " + "smithy.api#documentation": "

    A friendly name or description of the WebACL. You can't change the name of a WebACL\n after you create it.

    " } }, - "Name": { + "WebAclId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A friendly name or description of the WebACL. You can't change the name of a WebACL\n after you create it.

    " + "smithy.api#documentation": "

    A unique identifier for a WebACL.

    " } }, "DefaultAction": { @@ -7625,6 +7670,12 @@ "traits": { "smithy.api#documentation": "

    The action to perform if none of the rules contained in the WebACL match.

    " } + }, + "Rules": { + "target": "com.amazonaws.securityhub#AwsWafWebAclRuleList", + "traits": { + "smithy.api#documentation": "

    An array that contains the action for each rule in a WebACL, the priority of the rule,\n and the ID of the rule.

    " + } } }, "traits": { @@ -7640,18 +7691,6 @@ "smithy.api#documentation": "

    Rules to exclude from a rule group.

    " } }, - "Type": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The rule type.

    \n

    Valid values: REGULAR | RATE_BASED | GROUP\n

    \n

    The default is REGULAR.

    " - } - }, - "Priority": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower\n value for Priority are evaluated before rules with a higher value. The value\n must be a unique integer. If you add multiple rules to a WebACL, the values do not need to\n be consecutive.

    " - } - }, "RuleId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -7664,11 +7703,23 @@ "smithy.api#documentation": "

    Use the OverrideAction to test your RuleGroup.

    \n

    Any rule in a RuleGroup can potentially block a request. If you set the\n OverrideAction to None, the RuleGroup blocks a request if any\n individual rule in the RuleGroup matches the request and is configured to block that\n request.

    \n

    However, if you first want to test the RuleGroup, set the OverrideAction to\n Count. The RuleGroup then overrides any block action specified by\n individual rules contained within the group. Instead of blocking matching requests, those\n requests are counted.

    \n

    \n ActivatedRule|OverrideAction applies only when updating or\n adding a RuleGroup to a WebACL. In this case you do not use\n ActivatedRule|Action. For all other update requests,\n ActivatedRule|Action is used instead of\n ActivatedRule|OverrideAction.

    " } }, + "Type": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The rule type.

    \n

    Valid values: REGULAR | RATE_BASED | GROUP\n

    \n

    The default is REGULAR.

    " + } + }, "Action": { "target": "com.amazonaws.securityhub#WafAction", "traits": { "smithy.api#documentation": "

    Specifies the action that CloudFront or AWS WAF takes when a web request matches the\n conditions in the rule.

    " } + }, + "Priority": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower\n value for Priority are evaluated before rules with a higher value. The value\n must be a unique integer. If you add multiple rules to a WebACL, the values do not need to\n be consecutive.

    " + } } }, "traits": { @@ -7842,18 +7893,18 @@ "smithy.api#required": {} } }, - "FailedFindings": { - "target": "com.amazonaws.securityhub#ImportFindingsErrorList", - "traits": { - "smithy.api#documentation": "

    The list of findings that failed to import.

    " - } - }, "SuccessCount": { "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    The number of findings that were successfully imported.

    ", "smithy.api#required": {} } + }, + "FailedFindings": { + "target": "com.amazonaws.securityhub#ImportFindingsErrorList", + "traits": { + "smithy.api#documentation": "

    The list of findings that failed to import.

    " + } } } }, @@ -7897,56 +7948,56 @@ "smithy.api#documentation": "

    Used to update the finding severity.

    " } }, - "VerificationState": { - "target": "com.amazonaws.securityhub#VerificationState", - "traits": { - "smithy.api#documentation": "

    Indicates the veracity of a finding.

    \n

    The available values for VerificationState are as follows.

    \n
      \n
    • \n

      \n UNKNOWN – The default disposition of a security finding

      \n
    • \n
    • \n

      \n TRUE_POSITIVE – The security finding is confirmed

      \n
    • \n
    • \n

      \n FALSE_POSITIVE – The security finding was determined to be a false\n alarm

      \n
    • \n
    • \n

      \n BENIGN_POSITIVE – A special case of TRUE_POSITIVE where\n the finding doesn't pose any threat, is expected, or both

      \n
    • \n
    " - } - }, "RelatedFindings": { "target": "com.amazonaws.securityhub#RelatedFindingList", "traits": { "smithy.api#documentation": "

    A list of findings that are related to the updated findings.

    " } }, - "FindingIdentifiers": { - "target": "com.amazonaws.securityhub#AwsSecurityFindingIdentifierList", + "Types": { + "target": "com.amazonaws.securityhub#TypeList", "traits": { - "smithy.api#documentation": "

    The list of findings to update. BatchUpdateFindings can be used to update\n up to 100 findings at a time.

    \n

    For each finding, the list provides the finding identifier and the ARN of the finding\n provider.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    One or more finding types in the format of namespace/category/classifier that classify a\n finding.

    \n

    Valid namespace values are as follows.

    \n
      \n
    • \n

      Software and Configuration Checks

      \n
    • \n
    • \n

      TTPs

      \n
    • \n
    • \n

      Effects

      \n
    • \n
    • \n

      Unusual Behaviors

      \n
    • \n
    • \n

      Sensitive Data Identifications

      \n
    • \n
    " } }, - "Confidence": { + "Criticality": { "target": "com.amazonaws.securityhub#RatioScale", "traits": { - "smithy.api#documentation": "

    The updated value for the finding confidence. Confidence is defined as the likelihood\n that a finding accurately identifies the behavior or issue that it was intended to\n identify.

    \n

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent\n confidence and 100 means 100 percent confidence.

    " + "smithy.api#documentation": "

    The updated value for the level of importance assigned to the resources associated with\n the findings.

    \n

    A score of 0 means that the underlying resources have no criticality, and a score of 100\n is reserved for the most critical resources.

    " } }, - "Workflow": { - "target": "com.amazonaws.securityhub#WorkflowUpdate", + "Note": { + "target": "com.amazonaws.securityhub#NoteUpdate" + }, + "UserDefinedFields": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    Used to update the workflow status of a finding.

    \n

    The workflow status indicates the progress of the investigation into the finding.

    " + "smithy.api#documentation": "

    A list of name/value string pairs associated with the finding. These are custom,\n user-defined fields added to a finding.

    " } }, - "Note": { - "target": "com.amazonaws.securityhub#NoteUpdate" + "Confidence": { + "target": "com.amazonaws.securityhub#RatioScale", + "traits": { + "smithy.api#documentation": "

    The updated value for the finding confidence. Confidence is defined as the likelihood\n that a finding accurately identifies the behavior or issue that it was intended to\n identify.

    \n

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent\n confidence and 100 means 100 percent confidence.

    " + } }, - "UserDefinedFields": { - "target": "com.amazonaws.securityhub#FieldMap", + "Workflow": { + "target": "com.amazonaws.securityhub#WorkflowUpdate", "traits": { - "smithy.api#documentation": "

    A list of name/value string pairs associated with the finding. These are custom,\n user-defined fields added to a finding.

    " + "smithy.api#documentation": "

    Used to update the workflow status of a finding.

    \n

    The workflow status indicates the progress of the investigation into the finding.

    " } }, - "Types": { - "target": "com.amazonaws.securityhub#TypeList", + "FindingIdentifiers": { + "target": "com.amazonaws.securityhub#AwsSecurityFindingIdentifierList", "traits": { - "smithy.api#documentation": "

    One or more finding types in the format of namespace/category/classifier that classify a\n finding.

    \n

    Valid namespace values are as follows.

    \n
      \n
    • \n

      Software and Configuration Checks

      \n
    • \n
    • \n

      TTPs

      \n
    • \n
    • \n

      Effects

      \n
    • \n
    • \n

      Unusual Behaviors

      \n
    • \n
    • \n

      Sensitive Data Identifications

      \n
    • \n
    " + "smithy.api#documentation": "

    The list of findings to update. BatchUpdateFindings can be used to update\n up to 100 findings at a time.

    \n

    For each finding, the list provides the finding identifier and the ARN of the finding\n provider.

    ", + "smithy.api#required": {} } }, - "Criticality": { - "target": "com.amazonaws.securityhub#RatioScale", + "VerificationState": { + "target": "com.amazonaws.securityhub#VerificationState", "traits": { - "smithy.api#documentation": "

    The updated value for the level of importance assigned to the resources associated with\n the findings.

    \n

    A score of 0 means that the underlying resources have no criticality, and a score of 100\n is reserved for the most critical resources.

    " + "smithy.api#documentation": "

    Indicates the veracity of a finding.

    \n

    The available values for VerificationState are as follows.

    \n
      \n
    • \n

      \n UNKNOWN – The default disposition of a security finding

      \n
    • \n
    • \n

      \n TRUE_POSITIVE – The security finding is confirmed

      \n
    • \n
    • \n

      \n FALSE_POSITIVE – The security finding was determined to be a false\n alarm

      \n
    • \n
    • \n

      \n BENIGN_POSITIVE – A special case of TRUE_POSITIVE where\n the finding doesn't pose any threat, is expected, or both

      \n
    • \n
    " } } } @@ -7973,17 +8024,17 @@ "com.amazonaws.securityhub#BatchUpdateFindingsUnprocessedFinding": { "type": "structure", "members": { - "FindingIdentifier": { - "target": "com.amazonaws.securityhub#AwsSecurityFindingIdentifier", + "ErrorMessage": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the finding that was not updated.

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

    The message associated with the error.

    ", "smithy.api#required": {} } }, - "ErrorMessage": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "FindingIdentifier": { + "target": "com.amazonaws.securityhub#AwsSecurityFindingIdentifier", "traits": { - "smithy.api#documentation": "

    The message associated with the error.

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

    The identifier of the finding that was not updated.

    ", "smithy.api#required": {} } }, @@ -8049,12 +8100,6 @@ "com.amazonaws.securityhub#Compliance": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.securityhub#ComplianceStatus", - "traits": { - "smithy.api#documentation": "

    The result of a standards check.

    \n

    The valid values for Status are as follows.

    \n
      \n
    • \n
        \n
      • \n

        \n PASSED - Standards check passed for all evaluated\n resources.

        \n
      • \n
      • \n

        \n WARNING - Some information is missing or this check is not\n supported for your configuration.

        \n
      • \n
      • \n

        \n FAILED - Standards check failed for at least one evaluated\n resource.

        \n
      • \n
      • \n

        \n NOT_AVAILABLE - Check could not be performed due to a service\n outage, API error, or because the result of the AWS Config evaluation was\n NOT_APPLICABLE. If the AWS Config evaluation result was\n NOT_APPLICABLE, then after 3 days, Security Hub automatically archives\n the finding.

        \n
      • \n
      \n
    • \n
    " - } - }, "RelatedRequirements": { "target": "com.amazonaws.securityhub#RelatedRequirementsList", "traits": { @@ -8066,6 +8111,12 @@ "traits": { "smithy.api#documentation": "

    For findings generated from controls, a list of reasons behind the value of\n Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the\n AWS Security Hub User Guide.

    " } + }, + "Status": { + "target": "com.amazonaws.securityhub#ComplianceStatus", + "traits": { + "smithy.api#documentation": "

    The result of a standards check.

    \n

    The valid values for Status are as follows.

    \n
      \n
    • \n
        \n
      • \n

        \n PASSED - Standards check passed for all evaluated\n resources.

        \n
      • \n
      • \n

        \n WARNING - Some information is missing or this check is not\n supported for your configuration.

        \n
      • \n
      • \n

        \n FAILED - Standards check failed for at least one evaluated\n resource.

        \n
      • \n
      • \n

        \n NOT_AVAILABLE - Check could not be performed due to a service\n outage, API error, or because the result of the AWS Config evaluation was\n NOT_APPLICABLE. If the AWS Config evaluation result was\n NOT_APPLICABLE, then after 3 days, Security Hub automatically archives\n the finding.

        \n
      • \n
      \n
    • \n
    " + } } }, "traits": { @@ -8098,16 +8149,16 @@ "com.amazonaws.securityhub#ContainerDetails": { "type": "structure", "members": { - "Name": { + "ImageId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the container related to a finding.

    " + "smithy.api#documentation": "

    The identifier of the image related to a finding.

    " } }, - "ImageName": { + "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the image related to a finding.

    " + "smithy.api#documentation": "

    The name of the container related to a finding.

    " } }, "LaunchedAt": { @@ -8116,10 +8167,10 @@ "smithy.api#documentation": "

    Indicates when the container started.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "ImageId": { + "ImageName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the image related to a finding.

    " + "smithy.api#documentation": "

    The name of the image related to a finding.

    " } } }, @@ -8258,17 +8309,17 @@ "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.securityhub#AwsSecurityFindingFilters", + "GroupByAttribute": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    One or more attributes used to filter the findings included in the insight. The insight\n only includes findings that match the criteria defined in the filters.

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

    The attribute used to group the findings for the insight. The grouping attribute\n identifies the type of item that the insight applies to. For example, if an insight is\n grouped by resource identifier, then the insight produces a list of resource\n identifiers.

    ", "smithy.api#required": {} } }, - "GroupByAttribute": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Filters": { + "target": "com.amazonaws.securityhub#AwsSecurityFindingFilters", "traits": { - "smithy.api#documentation": "

    The attribute used to group the findings for the insight. The grouping attribute\n identifies the type of item that the insight applies to. For example, if an insight is\n grouped by resource identifier, then the insight produces a list of resource\n identifiers.

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

    One or more attributes used to filter the findings included in the insight. The insight\n only includes findings that match the criteria defined in the filters.

    ", "smithy.api#required": {} } } @@ -8312,7 +8363,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a member association in Security Hub between the specified accounts and the account\n used to make the request, which is the master account. To successfully create a member, you\n must use this action from an account that already has Security Hub enabled. To enable Security Hub, you\n can use the \n EnableSecurityHub\n operation.

    \n

    After you use CreateMembers to create member account associations in Security Hub,\n you must use the \n InviteMembers\n operation to invite the\n accounts to enable Security Hub and become member accounts in Security Hub.

    \n

    If the account owner accepts the invitation, the account becomes a member account in\n Security Hub. A permissions policy is added that permits the master account to view the findings\n generated in the member account. When Security Hub is enabled in the invited account, findings\n start to be sent to both the member and master accounts.

    \n

    To remove the association between the master and member accounts, use the \n DisassociateFromMasterAccount\n or \n DisassociateMembers\n operation.

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

    Creates a member association in Security Hub between the specified accounts and the account\n used to make the request, which is the master account. If you are integrated with\n Organizations, then the master account is the Security Hub administrator account that is\n designated by the organization management account.

    \n

    \n CreateMembers is always used to add accounts that are not organization\n members.

    \n

    For accounts that are part of an organization, CreateMembers is only used\n in the following cases:

    \n
      \n
    • \n

      Security Hub is not configured to automatically add new accounts in an\n organization.

      \n
    • \n
    • \n

      The account was disassociated or deleted in Security Hub.

      \n
    • \n
    \n

    This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you\n can use the \n EnableSecurityHub\n operation.

    \n

    For accounts that are not organization members, you create the account association and\n then send an invitation to the member account. To send the invitation, you use the\n \n InviteMembers\n operation. If the account owner accepts\n the invitation, the account becomes a member account in Security Hub.

    \n

    Accounts that are part of an organization do not receive an invitation. They\n automatically become a member account in Security Hub.

    \n

    A permissions policy is added that permits the master account to view the findings\n generated in the member account. When Security Hub is enabled in a member account, findings are\n sent to both the member and master accounts.

    \n

    To remove the association between the master and member accounts, use the \n DisassociateFromMasterAccount\n or \n DisassociateMembers\n operation.

    ", "smithy.api#http": { "method": "POST", "uri": "/members", @@ -8326,7 +8377,8 @@ "AccountDetails": { "target": "com.amazonaws.securityhub#AccountDetailsList", "traits": { - "smithy.api#documentation": "

    The list of accounts to associate with the Security Hub master account. For each account, the\n list includes the account ID and the email address.

    " + "smithy.api#documentation": "

    The list of accounts to associate with the Security Hub master account. For each account, the\n list includes the account ID and optionally the email address.

    ", + "smithy.api#required": {} } } } @@ -8342,9 +8394,24 @@ } } }, + "com.amazonaws.securityhub#CrossAccountMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.securityhub#Cvss": { "type": "structure", "members": { + "Version": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The version of CVSS for the CVSS score.

    " + } + }, "BaseScore": { "target": "com.amazonaws.securityhub#Double", "traits": { @@ -8356,12 +8423,6 @@ "traits": { "smithy.api#documentation": "

    The base scoring vector for the CVSS score.

    " } - }, - "Version": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The version of CVSS for the CVSS score.

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

    Declines invitations to become a member account.

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

    Declines invitations to become a member account.

    \n

    This operation is only used by accounts that are not part of an organization.\n Organization accounts do not receive invitations.

    ", "smithy.api#http": { "method": "POST", "uri": "/invitations/decline", @@ -8632,7 +8693,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Deletes invitations received by the AWS account to become a member account.

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

    Deletes invitations received by the AWS account to become a member account.

    \n

    This operation is only used by accounts that are not part of an organization.\n Organization accounts do not receive invitations.

    ", "smithy.api#http": { "method": "POST", "uri": "/invitations/delete", @@ -8689,7 +8750,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Deletes the specified member accounts from Security Hub.

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

    Deletes the specified member accounts from Security Hub.

    \n

    Can be used to delete member accounts that belong to an organization as well as member\n accounts that were invited manually.

    ", "smithy.api#http": { "method": "POST", "uri": "/members/delete", @@ -8703,7 +8764,8 @@ "AccountIds": { "target": "com.amazonaws.securityhub#AccountIdList", "traits": { - "smithy.api#documentation": "

    The list of account IDs for the member accounts to delete.

    " + "smithy.api#documentation": "

    The list of account IDs for the member accounts to delete.

    ", + "smithy.api#required": {} } } } @@ -8758,12 +8820,6 @@ "com.amazonaws.securityhub#DescribeActionTargetsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.securityhub#NextToken", - "traits": { - "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n DescribeActionTargets operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    " - } - }, "MaxResults": { "target": "com.amazonaws.securityhub#MaxResults", "traits": { @@ -8775,6 +8831,12 @@ "traits": { "smithy.api#documentation": "

    A list of custom action target ARNs for the custom action targets to retrieve.

    " } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n DescribeActionTargets operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    " + } } } }, @@ -8851,16 +8913,68 @@ "smithy.api#documentation": "

    Whether to automatically enable new controls when they are added to standards that are\n enabled.

    \n

    If set to true, then new controls for enabled standards are enabled\n automatically. If set to false, then new controls are not enabled.

    " } }, + "SubscribedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The date and time when Security Hub was enabled in the account.

    " + } + }, "HubArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The ARN of the Hub resource that was retrieved.

    " } + } + } + }, + "com.amazonaws.securityhub#DescribeOrganizationConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DescribeOrganizationConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#DescribeOrganizationConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" }, - "SubscribedAt": { - "target": "com.amazonaws.securityhub#NonEmptyString", + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns information about the Organizations configuration for Security Hub. Can only be\n called from a Security Hub administrator account.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/organization/configuration", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DescribeOrganizationConfigurationRequest": { + "type": "structure", + "members": {} + }, + "com.amazonaws.securityhub#DescribeOrganizationConfigurationResponse": { + "type": "structure", + "members": { + "AutoEnable": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The date and time when Security Hub was enabled in the account.

    " + "smithy.api#documentation": "

    Whether to automatically enable Security Hub for new accounts in the organization.

    \n

    If set to true, then Security Hub is enabled for new accounts. If set to false,\n then new accounts are not added automatically.

    " + } + }, + "MemberAccountLimitReached": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether the maximum number of allowed member accounts are already associated with the\n Security Hub administrator account.

    " } } } @@ -9013,7 +9127,7 @@ "StandardsSubscriptionArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of a resource that represents your subscription to a supported standard.

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

    The ARN of a resource that represents your subscription to a supported standard. To get\n the subscription ARNs of the standards you have enabled, use the \n GetEnabledStandards\n operation.

    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9073,17 +9187,17 @@ "com.amazonaws.securityhub#DescribeStandardsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.securityhub#NextToken", - "traits": { - "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " - } - }, "Standards": { "target": "com.amazonaws.securityhub#Standards", "traits": { "smithy.api#documentation": "

    A list of available standards.

    " } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " + } } } }, @@ -9138,6 +9252,53 @@ "type": "structure", "members": {} }, + "com.amazonaws.securityhub#DisableOrganizationAdminAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DisableOrganizationAdminAccountRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#DisableOrganizationAdminAccountResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

    Disables a Security Hub administrator account. Can only be called by the organization\n management account.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/organization/admin/disable", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DisableOrganizationAdminAccountRequest": { + "type": "structure", + "members": { + "AdminAccountId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The AWS account identifier of the Security Hub administrator account.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.securityhub#DisableOrganizationAdminAccountResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.securityhub#DisableSecurityHub": { "type": "operation", "input": { @@ -9203,7 +9364,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Disassociates the current Security Hub member account from the associated master\n account.

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

    Disassociates the current Security Hub member account from the associated master\n account.

    \n

    This operation is only used by accounts that are not part of an organization. For\n organization accounts, only the master account (the designated Security Hub administrator) can\n disassociate a member account.

    ", "smithy.api#http": { "method": "POST", "uri": "/master/disassociate", @@ -9245,7 +9406,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Disassociates the specified member accounts from the associated master account.

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

    Disassociates the specified member accounts from the associated master account.

    \n

    Can be used to disassociate both accounts that are in an organization and accounts that\n were invited manually.

    ", "smithy.api#http": { "method": "POST", "uri": "/members/disassociate", @@ -9259,7 +9420,8 @@ "AccountIds": { "target": "com.amazonaws.securityhub#AccountIdList", "traits": { - "smithy.api#documentation": "

    The account IDs of the member accounts to disassociate from the master account.

    " + "smithy.api#documentation": "

    The account IDs of the member accounts to disassociate from the master account.

    ", + "smithy.api#required": {} } } } @@ -9271,13 +9433,70 @@ "com.amazonaws.securityhub#Double": { "type": "double" }, - "com.amazonaws.securityhub#EnableImportFindingsForProduct": { + "com.amazonaws.securityhub#EnableImportFindingsForProduct": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#EnableImportFindingsForProductRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#EnableImportFindingsForProductResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + }, + { + "target": "com.amazonaws.securityhub#ResourceConflictException" + } + ], + "traits": { + "smithy.api#documentation": "

    Enables the integration of a partner product with Security Hub. Integrated products send\n findings to Security Hub.

    \n

    When you enable a product integration, a permissions policy that grants permission for\n the product to send findings to Security Hub is applied.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/productSubscriptions", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#EnableImportFindingsForProductRequest": { + "type": "structure", + "members": { + "ProductArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The ARN of the product to enable the integration for.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.securityhub#EnableImportFindingsForProductResponse": { + "type": "structure", + "members": { + "ProductSubscriptionArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The ARN of your subscription to the product to enable integrations for.

    " + } + } + } + }, + "com.amazonaws.securityhub#EnableOrganizationAdminAccount": { "type": "operation", "input": { - "target": "com.amazonaws.securityhub#EnableImportFindingsForProductRequest" + "target": "com.amazonaws.securityhub#EnableOrganizationAdminAccountRequest" }, "output": { - "target": "com.amazonaws.securityhub#EnableImportFindingsForProductResponse" + "target": "com.amazonaws.securityhub#EnableOrganizationAdminAccountResponse" }, "errors": [ { @@ -9291,42 +9510,32 @@ }, { "target": "com.amazonaws.securityhub#LimitExceededException" - }, - { - "target": "com.amazonaws.securityhub#ResourceConflictException" } ], "traits": { - "smithy.api#documentation": "

    Enables the integration of a partner product with Security Hub. Integrated products send\n findings to Security Hub.

    \n

    When you enable a product integration, a permissions policy that grants permission for\n the product to send findings to Security Hub is applied.

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

    Designates the Security Hub administrator account for an organization. Can only be called by\n the organization management account.

    ", "smithy.api#http": { "method": "POST", - "uri": "/productSubscriptions", + "uri": "/organization/admin/enable", "code": 200 } } }, - "com.amazonaws.securityhub#EnableImportFindingsForProductRequest": { + "com.amazonaws.securityhub#EnableOrganizationAdminAccountRequest": { "type": "structure", "members": { - "ProductArn": { + "AdminAccountId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the product to enable the integration for.

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

    The AWS account identifier of the account to designate as the Security Hub administrator\n account.

    ", "smithy.api#required": {} } } } }, - "com.amazonaws.securityhub#EnableImportFindingsForProductResponse": { + "com.amazonaws.securityhub#EnableOrganizationAdminAccountResponse": { "type": "structure", - "members": { - "ProductSubscriptionArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of your subscription to the product to enable integrations for.

    " - } - } - } + "members": {} }, "com.amazonaws.securityhub#EnableSecurityHub": { "type": "operation", @@ -9365,17 +9574,17 @@ "com.amazonaws.securityhub#EnableSecurityHubRequest": { "type": "structure", "members": { - "EnableDefaultStandards": { - "target": "com.amazonaws.securityhub#Boolean", - "traits": { - "smithy.api#documentation": "

    Whether to enable the security standards that Security Hub has designated as automatically\n enabled. If you do not provide a value for EnableDefaultStandards, it is set\n to true. To not enable the automatically enabled standards, set\n EnableDefaultStandards to false.

    " - } - }, "Tags": { "target": "com.amazonaws.securityhub#TagMap", "traits": { "smithy.api#documentation": "

    The tags to add to the hub resource when you enable Security Hub.

    " } + }, + "EnableDefaultStandards": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

    Whether to enable the security standards that Security Hub has designated as automatically\n enabled. If you do not provide a value for EnableDefaultStandards, it is set\n to true. To not enable the automatically enabled standards, set\n EnableDefaultStandards to false.

    " + } } } }, @@ -9437,34 +9646,34 @@ "smithy.api#documentation": "

    The list of the standards subscription ARNs for the standards to retrieve.

    " } }, - "NextToken": { - "target": "com.amazonaws.securityhub#NextToken", - "traits": { - "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n GetEnabledStandards operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    " - } - }, "MaxResults": { "target": "com.amazonaws.securityhub#MaxResults", "traits": { "smithy.api#documentation": "

    The maximum number of results to return in the response.

    " } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n GetEnabledStandards operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    " + } } } }, "com.amazonaws.securityhub#GetEnabledStandardsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.securityhub#NextToken", - "traits": { - "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " - } - }, "StandardsSubscriptions": { "target": "com.amazonaws.securityhub#StandardsSubscriptions", "traits": { "smithy.api#documentation": "

    The list of StandardsSubscriptions objects that include information about\n the enabled standards.

    " } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " + } } } }, @@ -9652,6 +9861,12 @@ "com.amazonaws.securityhub#GetInsightsRequest": { "type": "structure", "members": { + "InsightArns": { + "target": "com.amazonaws.securityhub#ArnList", + "traits": { + "smithy.api#documentation": "

    The ARNs of the insights to describe. If you do not provide any insight ARNs, then\n GetInsights returns all of your custom insights. It does not return any\n managed insights.

    " + } + }, "MaxResults": { "target": "com.amazonaws.securityhub#MaxResults", "traits": { @@ -9663,30 +9878,24 @@ "traits": { "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n GetInsights operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    " } - }, - "InsightArns": { - "target": "com.amazonaws.securityhub#ArnList", - "traits": { - "smithy.api#documentation": "

    The ARNs of the insights to describe. If you do not provide any insight ARNs, then\n GetInsights returns all of your custom insights. It does not return any\n managed insights.

    " - } } } }, "com.amazonaws.securityhub#GetInsightsResponse": { "type": "structure", "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " + } + }, "Insights": { "target": "com.amazonaws.securityhub#InsightList", "traits": { "smithy.api#documentation": "

    The insights returned by the operation.

    ", "smithy.api#required": {} } - }, - "NextToken": { - "target": "com.amazonaws.securityhub#NextToken", - "traits": { - "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

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

    Provides the details for the Security Hub master account for the current member account.

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

    Provides the details for the Security Hub master account for the current member account.

    \n

    Can be used by both member accounts that are in an organization and accounts that were\n invited manually.

    ", "smithy.api#http": { "method": "GET", "uri": "/master", @@ -9811,7 +10020,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Returns the details for the Security Hub member accounts for the specified account IDs.

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

    Returns the details for the Security Hub member accounts for the specified account IDs.

    \n

    A master account can be either a delegated Security Hub administrator account for an\n organization or a master account that enabled Security Hub manually.

    \n

    The results include both member accounts that are in an organization and accounts that\n were invited manually.

    ", "smithy.api#http": { "method": "POST", "uri": "/members/get", @@ -9834,17 +10043,17 @@ "com.amazonaws.securityhub#GetMembersResponse": { "type": "structure", "members": { - "UnprocessedAccounts": { - "target": "com.amazonaws.securityhub#ResultList", - "traits": { - "smithy.api#documentation": "

    The list of AWS accounts that could not be processed. For each account, the list\n includes the account ID and the email address.

    " - } - }, "Members": { "target": "com.amazonaws.securityhub#MemberList", "traits": { "smithy.api#documentation": "

    The list of details about the Security Hub member accounts.

    " } + }, + "UnprocessedAccounts": { + "target": "com.amazonaws.securityhub#ResultList", + "traits": { + "smithy.api#documentation": "

    The list of AWS accounts that could not be processed. For each account, the list\n includes the account ID and the email address.

    " + } } } }, @@ -9858,17 +10067,17 @@ "smithy.api#required": {} } }, - "ErrorCode": { + "Id": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The code of the error returned by the BatchImportFindings operation.

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

    The identifier of the finding that could not be updated.

    ", "smithy.api#required": {} } }, - "Id": { + "ErrorCode": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The identifier of the finding that could not be updated.

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

    The code of the error returned by the BatchImportFindings operation.

    ", "smithy.api#required": {} } } @@ -9900,17 +10109,17 @@ "smithy.api#required": {} } }, - "GroupByAttribute": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Filters": { + "target": "com.amazonaws.securityhub#AwsSecurityFindingFilters", "traits": { - "smithy.api#documentation": "

    The grouping attribute for the insight's findings. Indicates how to group the matching\n findings, and identifies the type of item that the insight applies to. For example, if an\n insight is grouped by resource identifier, then the insight produces a list of resource\n identifiers.

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

    One or more attributes used to filter the findings included in the insight. The insight\n only includes findings that match the criteria defined in the filters.

    ", "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.securityhub#AwsSecurityFindingFilters", + "GroupByAttribute": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    One or more attributes used to filter the findings included in the insight. The insight\n only includes findings that match the criteria defined in the filters.

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

    The grouping attribute for the insight's findings. Indicates how to group the matching\n findings, and identifies the type of item that the insight applies to. For example, if an\n insight is grouped by resource identifier, then the insight produces a list of resource\n identifiers.

    ", "smithy.api#required": {} } } @@ -9928,17 +10137,17 @@ "com.amazonaws.securityhub#InsightResultValue": { "type": "structure", "members": { - "GroupByAttributeValue": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Count": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The value of the attribute that the findings are grouped by for the insight whose\n results are returned by the GetInsightResults operation.

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

    The number of findings returned for each GroupByAttributeValue.

    ", "smithy.api#required": {} } }, - "Count": { - "target": "com.amazonaws.securityhub#Integer", + "GroupByAttributeValue": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The number of findings returned for each GroupByAttributeValue.

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

    The value of the attribute that the findings are grouped by for the insight whose\n results are returned by the GetInsightResults operation.

    ", "smithy.api#required": {} } } @@ -9963,17 +10172,17 @@ "smithy.api#required": {} } }, - "ResultValues": { - "target": "com.amazonaws.securityhub#InsightResultValueList", + "GroupByAttribute": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The list of insight result values returned by the GetInsightResults\n operation.

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

    The attribute that the findings are grouped by for the insight whose results are\n returned by the GetInsightResults operation.

    ", "smithy.api#required": {} } }, - "GroupByAttribute": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ResultValues": { + "target": "com.amazonaws.securityhub#InsightResultValueList", "traits": { - "smithy.api#documentation": "

    The attribute that the findings are grouped by for the insight whose results are\n returned by the GetInsightResults operation.

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

    The list of insight result values returned by the GetInsightResults\n operation.

    ", "smithy.api#required": {} } } @@ -10033,7 +10242,7 @@ } }, "traits": { - "smithy.api#documentation": "

    AWS Security Hub isn't enabled for the account used to make this request.

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

    There is an issue with the account used to make the request. Either Security Hub is not enabled\n for the account, or the account does not have permission to perform this action.

    ", "smithy.api#error": "client", "smithy.api#httpError": 401 } @@ -10041,10 +10250,10 @@ "com.amazonaws.securityhub#InvalidInputException": { "type": "structure", "members": { - "Code": { + "Message": { "target": "com.amazonaws.securityhub#NonEmptyString" }, - "Message": { + "Code": { "target": "com.amazonaws.securityhub#NonEmptyString" } }, @@ -10063,16 +10272,16 @@ "smithy.api#documentation": "

    The timestamp of when the invitation was sent.

    " } }, - "MemberStatus": { + "InvitationId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The current status of the association between the member and master accounts.

    " + "smithy.api#documentation": "

    The ID of the invitation sent to the member account.

    " } }, - "InvitationId": { + "MemberStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ID of the invitation sent to the member account.

    " + "smithy.api#documentation": "

    The current status of the association between the member and master accounts.

    " } }, "AccountId": { @@ -10118,7 +10327,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Invites other AWS accounts to become member accounts for the Security Hub master account that\n the invitation is sent from.

    \n

    Before you can use this action to invite a member, you must first use the \n CreateMembers\n action to create the member account in Security Hub.

    \n

    When the account owner accepts the invitation to become a member account and enables\n Security Hub, the master account can view the findings generated from the member account.

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

    Invites other AWS accounts to become member accounts for the Security Hub master account that\n the invitation is sent from.

    \n

    This operation is only used to invite accounts that do not belong to an organization.\n Organization accounts do not receive invitations.

    \n

    Before you can use this action to invite a member, you must first use the \n CreateMembers\n action to create the member account in Security Hub.

    \n

    When the account owner enables Security Hub and accepts the invitation to become a member\n account, the master account can view the findings generated from the member account.

    ", "smithy.api#http": { "method": "POST", "uri": "/members/invite", @@ -10132,7 +10341,8 @@ "AccountIds": { "target": "com.amazonaws.securityhub#AccountIdList", "traits": { - "smithy.api#documentation": "

    The list of account IDs of the AWS accounts to invite to Security Hub as members.

    " + "smithy.api#documentation": "

    The list of account IDs of the AWS accounts to invite to Security Hub as members.

    ", + "smithy.api#required": {} } } } @@ -10171,16 +10381,16 @@ "com.amazonaws.securityhub#Ipv6CidrBlockAssociation": { "type": "structure", "members": { - "AssociationId": { + "Ipv6CidrBlock": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The association ID for the IPv6 CIDR block.

    " + "smithy.api#documentation": "

    The IPv6 CIDR block.

    " } }, - "Ipv6CidrBlock": { + "AssociationId": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The IPv6 CIDR block.

    " + "smithy.api#documentation": "

    The association ID for the IPv6 CIDR block.

    " } }, "CidrBlockState": { @@ -10223,15 +10433,15 @@ "com.amazonaws.securityhub#LimitExceededException": { "type": "structure", "members": { - "Message": { + "Code": { "target": "com.amazonaws.securityhub#NonEmptyString" }, - "Code": { + "Message": { "target": "com.amazonaws.securityhub#NonEmptyString" } }, "traits": { - "smithy.api#documentation": "

    The request was rejected because it attempted to create resources beyond the current AWS\n account limits. The error code describes the limit exceeded.

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

    The request was rejected because it attempted to create resources beyond the current AWS\n account or throttling limits. The error code describes the limit exceeded.

    ", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -10272,19 +10482,19 @@ "com.amazonaws.securityhub#ListEnabledProductsForImportRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.securityhub#NextToken", - "traits": { - "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n ListEnabledProductsForImport operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    ", - "smithy.api#httpQuery": "NextToken" - } - }, "MaxResults": { "target": "com.amazonaws.securityhub#MaxResults", "traits": { "smithy.api#documentation": "

    The maximum number of items to return in the response.

    ", "smithy.api#httpQuery": "MaxResults" } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n ListEnabledProductsForImport operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    ", + "smithy.api#httpQuery": "NextToken" + } } } }, @@ -10328,7 +10538,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Lists all Security Hub membership invitations that were sent to the current AWS account.\n

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

    Lists all Security Hub membership invitations that were sent to the current AWS account.

    \n

    This operation is only used by accounts that do not belong to an organization.\n Organization accounts do not receive invitations.

    ", "smithy.api#http": { "method": "GET", "uri": "/invitations", @@ -10344,46 +10554,125 @@ "com.amazonaws.securityhub#ListInvitationsRequest": { "type": "structure", "members": { + "MaxResults": { + "target": "com.amazonaws.securityhub#CrossAccountMaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of items to return in the response.

    ", + "smithy.api#httpQuery": "MaxResults" + } + }, "NextToken": { "target": "com.amazonaws.securityhub#NextToken", "traits": { "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n ListInvitations operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    ", "smithy.api#httpQuery": "NextToken" } + } + } + }, + "com.amazonaws.securityhub#ListInvitationsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " + } + }, + "Invitations": { + "target": "com.amazonaws.securityhub#InvitationList", + "traits": { + "smithy.api#documentation": "

    The details of the invitations returned by the operation.

    " + } + } + } + }, + "com.amazonaws.securityhub#ListMembers": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#ListMembersRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#ListMembersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

    Lists details about all member accounts for the current Security Hub master\n account.

    \n

    The results include both member accounts that belong to an organization and member\n accounts that were invited manually.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/members", + "code": 200 }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.securityhub#ListMembersRequest": { + "type": "structure", + "members": { "MaxResults": { - "target": "com.amazonaws.securityhub#MaxResults", + "target": "com.amazonaws.securityhub#CrossAccountMaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of items to return in the response.

    ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n ListMembers operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

    ", + "smithy.api#httpQuery": "NextToken" + } + }, + "OnlyAssociated": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The maximum number of items to return in the response.

    ", - "smithy.api#httpQuery": "MaxResults" + "smithy.api#documentation": "

    Specifies which member accounts to include in the response based on their relationship\n status with the master account. The default value is TRUE.

    \n

    If OnlyAssociated is set to TRUE, the response includes member\n accounts whose relationship status with the master is set to ENABLED.

    \n

    If OnlyAssociated is set to FALSE, the response includes all\n existing member accounts.

    ", + "smithy.api#httpQuery": "OnlyAssociated" } } } }, - "com.amazonaws.securityhub#ListInvitationsResponse": { + "com.amazonaws.securityhub#ListMembersResponse": { "type": "structure", "members": { - "Invitations": { - "target": "com.amazonaws.securityhub#InvitationList", - "traits": { - "smithy.api#documentation": "

    The details of the invitations returned by the operation.

    " - } - }, "NextToken": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " } + }, + "Members": { + "target": "com.amazonaws.securityhub#MemberList", + "traits": { + "smithy.api#documentation": "

    Member details returned by the operation.

    " + } } } }, - "com.amazonaws.securityhub#ListMembers": { + "com.amazonaws.securityhub#ListOrganizationAdminAccounts": { "type": "operation", "input": { - "target": "com.amazonaws.securityhub#ListMembersRequest" + "target": "com.amazonaws.securityhub#ListOrganizationAdminAccountsRequest" }, "output": { - "target": "com.amazonaws.securityhub#ListMembersResponse" + "target": "com.amazonaws.securityhub#ListOrganizationAdminAccountsResponse" }, "errors": [ { @@ -10400,10 +10689,10 @@ } ], "traits": { - "smithy.api#documentation": "

    Lists details about all member accounts for the current Security Hub master\n account.

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

    Lists the Security Hub administrator accounts. Can only be called by the organization\n management account.

    ", "smithy.api#http": { "method": "GET", - "uri": "/members", + "uri": "/organization/admin", "code": 200 }, "smithy.api#paginated": { @@ -10413,45 +10702,38 @@ } } }, - "com.amazonaws.securityhub#ListMembersRequest": { + "com.amazonaws.securityhub#ListOrganizationAdminAccountsRequest": { "type": "structure", "members": { "MaxResults": { - "target": "com.amazonaws.securityhub#MaxResults", + "target": "com.amazonaws.securityhub#AdminsMaxResults", "traits": { - "smithy.api#documentation": "

    The maximum number of items to return in the response.

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

    The maximum number of items to return in the response.

    ", "smithy.api#httpQuery": "MaxResults" } }, - "OnlyAssociated": { - "target": "com.amazonaws.securityhub#Boolean", - "traits": { - "smithy.api#documentation": "

    Specifies which member accounts to include in the response based on their relationship\n status with the master account. The default value is TRUE.

    \n

    If OnlyAssociated is set to TRUE, the response includes member\n accounts whose relationship status with the master is set to ENABLED or\n DISABLED.

    \n

    If OnlyAssociated is set to FALSE, the response includes all\n existing member accounts.

    ", - "smithy.api#httpQuery": "OnlyAssociated" - } - }, "NextToken": { "target": "com.amazonaws.securityhub#NextToken", "traits": { - "smithy.api#documentation": "

    The token that is required for pagination. On your first call to the\n ListMembers operation, set the value of this parameter to\n NULL.

    \n

    For subsequent calls to the operation, to continue listing data, set the value of this\n parameter to the value returned from the previous response.

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

    The token that is required for pagination. On your first call to the\n ListOrganizationAdminAccounts operation, set the value of this parameter to\n NULL. For subsequent calls to the operation, to continue listing data, set\n the value of this parameter to the value returned from the previous response.

    ", "smithy.api#httpQuery": "NextToken" } } } }, - "com.amazonaws.securityhub#ListMembersResponse": { + "com.amazonaws.securityhub#ListOrganizationAdminAccountsResponse": { "type": "structure", "members": { - "Members": { - "target": "com.amazonaws.securityhub#MemberList", + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", "traits": { - "smithy.api#documentation": "

    Member details returned by the operation.

    " + "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " } }, - "NextToken": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AdminAccounts": { + "target": "com.amazonaws.securityhub#AdminAccounts", "traits": { - "smithy.api#documentation": "

    The pagination token to use to request the next page of results.

    " + "smithy.api#documentation": "

    The list of Security Hub administrator accounts.

    " } } } @@ -10534,16 +10816,10 @@ "com.amazonaws.securityhub#Malware": { "type": "structure", "members": { - "Path": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The file system path of the malware that was observed.

    " - } - }, - "State": { - "target": "com.amazonaws.securityhub#MalwareState", + "Type": { + "target": "com.amazonaws.securityhub#MalwareType", "traits": { - "smithy.api#documentation": "

    The state of the malware that was observed.

    " + "smithy.api#documentation": "

    The type of the malware that was observed.

    " } }, "Name": { @@ -10553,10 +10829,16 @@ "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.securityhub#MalwareType", + "Path": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of the malware that was observed.

    " + "smithy.api#documentation": "

    The file system path of the malware that was observed.

    " + } + }, + "State": { + "target": "com.amazonaws.securityhub#MalwareState", + "traits": { + "smithy.api#documentation": "

    The state of the malware that was observed.

    " } } }, @@ -10665,17 +10947,17 @@ "smithy.api#documentation": "

    The value for the key in the map filter. Filter values are case sensitive. For example,\n one of the values for a tag called Department might be Security.\n If you provide security as the filter value, then there is no match.

    " } }, - "Key": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The key of the map filter. For example, for ResourceTags, Key\n identifies the name of the tag. For UserDefinedFields, Key is the\n name of the field.

    " - } - }, "Comparison": { "target": "com.amazonaws.securityhub#MapFilterComparison", "traits": { "smithy.api#documentation": "

    The condition to apply to the key value when querying for findings with a map\n filter.

    \n

    To search for values that exactly match the filter value, use EQUALS. For\n example, for the ResourceTags field, the filter Department EQUALS\n Security matches findings that have the value Security for the tag\n Department.

    \n

    To search for values other than the filter value, use NOT_EQUALS. For\n example, for the ResourceTags field, the filter Department NOT_EQUALS\n Finance matches findings that do not have the value Finance for the\n tag Department.

    \n

    \n EQUALS filters on the same field are joined by OR. A finding\n matches if it matches any one of those filters.

    \n

    \n NOT_EQUALS filters on the same field are joined by AND. A\n finding matches only if it matches all of those filters.

    \n

    You cannot have both an EQUALS filter and a NOT_EQUALS filter\n on the same field.

    " } + }, + "Key": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The key of the map filter. For example, for ResourceTags, Key\n identifies the name of the tag. For UserDefinedFields, Key is the\n name of the field.

    " + } } }, "traits": { @@ -10715,16 +10997,16 @@ "com.amazonaws.securityhub#Member": { "type": "structure", "members": { - "Email": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "AccountId": { + "target": "com.amazonaws.securityhub#AccountId", "traits": { - "smithy.api#documentation": "

    The email address of the member account.

    " + "smithy.api#documentation": "

    The AWS account ID of the member account.

    " } }, - "UpdatedAt": { - "target": "com.amazonaws.securityhub#Timestamp", + "MasterId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The timestamp for the date and time when the member account was updated.

    " + "smithy.api#documentation": "

    The AWS account ID of the Security Hub master account associated with this member account.

    " } }, "InvitedAt": { @@ -10733,22 +11015,22 @@ "smithy.api#documentation": "

    A timestamp for the date and time when the invitation was sent to the member\n account.

    " } }, - "MemberStatus": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "UpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", "traits": { - "smithy.api#documentation": "

    The status of the relationship between the member account and its master account.\n

    \n

    The status can have one of the following values:

    \n
      \n
    • \n

      \n CREATED - Indicates that the master account added the member account,\n but has not yet invited the member account.

      \n
    • \n
    • \n

      \n INVITED - Indicates that the master account invited the member\n account. The member account has not yet responded to the invitation.

      \n
    • \n
    • \n

      \n ASSOCIATED - Indicates that the member account accepted the\n invitation.

      \n
    • \n
    • \n

      \n REMOVED - Indicates that the master account disassociated the member\n account.

      \n
    • \n
    • \n

      \n RESIGNED - Indicates that the member account disassociated themselves\n from the master account.

      \n
    • \n
    • \n

      \n DELETED - Indicates that the master account deleted the member\n account.

      \n
    • \n
    " + "smithy.api#documentation": "

    The timestamp for the date and time when the member account was updated.

    " } }, - "MasterId": { + "MemberStatus": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the Security Hub master account associated with this member account.

    " + "smithy.api#documentation": "

    The status of the relationship between the member account and its master account.\n

    \n

    The status can have one of the following values:

    \n
      \n
    • \n

      \n CREATED - Indicates that the master account added the member account,\n but has not yet invited the member account.

      \n
    • \n
    • \n

      \n INVITED - Indicates that the master account invited the member\n account. The member account has not yet responded to the invitation.

      \n
    • \n
    • \n

      \n ENABLED - Indicates that the member account is currently active. For\n manually invited member accounts, indicates that the member account accepted the\n invitation.

      \n
    • \n
    • \n

      \n REMOVED - Indicates that the master account disassociated the member\n account.

      \n
    • \n
    • \n

      \n RESIGNED - Indicates that the member account disassociated themselves\n from the master account.

      \n
    • \n
    • \n

      \n DELETED - Indicates that the master account deleted the member\n account.

      \n
    • \n
    " } }, - "AccountId": { - "target": "com.amazonaws.securityhub#AccountId", + "Email": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The AWS account ID of the member account.

    " + "smithy.api#documentation": "

    The email address of the member account.

    " } } }, @@ -10765,40 +11047,28 @@ "com.amazonaws.securityhub#Network": { "type": "structure", "members": { - "DestinationDomain": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The destination domain of network-related information about a finding.

    " - } - }, "SourceIpV6": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The source IPv6 address of network-related information about a finding.

    " } }, - "SourceIpV4": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The source IPv4 address of network-related information about a finding.

    " - } - }, - "SourcePort": { - "target": "com.amazonaws.securityhub#Integer", + "OpenPortRange": { + "target": "com.amazonaws.securityhub#PortRange", "traits": { - "smithy.api#documentation": "

    The source port of network-related information about a finding.

    " + "smithy.api#documentation": "

    The range of open ports that is present on the network.

    " } }, - "Protocol": { + "DestinationIpV4": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The protocol of network-related information about a finding.

    " + "smithy.api#documentation": "

    The destination IPv4 address of network-related information about a finding.

    " } }, - "SourceDomain": { + "DestinationIpV6": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The source domain of network-related information about a finding.

    " + "smithy.api#documentation": "

    The destination IPv6 address of network-related information about a finding.

    " } }, "SourceMac": { @@ -10807,10 +11077,10 @@ "smithy.api#documentation": "

    The source media access control (MAC) address of network-related information about a\n finding.

    " } }, - "OpenPortRange": { - "target": "com.amazonaws.securityhub#PortRange", + "SourceDomain": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The range of open ports that is present on the network.

    " + "smithy.api#documentation": "

    The source domain of network-related information about a finding.

    " } }, "Direction": { @@ -10819,22 +11089,34 @@ "smithy.api#documentation": "

    The direction of network traffic associated with a finding.

    " } }, - "DestinationIpV4": { + "DestinationPort": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The destination port of network-related information about a finding.

    " + } + }, + "Protocol": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The destination IPv4 address of network-related information about a finding.

    " + "smithy.api#documentation": "

    The protocol of network-related information about a finding.

    " } }, - "DestinationPort": { + "SourcePort": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The destination port of network-related information about a finding.

    " + "smithy.api#documentation": "

    The source port of network-related information about a finding.

    " } }, - "DestinationIpV6": { + "SourceIpV4": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The destination IPv6 address of network-related information about a finding.

    " + "smithy.api#documentation": "

    The source IPv4 address of network-related information about a finding.

    " + } + }, + "DestinationDomain": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The destination domain of network-related information about a finding.

    " } } }, @@ -10866,17 +11148,17 @@ "smithy.api#documentation": "

    Information about the origin of the component.

    " } }, - "Destination": { - "target": "com.amazonaws.securityhub#NetworkPathComponentDetails", - "traits": { - "smithy.api#documentation": "

    Information about the destination of the component.

    " - } - }, "Protocol": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The protocol used for the component.

    " } + }, + "Destination": { + "target": "com.amazonaws.securityhub#NetworkPathComponentDetails", + "traits": { + "smithy.api#documentation": "

    Information about the destination of the component.

    " + } } }, "traits": { @@ -10886,16 +11168,10 @@ "com.amazonaws.securityhub#NetworkPathComponent": { "type": "structure", "members": { - "ComponentId": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The identifier of a component in the network path.

    " - } - }, - "ComponentType": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "Egress": { + "target": "com.amazonaws.securityhub#NetworkHeader", "traits": { - "smithy.api#documentation": "

    The type of component.

    " + "smithy.api#documentation": "

    Information about the component that comes after the current component in the network\n path.

    " } }, "Ingress": { @@ -10904,10 +11180,16 @@ "smithy.api#documentation": "

    Information about the component that comes before the current node in the network\n path.

    " } }, - "Egress": { - "target": "com.amazonaws.securityhub#NetworkHeader", + "ComponentId": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the component that comes after the current component in the network\n path.

    " + "smithy.api#documentation": "

    The identifier of a component in the network path.

    " + } + }, + "ComponentType": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The type of component.

    " } } }, @@ -10918,17 +11200,17 @@ "com.amazonaws.securityhub#NetworkPathComponentDetails": { "type": "structure", "members": { - "Address": { - "target": "com.amazonaws.securityhub#StringList", - "traits": { - "smithy.api#documentation": "

    The IP addresses of the destination.

    " - } - }, "PortRanges": { "target": "com.amazonaws.securityhub#PortRangeList", "traits": { "smithy.api#documentation": "

    A list of port ranges for the destination.

    " } + }, + "Address": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

    The IP addresses of the destination.

    " + } } }, "traits": { @@ -10959,24 +11241,24 @@ "com.amazonaws.securityhub#Note": { "type": "structure", "members": { - "UpdatedAt": { + "UpdatedBy": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The timestamp of when the note was updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

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

    The principal that created a note.

    ", "smithy.api#required": {} } }, - "UpdatedBy": { + "Text": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The principal that created a note.

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

    The text of a note.

    ", "smithy.api#required": {} } }, - "Text": { + "UpdatedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The text of a note.

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

    The timestamp of when the note was updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    ", "smithy.api#required": {} } } @@ -11010,16 +11292,16 @@ "com.amazonaws.securityhub#NumberFilter": { "type": "structure", "members": { - "Lte": { + "Eq": { "target": "com.amazonaws.securityhub#Double", "traits": { - "smithy.api#documentation": "

    The less-than-equal condition to be applied to a single field when querying for\n findings.

    " + "smithy.api#documentation": "

    The equal-to condition to be applied to a single field when querying for\n findings.

    " } }, - "Eq": { + "Lte": { "target": "com.amazonaws.securityhub#Double", "traits": { - "smithy.api#documentation": "

    The equal-to condition to be applied to a single field when querying for\n findings.

    " + "smithy.api#documentation": "

    The less-than-equal condition to be applied to a single field when querying for\n findings.

    " } }, "Gte": { @@ -11053,42 +11335,24 @@ }, { "value": "aws-us-gov", - "name": "AWS_US_GOV" - } - ] - } - }, - "com.amazonaws.securityhub#PatchSummary": { - "type": "structure", - "members": { - "InstalledPendingReboot": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The number of patches that were applied, but that require the instance to be rebooted in\n order to be marked as installed.

    " - } - }, - "FailedCount": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The number of patches from the compliance standard that failed to install.

    " - } - }, - "InstalledRejectedCount": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    The number of patches that are installed but are also on a list of patches that the\n customer rejected.

    " - } - }, - "MissingCount": { - "target": "com.amazonaws.securityhub#Integer", + "name": "AWS_US_GOV" + } + ] + } + }, + "com.amazonaws.securityhub#PatchSummary": { + "type": "structure", + "members": { + "Operation": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The number of patches that are part of the compliance standard but are not installed.\n The count includes patches that failed to install.

    " + "smithy.api#documentation": "

    The type of patch operation performed. For Patch Manager, the values are\n SCAN and INSTALL.

    " } }, - "OperationStartTime": { + "RebootOption": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the operation started.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The reboot option specified for the instance.

    " } }, "InstalledCount": { @@ -11104,16 +11368,16 @@ "smithy.api#required": {} } }, - "Operation": { + "OperationEndTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The type of patch operation performed. For Patch Manager, the values are\n SCAN and INSTALL.

    " + "smithy.api#documentation": "

    Indicates when the operation completed.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "OperationEndTime": { + "OperationStartTime": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the operation completed.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    Indicates when the operation started.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, "InstalledOtherCount": { @@ -11122,10 +11386,28 @@ "smithy.api#documentation": "

    The number of installed patches that are not part of the compliance standard.

    " } }, - "RebootOption": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "InstalledRejectedCount": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The reboot option specified for the instance.

    " + "smithy.api#documentation": "

    The number of patches that are installed but are also on a list of patches that the\n customer rejected.

    " + } + }, + "FailedCount": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The number of patches from the compliance standard that failed to install.

    " + } + }, + "InstalledPendingReboot": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The number of patches that were applied, but that require the instance to be rebooted in\n order to be marked as installed.

    " + } + }, + "MissingCount": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    The number of patches that are part of the compliance standard but are not installed.\n The count includes patches that failed to install.

    " } } }, @@ -11168,22 +11450,16 @@ "smithy.api#documentation": "

    Indicates when the process was terminated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "LaunchedAt": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    Indicates when the process was launched.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " - } - }, "Pid": { "target": "com.amazonaws.securityhub#Integer", "traits": { "smithy.api#documentation": "

    The process ID.

    " } }, - "Name": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "ParentPid": { + "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

    The name of the process.

    " + "smithy.api#documentation": "

    The parent process ID.

    " } }, "Path": { @@ -11192,10 +11468,16 @@ "smithy.api#documentation": "

    The path to the process executable.

    " } }, - "ParentPid": { - "target": "com.amazonaws.securityhub#Integer", + "LaunchedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The parent process ID.

    " + "smithy.api#documentation": "

    Indicates when the process was launched.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + } + }, + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The name of the process.

    " } } }, @@ -11212,28 +11494,16 @@ "smithy.api#documentation": "

    A description of the product.

    " } }, - "IntegrationTypes": { - "target": "com.amazonaws.securityhub#IntegrationTypeList", - "traits": { - "smithy.api#documentation": "

    The types of integration that the product supports. Available values are the\n following.

    \n
      \n
    • \n

      \n SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends\n findings to Security Hub.

      \n
    • \n
    • \n

      \n RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration\n receives findings from Security Hub.

      \n
    • \n
    " - } - }, - "ProductSubscriptionResourcePolicy": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The resource policy associated with the product.

    " - } - }, - "MarketplaceUrl": { + "CompanyName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The URL for the page that contains more information about the product.

    " + "smithy.api#documentation": "

    The name of the company that provides the product.

    " } }, - "ProductName": { + "ActivationUrl": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the product.

    " + "smithy.api#documentation": "

    The URL used to activate the product.

    " } }, "Categories": { @@ -11242,10 +11512,10 @@ "smithy.api#documentation": "

    The categories assigned to the product.

    " } }, - "ActivationUrl": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IntegrationTypes": { + "target": "com.amazonaws.securityhub#IntegrationTypeList", "traits": { - "smithy.api#documentation": "

    The URL used to activate the product.

    " + "smithy.api#documentation": "

    The types of integration that the product supports. Available values are the\n following.

    \n
      \n
    • \n

      \n SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends\n findings to Security Hub.

      \n
    • \n
    • \n

      \n RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration\n receives findings from Security Hub.

      \n
    • \n
    " } }, "ProductArn": { @@ -11255,10 +11525,22 @@ "smithy.api#required": {} } }, - "CompanyName": { + "MarketplaceUrl": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the company that provides the product.

    " + "smithy.api#documentation": "

    The URL for the page that contains more information about the product.

    " + } + }, + "ProductSubscriptionResourcePolicy": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The resource policy associated with the product.

    " + } + }, + "ProductName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The name of the product.

    " } } }, @@ -11290,16 +11572,16 @@ "com.amazonaws.securityhub#Recommendation": { "type": "structure", "members": { - "Url": { + "Text": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    A URL to a page or site that contains information about how to remediate a finding.

    " + "smithy.api#documentation": "

    Describes the recommended steps to take to remediate an issue identified in a finding.

    " } }, - "Text": { + "Url": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Describes the recommended steps to take to remediate an issue identified in a finding.

    " + "smithy.api#documentation": "

    A URL to a page or site that contains information about how to remediate a finding.

    " } } }, @@ -11325,17 +11607,17 @@ "com.amazonaws.securityhub#RelatedFinding": { "type": "structure", "members": { - "ProductArn": { + "Id": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the product that generated a related finding.

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

    The product-generated identifier for a related finding.

    ", "smithy.api#required": {} } }, - "Id": { + "ProductArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The product-generated identifier for a related finding.

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

    The ARN of the product that generated a related finding.

    ", "smithy.api#required": {} } } @@ -11379,17 +11661,10 @@ "smithy.api#documentation": "

    The canonical AWS external Region name where this resource is located.

    " } }, - "Id": { + "ResourceRole": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The canonical identifier for the given resource type.

    ", - "smithy.api#required": {} - } - }, - "Details": { - "target": "com.amazonaws.securityhub#ResourceDetails", - "traits": { - "smithy.api#documentation": "

    Additional details about the resource related to a finding.

    " + "smithy.api#documentation": "

    " } }, "Type": { @@ -11399,10 +11674,10 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.securityhub#FieldMap", + "Details": { + "target": "com.amazonaws.securityhub#ResourceDetails", "traits": { - "smithy.api#documentation": "

    A list of AWS tags associated with a resource at the time the finding was\n processed.

    " + "smithy.api#documentation": "

    Additional details about the resource related to a finding.

    " } }, "Partition": { @@ -11411,10 +11686,17 @@ "smithy.api#documentation": "

    The canonical AWS partition name that the Region is assigned to.

    " } }, - "ResourceRole": { + "Tags": { + "target": "com.amazonaws.securityhub#FieldMap", + "traits": { + "smithy.api#documentation": "

    A list of AWS tags associated with a resource at the time the finding was\n processed.

    " + } + }, + "Id": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    " + "smithy.api#documentation": "

    The canonical identifier for the given resource type.

    ", + "smithy.api#required": {} } } }, @@ -11431,10 +11713,10 @@ "com.amazonaws.securityhub#ResourceConflictException": { "type": "structure", "members": { - "Message": { + "Code": { "target": "com.amazonaws.securityhub#NonEmptyString" }, - "Code": { + "Message": { "target": "com.amazonaws.securityhub#NonEmptyString" } }, @@ -11447,46 +11729,34 @@ "com.amazonaws.securityhub#ResourceDetails": { "type": "structure", "members": { - "AwsLambdaFunction": { - "target": "com.amazonaws.securityhub#AwsLambdaFunctionDetails", - "traits": { - "smithy.api#documentation": "

    Details about a Lambda function.

    " - } - }, - "AwsCloudTrailTrail": { - "target": "com.amazonaws.securityhub#AwsCloudTrailTrailDetails", + "AwsEc2Eip": { + "target": "com.amazonaws.securityhub#AwsEc2EipDetails", "traits": { - "smithy.api#documentation": "

    " + "smithy.api#documentation": "

    Details about an Elastic IP address.

    " } }, - "AwsApiGatewayV2Stage": { - "target": "com.amazonaws.securityhub#AwsApiGatewayV2StageDetails", + "AwsS3Bucket": { + "target": "com.amazonaws.securityhub#AwsS3BucketDetails", "traits": { - "smithy.api#documentation": "

    " + "smithy.api#documentation": "

    Details about an Amazon S3 bucket related to a finding.

    " } }, - "AwsApiGatewayV2Api": { - "target": "com.amazonaws.securityhub#AwsApiGatewayV2ApiDetails", + "AwsApiGatewayStage": { + "target": "com.amazonaws.securityhub#AwsApiGatewayStageDetails", "traits": { "smithy.api#documentation": "

    " } }, - "AwsS3Object": { - "target": "com.amazonaws.securityhub#AwsS3ObjectDetails", - "traits": { - "smithy.api#documentation": "

    Details about an Amazon S3 object related to a finding.

    " - } - }, - "AwsElbLoadBalancer": { - "target": "com.amazonaws.securityhub#AwsElbLoadBalancerDetails", + "AwsApiGatewayRestApi": { + "target": "com.amazonaws.securityhub#AwsApiGatewayRestApiDetails", "traits": { "smithy.api#documentation": "

    " } }, - "AwsSecretsManagerSecret": { - "target": "com.amazonaws.securityhub#AwsSecretsManagerSecretDetails", + "AwsRdsDbInstance": { + "target": "com.amazonaws.securityhub#AwsRdsDbInstanceDetails", "traits": { - "smithy.api#documentation": "

    Details about a Secrets Manager secret.

    " + "smithy.api#documentation": "

    Details about an Amazon RDS database instance.

    " } }, "AwsElasticsearchDomain": { @@ -11495,70 +11765,58 @@ "smithy.api#documentation": "

    Details for an Elasticsearch domain.

    " } }, - "AwsWafWebAcl": { - "target": "com.amazonaws.securityhub#AwsWafWebAclDetails", - "traits": { - "smithy.api#documentation": "

    Details for a WAF WebACL.

    " - } - }, - "AwsSqsQueue": { - "target": "com.amazonaws.securityhub#AwsSqsQueueDetails", - "traits": { - "smithy.api#documentation": "

    Details about an SQS queue.

    " - } - }, - "AwsRdsDbInstance": { - "target": "com.amazonaws.securityhub#AwsRdsDbInstanceDetails", + "AwsEc2NetworkInterface": { + "target": "com.amazonaws.securityhub#AwsEc2NetworkInterfaceDetails", "traits": { - "smithy.api#documentation": "

    Details about an Amazon RDS database instance.

    " + "smithy.api#documentation": "

    Details for an Amazon EC2 network interface.

    " } }, - "AwsEc2Eip": { - "target": "com.amazonaws.securityhub#AwsEc2EipDetails", + "AwsEc2Instance": { + "target": "com.amazonaws.securityhub#AwsEc2InstanceDetails", "traits": { - "smithy.api#documentation": "

    Details about an Elastic IP address.

    " + "smithy.api#documentation": "

    Details about an Amazon EC2 instance related to a finding.

    " } }, - "AwsEc2SecurityGroup": { - "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupDetails", + "AwsRdsDbClusterSnapshot": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDetails", "traits": { - "smithy.api#documentation": "

    Details for an EC2 security group.

    " + "smithy.api#documentation": "

    Details about an Amazon RDS database cluster snapshot.

    " } }, - "AwsApiGatewayStage": { - "target": "com.amazonaws.securityhub#AwsApiGatewayStageDetails", + "AwsLambdaFunction": { + "target": "com.amazonaws.securityhub#AwsLambdaFunctionDetails", "traits": { - "smithy.api#documentation": "

    " + "smithy.api#documentation": "

    Details about a Lambda function.

    " } }, - "AwsIamUser": { - "target": "com.amazonaws.securityhub#AwsIamUserDetails", + "AwsRdsDbCluster": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterDetails", "traits": { - "smithy.api#documentation": "

    Details about an IAM user.

    " + "smithy.api#documentation": "

    Details about an Amazon RDS database cluster.

    " } }, - "Container": { - "target": "com.amazonaws.securityhub#ContainerDetails", + "AwsRdsDbSnapshot": { + "target": "com.amazonaws.securityhub#AwsRdsDbSnapshotDetails", "traits": { - "smithy.api#documentation": "

    Details about a container resource related to a finding.

    " + "smithy.api#documentation": "

    Details about an Amazon RDS database snapshot.

    " } }, - "AwsEc2Instance": { - "target": "com.amazonaws.securityhub#AwsEc2InstanceDetails", + "AwsKmsKey": { + "target": "com.amazonaws.securityhub#AwsKmsKeyDetails", "traits": { - "smithy.api#documentation": "

    Details about an Amazon EC2 instance related to a finding.

    " + "smithy.api#documentation": "

    Details about a KMS key.

    " } }, - "AwsDynamoDbTable": { - "target": "com.amazonaws.securityhub#AwsDynamoDbTableDetails", + "AwsAutoScalingAutoScalingGroup": { + "target": "com.amazonaws.securityhub#AwsAutoScalingAutoScalingGroupDetails", "traits": { - "smithy.api#documentation": "

    Details about a DynamoDB table.

    " + "smithy.api#documentation": "

    Details for an autoscaling group.

    " } }, - "AwsRdsDbCluster": { - "target": "com.amazonaws.securityhub#AwsRdsDbClusterDetails", + "AwsS3Object": { + "target": "com.amazonaws.securityhub#AwsS3ObjectDetails", "traits": { - "smithy.api#documentation": "

    Details about an Amazon RDS database cluster.

    " + "smithy.api#documentation": "

    Details about an Amazon S3 object related to a finding.

    " } }, "AwsIamGroup": { @@ -11567,34 +11825,34 @@ "smithy.api#documentation": "

    " } }, - "AwsSnsTopic": { - "target": "com.amazonaws.securityhub#AwsSnsTopicDetails", + "AwsCodeBuildProject": { + "target": "com.amazonaws.securityhub#AwsCodeBuildProjectDetails", "traits": { - "smithy.api#documentation": "

    Details about an SNS topic.

    " + "smithy.api#documentation": "

    Details for an AWS CodeBuild project.

    " } }, - "AwsElbv2LoadBalancer": { - "target": "com.amazonaws.securityhub#AwsElbv2LoadBalancerDetails", + "AwsWafWebAcl": { + "target": "com.amazonaws.securityhub#AwsWafWebAclDetails", "traits": { - "smithy.api#documentation": "

    Details about a load balancer.

    " + "smithy.api#documentation": "

    Details for a WAF WebACL.

    " } }, - "AwsIamAccessKey": { - "target": "com.amazonaws.securityhub#AwsIamAccessKeyDetails", + "AwsEc2Volume": { + "target": "com.amazonaws.securityhub#AwsEc2VolumeDetails", "traits": { - "smithy.api#documentation": "

    Details about an IAM access key related to a finding.

    " + "smithy.api#documentation": "

    Details for an EC2 volume.

    " } }, - "AwsKmsKey": { - "target": "com.amazonaws.securityhub#AwsKmsKeyDetails", + "AwsCloudTrailTrail": { + "target": "com.amazonaws.securityhub#AwsCloudTrailTrailDetails", "traits": { - "smithy.api#documentation": "

    Details about a KMS key.

    " + "smithy.api#documentation": "

    " } }, - "AwsIamRole": { - "target": "com.amazonaws.securityhub#AwsIamRoleDetails", + "AwsSecretsManagerSecret": { + "target": "com.amazonaws.securityhub#AwsSecretsManagerSecretDetails", "traits": { - "smithy.api#documentation": "

    Details about an IAM role.

    " + "smithy.api#documentation": "

    Details about a Secrets Manager secret.

    " } }, "AwsCertificateManagerCertificate": { @@ -11603,10 +11861,28 @@ "smithy.api#documentation": "

    " } }, - "Other": { - "target": "com.amazonaws.securityhub#FieldMap", + "AwsRedshiftCluster": { + "target": "com.amazonaws.securityhub#AwsRedshiftClusterDetails", "traits": { - "smithy.api#documentation": "

    Details about a resource that are not available in a type-specific details object. Use\n the Other object in the following cases.

    \n
      \n
    • \n

      The type-specific object does not contain all of the fields that you want to\n populate. In this case, first use the type-specific object to populate those fields.\n Use the Other object to populate the fields that are missing from the\n type-specific object.

      \n
    • \n
    • \n

      The resource type does not have a corresponding object. This includes resources\n for which the type is Other.

      \n
    • \n
    " + "smithy.api#documentation": "

    " + } + }, + "AwsApiGatewayV2Api": { + "target": "com.amazonaws.securityhub#AwsApiGatewayV2ApiDetails", + "traits": { + "smithy.api#documentation": "

    " + } + }, + "AwsIamAccessKey": { + "target": "com.amazonaws.securityhub#AwsIamAccessKeyDetails", + "traits": { + "smithy.api#documentation": "

    Details about an IAM access key related to a finding.

    " + } + }, + "AwsLambdaLayerVersion": { + "target": "com.amazonaws.securityhub#AwsLambdaLayerVersionDetails", + "traits": { + "smithy.api#documentation": "

    Details for a Lambda layer version.

    " } }, "AwsIamPolicy": { @@ -11615,20 +11891,26 @@ "smithy.api#documentation": "

    Details about an IAM permissions policy.

    " } }, - "AwsS3Bucket": { - "target": "com.amazonaws.securityhub#AwsS3BucketDetails", + "AwsEc2SecurityGroup": { + "target": "com.amazonaws.securityhub#AwsEc2SecurityGroupDetails", "traits": { - "smithy.api#documentation": "

    Details about an Amazon S3 bucket related to a finding.

    " + "smithy.api#documentation": "

    Details for an EC2 security group.

    " } }, - "AwsRedshiftCluster": { - "target": "com.amazonaws.securityhub#AwsRedshiftClusterDetails", + "AwsSqsQueue": { + "target": "com.amazonaws.securityhub#AwsSqsQueueDetails", "traits": { - "smithy.api#documentation": "

    " + "smithy.api#documentation": "

    Details about an SQS queue.

    " } }, - "AwsApiGatewayRestApi": { - "target": "com.amazonaws.securityhub#AwsApiGatewayRestApiDetails", + "AwsEc2Vpc": { + "target": "com.amazonaws.securityhub#AwsEc2VpcDetails", + "traits": { + "smithy.api#documentation": "

    Details for an EC2 VPC.

    " + } + }, + "AwsElbLoadBalancer": { + "target": "com.amazonaws.securityhub#AwsElbLoadBalancerDetails", "traits": { "smithy.api#documentation": "

    " } @@ -11639,52 +11921,52 @@ "smithy.api#documentation": "

    Details about a CloudFront distribution.

    " } }, - "AwsAutoScalingAutoScalingGroup": { - "target": "com.amazonaws.securityhub#AwsAutoScalingAutoScalingGroupDetails", + "Container": { + "target": "com.amazonaws.securityhub#ContainerDetails", "traits": { - "smithy.api#documentation": "

    Details for an autoscaling group.

    " + "smithy.api#documentation": "

    Details about a container resource related to a finding.

    " } }, - "AwsRdsDbSnapshot": { - "target": "com.amazonaws.securityhub#AwsRdsDbSnapshotDetails", + "AwsIamUser": { + "target": "com.amazonaws.securityhub#AwsIamUserDetails", "traits": { - "smithy.api#documentation": "

    Details about an Amazon RDS database snapshot.

    " + "smithy.api#documentation": "

    Details about an IAM user.

    " } }, - "AwsLambdaLayerVersion": { - "target": "com.amazonaws.securityhub#AwsLambdaLayerVersionDetails", + "AwsApiGatewayV2Stage": { + "target": "com.amazonaws.securityhub#AwsApiGatewayV2StageDetails", "traits": { - "smithy.api#documentation": "

    Details for a Lambda layer version.

    " + "smithy.api#documentation": "

    " } }, - "AwsEc2Vpc": { - "target": "com.amazonaws.securityhub#AwsEc2VpcDetails", + "Other": { + "target": "com.amazonaws.securityhub#FieldMap", "traits": { - "smithy.api#documentation": "

    Details for an EC2 VPC.

    " + "smithy.api#documentation": "

    Details about a resource that are not available in a type-specific details object. Use\n the Other object in the following cases.

    \n
      \n
    • \n

      The type-specific object does not contain all of the fields that you want to\n populate. In this case, first use the type-specific object to populate those fields.\n Use the Other object to populate the fields that are missing from the\n type-specific object.

      \n
    • \n
    • \n

      The resource type does not have a corresponding object. This includes resources\n for which the type is Other.

      \n
    • \n
    " } }, - "AwsEc2Volume": { - "target": "com.amazonaws.securityhub#AwsEc2VolumeDetails", + "AwsSnsTopic": { + "target": "com.amazonaws.securityhub#AwsSnsTopicDetails", "traits": { - "smithy.api#documentation": "

    Details for an EC2 volume.

    " + "smithy.api#documentation": "

    Details about an SNS topic.

    " } }, - "AwsEc2NetworkInterface": { - "target": "com.amazonaws.securityhub#AwsEc2NetworkInterfaceDetails", + "AwsDynamoDbTable": { + "target": "com.amazonaws.securityhub#AwsDynamoDbTableDetails", "traits": { - "smithy.api#documentation": "

    Details for an Amazon EC2 network interface.

    " + "smithy.api#documentation": "

    Details about a DynamoDB table.

    " } }, - "AwsCodeBuildProject": { - "target": "com.amazonaws.securityhub#AwsCodeBuildProjectDetails", + "AwsIamRole": { + "target": "com.amazonaws.securityhub#AwsIamRoleDetails", "traits": { - "smithy.api#documentation": "

    Details for an AWS CodeBuild project.

    " + "smithy.api#documentation": "

    Details about an IAM role.

    " } }, - "AwsRdsDbClusterSnapshot": { - "target": "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDetails", + "AwsElbv2LoadBalancer": { + "target": "com.amazonaws.securityhub#AwsElbv2LoadBalancerDetails", "traits": { - "smithy.api#documentation": "

    Details about an Amazon RDS database cluster snapshot.

    " + "smithy.api#documentation": "

    Details about a load balancer.

    " } } }, @@ -11701,10 +11983,10 @@ "com.amazonaws.securityhub#ResourceNotFoundException": { "type": "structure", "members": { - "Code": { + "Message": { "target": "com.amazonaws.securityhub#NonEmptyString" }, - "Message": { + "Code": { "target": "com.amazonaws.securityhub#NonEmptyString" } }, @@ -11795,6 +12077,9 @@ { "target": "com.amazonaws.securityhub#DescribeHub" }, + { + "target": "com.amazonaws.securityhub#DescribeOrganizationConfiguration" + }, { "target": "com.amazonaws.securityhub#DescribeProducts" }, @@ -11807,6 +12092,9 @@ { "target": "com.amazonaws.securityhub#DisableImportFindingsForProduct" }, + { + "target": "com.amazonaws.securityhub#DisableOrganizationAdminAccount" + }, { "target": "com.amazonaws.securityhub#DisableSecurityHub" }, @@ -11819,6 +12107,9 @@ { "target": "com.amazonaws.securityhub#EnableImportFindingsForProduct" }, + { + "target": "com.amazonaws.securityhub#EnableOrganizationAdminAccount" + }, { "target": "com.amazonaws.securityhub#EnableSecurityHub" }, @@ -11855,6 +12146,9 @@ { "target": "com.amazonaws.securityhub#ListMembers" }, + { + "target": "com.amazonaws.securityhub#ListOrganizationAdminAccounts" + }, { "target": "com.amazonaws.securityhub#ListTagsForResource" }, @@ -11873,6 +12167,9 @@ { "target": "com.amazonaws.securityhub#UpdateInsight" }, + { + "target": "com.amazonaws.securityhub#UpdateOrganizationConfiguration" + }, { "target": "com.amazonaws.securityhub#UpdateSecurityHubConfiguration" }, @@ -11898,29 +12195,29 @@ "com.amazonaws.securityhub#Severity": { "type": "structure", "members": { - "Normalized": { - "target": "com.amazonaws.securityhub#Integer", - "traits": { - "smithy.api#documentation": "

    Deprecated. The normalized severity of a finding. This attribute is being deprecated.\n Instead of providing Normalized, provide Label.

    \n

    If you provide Label and do not provide Normalized, then\n Normalized is set automatically as follows.

    \n
      \n
    • \n

      \n INFORMATIONAL - 0

      \n
    • \n
    • \n

      \n LOW - 1

      \n
    • \n
    • \n

      \n MEDIUM - 40

      \n
    • \n
    • \n

      \n HIGH - 70

      \n
    • \n
    • \n

      \n CRITICAL - 90

      \n
    • \n
    " - } - }, "Label": { "target": "com.amazonaws.securityhub#SeverityLabel", "traits": { "smithy.api#documentation": "

    The severity value of the finding. The allowed values are the following.

    \n
      \n
    • \n

      \n INFORMATIONAL - No issue was found.

      \n
    • \n
    • \n

      \n LOW - The issue does not require action on its own.

      \n
    • \n
    • \n

      \n MEDIUM - The issue must be addressed but not urgently.

      \n
    • \n
    • \n

      \n HIGH - The issue must be addressed as a priority.

      \n
    • \n
    • \n

      \n CRITICAL - The issue must be remediated immediately to avoid it\n escalating.

      \n
    • \n
    \n

    If you provide Normalized and do not provide Label, then\n Label is set automatically as follows.

    \n
      \n
    • \n

      0 - INFORMATIONAL\n

      \n
    • \n
    • \n

      1–39 - LOW\n

      \n
    • \n
    • \n

      40–69 - MEDIUM\n

      \n
    • \n
    • \n

      70–89 - HIGH\n

      \n
    • \n
    • \n

      90–100 - CRITICAL\n

      \n
    • \n
    " } }, - "Product": { - "target": "com.amazonaws.securityhub#Double", - "traits": { - "smithy.api#documentation": "

    Deprecated. This attribute is being deprecated. Instead of providing\n Product, provide Original.

    \n

    The native severity as defined by the AWS service or integrated partner product that\n generated the finding.

    " - } - }, "Original": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The native severity from the finding product that generated the finding.

    " } + }, + "Normalized": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

    Deprecated. The normalized severity of a finding. This attribute is being deprecated.\n Instead of providing Normalized, provide Label.

    \n

    If you provide Label and do not provide Normalized, then\n Normalized is set automatically as follows.

    \n
      \n
    • \n

      \n INFORMATIONAL - 0

      \n
    • \n
    • \n

      \n LOW - 1

      \n
    • \n
    • \n

      \n MEDIUM - 40

      \n
    • \n
    • \n

      \n HIGH - 70

      \n
    • \n
    • \n

      \n CRITICAL - 90

      \n
    • \n
    " + } + }, + "Product": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

    Deprecated. This attribute is being deprecated. Instead of providing\n Product, provide Original.

    \n

    The native severity as defined by the AWS service or integrated partner product that\n generated the finding.

    " + } } }, "traits": { @@ -11986,17 +12283,17 @@ "smithy.api#documentation": "

    The normalized severity for the finding. This attribute is to be deprecated in favor of\n Label.

    \n

    If you provide Normalized and do not provide Label,\n Label is set automatically as follows.

    \n
      \n
    • \n

      0 - INFORMATIONAL\n

      \n
    • \n
    • \n

      1–39 - LOW\n

      \n
    • \n
    • \n

      40–69 - MEDIUM\n

      \n
    • \n
    • \n

      70–89 - HIGH\n

      \n
    • \n
    • \n

      90–100 - CRITICAL\n

      \n
    • \n
    " } }, - "Label": { - "target": "com.amazonaws.securityhub#SeverityLabel", - "traits": { - "smithy.api#documentation": "

    The severity value of the finding. The allowed values are the following.

    \n
      \n
    • \n

      \n INFORMATIONAL - No issue was found.

      \n
    • \n
    • \n

      \n LOW - The issue does not require action on its own.

      \n
    • \n
    • \n

      \n MEDIUM - The issue must be addressed but not urgently.

      \n
    • \n
    • \n

      \n HIGH - The issue must be addressed as a priority.

      \n
    • \n
    • \n

      \n CRITICAL - The issue must be remediated immediately to avoid it\n escalating.

      \n
    • \n
    " - } - }, "Product": { "target": "com.amazonaws.securityhub#Double", "traits": { "smithy.api#documentation": "

    The native severity as defined by the AWS service or integrated partner product that\n generated the finding.

    " } + }, + "Label": { + "target": "com.amazonaws.securityhub#SeverityLabel", + "traits": { + "smithy.api#documentation": "

    The severity value of the finding. The allowed values are the following.

    \n
      \n
    • \n

      \n INFORMATIONAL - No issue was found.

      \n
    • \n
    • \n

      \n LOW - The issue does not require action on its own.

      \n
    • \n
    • \n

      \n MEDIUM - The issue must be addressed but not urgently.

      \n
    • \n
    • \n

      \n HIGH - The issue must be addressed as a priority.

      \n
    • \n
    • \n

      \n CRITICAL - The issue must be remediated immediately to avoid it\n escalating.

      \n
    • \n
    " + } } }, "traits": { @@ -12015,28 +12312,28 @@ "smithy.api#documentation": "

    The name of the software package.

    " } }, - "Epoch": { + "Version": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The epoch of the software package.

    " + "smithy.api#documentation": "

    The version of the software package.

    " } }, - "Release": { + "Architecture": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The release of the software package.

    " + "smithy.api#documentation": "

    The architecture used for the software package.

    " } }, - "Architecture": { + "Release": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The architecture used for the software package.

    " + "smithy.api#documentation": "

    The release of the software package.

    " } }, - "Version": { + "Epoch": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The version of the software package.

    " + "smithy.api#documentation": "

    The epoch of the software package.

    " } } }, @@ -12059,17 +12356,17 @@ "com.amazonaws.securityhub#SortCriterion": { "type": "structure", "members": { - "SortOrder": { - "target": "com.amazonaws.securityhub#SortOrder", - "traits": { - "smithy.api#documentation": "

    The order used to sort findings.

    " - } - }, "Field": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The finding attribute used to sort findings.

    " } + }, + "SortOrder": { + "target": "com.amazonaws.securityhub#SortOrder", + "traits": { + "smithy.api#documentation": "

    The order used to sort findings.

    " + } } }, "traits": { @@ -12094,28 +12391,28 @@ "com.amazonaws.securityhub#Standard": { "type": "structure", "members": { - "StandardsArn": { + "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of a standard.

    " + "smithy.api#documentation": "

    A description of the standard.

    " } }, - "Description": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "EnabledByDefault": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    A description of the standard.

    " + "smithy.api#documentation": "

    Whether the standard is enabled by default. When Security Hub is enabled from the console, if a\n standard is enabled by default, the check box for that standard is selected by\n default.

    \n

    When Security Hub is enabled using the EnableSecurityHub API operation, the\n standard is enabled by default unless EnableDefaultStandards is set to\n false.

    " } }, - "Name": { + "StandardsArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the standard.

    " + "smithy.api#documentation": "

    The ARN of a standard.

    " } }, - "EnabledByDefault": { - "target": "com.amazonaws.securityhub#Boolean", + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Whether the standard is enabled by default. When Security Hub is enabled from the console, if a\n standard is enabled by default, the check box for that standard is selected by\n default.

    \n

    When Security Hub is enabled using the EnableSecurityHub API operation, the\n standard is enabled by default unless EnableDefaultStandards is set to\n false.

    " + "smithy.api#documentation": "

    The name of the standard.

    " } } }, @@ -12138,34 +12435,16 @@ "smithy.api#documentation": "

    A link to remediation information for the control in the Security Hub user\n documentation.

    " } }, - "StandardsControlArn": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The ARN of the security standard control.

    " - } - }, - "ControlStatusUpdatedAt": { - "target": "com.amazonaws.securityhub#Timestamp", - "traits": { - "smithy.api#documentation": "

    The date and time that the status of the security standard control was most recently\n updated.

    " - } - }, - "RelatedRequirements": { - "target": "com.amazonaws.securityhub#RelatedRequirementsList", - "traits": { - "smithy.api#documentation": "

    The list of requirements that are related to this control.

    " - } - }, - "Title": { + "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The title of the security standard control.

    " + "smithy.api#documentation": "

    The longer description of the security standard control. Provides information about what\n the control is checking for.

    " } }, - "DisabledReason": { + "StandardsControlArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The reason provided for the most recent change in status for the control.

    " + "smithy.api#documentation": "

    The ARN of the security standard control.

    " } }, "ControlId": { @@ -12174,22 +12453,40 @@ "smithy.api#documentation": "

    The identifier of the security standard control.

    " } }, + "ControlStatus": { + "target": "com.amazonaws.securityhub#ControlStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the security standard control. Indicates whether the control is\n enabled or disabled. Security Hub does not check against disabled controls.

    " + } + }, "SeverityRating": { "target": "com.amazonaws.securityhub#SeverityRating", "traits": { "smithy.api#documentation": "

    The severity of findings generated from this security standard control.

    \n

    The finding severity is based on an assessment of how easy it would be to compromise AWS\n resources if the issue is detected.

    " } }, - "Description": { + "DisabledReason": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The longer description of the security standard control. Provides information about what\n the control is checking for.

    " + "smithy.api#documentation": "

    The reason provided for the most recent change in status for the control.

    " } }, - "ControlStatus": { - "target": "com.amazonaws.securityhub#ControlStatus", + "Title": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The current status of the security standard control. Indicates whether the control is\n enabled or disabled. Security Hub does not check against disabled controls.

    " + "smithy.api#documentation": "

    The title of the security standard control.

    " + } + }, + "RelatedRequirements": { + "target": "com.amazonaws.securityhub#RelatedRequirementsList", + "traits": { + "smithy.api#documentation": "

    The list of requirements that are related to this control.

    " + } + }, + "ControlStatusUpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date and time that the status of the security standard control was most recently\n updated.

    " } } }, @@ -12290,18 +12587,18 @@ "com.amazonaws.securityhub#StandardsSubscriptionRequest": { "type": "structure", "members": { - "StandardsInput": { - "target": "com.amazonaws.securityhub#StandardsInputParameterMap", - "traits": { - "smithy.api#documentation": "

    A key-value pair of input for the standard.

    " - } - }, "StandardsArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The ARN of the standard that you want to enable. To view the list of available standards\n and their ARNs, use the \n DescribeStandards\n operation.

    ", "smithy.api#required": {} } + }, + "StandardsInput": { + "target": "com.amazonaws.securityhub#StandardsInputParameterMap", + "traits": { + "smithy.api#documentation": "

    A key-value pair of input for the standard.

    " + } } }, "traits": { @@ -12356,17 +12653,17 @@ "com.amazonaws.securityhub#StringFilter": { "type": "structure", "members": { - "Comparison": { - "target": "com.amazonaws.securityhub#StringFilterComparison", - "traits": { - "smithy.api#documentation": "

    The condition to apply to a string value when querying for findings. To search for\n values that contain the filter criteria value, use one of the following comparison\n operators:

    \n
      \n
    • \n

      To search for values that exactly match the filter value, use\n EQUALS.

      \n

      For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only\n matches findings that have a resource type of\n AwsEc2SecurityGroup.

      \n
    • \n
    • \n

      To search for values that start with the filter value, use\n PREFIX.

      \n

      For example, the filter ResourceType PREFIX AwsIam matches findings\n that have a resource type that starts with AwsIam. Findings with a\n resource type of AwsIamPolicy, AwsIamRole, or\n AwsIamUser would all match.

      \n
    • \n
    \n

    \n EQUALS and PREFIX filters on the same field are joined by\n OR. A finding matches if it matches any one of those filters.

    \n

    To search for values that do not contain the filter criteria value, use one of the\n following comparison operators:

    \n
      \n
    • \n

      To search for values that do not exactly match the filter value, use\n NOT_EQUALS.

      \n

      For example, the filter ResourceType NOT_EQUALS AwsIamPolicy matches\n findings that have a resource type other than AwsIamPolicy.

      \n
    • \n
    • \n

      To search for values that do not start with the filter value, use\n PREFIX_NOT_EQUALS.

      \n

      For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches\n findings that have a resource type that does not start with AwsIam.\n Findings with a resource type of AwsIamPolicy, AwsIamRole,\n or AwsIamUser would all be excluded from the results.

      \n
    • \n
    \n

    \n NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are\n joined by AND. A finding matches only if it matches all of those\n filters.

    \n

    For filters on the same field, you cannot provide both an EQUALS filter and\n a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in\n this way always returns an error, even if the provided filter values would return valid\n results.

    \n

    You can combine PREFIX filters with NOT_EQUALS or\n PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the\n PREFIX filters, then the NOT_EQUALS or\n PREFIX_NOT_EQUALS filters.

    \n

    For example, for the following filter, Security Hub first identifies findings that have\n resource types that start with either AwsIAM or AwsEc2. It then\n excludes findings that have a resource type of AwsIamPolicy and findings that\n have a resource type of AwsEc2NetworkInterface.

    \n
      \n
    • \n

      \n ResourceType PREFIX AwsIam\n

      \n
    • \n
    • \n

      \n ResourceType PREFIX AwsEc2\n

      \n
    • \n
    • \n

      \n ResourceType NOT_EQUALS AwsIamPolicy\n

      \n
    • \n
    • \n

      \n ResourceType NOT_EQUALS AwsEc2NetworkInterface\n

      \n
    • \n
    " - } - }, "Value": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#documentation": "

    The string filter value. Filter values are case sensitive. For example, the product name\n for control-based findings is Security Hub. If you provide security hub\n as the filter text, then there is no match.

    " } + }, + "Comparison": { + "target": "com.amazonaws.securityhub#StringFilterComparison", + "traits": { + "smithy.api#documentation": "

    The condition to apply to a string value when querying for findings. To search for\n values that contain the filter criteria value, use one of the following comparison\n operators:

    \n
      \n
    • \n

      To search for values that exactly match the filter value, use\n EQUALS.

      \n

      For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only\n matches findings that have a resource type of\n AwsEc2SecurityGroup.

      \n
    • \n
    • \n

      To search for values that start with the filter value, use\n PREFIX.

      \n

      For example, the filter ResourceType PREFIX AwsIam matches findings\n that have a resource type that starts with AwsIam. Findings with a\n resource type of AwsIamPolicy, AwsIamRole, or\n AwsIamUser would all match.

      \n
    • \n
    \n

    \n EQUALS and PREFIX filters on the same field are joined by\n OR. A finding matches if it matches any one of those filters.

    \n

    To search for values that do not contain the filter criteria value, use one of the\n following comparison operators:

    \n
      \n
    • \n

      To search for values that do not exactly match the filter value, use\n NOT_EQUALS.

      \n

      For example, the filter ResourceType NOT_EQUALS AwsIamPolicy matches\n findings that have a resource type other than AwsIamPolicy.

      \n
    • \n
    • \n

      To search for values that do not start with the filter value, use\n PREFIX_NOT_EQUALS.

      \n

      For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches\n findings that have a resource type that does not start with AwsIam.\n Findings with a resource type of AwsIamPolicy, AwsIamRole,\n or AwsIamUser would all be excluded from the results.

      \n
    • \n
    \n

    \n NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are\n joined by AND. A finding matches only if it matches all of those\n filters.

    \n

    For filters on the same field, you cannot provide both an EQUALS filter and\n a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in\n this way always returns an error, even if the provided filter values would return valid\n results.

    \n

    You can combine PREFIX filters with NOT_EQUALS or\n PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the\n PREFIX filters, then the NOT_EQUALS or\n PREFIX_NOT_EQUALS filters.

    \n

    For example, for the following filter, Security Hub first identifies findings that have\n resource types that start with either AwsIAM or AwsEc2. It then\n excludes findings that have a resource type of AwsIamPolicy and findings that\n have a resource type of AwsEc2NetworkInterface.

    \n
      \n
    • \n

      \n ResourceType PREFIX AwsIam\n

      \n
    • \n
    • \n

      \n ResourceType PREFIX AwsEc2\n

      \n
    • \n
    • \n

      \n ResourceType NOT_EQUALS AwsIamPolicy\n

      \n
    • \n
    • \n

      \n ResourceType NOT_EQUALS AwsEc2NetworkInterface\n

      \n
    • \n
    " + } } }, "traits": { @@ -12476,13 +12773,6 @@ "com.amazonaws.securityhub#TagResourceRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.securityhub#TagMap", - "traits": { - "smithy.api#documentation": "

    The tags to add to the resource.

    ", - "smithy.api#required": {} - } - }, "ResourceArn": { "target": "com.amazonaws.securityhub#ResourceArn", "traits": { @@ -12490,6 +12780,13 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.securityhub#TagMap", + "traits": { + "smithy.api#documentation": "

    The tags to add to the resource.

    ", + "smithy.api#required": {} + } } } }, @@ -12509,22 +12806,10 @@ "com.amazonaws.securityhub#ThreatIntelIndicator": { "type": "structure", "members": { - "Source": { + "Value": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The source of the threat intelligence indicator.

    " - } - }, - "Type": { - "target": "com.amazonaws.securityhub#ThreatIntelIndicatorType", - "traits": { - "smithy.api#documentation": "

    The type of threat intelligence indicator.

    " - } - }, - "Category": { - "target": "com.amazonaws.securityhub#ThreatIntelIndicatorCategory", - "traits": { - "smithy.api#documentation": "

    The category of a threat intelligence indicator.

    " + "smithy.api#documentation": "

    The value of a threat intelligence indicator.

    " } }, "LastObservedAt": { @@ -12539,10 +12824,22 @@ "smithy.api#documentation": "

    The URL to the page or site where you can get more information about the threat\n intelligence indicator.

    " } }, - "Value": { + "Category": { + "target": "com.amazonaws.securityhub#ThreatIntelIndicatorCategory", + "traits": { + "smithy.api#documentation": "

    The category of a threat intelligence indicator.

    " + } + }, + "Type": { + "target": "com.amazonaws.securityhub#ThreatIntelIndicatorType", + "traits": { + "smithy.api#documentation": "

    The type of threat intelligence indicator.

    " + } + }, + "Source": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The value of a threat intelligence indicator.

    " + "smithy.api#documentation": "

    The source of the threat intelligence indicator.

    " } } }, @@ -12681,14 +12978,6 @@ "com.amazonaws.securityhub#UntagResourceRequest": { "type": "structure", "members": { - "ResourceArn": { - "target": "com.amazonaws.securityhub#ResourceArn", - "traits": { - "smithy.api#documentation": "

    The ARN of the resource to remove the tags from.

    ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, "TagKeys": { "target": "com.amazonaws.securityhub#TagKeyList", "traits": { @@ -12696,6 +12985,14 @@ "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } + }, + "ResourceArn": { + "target": "com.amazonaws.securityhub#ResourceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the resource to remove the tags from.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } } } }, @@ -12737,12 +13034,6 @@ "com.amazonaws.securityhub#UpdateActionTargetRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The updated name of the custom action target.

    " - } - }, "ActionTargetArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { @@ -12756,6 +13047,12 @@ "traits": { "smithy.api#documentation": "

    The updated description for the custom action target.

    " } + }, + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The updated name of the custom action target.

    " + } } } }, @@ -12800,11 +13097,10 @@ "com.amazonaws.securityhub#UpdateFindingsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.securityhub#AwsSecurityFindingFilters", + "Note": { + "target": "com.amazonaws.securityhub#NoteUpdate", "traits": { - "smithy.api#documentation": "

    A collection of attributes that specify which findings you want to update.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The updated note for the finding.

    " } }, "RecordState": { @@ -12813,10 +13109,11 @@ "smithy.api#documentation": "

    The updated record state for the finding.

    " } }, - "Note": { - "target": "com.amazonaws.securityhub#NoteUpdate", + "Filters": { + "target": "com.amazonaws.securityhub#AwsSecurityFindingFilters", "traits": { - "smithy.api#documentation": "

    The updated note for the finding.

    " + "smithy.api#documentation": "

    A collection of attributes that specify which findings you want to update.

    ", + "smithy.api#required": {} } } } @@ -12862,12 +13159,16 @@ "com.amazonaws.securityhub#UpdateInsightRequest": { "type": "structure", "members": { - "InsightArn": { + "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The ARN of the insight that you want to update.

    ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

    The updated name for the insight.

    " + } + }, + "GroupByAttribute": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The updated GroupBy attribute that defines this insight.

    " } }, "Filters": { @@ -12876,21 +13177,64 @@ "smithy.api#documentation": "

    The updated filters that define this insight.

    " } }, - "GroupByAttribute": { + "InsightArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The updated GroupBy attribute that defines this insight.

    " + "smithy.api#documentation": "

    The ARN of the insight that you want to update.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } + } + } + }, + "com.amazonaws.securityhub#UpdateInsightResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.securityhub#UpdateOrganizationConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#UpdateOrganizationConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#UpdateOrganizationConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" }, - "Name": { - "target": "com.amazonaws.securityhub#NonEmptyString", + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

    Used to update the configuration related to Organizations. Can only be called from a\n Security Hub administrator account.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/organization/configuration", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#UpdateOrganizationConfigurationRequest": { + "type": "structure", + "members": { + "AutoEnable": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

    The updated name for the insight.

    " + "smithy.api#documentation": "

    Whether to automatically enable Security Hub for new accounts in the organization.

    \n

    By default, this is false, and new accounts are not added\n automatically.

    \n

    To automatically enable Security Hub for new accounts, set this to true.

    ", + "smithy.api#required": {} } } } }, - "com.amazonaws.securityhub#UpdateInsightResponse": { + "com.amazonaws.securityhub#UpdateOrganizationConfigurationResponse": { "type": "structure", "members": {} }, @@ -12985,17 +13329,17 @@ "smithy.api#required": {} } }, - "DisabledReason": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    A description of the reason why you are disabling a security standard control. If you\n are disabling a control, then this is required.

    " - } - }, "ControlStatus": { "target": "com.amazonaws.securityhub#ControlStatus", "traits": { "smithy.api#documentation": "

    The updated status of the security standard control.

    " } + }, + "DisabledReason": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    A description of the reason why you are disabling a security standard control. If you\n are disabling a control, then this is required.

    " + } } } }, @@ -13029,23 +13373,17 @@ "com.amazonaws.securityhub#Vulnerability": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

    The identifier of the vulnerability.

    ", - "smithy.api#required": {} - } - }, "RelatedVulnerabilities": { "target": "com.amazonaws.securityhub#StringList", "traits": { "smithy.api#documentation": "

    List of vulnerabilities that are related to this vulnerability.

    " } }, - "Vendor": { - "target": "com.amazonaws.securityhub#VulnerabilityVendor", + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Information about the vendor that generates the vulnerability report.

    " + "smithy.api#documentation": "

    The identifier of the vulnerability.

    ", + "smithy.api#required": {} } }, "VulnerablePackages": { @@ -13054,16 +13392,22 @@ "smithy.api#documentation": "

    List of software packages that have the vulnerability.

    " } }, + "ReferenceUrls": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

    A list of URLs that provide additional information about the vulnerability.

    " + } + }, "Cvss": { "target": "com.amazonaws.securityhub#CvssList", "traits": { "smithy.api#documentation": "

    CVSS scores from the advisory related to the vulnerability.

    " } }, - "ReferenceUrls": { - "target": "com.amazonaws.securityhub#StringList", + "Vendor": { + "target": "com.amazonaws.securityhub#VulnerabilityVendor", "traits": { - "smithy.api#documentation": "

    A list of URLs that provide additional information about the vulnerability.

    " + "smithy.api#documentation": "

    Information about the vendor that generates the vulnerability report.

    " } } }, @@ -13080,10 +13424,10 @@ "com.amazonaws.securityhub#VulnerabilityVendor": { "type": "structure", "members": { - "VendorCreatedAt": { + "Url": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the vulnerability advisory was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    The URL of the vulnerability advisory.

    " } }, "VendorSeverity": { @@ -13092,23 +13436,23 @@ "smithy.api#documentation": "

    The severity that the vendor assigned to the vulnerability.

    " } }, - "Name": { + "VendorUpdatedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The name of the vendor.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Indicates when the vulnerability advisory was last updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "VendorUpdatedAt": { + "VendorCreatedAt": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    Indicates when the vulnerability advisory was last updated.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " + "smithy.api#documentation": "

    Indicates when the vulnerability advisory was created.

    \n

    Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

    " } }, - "Url": { + "Name": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

    The URL of the vulnerability advisory.

    " + "smithy.api#documentation": "

    The name of the vendor.

    ", + "smithy.api#required": {} } } }, diff --git a/codegen/sdk-codegen/aws-models/sfn.2016-11-23.json b/codegen/sdk-codegen/aws-models/sfn.2016-11-23.json index 2495fd194f74a..f1c266734441d 100644 --- a/codegen/sdk-codegen/aws-models/sfn.2016-11-23.json +++ b/codegen/sdk-codegen/aws-models/sfn.2016-11-23.json @@ -87,6 +87,9 @@ { "target": "com.amazonaws.sfn#StartExecution" }, + { + "target": "com.amazonaws.sfn#StartSyncExecution" + }, { "target": "com.amazonaws.sfn#StopExecution" }, @@ -220,11 +223,17 @@ "com.amazonaws.sfn#ActivityScheduledEventDetails": { "type": "structure", "members": { - "timeoutInSeconds": { - "target": "com.amazonaws.sfn#TimeoutInSeconds", + "resource": { + "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

    The maximum allowed duration of the activity task.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the scheduled activity.

    ", + "smithy.api#required": {} + } + }, + "input": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

    The JSON data input to the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } }, "inputDetails": { @@ -233,11 +242,11 @@ "smithy.api#documentation": "

    Contains details about the input for an execution history event.

    " } }, - "resource": { - "target": "com.amazonaws.sfn#Arn", + "timeoutInSeconds": { + "target": "com.amazonaws.sfn#TimeoutInSeconds", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the scheduled activity.

    ", - "smithy.api#required": {} + "smithy.api#box": {}, + "smithy.api#documentation": "

    The maximum allowed duration of the activity task.

    " } }, "heartbeatInSeconds": { @@ -246,12 +255,6 @@ "smithy.api#box": {}, "smithy.api#documentation": "

    The maximum allowed duration between two heartbeats for the activity task.

    " } - }, - "input": { - "target": "com.amazonaws.sfn#SensitiveData", - "traits": { - "smithy.api#documentation": "

    The JSON data input to the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " - } } }, "traits": { @@ -275,17 +278,17 @@ "com.amazonaws.sfn#ActivitySucceededEventDetails": { "type": "structure", "members": { - "outputDetails": { - "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", - "traits": { - "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " - } - }, "output": { "target": "com.amazonaws.sfn#SensitiveData", "traits": { "smithy.api#documentation": "

    The JSON data output by the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } + }, + "outputDetails": { + "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " + } } }, "traits": { @@ -295,17 +298,17 @@ "com.amazonaws.sfn#ActivityTimedOutEventDetails": { "type": "structure", "members": { - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", - "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the timeout.

    " - } - }, "error": { "target": "com.amazonaws.sfn#SensitiveError", "traits": { "smithy.api#documentation": "

    The error code of the failure.

    " } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

    A more detailed explanation of the cause of the timeout.

    " + } } }, "traits": { @@ -333,11 +336,47 @@ } } }, + "com.amazonaws.sfn#BilledDuration": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.sfn#BilledMemoryUsed": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.sfn#BillingDetails": { + "type": "structure", + "members": { + "billedMemoryUsedInMB": { + "target": "com.amazonaws.sfn#BilledMemoryUsed", + "traits": { + "smithy.api#documentation": "

    Billed memory consumption of your workflow, in MB.

    " + } + }, + "billedDurationInMilliseconds": { + "target": "com.amazonaws.sfn#BilledDuration", + "traits": { + "smithy.api#documentation": "

    Billed duration of your workflow, in milliseconds.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    An object that describes workflow billing details.

    " + } + }, "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails": { "type": "structure", "members": { "included": { - "target": "com.amazonaws.sfn#included", + "target": "com.amazonaws.sfn#includedDetails", "traits": { "smithy.api#documentation": "

    Indicates whether input or output was included in the response. Always true\n for API calls.

    " } @@ -494,10 +533,11 @@ "smithy.api#required": {} } }, - "loggingConfiguration": { - "target": "com.amazonaws.sfn#LoggingConfiguration", + "roleArn": { + "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    Defines what execution history events are logged and where they are logged.

    \n \n

    By default, the level is set to OFF. For more information see\n Log\n Levels in the AWS Step Functions User Guide.

    \n
    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    ", + "smithy.api#required": {} } }, "type": { @@ -506,6 +546,12 @@ "smithy.api#documentation": "

    Determines whether a Standard or Express state machine is created. The default is\n STANDARD. You cannot update the type of a state machine once it\n has been created.

    " } }, + "loggingConfiguration": { + "target": "com.amazonaws.sfn#LoggingConfiguration", + "traits": { + "smithy.api#documentation": "

    Defines what execution history events are logged and where they are logged.

    \n \n

    By default, the level is set to OFF. For more information see\n Log\n Levels in the AWS Step Functions User Guide.

    \n
    " + } + }, "tags": { "target": "com.amazonaws.sfn#TagList", "traits": { @@ -517,30 +563,23 @@ "traits": { "smithy.api#documentation": "

    Selects whether AWS X-Ray tracing is enabled.

    " } - }, - "roleArn": { - "target": "com.amazonaws.sfn#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    ", - "smithy.api#required": {} - } } } }, "com.amazonaws.sfn#CreateStateMachineOutput": { "type": "structure", "members": { - "creationDate": { - "target": "com.amazonaws.sfn#Timestamp", + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The date the state machine is created.

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

    The Amazon Resource Name (ARN) that identifies the created state machine.

    ", "smithy.api#required": {} } }, - "stateMachineArn": { - "target": "com.amazonaws.sfn#Arn", + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the created state machine.

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

    The date the state machine is created.

    ", "smithy.api#required": {} } } @@ -657,6 +696,13 @@ "com.amazonaws.sfn#DescribeActivityOutput": { "type": "structure", "members": { + "activityArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the activity.

    ", + "smithy.api#required": {} + } + }, "name": { "target": "com.amazonaws.sfn#Name", "traits": { @@ -670,13 +716,6 @@ "smithy.api#documentation": "

    The date the activity is created.

    ", "smithy.api#required": {} } - }, - "activityArn": { - "target": "com.amazonaws.sfn#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the activity.

    ", - "smithy.api#required": {} - } } } }, @@ -715,6 +754,13 @@ "com.amazonaws.sfn#DescribeExecutionOutput": { "type": "structure", "members": { + "executionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the execution.

    ", + "smithy.api#required": {} + } + }, "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { @@ -722,25 +768,24 @@ "smithy.api#required": {} } }, - "input": { - "target": "com.amazonaws.sfn#SensitiveData", + "name": { + "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + "smithy.api#documentation": "

    The name of the execution.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " } }, - "outputDetails": { - "target": "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails" - }, - "output": { - "target": "com.amazonaws.sfn#SensitiveData", + "status": { + "target": "com.amazonaws.sfn#ExecutionStatus", "traits": { - "smithy.api#documentation": "

    The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    \n \n

    This field is set only if the execution succeeds. If the execution fails, this field is\n null.

    \n
    " + "smithy.api#documentation": "

    The current status of the execution.

    ", + "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.sfn#Name", + "startDate": { + "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

    The name of the execution.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + "smithy.api#documentation": "

    The date the execution is started.

    ", + "smithy.api#required": {} } }, "stopDate": { @@ -749,34 +794,28 @@ "smithy.api#documentation": "

    If the execution has already ended, the date the execution stopped.

    " } }, - "status": { - "target": "com.amazonaws.sfn#ExecutionStatus", + "input": { + "target": "com.amazonaws.sfn#SensitiveData", "traits": { - "smithy.api#documentation": "

    The current status of the execution.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } }, "inputDetails": { "target": "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails" }, - "startDate": { - "target": "com.amazonaws.sfn#Timestamp", + "output": { + "target": "com.amazonaws.sfn#SensitiveData", "traits": { - "smithy.api#documentation": "

    The date the execution is started.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    \n \n

    This field is set only if the execution succeeds. If the execution fails, this field is\n null.

    \n
    " } }, - "executionArn": { - "target": "com.amazonaws.sfn#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that id entifies the execution.

    ", - "smithy.api#required": {} - } + "outputDetails": { + "target": "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails" }, "traceHeader": { "target": "com.amazonaws.sfn#TraceHeader", "traits": { - "smithy.api#documentation": "

    The AWS X-Ray trace header which was passed to the execution.

    " + "smithy.api#documentation": "

    The AWS X-Ray trace header that was passed to the execution.

    " } } } @@ -836,10 +875,10 @@ "com.amazonaws.sfn#DescribeStateMachineForExecutionOutput": { "type": "structure", "members": { - "roleArn": { + "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

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

    The Amazon Resource Name (ARN) of the state machine associated with the execution.

    ", "smithy.api#required": {} } }, @@ -850,13 +889,17 @@ "smithy.api#required": {} } }, - "loggingConfiguration": { - "target": "com.amazonaws.sfn#LoggingConfiguration" + "definition": { + "target": "com.amazonaws.sfn#Definition", + "traits": { + "smithy.api#documentation": "

    The Amazon States Language definition of the state machine. See Amazon States Language.

    ", + "smithy.api#required": {} + } }, - "stateMachineArn": { + "roleArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the state machine associated with the execution.

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

    The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

    ", "smithy.api#required": {} } }, @@ -867,12 +910,8 @@ "smithy.api#required": {} } }, - "definition": { - "target": "com.amazonaws.sfn#Definition", - "traits": { - "smithy.api#documentation": "

    The Amazon States Language definition of the state machine. See Amazon States Language.

    ", - "smithy.api#required": {} - } + "loggingConfiguration": { + "target": "com.amazonaws.sfn#LoggingConfiguration" }, "tracingConfiguration": { "target": "com.amazonaws.sfn#TracingConfiguration", @@ -897,12 +936,6 @@ "com.amazonaws.sfn#DescribeStateMachineOutput": { "type": "structure", "members": { - "tracingConfiguration": { - "target": "com.amazonaws.sfn#TracingConfiguration", - "traits": { - "smithy.api#documentation": "

    Selects whether AWS X-Ray tracing is enabled.

    " - } - }, "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { @@ -910,16 +943,19 @@ "smithy.api#required": {} } }, - "loggingConfiguration": { - "target": "com.amazonaws.sfn#LoggingConfiguration" - }, - "roleArn": { - "target": "com.amazonaws.sfn#Arn", + "name": { + "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role\n maintains security by granting Step Functions access to AWS resources.)

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

    The name of the state machine.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    ", "smithy.api#required": {} } }, + "status": { + "target": "com.amazonaws.sfn#StateMachineStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the state machine.

    " + } + }, "definition": { "target": "com.amazonaws.sfn#Definition", "traits": { @@ -927,6 +963,13 @@ "smithy.api#required": {} } }, + "roleArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role\n maintains security by granting Step Functions access to AWS resources.)

    ", + "smithy.api#required": {} + } + }, "type": { "target": "com.amazonaws.sfn#StateMachineType", "traits": { @@ -941,17 +984,13 @@ "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.sfn#Name", - "traits": { - "smithy.api#documentation": "

    The name of the state machine.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    ", - "smithy.api#required": {} - } + "loggingConfiguration": { + "target": "com.amazonaws.sfn#LoggingConfiguration" }, - "status": { - "target": "com.amazonaws.sfn#StateMachineStatus", + "tracingConfiguration": { + "target": "com.amazonaws.sfn#TracingConfiguration", "traits": { - "smithy.api#documentation": "

    The current status of the state machine.

    " + "smithy.api#documentation": "

    Selects whether AWS X-Ray tracing is enabled.

    " } } } @@ -968,17 +1007,17 @@ "com.amazonaws.sfn#ExecutionAbortedEventDetails": { "type": "structure", "members": { - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", - "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " - } - }, "error": { "target": "com.amazonaws.sfn#SensitiveError", "traits": { "smithy.api#documentation": "

    The error code of the failure.

    " } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " + } } }, "traits": { @@ -1053,30 +1092,24 @@ "executionArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that id entifies the execution.

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

    The Amazon Resource Name (ARN) that identifies the execution.

    ", "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.sfn#Name", + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The name of the execution.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

    The Amazon Resource Name (ARN) of the executed state machine.

    ", "smithy.api#required": {} } }, - "startDate": { - "target": "com.amazonaws.sfn#Timestamp", + "name": { + "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The date the execution started.

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

    The name of the execution.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    ", "smithy.api#required": {} } }, - "stopDate": { - "target": "com.amazonaws.sfn#Timestamp", - "traits": { - "smithy.api#documentation": "

    If the execution already ended, the date the execution stopped.

    " - } - }, "status": { "target": "com.amazonaws.sfn#ExecutionStatus", "traits": { @@ -1084,12 +1117,18 @@ "smithy.api#required": {} } }, - "stateMachineArn": { - "target": "com.amazonaws.sfn#Arn", + "startDate": { + "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the executed state machine.

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

    The date the execution started.

    ", "smithy.api#required": {} } + }, + "stopDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

    If the execution already ended, the date the execution stopped.

    " + } } }, "traits": { @@ -1105,17 +1144,17 @@ "smithy.api#documentation": "

    The JSON data input to the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } }, - "roleArn": { - "target": "com.amazonaws.sfn#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

    " - } - }, "inputDetails": { "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", "traits": { "smithy.api#documentation": "

    Contains details about the input for an execution history event.

    " } + }, + "roleArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

    " + } } }, "traits": { @@ -1147,17 +1186,17 @@ "com.amazonaws.sfn#ExecutionSucceededEventDetails": { "type": "structure", "members": { - "outputDetails": { - "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", - "traits": { - "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " - } - }, "output": { "target": "com.amazonaws.sfn#SensitiveData", "traits": { "smithy.api#documentation": "

    The JSON data output by the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } + }, + "outputDetails": { + "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " + } } }, "traits": { @@ -1167,17 +1206,17 @@ "com.amazonaws.sfn#ExecutionTimedOutEventDetails": { "type": "structure", "members": { - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", - "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the timeout.

    " - } - }, "error": { "target": "com.amazonaws.sfn#SensitiveError", "traits": { "smithy.api#documentation": "

    The error code of the failure.

    " } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

    A more detailed explanation of the cause of the timeout.

    " + } } }, "traits": { @@ -1281,28 +1320,28 @@ "smithy.api#required": {} } }, - "includeExecutionData": { - "target": "com.amazonaws.sfn#IncludeExecutionDataGetExecutionHistory", - "traits": { - "smithy.api#documentation": "

    You can select whether execution data (input or output of a history event) is returned.\n The default is true.

    " - } - }, "maxResults": { "target": "com.amazonaws.sfn#PageSize", "traits": { "smithy.api#documentation": "

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    \n

    This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

    " } }, + "reverseOrder": { + "target": "com.amazonaws.sfn#ReverseOrder", + "traits": { + "smithy.api#documentation": "

    Lists events in descending order of their timeStamp.

    " + } + }, "nextToken": { "target": "com.amazonaws.sfn#PageToken", "traits": { "smithy.api#documentation": "

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " } }, - "reverseOrder": { - "target": "com.amazonaws.sfn#ReverseOrder", + "includeExecutionData": { + "target": "com.amazonaws.sfn#IncludeExecutionDataGetExecutionHistory", "traits": { - "smithy.api#documentation": "

    Lists events in descending order of their timeStamp.

    " + "smithy.api#documentation": "

    You can select whether execution data (input or output of a history event) is returned.\n The default is true.

    " } } } @@ -1310,89 +1349,88 @@ "com.amazonaws.sfn#GetExecutionHistoryOutput": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.sfn#PageToken", - "traits": { - "smithy.api#documentation": "

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " - } - }, "events": { "target": "com.amazonaws.sfn#HistoryEventList", "traits": { "smithy.api#documentation": "

    The list of events that occurred in the execution.

    ", "smithy.api#required": {} } + }, + "nextToken": { + "target": "com.amazonaws.sfn#PageToken", + "traits": { + "smithy.api#documentation": "

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } } } }, "com.amazonaws.sfn#HistoryEvent": { "type": "structure", "members": { - "lambdaFunctionStartFailedEventDetails": { - "target": "com.amazonaws.sfn#LambdaFunctionStartFailedEventDetails", + "timestamp": { + "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

    Contains details about a lambda function that failed to start during an execution.

    " + "smithy.api#documentation": "

    The date and time the event occurred.

    ", + "smithy.api#required": {} } }, - "taskScheduledEventDetails": { - "target": "com.amazonaws.sfn#TaskScheduledEventDetails", + "type": { + "target": "com.amazonaws.sfn#HistoryEventType", "traits": { - "smithy.api#documentation": "

    Contains details about a task that was scheduled.

    " + "smithy.api#documentation": "

    The type of the event.

    ", + "smithy.api#required": {} } }, - "lambdaFunctionScheduledEventDetails": { - "target": "com.amazonaws.sfn#LambdaFunctionScheduledEventDetails" - }, - "mapIterationFailedEventDetails": { - "target": "com.amazonaws.sfn#MapIterationEventDetails", + "id": { + "target": "com.amazonaws.sfn#EventId", "traits": { - "smithy.api#documentation": "

    Contains details about an iteration of a Map state that failed.

    " + "smithy.api#documentation": "

    The id of the event. Events are numbered sequentially, starting at one.

    ", + "smithy.api#required": {} } }, - "taskFailedEventDetails": { - "target": "com.amazonaws.sfn#TaskFailedEventDetails", + "previousEventId": { + "target": "com.amazonaws.sfn#EventId", "traits": { - "smithy.api#documentation": "

    Contains details about the failure of a task.

    " + "smithy.api#documentation": "

    The id of the previous event.

    " } }, "activityFailedEventDetails": { "target": "com.amazonaws.sfn#ActivityFailedEventDetails" }, - "executionAbortedEventDetails": { - "target": "com.amazonaws.sfn#ExecutionAbortedEventDetails" - }, - "mapStateStartedEventDetails": { - "target": "com.amazonaws.sfn#MapStateStartedEventDetails", + "activityScheduleFailedEventDetails": { + "target": "com.amazonaws.sfn#ActivityScheduleFailedEventDetails", "traits": { - "smithy.api#documentation": "

    Contains details about Map state that was started.

    " + "smithy.api#documentation": "

    Contains details about an activity schedule event that failed during an execution.

    " } }, - "lambdaFunctionTimedOutEventDetails": { - "target": "com.amazonaws.sfn#LambdaFunctionTimedOutEventDetails" + "activityScheduledEventDetails": { + "target": "com.amazonaws.sfn#ActivityScheduledEventDetails" }, - "type": { - "target": "com.amazonaws.sfn#HistoryEventType", - "traits": { - "smithy.api#documentation": "

    The type of the event.

    ", - "smithy.api#required": {} - } + "activityStartedEventDetails": { + "target": "com.amazonaws.sfn#ActivityStartedEventDetails" }, - "taskSubmitFailedEventDetails": { - "target": "com.amazonaws.sfn#TaskSubmitFailedEventDetails", + "activitySucceededEventDetails": { + "target": "com.amazonaws.sfn#ActivitySucceededEventDetails" + }, + "activityTimedOutEventDetails": { + "target": "com.amazonaws.sfn#ActivityTimedOutEventDetails" + }, + "taskFailedEventDetails": { + "target": "com.amazonaws.sfn#TaskFailedEventDetails", "traits": { - "smithy.api#documentation": "

    Contains details about a task that where the submit failed.

    " + "smithy.api#documentation": "

    Contains details about the failure of a task.

    " } }, - "mapIterationStartedEventDetails": { - "target": "com.amazonaws.sfn#MapIterationEventDetails", + "taskScheduledEventDetails": { + "target": "com.amazonaws.sfn#TaskScheduledEventDetails", "traits": { - "smithy.api#documentation": "

    Contains details about an iteration of a Map state that was started.

    " + "smithy.api#documentation": "

    Contains details about a task that was scheduled.

    " } }, - "previousEventId": { - "target": "com.amazonaws.sfn#EventId", + "taskStartFailedEventDetails": { + "target": "com.amazonaws.sfn#TaskStartFailedEventDetails", "traits": { - "smithy.api#documentation": "

    The id of the previous event.

    " + "smithy.api#documentation": "

    Contains details about a task that failed to start.

    " } }, "taskStartedEventDetails": { @@ -1401,26 +1439,22 @@ "smithy.api#documentation": "

    Contains details about a task that was started.

    " } }, - "activityStartedEventDetails": { - "target": "com.amazonaws.sfn#ActivityStartedEventDetails" - }, - "timestamp": { - "target": "com.amazonaws.sfn#Timestamp", + "taskSubmitFailedEventDetails": { + "target": "com.amazonaws.sfn#TaskSubmitFailedEventDetails", "traits": { - "smithy.api#documentation": "

    The date and time the event occurred.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Contains details about a task that where the submit failed.

    " } }, - "executionTimedOutEventDetails": { - "target": "com.amazonaws.sfn#ExecutionTimedOutEventDetails" - }, - "lambdaFunctionFailedEventDetails": { - "target": "com.amazonaws.sfn#LambdaFunctionFailedEventDetails" + "taskSubmittedEventDetails": { + "target": "com.amazonaws.sfn#TaskSubmittedEventDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about a submitted task.

    " + } }, - "lambdaFunctionSucceededEventDetails": { - "target": "com.amazonaws.sfn#LambdaFunctionSucceededEventDetails", + "taskSucceededEventDetails": { + "target": "com.amazonaws.sfn#TaskSucceededEventDetails", "traits": { - "smithy.api#documentation": "

    Contains details about a lambda function that terminated successfully during an\n execution.

    " + "smithy.api#documentation": "

    Contains details about a task that succeeded.

    " } }, "taskTimedOutEventDetails": { @@ -1429,26 +1463,32 @@ "smithy.api#documentation": "

    Contains details about a task that timed out.

    " } }, - "activityTimedOutEventDetails": { - "target": "com.amazonaws.sfn#ActivityTimedOutEventDetails" + "executionFailedEventDetails": { + "target": "com.amazonaws.sfn#ExecutionFailedEventDetails" }, - "taskSucceededEventDetails": { - "target": "com.amazonaws.sfn#TaskSucceededEventDetails", - "traits": { - "smithy.api#documentation": "

    Contains details about a task that succeeded.

    " - } + "executionStartedEventDetails": { + "target": "com.amazonaws.sfn#ExecutionStartedEventDetails" }, "executionSucceededEventDetails": { "target": "com.amazonaws.sfn#ExecutionSucceededEventDetails" }, - "activitySucceededEventDetails": { - "target": "com.amazonaws.sfn#ActivitySucceededEventDetails" + "executionAbortedEventDetails": { + "target": "com.amazonaws.sfn#ExecutionAbortedEventDetails" }, - "stateExitedEventDetails": { - "target": "com.amazonaws.sfn#StateExitedEventDetails" + "executionTimedOutEventDetails": { + "target": "com.amazonaws.sfn#ExecutionTimedOutEventDetails" }, - "executionStartedEventDetails": { - "target": "com.amazonaws.sfn#ExecutionStartedEventDetails" + "mapStateStartedEventDetails": { + "target": "com.amazonaws.sfn#MapStateStartedEventDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about Map state that was started.

    " + } + }, + "mapIterationStartedEventDetails": { + "target": "com.amazonaws.sfn#MapIterationEventDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about an iteration of a Map state that was started.

    " + } }, "mapIterationSucceededEventDetails": { "target": "com.amazonaws.sfn#MapIterationEventDetails", @@ -1456,48 +1496,47 @@ "smithy.api#documentation": "

    Contains details about an iteration of a Map state that succeeded.

    " } }, - "id": { - "target": "com.amazonaws.sfn#EventId", + "mapIterationFailedEventDetails": { + "target": "com.amazonaws.sfn#MapIterationEventDetails", "traits": { - "smithy.api#documentation": "

    The id of the event. Events are numbered sequentially, starting at one.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Contains details about an iteration of a Map state that failed.

    " } }, - "executionFailedEventDetails": { - "target": "com.amazonaws.sfn#ExecutionFailedEventDetails" - }, - "stateEnteredEventDetails": { - "target": "com.amazonaws.sfn#StateEnteredEventDetails" - }, "mapIterationAbortedEventDetails": { "target": "com.amazonaws.sfn#MapIterationEventDetails", "traits": { "smithy.api#documentation": "

    Contains details about an iteration of a Map state that was aborted.

    " } }, + "lambdaFunctionFailedEventDetails": { + "target": "com.amazonaws.sfn#LambdaFunctionFailedEventDetails" + }, "lambdaFunctionScheduleFailedEventDetails": { "target": "com.amazonaws.sfn#LambdaFunctionScheduleFailedEventDetails" }, - "activityScheduleFailedEventDetails": { - "target": "com.amazonaws.sfn#ActivityScheduleFailedEventDetails", + "lambdaFunctionScheduledEventDetails": { + "target": "com.amazonaws.sfn#LambdaFunctionScheduledEventDetails" + }, + "lambdaFunctionStartFailedEventDetails": { + "target": "com.amazonaws.sfn#LambdaFunctionStartFailedEventDetails", "traits": { - "smithy.api#documentation": "

    Contains details about an activity schedule event that failed during an execution.

    " + "smithy.api#documentation": "

    Contains details about a lambda function that failed to start during an execution.

    " } }, - "activityScheduledEventDetails": { - "target": "com.amazonaws.sfn#ActivityScheduledEventDetails" - }, - "taskStartFailedEventDetails": { - "target": "com.amazonaws.sfn#TaskStartFailedEventDetails", + "lambdaFunctionSucceededEventDetails": { + "target": "com.amazonaws.sfn#LambdaFunctionSucceededEventDetails", "traits": { - "smithy.api#documentation": "

    Contains details about a task that failed to start.

    " + "smithy.api#documentation": "

    Contains details about a lambda function that terminated successfully during an\n execution.

    " } }, - "taskSubmittedEventDetails": { - "target": "com.amazonaws.sfn#TaskSubmittedEventDetails", - "traits": { - "smithy.api#documentation": "

    Contains details about a submitted task.

    " - } + "lambdaFunctionTimedOutEventDetails": { + "target": "com.amazonaws.sfn#LambdaFunctionTimedOutEventDetails" + }, + "stateEnteredEventDetails": { + "target": "com.amazonaws.sfn#StateEnteredEventDetails" + }, + "stateExitedEventDetails": { + "target": "com.amazonaws.sfn#StateExitedEventDetails" } }, "traits": { @@ -1816,17 +1855,17 @@ "com.amazonaws.sfn#LambdaFunctionFailedEventDetails": { "type": "structure", "members": { - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", - "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " - } - }, "error": { "target": "com.amazonaws.sfn#SensitiveError", "traits": { "smithy.api#documentation": "

    The error code of the failure.

    " } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " + } } }, "traits": { @@ -1856,6 +1895,19 @@ "com.amazonaws.sfn#LambdaFunctionScheduledEventDetails": { "type": "structure", "members": { + "resource": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the scheduled lambda function.

    ", + "smithy.api#required": {} + } + }, + "input": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

    The JSON data input to the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + } + }, "inputDetails": { "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", "traits": { @@ -1868,19 +1920,6 @@ "smithy.api#box": {}, "smithy.api#documentation": "

    The maximum allowed duration of the lambda function.

    " } - }, - "input": { - "target": "com.amazonaws.sfn#SensitiveData", - "traits": { - "smithy.api#documentation": "

    The JSON data input to the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " - } - }, - "resource": { - "target": "com.amazonaws.sfn#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the scheduled lambda function.

    ", - "smithy.api#required": {} - } } }, "traits": { @@ -1890,17 +1929,17 @@ "com.amazonaws.sfn#LambdaFunctionStartFailedEventDetails": { "type": "structure", "members": { - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", - "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " - } - }, "error": { "target": "com.amazonaws.sfn#SensitiveError", "traits": { "smithy.api#documentation": "

    The error code of the failure.

    " } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " + } } }, "traits": { @@ -1910,17 +1949,17 @@ "com.amazonaws.sfn#LambdaFunctionSucceededEventDetails": { "type": "structure", "members": { - "outputDetails": { - "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", - "traits": { - "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " - } - }, "output": { "target": "com.amazonaws.sfn#SensitiveData", "traits": { "smithy.api#documentation": "

    The JSON data output by the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } + }, + "outputDetails": { + "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " + } } }, "traits": { @@ -2047,6 +2086,12 @@ "smithy.api#required": {} } }, + "statusFilter": { + "target": "com.amazonaws.sfn#ExecutionStatus", + "traits": { + "smithy.api#documentation": "

    If specified, only list the executions whose current execution status matches the given\n filter.

    " + } + }, "maxResults": { "target": "com.amazonaws.sfn#PageSize", "traits": { @@ -2058,12 +2103,6 @@ "traits": { "smithy.api#documentation": "

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " } - }, - "statusFilter": { - "target": "com.amazonaws.sfn#ExecutionStatus", - "traits": { - "smithy.api#documentation": "

    If specified, only list the executions whose current execution status matches the given\n filter.

    " - } } } }, @@ -2137,17 +2176,17 @@ "com.amazonaws.sfn#ListStateMachinesOutput": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.sfn#PageToken", - "traits": { - "smithy.api#documentation": "

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " - } - }, "stateMachines": { "target": "com.amazonaws.sfn#StateMachineList", "traits": { "smithy.api#required": {} } + }, + "nextToken": { + "target": "com.amazonaws.sfn#PageToken", + "traits": { + "smithy.api#documentation": "

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } } } }, @@ -2236,6 +2275,12 @@ "com.amazonaws.sfn#LoggingConfiguration": { "type": "structure", "members": { + "level": { + "target": "com.amazonaws.sfn#LogLevel", + "traits": { + "smithy.api#documentation": "

    Defines which category of execution history events are logged.

    " + } + }, "includeExecutionData": { "target": "com.amazonaws.sfn#IncludeExecutionData", "traits": { @@ -2247,12 +2292,6 @@ "traits": { "smithy.api#documentation": "

    An array of objects that describes where your execution history events will be logged.\n Limited to size 1. Required, if your log level is not set to OFF.

    " } - }, - "level": { - "target": "com.amazonaws.sfn#LogLevel", - "traits": { - "smithy.api#documentation": "

    Defines which category of execution history events are logged.

    " - } } }, "traits": { @@ -2470,17 +2509,17 @@ "com.amazonaws.sfn#SendTaskSuccessInput": { "type": "structure", "members": { - "output": { - "target": "com.amazonaws.sfn#SensitiveData", + "taskToken": { + "target": "com.amazonaws.sfn#TaskToken", "traits": { - "smithy.api#documentation": "

    The JSON output of the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

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

    The token that represents this task. Task tokens are generated by Step Functions when\n tasks are assigned to a worker, or in the context object when a\n workflow enters a task state. See GetActivityTaskOutput$taskToken.

    ", "smithy.api#required": {} } }, - "taskToken": { - "target": "com.amazonaws.sfn#TaskToken", + "output": { + "target": "com.amazonaws.sfn#SensitiveData", "traits": { - "smithy.api#documentation": "

    The token that represents this task. Task tokens are generated by Step Functions when\n tasks are assigned to a worker, or in the context object when a\n workflow enters a task state. See GetActivityTaskOutput$taskToken.

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

    The JSON output of the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    ", "smithy.api#required": {} } } @@ -2569,48 +2608,200 @@ "com.amazonaws.sfn#StartExecutionInput": { "type": "structure", "members": { + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the state machine to execute.

    ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.sfn#Name", + "traits": { + "smithy.api#documentation": "

    The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information,\n see \n Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + } + }, + "input": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

    The string that contains the JSON input data for the execution, for example:

    \n

    \n \"input\": \"{\\\"first_name\\\" : \\\"test\\\"}\"\n

    \n \n

    If you don't include any JSON input data, you still must include the two braces, for\n example: \"input\": \"{}\"\n

    \n
    \n

    Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + } + }, + "traceHeader": { + "target": "com.amazonaws.sfn#TraceHeader", + "traits": { + "smithy.api#documentation": "

    Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

    " + } + } + } + }, + "com.amazonaws.sfn#StartExecutionOutput": { + "type": "structure", + "members": { + "executionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the execution.

    ", + "smithy.api#required": {} + } + }, + "startDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date the execution is started.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sfn#StartSyncExecution": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#StartSyncExecutionInput" + }, + "output": { + "target": "com.amazonaws.sfn#StartSyncExecutionOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#InvalidExecutionInput" + }, + { + "target": "com.amazonaws.sfn#InvalidName" + }, + { + "target": "com.amazonaws.sfn#StateMachineDeleting" + }, + { + "target": "com.amazonaws.sfn#StateMachineDoesNotExist" + }, + { + "target": "com.amazonaws.sfn#StateMachineTypeNotSupported" + } + ], + "traits": { + "smithy.api#documentation": "

    Starts a Synchronous Express state machine execution.

    ", + "smithy.api#endpoint": { + "hostPrefix": "sync-" + } + } + }, + "com.amazonaws.sfn#StartSyncExecutionInput": { + "type": "structure", + "members": { + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the state machine to execute.

    ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.sfn#Name", + "traits": { + "smithy.api#documentation": "

    The name of the execution.

    " + } + }, "input": { "target": "com.amazonaws.sfn#SensitiveData", "traits": { - "smithy.api#documentation": "

    The string that contains the JSON input data for the execution, for example:

    \n

    \n \"input\": \"{\\\"first_name\\\" : \\\"test\\\"}\"\n

    \n \n

    If you don't include any JSON input data, you still must include the two braces, for\n example: \"input\": \"{}\"\n

    \n
    \n

    Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + "smithy.api#documentation": "

    The string that contains the JSON input data for the execution, for example:

    \n

    \n \"input\": \"{\\\"first_name\\\" : \\\"test\\\"}\"\n

    \n \n

    If you don't include any JSON input data, you still must include the two braces, for\n example: \"input\": \"{}\"\n

    \n
    \n

    Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + } + }, + "traceHeader": { + "target": "com.amazonaws.sfn#TraceHeader", + "traits": { + "smithy.api#documentation": "

    Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

    " + } + } + } + }, + "com.amazonaws.sfn#StartSyncExecutionOutput": { + "type": "structure", + "members": { + "executionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the execution.

    ", + "smithy.api#required": {} + } + }, + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the state machine.

    " + } + }, + "name": { + "target": "com.amazonaws.sfn#Name", + "traits": { + "smithy.api#documentation": "

    The name of the execution.

    " + } + }, + "startDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date the execution is started.

    ", + "smithy.api#required": {} + } + }, + "stopDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

    If the execution has already ended, the date the execution stopped.

    ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.sfn#SyncExecutionStatus", + "traits": { + "smithy.api#documentation": "

    The current status of the execution.

    ", + "smithy.api#required": {} + } + }, + "error": { + "target": "com.amazonaws.sfn#SensitiveError", + "traits": { + "smithy.api#documentation": "

    The error code of the failure.

    " + } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " } }, - "stateMachineArn": { - "target": "com.amazonaws.sfn#Arn", + "input": { + "target": "com.amazonaws.sfn#SensitiveData", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the state machine to execute.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } }, - "name": { - "target": "com.amazonaws.sfn#Name", + "inputDetails": { + "target": "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails" + }, + "output": { + "target": "com.amazonaws.sfn#SensitiveData", "traits": { - "smithy.api#documentation": "

    The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information,\n see \n Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

    \n

    A name must not contain:

    \n
      \n
    • \n

      white space

      \n
    • \n
    • \n

      brackets < > { } [ ]\n

      \n
    • \n
    • \n

      wildcard characters ? *\n

      \n
    • \n
    • \n

      special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

      \n
    • \n
    • \n

      control characters (U+0000-001F, U+007F-009F)

      \n
    • \n
    \n

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + "smithy.api#documentation": "

    The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    \n \n

    This field is set only if the execution succeeds. If the execution fails, this field is\n null.

    \n
    " } }, + "outputDetails": { + "target": "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails" + }, "traceHeader": { "target": "com.amazonaws.sfn#TraceHeader", "traits": { - "smithy.api#documentation": "

    Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

    " - } - } - } - }, - "com.amazonaws.sfn#StartExecutionOutput": { - "type": "structure", - "members": { - "executionArn": { - "target": "com.amazonaws.sfn#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that id entifies the execution.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The AWS X-Ray trace header that was passed to the execution.

    " } }, - "startDate": { - "target": "com.amazonaws.sfn#Timestamp", + "billingDetails": { + "target": "com.amazonaws.sfn#BillingDetails", "traits": { - "smithy.api#documentation": "

    The date the execution is started.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    An object that describes workflow billing details, including billed duration\n and memory use.

    " } } } @@ -2618,12 +2809,6 @@ "com.amazonaws.sfn#StateEnteredEventDetails": { "type": "structure", "members": { - "input": { - "target": "com.amazonaws.sfn#SensitiveData", - "traits": { - "smithy.api#documentation": "

    The string that contains the JSON input data for the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " - } - }, "name": { "target": "com.amazonaws.sfn#Name", "traits": { @@ -2631,6 +2816,12 @@ "smithy.api#required": {} } }, + "input": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

    The string that contains the JSON input data for the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + } + }, "inputDetails": { "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", "traits": { @@ -2726,10 +2917,10 @@ "com.amazonaws.sfn#StateMachineListItem": { "type": "structure", "members": { - "creationDate": { - "target": "com.amazonaws.sfn#Timestamp", + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The date the state machine is created.

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

    The Amazon Resource Name (ARN) that identifies the state machine.

    ", "smithy.api#required": {} } }, @@ -2747,10 +2938,10 @@ "smithy.api#required": {} } }, - "stateMachineArn": { - "target": "com.amazonaws.sfn#Arn", + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the state machine.

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

    The date the state machine is created.

    ", "smithy.api#required": {} } } @@ -2820,12 +3011,6 @@ "com.amazonaws.sfn#StopExecutionInput": { "type": "structure", "members": { - "error": { - "target": "com.amazonaws.sfn#SensitiveError", - "traits": { - "smithy.api#documentation": "

    The error code of the failure.

    " - } - }, "executionArn": { "target": "com.amazonaws.sfn#Arn", "traits": { @@ -2833,6 +3018,12 @@ "smithy.api#required": {} } }, + "error": { + "target": "com.amazonaws.sfn#SensitiveError", + "traits": { + "smithy.api#documentation": "

    The error code of the failure.

    " + } + }, "cause": { "target": "com.amazonaws.sfn#SensitiveCause", "traits": { @@ -2853,20 +3044,36 @@ } } }, + "com.amazonaws.sfn#SyncExecutionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SUCCEEDED" + }, + { + "value": "FAILED" + }, + { + "value": "TIMED_OUT" + } + ] + } + }, "com.amazonaws.sfn#Tag": { "type": "structure", "members": { - "value": { - "target": "com.amazonaws.sfn#TagValue", - "traits": { - "smithy.api#documentation": "

    The value of a tag.

    " - } - }, "key": { "target": "com.amazonaws.sfn#TagKey", "traits": { "smithy.api#documentation": "

    The key of a tag.

    " } + }, + "value": { + "target": "com.amazonaws.sfn#TagValue", + "traits": { + "smithy.api#documentation": "

    The value of a tag.

    " + } } }, "traits": { @@ -2920,17 +3127,17 @@ "com.amazonaws.sfn#TagResourceInput": { "type": "structure", "members": { - "tags": { - "target": "com.amazonaws.sfn#TagList", + "resourceArn": { + "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

    The list of tags to add to a resource.

    \n

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

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

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

    ", "smithy.api#required": {} } }, - "resourceArn": { - "target": "com.amazonaws.sfn#Arn", + "tags": { + "target": "com.amazonaws.sfn#TagList", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

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

    The list of tags to add to a resource.

    \n

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    ", "smithy.api#required": {} } } @@ -2963,10 +3170,11 @@ "com.amazonaws.sfn#TaskFailedEventDetails": { "type": "structure", "members": { - "error": { - "target": "com.amazonaws.sfn#SensitiveError", + "resourceType": { + "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The error code of the failure.

    " + "smithy.api#documentation": "

    The action of the resource called by a task state.

    ", + "smithy.api#required": {} } }, "resource": { @@ -2976,17 +3184,16 @@ "smithy.api#required": {} } }, - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", + "error": { + "target": "com.amazonaws.sfn#SensitiveError", "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " + "smithy.api#documentation": "

    The error code of the failure.

    " } }, - "resourceType": { - "target": "com.amazonaws.sfn#Name", + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", "traits": { - "smithy.api#documentation": "

    The action of the resource called by a task state.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " } } }, @@ -2997,31 +3204,24 @@ "com.amazonaws.sfn#TaskScheduledEventDetails": { "type": "structure", "members": { - "resource": { + "resourceType": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The service name of the resource in a task state.

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

    The action of the resource called by a task state.

    ", "smithy.api#required": {} } }, - "heartbeatInSeconds": { - "target": "com.amazonaws.sfn#TimeoutInSeconds", - "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

    The maximum allowed duration between two heartbeats for the task.

    " - } - }, - "region": { + "resource": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The region of the scheduled task

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

    The service name of the resource in a task state.

    ", "smithy.api#required": {} } }, - "resourceType": { + "region": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    The action of the resource called by a task state.

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

    The region of the scheduled task

    ", "smithy.api#required": {} } }, @@ -3038,6 +3238,13 @@ "smithy.api#box": {}, "smithy.api#documentation": "

    The maximum allowed duration of the task.

    " } + }, + "heartbeatInSeconds": { + "target": "com.amazonaws.sfn#TimeoutInSeconds", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

    The maximum allowed duration between two heartbeats for the task.

    " + } } }, "traits": { @@ -3047,6 +3254,13 @@ "com.amazonaws.sfn#TaskStartFailedEventDetails": { "type": "structure", "members": { + "resourceType": { + "target": "com.amazonaws.sfn#Name", + "traits": { + "smithy.api#documentation": "

    The action of the resource called by a task state.

    ", + "smithy.api#required": {} + } + }, "resource": { "target": "com.amazonaws.sfn#Name", "traits": { @@ -3060,13 +3274,6 @@ "smithy.api#documentation": "

    The error code of the failure.

    " } }, - "resourceType": { - "target": "com.amazonaws.sfn#Name", - "traits": { - "smithy.api#documentation": "

    The action of the resource called by a task state.

    ", - "smithy.api#required": {} - } - }, "cause": { "target": "com.amazonaws.sfn#SensitiveCause", "traits": { @@ -3103,10 +3310,11 @@ "com.amazonaws.sfn#TaskSubmitFailedEventDetails": { "type": "structure", "members": { - "cause": { - "target": "com.amazonaws.sfn#SensitiveCause", + "resourceType": { + "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " + "smithy.api#documentation": "

    The action of the resource called by a task state.

    ", + "smithy.api#required": {} } }, "resource": { @@ -3122,11 +3330,10 @@ "smithy.api#documentation": "

    The error code of the failure.

    " } }, - "resourceType": { - "target": "com.amazonaws.sfn#Name", + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", "traits": { - "smithy.api#documentation": "

    The action of the resource called by a task state.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A more detailed explanation of the cause of the failure.

    " } } }, @@ -3137,12 +3344,6 @@ "com.amazonaws.sfn#TaskSubmittedEventDetails": { "type": "structure", "members": { - "output": { - "target": "com.amazonaws.sfn#SensitiveData", - "traits": { - "smithy.api#documentation": "

    The response from a resource when a task has started. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " - } - }, "resourceType": { "target": "com.amazonaws.sfn#Name", "traits": { @@ -3157,6 +3358,12 @@ "smithy.api#required": {} } }, + "output": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

    The response from a resource when a task has started. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " + } + }, "outputDetails": { "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", "traits": { @@ -3171,12 +3378,6 @@ "com.amazonaws.sfn#TaskSucceededEventDetails": { "type": "structure", "members": { - "outputDetails": { - "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", - "traits": { - "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " - } - }, "resourceType": { "target": "com.amazonaws.sfn#Name", "traits": { @@ -3196,6 +3397,12 @@ "traits": { "smithy.api#documentation": "

    The full JSON response from a resource when a task has succeeded. This response becomes\n the output of the related task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

    " } + }, + "outputDetails": { + "target": "com.amazonaws.sfn#HistoryEventExecutionDataDetails", + "traits": { + "smithy.api#documentation": "

    Contains details about the output of an execution history event.

    " + } } }, "traits": { @@ -3223,12 +3430,6 @@ "smithy.api#required": {} } }, - "error": { - "target": "com.amazonaws.sfn#SensitiveError", - "traits": { - "smithy.api#documentation": "

    The error code of the failure.

    " - } - }, "resource": { "target": "com.amazonaws.sfn#Name", "traits": { @@ -3236,6 +3437,12 @@ "smithy.api#required": {} } }, + "error": { + "target": "com.amazonaws.sfn#SensitiveError", + "traits": { + "smithy.api#documentation": "

    The error code of the failure.

    " + } + }, "cause": { "target": "com.amazonaws.sfn#SensitiveCause", "traits": { @@ -3265,11 +3472,11 @@ "com.amazonaws.sfn#TooManyTags": { "type": "structure", "members": { - "resourceName": { - "target": "com.amazonaws.sfn#Arn" - }, "message": { "target": "com.amazonaws.sfn#ErrorMessage" + }, + "resourceName": { + "target": "com.amazonaws.sfn#Arn" } }, "traits": { @@ -3399,29 +3606,29 @@ "smithy.api#required": {} } }, - "loggingConfiguration": { - "target": "com.amazonaws.sfn#LoggingConfiguration", - "traits": { - "smithy.api#documentation": "

    The LoggingConfiguration data type is used to set CloudWatch Logs\n options.

    " - } - }, "definition": { "target": "com.amazonaws.sfn#Definition", "traits": { "smithy.api#documentation": "

    The Amazon States Language definition of the state machine. See Amazon States Language.

    " } }, - "tracingConfiguration": { - "target": "com.amazonaws.sfn#TracingConfiguration", - "traits": { - "smithy.api#documentation": "

    Selects whether AWS X-Ray tracing is enabled.

    " - } - }, "roleArn": { "target": "com.amazonaws.sfn#Arn", "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the IAM role of the state machine.

    " } + }, + "loggingConfiguration": { + "target": "com.amazonaws.sfn#LoggingConfiguration", + "traits": { + "smithy.api#documentation": "

    The LoggingConfiguration data type is used to set CloudWatch Logs\n options.

    " + } + }, + "tracingConfiguration": { + "target": "com.amazonaws.sfn#TracingConfiguration", + "traits": { + "smithy.api#documentation": "

    Selects whether AWS X-Ray tracing is enabled.

    " + } } } }, @@ -3437,7 +3644,7 @@ } } }, - "com.amazonaws.sfn#included": { + "com.amazonaws.sfn#includedDetails": { "type": "boolean" }, "com.amazonaws.sfn#truncated": { diff --git a/codegen/sdk-codegen/aws-models/signer.2017-08-25.json b/codegen/sdk-codegen/aws-models/signer.2017-08-25.json index 1a144642859b6..5c826258efa67 100644 --- a/codegen/sdk-codegen/aws-models/signer.2017-08-25.json +++ b/codegen/sdk-codegen/aws-models/signer.2017-08-25.json @@ -34,6 +34,9 @@ "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { @@ -42,11 +45,130 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.signer#AccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]{12}$" + } + }, + "com.amazonaws.signer#AddProfilePermission": { + "type": "operation", + "input": { + "target": "com.amazonaws.signer#AddProfilePermissionRequest" + }, + "output": { + "target": "com.amazonaws.signer#AddProfilePermissionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.signer#AccessDeniedException" + }, + { + "target": "com.amazonaws.signer#ConflictException" + }, + { + "target": "com.amazonaws.signer#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#ServiceLimitExceededException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" + }, + { + "target": "com.amazonaws.signer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Adds cross-account permissions to a signing profile.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/signing-profiles/{profileName}/permissions", + "code": 200 + } + } + }, + "com.amazonaws.signer#AddProfilePermissionRequest": { + "type": "structure", + "members": { + "profileName": { + "target": "com.amazonaws.signer#ProfileName", + "traits": { + "smithy.api#documentation": "

    The human-readable name of the signing profile.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", + "traits": { + "smithy.api#documentation": "

    The version of the signing profile.

    " + } + }, + "action": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The AWS Signer action permitted as part of cross-account permissions.

    ", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The AWS principal receiving cross-account permissions. This may be an IAM role or\n\t\t\tanother AWS account ID.

    ", + "smithy.api#required": {} + } + }, + "revisionId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the current profile revision.

    " + } + }, + "statementId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the cross-account permission statement.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.signer#AddProfilePermissionResponse": { + "type": "structure", + "members": { + "revisionId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the current profile revision.

    " + } + } + } + }, + "com.amazonaws.signer#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + } + } + }, "com.amazonaws.signer#BadRequestException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { @@ -74,7 +196,7 @@ "target": "com.amazonaws.signer#ResourceNotFoundException" }, { - "target": "com.amazonaws.signer#ThrottlingException" + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -115,11 +237,21 @@ "com.amazonaws.signer#ClientRequestToken": { "type": "string" }, - "com.amazonaws.signer#CompletedAt": { - "type": "timestamp" - }, - "com.amazonaws.signer#CreatedAt": { - "type": "timestamp" + "com.amazonaws.signer#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" + } + }, + "traits": { + "smithy.api#documentation": "

    The resource encountered a conflicting state.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } }, "com.amazonaws.signer#DescribeSigningJob": { "type": "operation", @@ -138,6 +270,9 @@ }, { "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -165,16 +300,16 @@ "com.amazonaws.signer#DescribeSigningJobResponse": { "type": "structure", "members": { - "profileName": { - "target": "com.amazonaws.signer#ProfileName", + "jobId": { + "target": "com.amazonaws.signer#JobId", "traits": { - "smithy.api#documentation": "

    The name of the profile that initiated the signing operation.

    " + "smithy.api#documentation": "

    The ID of the signing job on output.

    " } }, - "overrides": { - "target": "com.amazonaws.signer#SigningPlatformOverrides", + "source": { + "target": "com.amazonaws.signer#Source", "traits": { - "smithy.api#documentation": "

    A list of any overrides that were applied to the signing operation.

    " + "smithy.api#documentation": "

    The object that contains the name of your S3 bucket or your raw code.

    " } }, "signingMaterial": { @@ -183,28 +318,58 @@ "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of your code signing certificate.

    " } }, + "platformId": { + "target": "com.amazonaws.signer#PlatformId", + "traits": { + "smithy.api#documentation": "

    The microcontroller platform to which your signed code image will be\n\t\t\tdistributed.

    " + } + }, + "platformDisplayName": { + "target": "com.amazonaws.signer#DisplayName", + "traits": { + "smithy.api#documentation": "

    A human-readable name for the signing platform associated with the signing job.

    " + } + }, + "profileName": { + "target": "com.amazonaws.signer#ProfileName", + "traits": { + "smithy.api#documentation": "

    The name of the profile that initiated the signing operation.

    " + } + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", + "traits": { + "smithy.api#documentation": "

    The version of the signing profile used to initiate the signing job.

    " + } + }, + "overrides": { + "target": "com.amazonaws.signer#SigningPlatformOverrides", + "traits": { + "smithy.api#documentation": "

    A list of any overrides that were applied to the signing operation.

    " + } + }, "signingParameters": { "target": "com.amazonaws.signer#SigningParameters", "traits": { "smithy.api#documentation": "

    Map of user-assigned key-value pairs used during signing. These values contain any\n\t\t\tinformation that you specified for use in your signing job.

    " } }, - "signedObject": { - "target": "com.amazonaws.signer#SignedObject", + "createdAt": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    Name of the S3 bucket where the signed code image is saved by code signing.

    " + "smithy.api#documentation": "

    Date and time that the signing job was created.

    " } }, - "source": { - "target": "com.amazonaws.signer#Source", + "completedAt": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    The object that contains the name of your S3 bucket or your raw code.

    " + "smithy.api#documentation": "

    Date and time that the signing job was completed.

    " } }, - "jobId": { - "target": "com.amazonaws.signer#JobId", + "signatureExpiresAt": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    The ID of the signing job on output.

    " + "smithy.api#documentation": "

    Thr expiration timestamp for the signature generated by the signing job.

    " } }, "requestedBy": { @@ -213,34 +378,40 @@ "smithy.api#documentation": "

    The IAM principal that requested the signing job.

    " } }, - "platformId": { - "target": "com.amazonaws.signer#PlatformId", + "status": { + "target": "com.amazonaws.signer#SigningStatus", "traits": { - "smithy.api#documentation": "

    The microcontroller platform to which your signed code image will be\n\t\t\tdistributed.

    " + "smithy.api#documentation": "

    Status of the signing job.

    " } }, - "createdAt": { - "target": "com.amazonaws.signer#CreatedAt", + "statusReason": { + "target": "com.amazonaws.signer#StatusReason", "traits": { - "smithy.api#documentation": "

    Date and time that the signing job was created.

    " + "smithy.api#documentation": "

    String value that contains the status reason.

    " } }, - "status": { - "target": "com.amazonaws.signer#SigningStatus", + "revocationRecord": { + "target": "com.amazonaws.signer#SigningJobRevocationRecord", "traits": { - "smithy.api#documentation": "

    Status of the signing job.

    " + "smithy.api#documentation": "

    A revocation record if the signature generated by the signing job has been revoked.\n\t\t\tContains a timestamp and the ID of the IAM entity that revoked the signature.

    " } }, - "completedAt": { - "target": "com.amazonaws.signer#CompletedAt", + "signedObject": { + "target": "com.amazonaws.signer#SignedObject", "traits": { - "smithy.api#documentation": "

    Date and time that the signing job was completed.

    " + "smithy.api#documentation": "

    Name of the S3 bucket where the signed code image is saved by code signing.

    " } }, - "statusReason": { - "target": "com.amazonaws.signer#StatusReason", + "jobOwner": { + "target": "com.amazonaws.signer#AccountId", "traits": { - "smithy.api#documentation": "

    String value that contains the status reason.

    " + "smithy.api#documentation": "

    The AWS account ID of the job owner.

    " + } + }, + "jobInvoker": { + "target": "com.amazonaws.signer#AccountId", + "traits": { + "smithy.api#documentation": "

    The IAM entity that initiated the signing job.

    " } } } @@ -303,6 +474,9 @@ "target": "com.amazonaws.signer#EncryptionAlgorithm" } }, + "com.amazonaws.signer#ErrorCode": { + "type": "string" + }, "com.amazonaws.signer#ErrorMessage": { "type": "string" }, @@ -323,6 +497,9 @@ }, { "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -350,16 +527,10 @@ "com.amazonaws.signer#GetSigningPlatformResponse": { "type": "structure", "members": { - "target": { - "target": "com.amazonaws.signer#String", - "traits": { - "smithy.api#documentation": "

    The validation template that is used by the target signing platform.

    " - } - }, - "signingConfiguration": { - "target": "com.amazonaws.signer#SigningConfiguration", + "platformId": { + "target": "com.amazonaws.signer#PlatformId", "traits": { - "smithy.api#documentation": "

    A list of configurations applied to the target platform at signing.

    " + "smithy.api#documentation": "

    The ID of the target signing platform.

    " } }, "displayName": { @@ -374,16 +545,28 @@ "smithy.api#documentation": "

    A list of partner entities that use the target signing platform.

    " } }, - "signingImageFormat": { - "target": "com.amazonaws.signer#SigningImageFormat", + "target": { + "target": "com.amazonaws.signer#String", "traits": { - "smithy.api#documentation": "

    The format of the target platform's signing image.

    " + "smithy.api#documentation": "

    The validation template that is used by the target signing platform.

    " } }, - "platformId": { - "target": "com.amazonaws.signer#PlatformId", + "category": { + "target": "com.amazonaws.signer#Category", "traits": { - "smithy.api#documentation": "

    The ID of the target signing platform.

    " + "smithy.api#documentation": "

    The category type of the target signing platform.

    " + } + }, + "signingConfiguration": { + "target": "com.amazonaws.signer#SigningConfiguration", + "traits": { + "smithy.api#documentation": "

    A list of configurations applied to the target platform at signing.

    " + } + }, + "signingImageFormat": { + "target": "com.amazonaws.signer#SigningImageFormat", + "traits": { + "smithy.api#documentation": "

    The format of the target platform's signing image.

    " } }, "maxSizeInMB": { @@ -392,10 +575,10 @@ "smithy.api#documentation": "

    The maximum size (in MB) of the payload that can be signed by the target\n\t\t\tplatform.

    " } }, - "category": { - "target": "com.amazonaws.signer#Category", + "revocationSupported": { + "target": "com.amazonaws.signer#bool", "traits": { - "smithy.api#documentation": "

    The category type of the target signing platform.

    " + "smithy.api#documentation": "

    A flag indicating whether signatures generated for the signing platform can be\n\t\t\trevoked.

    " } } } @@ -419,7 +602,7 @@ "target": "com.amazonaws.signer#ResourceNotFoundException" }, { - "target": "com.amazonaws.signer#ThrottlingException" + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -441,58 +624,95 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "profileOwner": { + "target": "com.amazonaws.signer#AccountId", + "traits": { + "smithy.api#documentation": "

    The AWS account ID of the profile owner.

    ", + "smithy.api#httpQuery": "profileOwner" + } } } }, "com.amazonaws.signer#GetSigningProfileResponse": { "type": "structure", "members": { - "overrides": { - "target": "com.amazonaws.signer#SigningPlatformOverrides", - "traits": { - "smithy.api#documentation": "

    A list of overrides applied by the target signing profile for signing\n\t\t\toperations.

    " - } - }, "profileName": { "target": "com.amazonaws.signer#ProfileName", "traits": { "smithy.api#documentation": "

    The name of the target signing profile.

    " } }, - "signingParameters": { - "target": "com.amazonaws.signer#SigningParameters", + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", "traits": { - "smithy.api#documentation": "

    A map of key-value pairs for signing operations that is attached to the target signing\n\t\t\tprofile.

    " + "smithy.api#documentation": "

    The current version of the signing profile.

    " } }, - "platformId": { - "target": "com.amazonaws.signer#PlatformId", + "profileVersionArn": { + "target": "com.amazonaws.signer#Arn", "traits": { - "smithy.api#documentation": "

    The ID of the platform that is used by the target signing profile.

    " + "smithy.api#documentation": "

    The signing profile ARN, including the profile version.

    " } }, + "revocationRecord": { + "target": "com.amazonaws.signer#SigningProfileRevocationRecord" + }, "signingMaterial": { "target": "com.amazonaws.signer#SigningMaterial", "traits": { "smithy.api#documentation": "

    The ARN of the certificate that the target profile uses for signing operations.

    " } }, - "arn": { - "target": "com.amazonaws.signer#String", + "platformId": { + "target": "com.amazonaws.signer#PlatformId", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the signing profile.

    " + "smithy.api#documentation": "

    The ID of the platform that is used by the target signing profile.

    " } }, - "status": { - "target": "com.amazonaws.signer#SigningProfileStatus", + "platformDisplayName": { + "target": "com.amazonaws.signer#DisplayName", "traits": { - "smithy.api#documentation": "

    The status of the target signing profile.

    " + "smithy.api#documentation": "

    A human-readable name for the signing platform associated with the signing\n\t\t\tprofile.

    " } }, - "tags": { - "target": "com.amazonaws.signer#TagMap", + "signatureValidityPeriod": { + "target": "com.amazonaws.signer#SignatureValidityPeriod" + }, + "overrides": { + "target": "com.amazonaws.signer#SigningPlatformOverrides", "traits": { - "smithy.api#documentation": "

    A list of tags associated with the signing profile.

    " + "smithy.api#documentation": "

    A list of overrides applied by the target signing profile for signing\n\t\t\toperations.

    " + } + }, + "signingParameters": { + "target": "com.amazonaws.signer#SigningParameters", + "traits": { + "smithy.api#documentation": "

    A map of key-value pairs for signing operations that is attached to the target signing\n\t\t\tprofile.

    " + } + }, + "status": { + "target": "com.amazonaws.signer#SigningProfileStatus", + "traits": { + "smithy.api#documentation": "

    The status of the target signing profile.

    " + } + }, + "statusReason": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    Reason for the status of the target signing profile.

    " + } + }, + "arn": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the signing profile.

    " + } + }, + "tags": { + "target": "com.amazonaws.signer#TagMap", + "traits": { + "smithy.api#documentation": "

    A list of tags associated with the signing profile.

    " } } } @@ -560,11 +780,17 @@ "target": "com.amazonaws.signer#ImageFormat" } }, + "com.amazonaws.signer#Integer": { + "type": "integer" + }, "com.amazonaws.signer#InternalServiceErrorException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { @@ -579,6 +805,89 @@ "com.amazonaws.signer#Key": { "type": "string" }, + "com.amazonaws.signer#ListProfilePermissions": { + "type": "operation", + "input": { + "target": "com.amazonaws.signer#ListProfilePermissionsRequest" + }, + "output": { + "target": "com.amazonaws.signer#ListProfilePermissionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.signer#AccessDeniedException" + }, + { + "target": "com.amazonaws.signer#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" + }, + { + "target": "com.amazonaws.signer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Lists the cross-account permissions associated with a signing profile.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/signing-profiles/{profileName}/permissions", + "code": 200 + } + } + }, + "com.amazonaws.signer#ListProfilePermissionsRequest": { + "type": "structure", + "members": { + "profileName": { + "target": "com.amazonaws.signer#ProfileName", + "traits": { + "smithy.api#documentation": "

    Name of the signing profile containing the cross-account permissions.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    String for specifying the next set of paginated results.

    ", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.signer#ListProfilePermissionsResponse": { + "type": "structure", + "members": { + "revisionId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The identifier for the current revision of profile permissions.

    " + } + }, + "policySizeBytes": { + "target": "com.amazonaws.signer#PolicySizeBytes", + "traits": { + "smithy.api#documentation": "

    Total size of the policy associated with the Signing Profile in bytes.

    " + } + }, + "permissions": { + "target": "com.amazonaws.signer#Permissions", + "traits": { + "smithy.api#documentation": "

    List of permissions associated with the Signing Profile.

    " + } + }, + "nextToken": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    String for specifying the next set of paginated results.

    " + } + } + } + }, "com.amazonaws.signer#ListSigningJobs": { "type": "operation", "input": { @@ -595,7 +904,7 @@ "target": "com.amazonaws.signer#InternalServiceErrorException" }, { - "target": "com.amazonaws.signer#ThrottlingException" + "target": "com.amazonaws.signer#TooManyRequestsException" }, { "target": "com.amazonaws.signer#ValidationException" @@ -618,11 +927,18 @@ "com.amazonaws.signer#ListSigningJobsRequest": { "type": "structure", "members": { - "maxResults": { - "target": "com.amazonaws.signer#MaxResults", + "status": { + "target": "com.amazonaws.signer#SigningStatus", "traits": { - "smithy.api#documentation": "

    Specifies the maximum number of items to return in the response. Use this parameter\n\t\t\twhen paginating results. If additional items exist beyond the number you specify, the\n\t\t\t\tnextToken element is set in the response. Use the\n\t\t\t\tnextToken value in a subsequent request to retrieve additional items.\n\t\t

    ", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

    A status value with which to filter your results.

    ", + "smithy.api#httpQuery": "status" + } + }, + "platformId": { + "target": "com.amazonaws.signer#PlatformId", + "traits": { + "smithy.api#documentation": "

    The ID of microcontroller platform that you specified for the distribution of your\n\t\t\tcode image.

    ", + "smithy.api#httpQuery": "platformId" } }, "requestedBy": { @@ -632,6 +948,13 @@ "smithy.api#httpQuery": "requestedBy" } }, + "maxResults": { + "target": "com.amazonaws.signer#MaxResults", + "traits": { + "smithy.api#documentation": "

    Specifies the maximum number of items to return in the response. Use this parameter\n\t\t\twhen paginating results. If additional items exist beyond the number you specify, the\n\t\t\t\tnextToken element is set in the response. Use the\n\t\t\t\tnextToken value in a subsequent request to retrieve additional items.\n\t\t

    ", + "smithy.api#httpQuery": "maxResults" + } + }, "nextToken": { "target": "com.amazonaws.signer#NextToken", "traits": { @@ -639,18 +962,32 @@ "smithy.api#httpQuery": "nextToken" } }, - "platformId": { - "target": "com.amazonaws.signer#PlatformId", + "isRevoked": { + "target": "com.amazonaws.signer#bool", "traits": { - "smithy.api#documentation": "

    The ID of microcontroller platform that you specified for the distribution of your\n\t\t\tcode image.

    ", - "smithy.api#httpQuery": "platformId" + "smithy.api#documentation": "

    Filters results to return only signing jobs with revoked signatures.

    ", + "smithy.api#httpQuery": "isRevoked" } }, - "status": { - "target": "com.amazonaws.signer#SigningStatus", + "signatureExpiresBefore": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    A status value with which to filter your results.

    ", - "smithy.api#httpQuery": "status" + "smithy.api#documentation": "

    Filters results to return only signing jobs with signatures expiring before a\n\t\t\tspecified timestamp.

    ", + "smithy.api#httpQuery": "signatureExpiresBefore" + } + }, + "signatureExpiresAfter": { + "target": "com.amazonaws.signer#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters results to return only signing jobs with signatures expiring after a specified\n\t\t\ttimestamp.

    ", + "smithy.api#httpQuery": "signatureExpiresAfter" + } + }, + "jobInvoker": { + "target": "com.amazonaws.signer#AccountId", + "traits": { + "smithy.api#documentation": "

    Filters results to return only signing jobs initiated by a specified IAM\n\t\t\tentity.

    ", + "smithy.api#httpQuery": "jobInvoker" } } } @@ -688,7 +1025,7 @@ "target": "com.amazonaws.signer#InternalServiceErrorException" }, { - "target": "com.amazonaws.signer#ThrottlingException" + "target": "com.amazonaws.signer#TooManyRequestsException" }, { "target": "com.amazonaws.signer#ValidationException" @@ -711,20 +1048,6 @@ "com.amazonaws.signer#ListSigningPlatformsRequest": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.signer#String", - "traits": { - "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return. After you receive a\n\t\t\tresponse with truncated results, use this parameter in a subsequent request. Set it to\n\t\t\tthe value of nextToken from the response that you just received.

    ", - "smithy.api#httpQuery": "nextToken" - } - }, - "target": { - "target": "com.amazonaws.signer#String", - "traits": { - "smithy.api#documentation": "

    The validation template that is used by the target signing platform.

    ", - "smithy.api#httpQuery": "target" - } - }, "category": { "target": "com.amazonaws.signer#String", "traits": { @@ -739,29 +1062,43 @@ "smithy.api#httpQuery": "partner" } }, + "target": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The validation template that is used by the target signing platform.

    ", + "smithy.api#httpQuery": "target" + } + }, "maxResults": { "target": "com.amazonaws.signer#MaxResults", "traits": { "smithy.api#documentation": "

    The maximum number of results to be returned by this operation.

    ", "smithy.api#httpQuery": "maxResults" } + }, + "nextToken": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return. After you receive a\n\t\t\tresponse with truncated results, use this parameter in a subsequent request. Set it to\n\t\t\tthe value of nextToken from the response that you just received.

    ", + "smithy.api#httpQuery": "nextToken" + } } } }, "com.amazonaws.signer#ListSigningPlatformsResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.signer#String", - "traits": { - "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return.

    " - } - }, "platforms": { "target": "com.amazonaws.signer#SigningPlatforms", "traits": { "smithy.api#documentation": "

    A list of all platforms that match the request parameters.

    " } + }, + "nextToken": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return.

    " + } } } }, @@ -781,7 +1118,7 @@ "target": "com.amazonaws.signer#InternalServiceErrorException" }, { - "target": "com.amazonaws.signer#ThrottlingException" + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -801,13 +1138,6 @@ "com.amazonaws.signer#ListSigningProfilesRequest": { "type": "structure", "members": { - "maxResults": { - "target": "com.amazonaws.signer#MaxResults", - "traits": { - "smithy.api#documentation": "

    The maximum number of profiles to be returned.

    ", - "smithy.api#httpQuery": "maxResults" - } - }, "includeCanceled": { "target": "com.amazonaws.signer#bool", "traits": { @@ -815,29 +1145,50 @@ "smithy.api#httpQuery": "includeCanceled" } }, + "maxResults": { + "target": "com.amazonaws.signer#MaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of profiles to be returned.

    ", + "smithy.api#httpQuery": "maxResults" + } + }, "nextToken": { "target": "com.amazonaws.signer#NextToken", "traits": { "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return. After you receive a\n\t\t\tresponse with truncated results, use this parameter in a subsequent request. Set it to\n\t\t\tthe value of nextToken from the response that you just received.

    ", "smithy.api#httpQuery": "nextToken" } + }, + "platformId": { + "target": "com.amazonaws.signer#PlatformId", + "traits": { + "smithy.api#documentation": "

    Filters results to return only signing jobs initiated for a specified signing\n\t\t\tplatform.

    ", + "smithy.api#httpQuery": "platformId" + } + }, + "statuses": { + "target": "com.amazonaws.signer#Statuses", + "traits": { + "smithy.api#documentation": "

    Filters results to return only signing jobs with statuses in the specified\n\t\t\tlist.

    ", + "smithy.api#httpQuery": "statuses" + } } } }, "com.amazonaws.signer#ListSigningProfilesResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.signer#NextToken", - "traits": { - "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return.

    " - } - }, "profiles": { "target": "com.amazonaws.signer#SigningProfiles", "traits": { "smithy.api#documentation": "

    A list of profiles that are available in the AWS account. This includes profiles with\n\t\t\tthe status of CANCELED if the includeCanceled parameter is set\n\t\t\tto true.

    " } + }, + "nextToken": { + "target": "com.amazonaws.signer#NextToken", + "traits": { + "smithy.api#documentation": "

    Value for specifying the next set of paginated results to return.

    " + } } } }, @@ -858,6 +1209,9 @@ }, { "target": "com.amazonaws.signer#NotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -914,6 +1268,9 @@ "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { @@ -922,9 +1279,50 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.signer#Permission": { + "type": "structure", + "members": { + "action": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    An AWS Signer action permitted as part of cross-account permissions.

    " + } + }, + "principal": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The AWS principal that has been granted a cross-account permission.

    " + } + }, + "statementId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    A unique identifier for a cross-account permission statement.

    " + } + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", + "traits": { + "smithy.api#documentation": "

    The signing profile version that a permission applies to.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A cross-account permission for a signing profile.

    " + } + }, + "com.amazonaws.signer#Permissions": { + "type": "list", + "member": { + "target": "com.amazonaws.signer#Permission" + } + }, "com.amazonaws.signer#PlatformId": { "type": "string" }, + "com.amazonaws.signer#PolicySizeBytes": { + "type": "integer" + }, "com.amazonaws.signer#Prefix": { "type": "string" }, @@ -938,6 +1336,16 @@ "smithy.api#pattern": "^[a-zA-Z0-9_]{2,}" } }, + "com.amazonaws.signer#ProfileVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 10 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]{10}$" + } + }, "com.amazonaws.signer#PutSigningProfile": { "type": "operation", "input": { @@ -957,7 +1365,7 @@ "target": "com.amazonaws.signer#ResourceNotFoundException" }, { - "target": "com.amazonaws.signer#ThrottlingException" + "target": "com.amazonaws.signer#TooManyRequestsException" }, { "target": "com.amazonaws.signer#ValidationException" @@ -975,23 +1383,30 @@ "com.amazonaws.signer#PutSigningProfileRequest": { "type": "structure", "members": { - "signingParameters": { - "target": "com.amazonaws.signer#SigningParameters", + "profileName": { + "target": "com.amazonaws.signer#ProfileName", "traits": { - "smithy.api#documentation": "

    Map of key-value pairs for signing. These can include any information that you want to\n\t\t\tuse during signing.

    " - } - }, - "tags": { - "target": "com.amazonaws.signer#TagMap", + "smithy.api#documentation": "

    The name of the signing profile to be created.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "signingMaterial": { + "target": "com.amazonaws.signer#SigningMaterial", "traits": { - "smithy.api#documentation": "

    Tags to be associated with the signing profile that is being created.

    " + "smithy.api#documentation": "

    The AWS Certificate Manager certificate that will be used to sign code with the new signing\n\t\t\tprofile.

    " } }, - "profileName": { - "target": "com.amazonaws.signer#ProfileName", + "signatureValidityPeriod": { + "target": "com.amazonaws.signer#SignatureValidityPeriod", "traits": { - "smithy.api#documentation": "

    The name of the signing profile to be created.

    ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

    The default validity period override for any signature generated using this signing\n\t\t\tprofile. If unspecified, the default is 135 months.

    " + } + }, + "platformId": { + "target": "com.amazonaws.signer#PlatformId", + "traits": { + "smithy.api#documentation": "

    The ID of the signing platform to be created.

    ", "smithy.api#required": {} } }, @@ -1001,18 +1416,16 @@ "smithy.api#documentation": "

    A subfield of platform. This specifies any different configuration\n\t\t\toptions that you want to apply to the chosen platform (such as a different\n\t\t\t\thash-algorithm or signing-algorithm).

    " } }, - "platformId": { - "target": "com.amazonaws.signer#PlatformId", + "signingParameters": { + "target": "com.amazonaws.signer#SigningParameters", "traits": { - "smithy.api#documentation": "

    The ID of the signing platform to be created.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Map of key-value pairs for signing. These can include any information that you want to\n\t\t\tuse during signing.

    " } }, - "signingMaterial": { - "target": "com.amazonaws.signer#SigningMaterial", + "tags": { + "target": "com.amazonaws.signer#TagMap", "traits": { - "smithy.api#documentation": "

    The AWS Certificate Manager certificate that will be used to sign code with the new signing\n\t\t\tprofile.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Tags to be associated with the signing profile that is being created.

    " } } } @@ -1025,6 +1438,95 @@ "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the signing profile created.

    " } + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", + "traits": { + "smithy.api#documentation": "

    The version of the signing profile being created.

    " + } + }, + "profileVersionArn": { + "target": "com.amazonaws.signer#Arn", + "traits": { + "smithy.api#documentation": "

    The signing profile ARN, including the profile version.

    " + } + } + } + }, + "com.amazonaws.signer#RemoveProfilePermission": { + "type": "operation", + "input": { + "target": "com.amazonaws.signer#RemoveProfilePermissionRequest" + }, + "output": { + "target": "com.amazonaws.signer#RemoveProfilePermissionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.signer#AccessDeniedException" + }, + { + "target": "com.amazonaws.signer#ConflictException" + }, + { + "target": "com.amazonaws.signer#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" + }, + { + "target": "com.amazonaws.signer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Removes cross-account permissions from a signing profile.

    ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/signing-profiles/{profileName}/permissions/{statementId}", + "code": 200 + } + } + }, + "com.amazonaws.signer#RemoveProfilePermissionRequest": { + "type": "structure", + "members": { + "profileName": { + "target": "com.amazonaws.signer#ProfileName", + "traits": { + "smithy.api#documentation": "

    A human-readable name for the signing profile with permissions to be removed.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "revisionId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    An identifier for the current revision of the signing profile permissions.

    ", + "smithy.api#httpQuery": "revisionId", + "smithy.api#required": {} + } + }, + "statementId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the cross-account permissions statement.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.signer#RemoveProfilePermissionResponse": { + "type": "structure", + "members": { + "revisionId": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    An identifier for the current revision of the profile permissions.

    " + } } } }, @@ -1036,6 +1538,9 @@ "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { @@ -1044,6 +1549,137 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.signer#RevocationReasonString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.signer#RevokeSignature": { + "type": "operation", + "input": { + "target": "com.amazonaws.signer#RevokeSignatureRequest" + }, + "errors": [ + { + "target": "com.amazonaws.signer#AccessDeniedException" + }, + { + "target": "com.amazonaws.signer#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" + }, + { + "target": "com.amazonaws.signer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Changes the state of a signing job to REVOKED. This indicates that the signature is no\n\t\t\tlonger valid.

    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/signing-jobs/{jobId}/revoke", + "code": 200 + } + } + }, + "com.amazonaws.signer#RevokeSignatureRequest": { + "type": "structure", + "members": { + "jobId": { + "target": "com.amazonaws.signer#JobId", + "traits": { + "smithy.api#documentation": "

    ID of the signing job to be revoked.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "jobOwner": { + "target": "com.amazonaws.signer#AccountId", + "traits": { + "smithy.api#documentation": "

    AWS account ID of the job owner.

    " + } + }, + "reason": { + "target": "com.amazonaws.signer#RevocationReasonString", + "traits": { + "smithy.api#documentation": "

    The reason for revoking the signing job.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.signer#RevokeSigningProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.signer#RevokeSigningProfileRequest" + }, + "errors": [ + { + "target": "com.amazonaws.signer#AccessDeniedException" + }, + { + "target": "com.amazonaws.signer#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.signer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" + }, + { + "target": "com.amazonaws.signer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Changes the state of a signing profile to REVOKED. This indicates that signatures\n\t\t\tgenerated using the signing profile after an effective start date are no longer\n\t\t\tvalid.

    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/signing-profiles/{profileName}/revoke", + "code": 200 + } + } + }, + "com.amazonaws.signer#RevokeSigningProfileRequest": { + "type": "structure", + "members": { + "profileName": { + "target": "com.amazonaws.signer#ProfileName", + "traits": { + "smithy.api#documentation": "

    The name of the signing profile to be revoked.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", + "traits": { + "smithy.api#documentation": "

    The version of the signing profile to be revoked.

    ", + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.signer#RevocationReasonString", + "traits": { + "smithy.api#documentation": "

    The reason for revoking a signing profile.

    ", + "smithy.api#required": {} + } + }, + "effectiveTime": { + "target": "com.amazonaws.signer#Timestamp", + "traits": { + "smithy.api#documentation": "

    A timestamp for when revocation of a Signing Profile should become effective.\n\t\t\tSignatures generated using the signing profile after this timestamp are not\n\t\t\ttrusted.

    ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.signer#S3Destination": { "type": "structure", "members": { @@ -1094,23 +1730,59 @@ "smithy.api#required": {} } }, + "key": { + "target": "com.amazonaws.signer#Key", + "traits": { + "smithy.api#documentation": "

    Key name of the bucket object that contains your unsigned code.

    ", + "smithy.api#required": {} + } + }, "version": { "target": "com.amazonaws.signer#Version", "traits": { "smithy.api#documentation": "

    Version of your source image in your version enabled S3 bucket.

    ", "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the S3 bucket where you saved your unsigned code.

    " + } + }, + "com.amazonaws.signer#ServiceLimitExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.signer#ErrorMessage" }, - "key": { - "target": "com.amazonaws.signer#Key", + "code": { + "target": "com.amazonaws.signer#ErrorCode" + } + }, + "traits": { + "smithy.api#documentation": "

    The client is making a request that exceeds service limits.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.signer#SignatureValidityPeriod": { + "type": "structure", + "members": { + "value": { + "target": "com.amazonaws.signer#Integer", "traits": { - "smithy.api#documentation": "

    Key name of the bucket object that contains your unsigned code.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The numerical value of the time unit for signature validity.

    " + } + }, + "type": { + "target": "com.amazonaws.signer#ValidityType", + "traits": { + "smithy.api#documentation": "

    The time unit for signature\n\t\t\tvalidity.

    " } } }, "traits": { - "smithy.api#documentation": "

    Information about the S3 bucket where you saved your unsigned code.

    " + "smithy.api#documentation": "

    The validity period for a signing job.

    " } }, "com.amazonaws.signer#SignedObject": { @@ -1155,84 +1827,158 @@ "encryptionAlgorithm": { "target": "com.amazonaws.signer#EncryptionAlgorithm", "traits": { - "smithy.api#documentation": "

    A specified override of the default encryption algorithm that is used in a code signing\n\t\t\tjob.

    " + "smithy.api#documentation": "

    A specified override of the default encryption algorithm that is used in a code signing\n\t\t\tjob.

    " + } + }, + "hashAlgorithm": { + "target": "com.amazonaws.signer#HashAlgorithm", + "traits": { + "smithy.api#documentation": "

    A specified override of the default hash algorithm that is used in a code signing\n\t\t\tjob.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A signing configuration that overrides the default encryption or hash algorithm of a\n\t\t\tsigning job.

    " + } + }, + "com.amazonaws.signer#SigningImageFormat": { + "type": "structure", + "members": { + "supportedFormats": { + "target": "com.amazonaws.signer#ImageFormats", + "traits": { + "smithy.api#documentation": "

    The supported formats of a code signing image.

    ", + "smithy.api#required": {} + } + }, + "defaultFormat": { + "target": "com.amazonaws.signer#ImageFormat", + "traits": { + "smithy.api#documentation": "

    The default format of a code signing image.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    The image format of a code signing platform or profile.

    " + } + }, + "com.amazonaws.signer#SigningJob": { + "type": "structure", + "members": { + "jobId": { + "target": "com.amazonaws.signer#JobId", + "traits": { + "smithy.api#documentation": "

    The ID of the signing job.

    " + } + }, + "source": { + "target": "com.amazonaws.signer#Source", + "traits": { + "smithy.api#documentation": "

    A Source that contains information about a signing job's code image\n\t\t\tsource.

    " + } + }, + "signedObject": { + "target": "com.amazonaws.signer#SignedObject", + "traits": { + "smithy.api#documentation": "

    A SignedObject structure that contains information about a signing job's\n\t\t\tsigned code image.

    " + } + }, + "signingMaterial": { + "target": "com.amazonaws.signer#SigningMaterial", + "traits": { + "smithy.api#documentation": "

    A SigningMaterial object that contains the Amazon Resource Name (ARN) of\n\t\t\tthe certificate used for the signing job.

    " + } + }, + "createdAt": { + "target": "com.amazonaws.signer#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date and time that the signing job was created.

    " + } + }, + "status": { + "target": "com.amazonaws.signer#SigningStatus", + "traits": { + "smithy.api#documentation": "

    The status of the signing job.

    " + } + }, + "isRevoked": { + "target": "com.amazonaws.signer#bool", + "traits": { + "smithy.api#documentation": "

    Indicates whether the signing job is revoked.

    " } }, - "hashAlgorithm": { - "target": "com.amazonaws.signer#HashAlgorithm", + "profileName": { + "target": "com.amazonaws.signer#ProfileName", "traits": { - "smithy.api#documentation": "

    A specified override of the default hash algorithm that is used in a code signing\n\t\t\tjob.

    " + "smithy.api#documentation": "

    The name of the signing profile that created a signing job.

    " } - } - }, - "traits": { - "smithy.api#documentation": "

    A signing configuration that overrides the default encryption or hash algorithm of a\n\t\t\tsigning job.

    " - } - }, - "com.amazonaws.signer#SigningImageFormat": { - "type": "structure", - "members": { - "defaultFormat": { - "target": "com.amazonaws.signer#ImageFormat", + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", "traits": { - "smithy.api#documentation": "

    The default format of a code signing image.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The version of the signing profile that created a signing job.

    " } }, - "supportedFormats": { - "target": "com.amazonaws.signer#ImageFormats", + "platformId": { + "target": "com.amazonaws.signer#PlatformId", "traits": { - "smithy.api#documentation": "

    The supported formats of a code signing image.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The unique identifier for a signing platform.

    " } - } - }, - "traits": { - "smithy.api#documentation": "

    The image format of a code signing platform or profile.

    " - } - }, - "com.amazonaws.signer#SigningJob": { - "type": "structure", - "members": { - "source": { - "target": "com.amazonaws.signer#Source", + }, + "platformDisplayName": { + "target": "com.amazonaws.signer#DisplayName", "traits": { - "smithy.api#documentation": "

    A Source that contains information about a signing job's code image\n\t\t\tsource.

    " + "smithy.api#documentation": "

    The name of a signing platform.

    " } }, - "jobId": { - "target": "com.amazonaws.signer#JobId", + "signatureExpiresAt": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    The ID of the signing job.

    " + "smithy.api#documentation": "

    The time when the signature of a signing job expires.

    " } }, - "status": { - "target": "com.amazonaws.signer#SigningStatus", + "jobOwner": { + "target": "com.amazonaws.signer#AccountId", "traits": { - "smithy.api#documentation": "

    The status of the signing job.

    " + "smithy.api#documentation": "

    The AWS account ID of the job owner.

    " } }, - "createdAt": { - "target": "com.amazonaws.signer#CreatedAt", + "jobInvoker": { + "target": "com.amazonaws.signer#AccountId", "traits": { - "smithy.api#documentation": "

    The date and time that the signing job was created.

    " + "smithy.api#documentation": "

    The AWS account ID of the job invoker.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Contains information about a signing job.

    " + } + }, + "com.amazonaws.signer#SigningJobRevocationRecord": { + "type": "structure", + "members": { + "reason": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    A caller-supplied reason for revocation.

    " } }, - "signingMaterial": { - "target": "com.amazonaws.signer#SigningMaterial", + "revokedAt": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    A SigningMaterial object that contains the Amazon Resource Name (ARN) of\n\t\t\tthe certificate used for the signing job.

    " + "smithy.api#documentation": "

    The time of revocation.

    " } }, - "signedObject": { - "target": "com.amazonaws.signer#SignedObject", + "revokedBy": { + "target": "com.amazonaws.signer#String", "traits": { - "smithy.api#documentation": "

    A SignedObject structure that contains information about a signing job's\n\t\t\tsigned code image.

    " + "smithy.api#documentation": "

    The identity of the revoker.

    " } } }, "traits": { - "smithy.api#documentation": "

    Contains information about a signing job.

    " + "smithy.api#documentation": "

    Revocation information for a signing job.

    " } }, "com.amazonaws.signer#SigningJobs": { @@ -1274,20 +2020,17 @@ "com.amazonaws.signer#SigningPlatform": { "type": "structure", "members": { - "maxSizeInMB": { - "target": "com.amazonaws.signer#MaxSizeInMB", - "traits": { - "smithy.api#documentation": "

    The maximum size (in MB) of code that can be signed by a code signing platform.

    " - } - }, "platformId": { "target": "com.amazonaws.signer#String", "traits": { "smithy.api#documentation": "

    The ID of a code signing; platform.

    " } }, - "signingImageFormat": { - "target": "com.amazonaws.signer#SigningImageFormat" + "displayName": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The display name of a code signing platform.

    " + } }, "partner": { "target": "com.amazonaws.signer#String", @@ -1295,10 +2038,10 @@ "smithy.api#documentation": "

    Any partner entities linked to a code signing platform.

    " } }, - "displayName": { + "target": { "target": "com.amazonaws.signer#String", "traits": { - "smithy.api#documentation": "

    The display name of a code signing platform.

    " + "smithy.api#documentation": "

    The types of targets that can be signed by a code signing platform.

    " } }, "category": { @@ -1313,10 +2056,19 @@ "smithy.api#documentation": "

    The configuration of a code signing platform. This includes the designated hash algorithm\n\t\t\tand encryption algorithm of a signing platform.

    " } }, - "target": { - "target": "com.amazonaws.signer#String", + "signingImageFormat": { + "target": "com.amazonaws.signer#SigningImageFormat" + }, + "maxSizeInMB": { + "target": "com.amazonaws.signer#MaxSizeInMB", "traits": { - "smithy.api#documentation": "

    The types of targets that can be signed by a code signing platform.

    " + "smithy.api#documentation": "

    The maximum size (in MB) of code that can be signed by a code signing platform.

    " + } + }, + "revocationSupported": { + "target": "com.amazonaws.signer#bool", + "traits": { + "smithy.api#documentation": "

    Indicates whether revocation is supported for the platform.

    " } } }, @@ -1327,17 +2079,17 @@ "com.amazonaws.signer#SigningPlatformOverrides": { "type": "structure", "members": { - "signingImageFormat": { - "target": "com.amazonaws.signer#ImageFormat", - "traits": { - "smithy.api#documentation": "

    A signed image is a JSON object. When overriding the default signing platform configuration,\n\t\t\ta customer can select either of two signing formats, JSONEmbedded or\n\t\t\t\tJSONDetached. (A third format value, JSON, is reserved\n\t\t\tfor future use.) With JSONEmbedded, the signing image has the payload\n\t\t\tembedded in it. With JSONDetached, the payload is not be embedded in the\n\t\t\tsigning image.

    " - } - }, "signingConfiguration": { "target": "com.amazonaws.signer#SigningConfigurationOverrides", "traits": { "smithy.api#documentation": "

    A signing configuration that overrides the default encryption or hash algorithm of a\n\t\t\tsigning job.

    " } + }, + "signingImageFormat": { + "target": "com.amazonaws.signer#ImageFormat", + "traits": { + "smithy.api#documentation": "

    A signed image is a JSON object. When overriding the default signing platform\n\t\t\tconfiguration, a customer can select either of two signing formats,\n\t\t\t\tJSONEmbedded or JSONDetached. (A third format value,\n\t\t\t\tJSON, is reserved for future use.) With JSONEmbedded, the\n\t\t\tsigning image has the payload embedded in it. With JSONDetached, the\n\t\t\tpayload is not be embedded in the signing image.

    " + } } }, "traits": { @@ -1353,16 +2105,46 @@ "com.amazonaws.signer#SigningProfile": { "type": "structure", "members": { + "profileName": { + "target": "com.amazonaws.signer#ProfileName", + "traits": { + "smithy.api#documentation": "

    The name of the signing profile.

    " + } + }, + "profileVersion": { + "target": "com.amazonaws.signer#ProfileVersion", + "traits": { + "smithy.api#documentation": "

    The version of a signing profile.

    " + } + }, + "profileVersionArn": { + "target": "com.amazonaws.signer#Arn", + "traits": { + "smithy.api#documentation": "

    The ARN of a signing profile, including the profile version.

    " + } + }, + "signingMaterial": { + "target": "com.amazonaws.signer#SigningMaterial", + "traits": { + "smithy.api#documentation": "

    The ACM certificate that is available for use by a signing profile.

    " + } + }, + "signatureValidityPeriod": { + "target": "com.amazonaws.signer#SignatureValidityPeriod", + "traits": { + "smithy.api#documentation": "

    The validity period for a signing job created using this signing profile.

    " + } + }, "platformId": { "target": "com.amazonaws.signer#PlatformId", "traits": { "smithy.api#documentation": "

    The ID of a platform that is available for use by a signing profile.

    " } }, - "arn": { - "target": "com.amazonaws.signer#String", + "platformDisplayName": { + "target": "com.amazonaws.signer#DisplayName", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the signing profile.

    " + "smithy.api#documentation": "

    The name of the signing platform.

    " } }, "signingParameters": { @@ -1371,10 +2153,16 @@ "smithy.api#documentation": "

    The parameters that are available for use by a code signing user.

    " } }, - "profileName": { - "target": "com.amazonaws.signer#ProfileName", + "status": { + "target": "com.amazonaws.signer#SigningProfileStatus", "traits": { - "smithy.api#documentation": "

    The name of the signing profile.

    " + "smithy.api#documentation": "

    The status of a code signing profile.

    " + } + }, + "arn": { + "target": "com.amazonaws.signer#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the signing profile.

    " } }, "tags": { @@ -1382,22 +2170,36 @@ "traits": { "smithy.api#documentation": "

    A list of tags associated with the signing profile.

    " } + } + }, + "traits": { + "smithy.api#documentation": "

    Contains information about the ACM certificates and code signing configuration parameters\n\t\t\tthat can be used by a given code signing user.

    " + } + }, + "com.amazonaws.signer#SigningProfileRevocationRecord": { + "type": "structure", + "members": { + "revocationEffectiveFrom": { + "target": "com.amazonaws.signer#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time when revocation becomes effective.

    " + } }, - "signingMaterial": { - "target": "com.amazonaws.signer#SigningMaterial", + "revokedAt": { + "target": "com.amazonaws.signer#Timestamp", "traits": { - "smithy.api#documentation": "

    The ACM certificate that is available for use by a signing profile.

    " + "smithy.api#documentation": "

    The time when the signing profile was revoked.

    " } }, - "status": { - "target": "com.amazonaws.signer#SigningProfileStatus", + "revokedBy": { + "target": "com.amazonaws.signer#String", "traits": { - "smithy.api#documentation": "

    The status of a code signing profile.

    " + "smithy.api#documentation": "

    The identity of the revoker.

    " } } }, "traits": { - "smithy.api#documentation": "

    Contains information about the ACM certificates and code signing configuration parameters that\n\t\t\tcan be used by a given code signing user.

    " + "smithy.api#documentation": "

    Revocation information for a signing profile.

    " } }, "com.amazonaws.signer#SigningProfileStatus": { @@ -1409,6 +2211,9 @@ }, { "value": "Canceled" + }, + { + "value": "Revoked" } ] } @@ -1470,6 +2275,9 @@ { "target": "com.amazonaws.signer#ThrottlingException" }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" + }, { "target": "com.amazonaws.signer#ValidationException" } @@ -1486,33 +2294,40 @@ "com.amazonaws.signer#StartSigningJobRequest": { "type": "structure", "members": { - "clientRequestToken": { - "target": "com.amazonaws.signer#ClientRequestToken", + "source": { + "target": "com.amazonaws.signer#Source", "traits": { - "smithy.api#documentation": "

    String that identifies the signing request. All calls after the first that use this\n\t\t\ttoken return the same response as the first call.

    ", - "smithy.api#idempotencyToken": {}, + "smithy.api#documentation": "

    The S3 bucket that contains the object to sign or a BLOB that contains your raw\n\t\t\tcode.

    ", "smithy.api#required": {} } }, - "source": { - "target": "com.amazonaws.signer#Source", + "destination": { + "target": "com.amazonaws.signer#Destination", "traits": { - "smithy.api#documentation": "

    The S3 bucket that contains the object to sign or a BLOB that contains your raw\n\t\t\tcode.

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

    The S3 bucket in which to save your signed object. The destination contains the name\n\t\t\tof your bucket and an optional prefix.

    ", "smithy.api#required": {} } }, "profileName": { "target": "com.amazonaws.signer#ProfileName", "traits": { - "smithy.api#documentation": "

    The name of the signing profile.

    " + "smithy.api#documentation": "

    The name of the signing profile.

    ", + "smithy.api#required": {} } }, - "destination": { - "target": "com.amazonaws.signer#Destination", + "clientRequestToken": { + "target": "com.amazonaws.signer#ClientRequestToken", "traits": { - "smithy.api#documentation": "

    The S3 bucket in which to save your signed object. The destination contains the name\n\t\t\tof your bucket and an optional prefix.

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

    String that identifies the signing request. All calls after the first that use this\n\t\t\ttoken return the same response as the first call.

    ", + "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } + }, + "profileOwner": { + "target": "com.amazonaws.signer#AccountId", + "traits": { + "smithy.api#documentation": "

    The AWS account ID of the signing profile owner.

    " + } } } }, @@ -1524,12 +2339,24 @@ "traits": { "smithy.api#documentation": "

    The ID of your signing job.

    " } + }, + "jobOwner": { + "target": "com.amazonaws.signer#AccountId", + "traits": { + "smithy.api#documentation": "

    The AWS account ID of the signing job owner.

    " + } } } }, "com.amazonaws.signer#StatusReason": { "type": "string" }, + "com.amazonaws.signer#Statuses": { + "type": "list", + "member": { + "target": "com.amazonaws.signer#SigningProfileStatus" + } + }, "com.amazonaws.signer#String": { "type": "string" }, @@ -1587,6 +2414,9 @@ }, { "target": "com.amazonaws.signer#NotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -1636,10 +2466,35 @@ "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" + } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Instead of this error, TooManyRequestsException should be used." + }, + "smithy.api#documentation": "

    The request was denied due to request throttling.

    \n

    Instead of this error, TooManyRequestsException should be used.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.signer#Timestamp": { + "type": "timestamp" + }, + "com.amazonaws.signer#TooManyRequestsException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { - "smithy.api#documentation": "

    The signing job has been throttled.

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

    The allowed number of job-signing requests has been exceeded.

    \n\t\t

    This error supersedes the error ThrottlingException.

    ", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -1661,6 +2516,9 @@ }, { "target": "com.amazonaws.signer#NotFoundException" + }, + { + "target": "com.amazonaws.signer#TooManyRequestsException" } ], "traits": { @@ -1675,14 +2533,6 @@ "com.amazonaws.signer#UntagResourceRequest": { "type": "structure", "members": { - "tagKeys": { - "target": "com.amazonaws.signer#TagKeyList", - "traits": { - "smithy.api#documentation": "

    A list of tag keys to be removed from the signing profile.

    ", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - }, "resourceArn": { "target": "com.amazonaws.signer#String", "traits": { @@ -1690,6 +2540,14 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "tagKeys": { + "target": "com.amazonaws.signer#TagKeyList", + "traits": { + "smithy.api#documentation": "

    A list of tag keys to be removed from the signing profile.

    ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } } } }, @@ -1702,6 +2560,9 @@ "members": { "message": { "target": "com.amazonaws.signer#ErrorMessage" + }, + "code": { + "target": "com.amazonaws.signer#ErrorCode" } }, "traits": { @@ -1710,6 +2571,22 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.signer#ValidityType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DAYS" + }, + { + "value": "MONTHS" + }, + { + "value": "YEARS" + } + ] + } + }, "com.amazonaws.signer#Version": { "type": "string" }, @@ -1717,6 +2594,9 @@ "type": "service", "version": "2017-08-25", "operations": [ + { + "target": "com.amazonaws.signer#AddProfilePermission" + }, { "target": "com.amazonaws.signer#CancelSigningProfile" }, @@ -1729,6 +2609,9 @@ { "target": "com.amazonaws.signer#GetSigningProfile" }, + { + "target": "com.amazonaws.signer#ListProfilePermissions" + }, { "target": "com.amazonaws.signer#ListSigningJobs" }, @@ -1744,6 +2627,15 @@ { "target": "com.amazonaws.signer#PutSigningProfile" }, + { + "target": "com.amazonaws.signer#RemoveProfilePermission" + }, + { + "target": "com.amazonaws.signer#RevokeSignature" + }, + { + "target": "com.amazonaws.signer#RevokeSigningProfile" + }, { "target": "com.amazonaws.signer#StartSigningJob" }, @@ -1765,7 +2657,7 @@ "name": "signer" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

    With code signing for IoT, you can sign code that you create for any IoT device that is\n\t\t\tsupported by Amazon Web Services (AWS). Code signing is available through Amazon FreeRTOS and AWS IoT Device Management, and integrated with AWS Certificate Manager\n\t\t\t\t(ACM). In order to sign code, you import a third-party code signing\n\t\t\tcertificate with ACM that is used to sign updates in Amazon FreeRTOS and AWS IoT Device Management. For\n\t\t\tgeneral information about using code signing, see the Code Signing for IoT Developer Guide.

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

    AWS Signer is a fully managed code signing service to help you ensure the trust and\n\t\t\tintegrity of your code.

    \n\t\t

    AWS Signer supports the following applications:

    \n\n\t\t

    With code signing for AWS Lambda, you can sign AWS Lambda\n\t\t\tdeployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch,\n\t\t\tand AWS CloudTrail. In order to sign code, you create a signing profile and then use\n\t\t\tSigner to sign Lambda zip files in S3.

    \n\t\t\n\t\t

    With code signing for IoT, you can sign code for any IoT device that is\n\t\t\tsupported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is\n\t\t\tintegrated with AWS Certificate Manager (ACM). In order to sign\n\t\t\tcode, you import a third-party code signing certificate using ACM, and use that to\n\t\t\tsign updates in Amazon FreeRTOS and AWS IoT Device Management.

    \n\t\t

    For more information about AWS Signer, see the AWS Signer Developer Guide.

    \n\t\t\n\t\t

    ", "smithy.api#title": "AWS Signer" } }, diff --git a/codegen/sdk-codegen/aws-models/sso-admin.2020-07-20.json b/codegen/sdk-codegen/aws-models/sso-admin.2020-07-20.json index a5e209c3f09da..b52a4fcbb06a2 100644 --- a/codegen/sdk-codegen/aws-models/sso-admin.2020-07-20.json +++ b/codegen/sdk-codegen/aws-models/sso-admin.2020-07-20.json @@ -29,6 +29,87 @@ ] }, "shapes": { + "com.amazonaws.ssoadmin#AccessControlAttribute": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ssoadmin#AccessControlAttributeValue", + "traits": { + "smithy.api#documentation": "

    The value used for mapping a specified attribute to an identity source.

    ", + "smithy.api#required": {} + } + }, + "Key": { + "target": "com.amazonaws.ssoadmin#AccessControlAttributeKey", + "traits": { + "smithy.api#documentation": "

    The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in AWS SSO.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    These are AWS SSO identity store attributes that you can configure for use in attributes-based access control (ABAC). You can create permission policies that determine who can access your AWS resources based upon the configured attribute value(s). When you enable ABAC and specify AccessControlAttributes, AWS SSO passes the attribute(s) value of the authenticated user into IAM for use in policy evaluation.

    " + } + }, + "com.amazonaws.ssoadmin#AccessControlAttributeKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]+" + } + }, + "com.amazonaws.ssoadmin#AccessControlAttributeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ssoadmin#AccessControlAttribute" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.ssoadmin#AccessControlAttributeValue": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.ssoadmin#AccessControlAttributeValueSourceList", + "traits": { + "smithy.api#documentation": "

    The identity source to use when mapping a specified attribute to AWS SSO.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    The value used for mapping a specified attribute to an identity source.

    " + } + }, + "com.amazonaws.ssoadmin#AccessControlAttributeValueSource": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@\\[\\]\\{\\}\\$\\\\\"]*" + } + }, + "com.amazonaws.ssoadmin#AccessControlAttributeValueSourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ssoadmin#AccessControlAttributeValueSource" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.ssoadmin#AccessDeniedException": { "type": "structure", "members": { @@ -54,18 +135,18 @@ "smithy.api#documentation": "

    The ARN of the permission set. For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " } }, - "PrincipalType": { - "target": "com.amazonaws.ssoadmin#PrincipalType", - "traits": { - "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    " - } - }, "AccountId": { "target": "com.amazonaws.ssoadmin#AccountId", "traits": { "smithy.api#documentation": "

    The identifier of the AWS account.

    " } }, + "PrincipalType": { + "target": "com.amazonaws.ssoadmin#PrincipalType", + "traits": { + "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    " + } + }, "PrincipalId": { "target": "com.amazonaws.ssoadmin#PrincipalId", "traits": { @@ -86,14 +167,8 @@ "com.amazonaws.ssoadmin#AccountAssignmentOperationStatus": { "type": "structure", "members": { - "FailureReason": { - "target": "com.amazonaws.ssoadmin#Reason", - "traits": { - "smithy.api#documentation": "

    The message that contains an error or exception in case of an operation failure.

    " - } - }, - "PrincipalType": { - "target": "com.amazonaws.ssoadmin#PrincipalType", + "TargetType": { + "target": "com.amazonaws.ssoadmin#TargetType", "traits": { "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    " } @@ -110,22 +185,22 @@ "smithy.api#documentation": "

    The date that the permission set was created.

    " } }, - "TargetType": { - "target": "com.amazonaws.ssoadmin#TargetType", + "PrincipalId": { + "target": "com.amazonaws.ssoadmin#PrincipalId", "traits": { - "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    " + "smithy.api#documentation": "

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    " } }, - "TargetId": { - "target": "com.amazonaws.ssoadmin#TargetId", + "RequestId": { + "target": "com.amazonaws.ssoadmin#UUId", "traits": { - "smithy.api#documentation": "

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    " + "smithy.api#documentation": "

    The identifier for tracking the request operation that is generated by the universally\n unique identifier (UUID) workflow.

    " } }, - "PrincipalId": { - "target": "com.amazonaws.ssoadmin#PrincipalId", + "FailureReason": { + "target": "com.amazonaws.ssoadmin#Reason", "traits": { - "smithy.api#documentation": "

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    " + "smithy.api#documentation": "

    The message that contains an error or exception in case of an operation failure.

    " } }, "Status": { @@ -134,10 +209,16 @@ "smithy.api#documentation": "

    The status of the permission set provisioning process.

    " } }, - "RequestId": { - "target": "com.amazonaws.ssoadmin#UUId", + "PrincipalType": { + "target": "com.amazonaws.ssoadmin#PrincipalType", "traits": { - "smithy.api#documentation": "

    The identifier for tracking the request operation that is generated by the universally\n unique identifier (UUID) workflow.

    " + "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    " + } + }, + "TargetId": { + "target": "com.amazonaws.ssoadmin#TargetId", + "traits": { + "smithy.api#documentation": "

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    " } } }, @@ -154,12 +235,6 @@ "com.amazonaws.ssoadmin#AccountAssignmentOperationStatusMetadata": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.ssoadmin#StatusValues", - "traits": { - "smithy.api#documentation": "

    The status of the permission set provisioning process.

    " - } - }, "RequestId": { "target": "com.amazonaws.ssoadmin#UUId", "traits": { @@ -171,6 +246,12 @@ "traits": { "smithy.api#documentation": "

    The date that the permission set was created.

    " } + }, + "Status": { + "target": "com.amazonaws.ssoadmin#StatusValues", + "traits": { + "smithy.api#documentation": "

    The status of the permission set provisioning process.

    " + } } }, "traits": { @@ -227,6 +308,13 @@ "com.amazonaws.ssoadmin#AttachManagedPolicyToPermissionSetRequest": { "type": "structure", "members": { + "ManagedPolicyArn": { + "target": "com.amazonaws.ssoadmin#ManagedPolicyArn", + "traits": { + "smithy.api#documentation": "

    The IAM managed policy ARN to be attached to a permission set.

    ", + "smithy.api#required": {} + } + }, "PermissionSetArn": { "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { @@ -240,13 +328,6 @@ "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } - }, - "ManagedPolicyArn": { - "target": "com.amazonaws.ssoadmin#ManagedPolicyArn", - "traits": { - "smithy.api#documentation": "

    The IAM managed policy ARN to be attached to a permission set.

    ", - "smithy.api#required": {} - } } } }, @@ -334,6 +415,13 @@ "com.amazonaws.ssoadmin#CreateAccountAssignmentRequest": { "type": "structure", "members": { + "PrincipalId": { + "target": "com.amazonaws.ssoadmin#PrincipalId", + "traits": { + "smithy.api#documentation": "

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    ", + "smithy.api#required": {} + } + }, "PermissionSetArn": { "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { @@ -341,10 +429,10 @@ "smithy.api#required": {} } }, - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "TargetType": { + "target": "com.amazonaws.ssoadmin#TargetType", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The entity type for which the assignment will be created.

    ", "smithy.api#required": {} } }, @@ -355,13 +443,6 @@ "smithy.api#required": {} } }, - "TargetType": { - "target": "com.amazonaws.ssoadmin#TargetType", - "traits": { - "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    ", - "smithy.api#required": {} - } - }, "PrincipalType": { "target": "com.amazonaws.ssoadmin#PrincipalType", "traits": { @@ -369,10 +450,10 @@ "smithy.api#required": {} } }, - "PrincipalId": { - "target": "com.amazonaws.ssoadmin#PrincipalId", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -389,6 +470,61 @@ } } }, + "com.amazonaws.ssoadmin#CreateInstanceAccessControlAttributeConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.ssoadmin#CreateInstanceAccessControlAttributeConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.ssoadmin#CreateInstanceAccessControlAttributeConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ssoadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.ssoadmin#ConflictException" + }, + { + "target": "com.amazonaws.ssoadmin#InternalServerException" + }, + { + "target": "com.amazonaws.ssoadmin#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.ssoadmin#ThrottlingException" + }, + { + "target": "com.amazonaws.ssoadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Enables the attributes-based access control (ABAC) feature for the specified AWS SSO instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    " + } + }, + "com.amazonaws.ssoadmin#CreateInstanceAccessControlAttributeConfigurationRequest": { + "type": "structure", + "members": { + "InstanceAccessControlAttributeConfiguration": { + "target": "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfiguration", + "traits": { + "smithy.api#documentation": "

    Specifies the AWS SSO identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store.

    ", + "smithy.api#required": {} + } + }, + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ssoadmin#CreateInstanceAccessControlAttributeConfigurationResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.ssoadmin#CreatePermissionSet": { "type": "operation", "input": { @@ -427,23 +563,16 @@ "com.amazonaws.ssoadmin#CreatePermissionSetRequest": { "type": "structure", "members": { - "RelayState": { - "target": "com.amazonaws.ssoadmin#RelayState", - "traits": { - "smithy.api#documentation": "

    Used to redirect users within the application during the federation authentication\n process.

    " - } - }, "Description": { "target": "com.amazonaws.ssoadmin#PermissionSetDescription", "traits": { "smithy.api#documentation": "

    The description of the PermissionSet.

    " } }, - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "RelayState": { + "target": "com.amazonaws.ssoadmin#RelayState", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Used to redirect users within the application during the federation authentication\n process.

    " } }, "SessionDuration": { @@ -452,6 +581,12 @@ "smithy.api#documentation": "

    The length of time that the application user sessions are valid in the ISO-8601\n standard.

    " } }, + "Tags": { + "target": "com.amazonaws.ssoadmin#TagList", + "traits": { + "smithy.api#documentation": "

    The tags to attach to the new PermissionSet.

    " + } + }, "Name": { "target": "com.amazonaws.ssoadmin#PermissionSetName", "traits": { @@ -459,10 +594,11 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.ssoadmin#TagList", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The tags to attach to the new PermissionSet.

    " + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", + "smithy.api#required": {} } } } @@ -516,17 +652,10 @@ "com.amazonaws.ssoadmin#DeleteAccountAssignmentRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", - "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", - "smithy.api#required": {} - } - }, - "TargetId": { - "target": "com.amazonaws.ssoadmin#TargetId", + "PrincipalType": { + "target": "com.amazonaws.ssoadmin#PrincipalType", "traits": { - "smithy.api#documentation": "

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

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

    The entity type for which the assignment will be deleted.

    ", "smithy.api#required": {} } }, @@ -537,10 +666,10 @@ "smithy.api#required": {} } }, - "PrincipalId": { - "target": "com.amazonaws.ssoadmin#PrincipalId", + "TargetId": { + "target": "com.amazonaws.ssoadmin#TargetId", "traits": { - "smithy.api#documentation": "

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

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

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    ", "smithy.api#required": {} } }, @@ -551,10 +680,17 @@ "smithy.api#required": {} } }, - "PrincipalType": { - "target": "com.amazonaws.ssoadmin#PrincipalType", + "PrincipalId": { + "target": "com.amazonaws.ssoadmin#PrincipalId", "traits": { - "smithy.api#documentation": "

    The entity type for which the assignment will be deleted.

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

    An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

    ", + "smithy.api#required": {} + } + }, + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -626,13 +762,13 @@ "type": "structure", "members": {} }, - "com.amazonaws.ssoadmin#DeletePermissionSet": { + "com.amazonaws.ssoadmin#DeleteInstanceAccessControlAttributeConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.ssoadmin#DeletePermissionSetRequest" + "target": "com.amazonaws.ssoadmin#DeleteInstanceAccessControlAttributeConfigurationRequest" }, "output": { - "target": "com.amazonaws.ssoadmin#DeletePermissionSetResponse" + "target": "com.amazonaws.ssoadmin#DeleteInstanceAccessControlAttributeConfigurationResponse" }, "errors": [ { @@ -655,25 +791,73 @@ } ], "traits": { - "smithy.api#documentation": "

    Deletes the specified permission set.

    " + "smithy.api#documentation": "

    Disables the attributes-based access control (ABAC) feature for the specified AWS SSO instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    " } }, - "com.amazonaws.ssoadmin#DeletePermissionSetRequest": { + "com.amazonaws.ssoadmin#DeleteInstanceAccessControlAttributeConfigurationRequest": { "type": "structure", "members": { "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The ARN of the SSO instance under which the operation will be executed.

    ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.ssoadmin#DeleteInstanceAccessControlAttributeConfigurationResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.ssoadmin#DeletePermissionSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.ssoadmin#DeletePermissionSetRequest" + }, + "output": { + "target": "com.amazonaws.ssoadmin#DeletePermissionSetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ssoadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.ssoadmin#ConflictException" + }, + { + "target": "com.amazonaws.ssoadmin#InternalServerException" + }, + { + "target": "com.amazonaws.ssoadmin#ResourceNotFoundException" }, + { + "target": "com.amazonaws.ssoadmin#ThrottlingException" + }, + { + "target": "com.amazonaws.ssoadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes the specified permission set.

    " + } + }, + "com.amazonaws.ssoadmin#DeletePermissionSetRequest": { + "type": "structure", + "members": { "PermissionSetArn": { "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { "smithy.api#documentation": "

    The ARN of the permission set that should be deleted.

    ", "smithy.api#required": {} } + }, + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", + "smithy.api#required": {} + } } } }, @@ -713,17 +897,17 @@ "com.amazonaws.ssoadmin#DescribeAccountAssignmentCreationStatusRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "AccountAssignmentCreationRequestId": { + "target": "com.amazonaws.ssoadmin#UUId", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The identifier that is used to track the request operation progress.

    ", "smithy.api#required": {} } }, - "AccountAssignmentCreationRequestId": { - "target": "com.amazonaws.ssoadmin#UUId", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The identifier that is used to track the request operation progress.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -772,17 +956,17 @@ "com.amazonaws.ssoadmin#DescribeAccountAssignmentDeletionStatusRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "AccountAssignmentDeletionRequestId": { + "target": "com.amazonaws.ssoadmin#UUId", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The identifier that is used to track the request operation progress.

    ", "smithy.api#required": {} } }, - "AccountAssignmentDeletionRequestId": { - "target": "com.amazonaws.ssoadmin#UUId", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The identifier that is used to track the request operation progress.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -799,6 +983,70 @@ } } }, + "com.amazonaws.ssoadmin#DescribeInstanceAccessControlAttributeConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.ssoadmin#DescribeInstanceAccessControlAttributeConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.ssoadmin#DescribeInstanceAccessControlAttributeConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ssoadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.ssoadmin#InternalServerException" + }, + { + "target": "com.amazonaws.ssoadmin#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.ssoadmin#ThrottlingException" + }, + { + "target": "com.amazonaws.ssoadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns the list of AWS SSO identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified AWS SSO instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    " + } + }, + "com.amazonaws.ssoadmin#DescribeInstanceAccessControlAttributeConfigurationRequest": { + "type": "structure", + "members": { + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.ssoadmin#DescribeInstanceAccessControlAttributeConfigurationResponse": { + "type": "structure", + "members": { + "StatusReason": { + "target": "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfigurationStatusReason", + "traits": { + "smithy.api#documentation": "

    Provides more details about the current status of the specified attribute.

    " + } + }, + "Status": { + "target": "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfigurationStatus", + "traits": { + "smithy.api#documentation": "

    The status of the attribute configuration process.

    " + } + }, + "InstanceAccessControlAttributeConfiguration": { + "target": "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfiguration", + "traits": { + "smithy.api#documentation": "

    Gets the list of AWS SSO identity store attributes added to your ABAC configuration.

    " + } + } + } + }, "com.amazonaws.ssoadmin#DescribePermissionSet": { "type": "operation", "input": { @@ -859,18 +1107,18 @@ }, "com.amazonaws.ssoadmin#DescribePermissionSetProvisioningStatusRequest": { "type": "structure", - "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "members": { + "ProvisionPermissionSetRequestId": { + "target": "com.amazonaws.ssoadmin#UUId", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The identifier that is provided by the ProvisionPermissionSet call to\n retrieve the current status of the provisioning workflow.

    ", "smithy.api#required": {} } }, - "ProvisionPermissionSetRequestId": { - "target": "com.amazonaws.ssoadmin#UUId", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The identifier that is provided by the ProvisionPermissionSet call to\n retrieve the current status of the provisioning workflow.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -890,17 +1138,17 @@ "com.amazonaws.ssoadmin#DescribePermissionSetRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "PermissionSetArn": { + "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The ARN of the permission set.

    ", "smithy.api#required": {} } }, - "PermissionSetArn": { - "target": "com.amazonaws.ssoadmin#PermissionSetArn", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The ARN of the permission set.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -952,13 +1200,6 @@ "com.amazonaws.ssoadmin#DetachManagedPolicyFromPermissionSetRequest": { "type": "structure", "members": { - "ManagedPolicyArn": { - "target": "com.amazonaws.ssoadmin#ManagedPolicyArn", - "traits": { - "smithy.api#documentation": "

    The IAM managed policy ARN to be attached to a permission set.

    ", - "smithy.api#required": {} - } - }, "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { @@ -972,6 +1213,13 @@ "smithy.api#documentation": "

    The ARN of the PermissionSet from which the policy should be detached.

    ", "smithy.api#required": {} } + }, + "ManagedPolicyArn": { + "target": "com.amazonaws.ssoadmin#ManagedPolicyArn", + "traits": { + "smithy.api#documentation": "

    The IAM managed policy ARN to be attached to a permission set.

    ", + "smithy.api#required": {} + } } } }, @@ -1031,17 +1279,17 @@ "com.amazonaws.ssoadmin#GetInlinePolicyForPermissionSetRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "PermissionSetArn": { + "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The ARN of the permission set.

    ", "smithy.api#required": {} } }, - "PermissionSetArn": { - "target": "com.amazonaws.ssoadmin#PermissionSetArn", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The ARN of the permission set.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -1068,6 +1316,43 @@ "smithy.api#pattern": "^[a-zA-Z0-9-]*" } }, + "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfiguration": { + "type": "structure", + "members": { + "AccessControlAttributes": { + "target": "com.amazonaws.ssoadmin#AccessControlAttributeList", + "traits": { + "smithy.api#documentation": "

    Lists the attributes that are configured for ABAC in the specified AWS SSO instance.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Specifies the attributes to add to your attribute-based access control (ABAC) configuration.

    " + } + }, + "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfigurationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "CREATION_IN_PROGRESS", + "name": "CREATION_IN_PROGRESS" + }, + { + "value": "CREATION_FAILED", + "name": "CREATION_FAILED" + } + ] + } + }, + "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfigurationStatusReason": { + "type": "string" + }, "com.amazonaws.ssoadmin#InstanceArn": { "type": "string", "traits": { @@ -1164,10 +1449,10 @@ "smithy.api#documentation": "

    The maximum number of results to display for the assignment.

    " } }, - "Filter": { - "target": "com.amazonaws.ssoadmin#OperationStatusFilter", + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", "traits": { - "smithy.api#documentation": "

    Filters results based on the passed attribute value.

    " + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } }, "InstanceArn": { @@ -1177,10 +1462,10 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", + "Filter": { + "target": "com.amazonaws.ssoadmin#OperationStatusFilter", "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + "smithy.api#documentation": "

    Filters results based on the passed attribute value.

    " } } } @@ -1240,29 +1525,29 @@ "com.amazonaws.ssoadmin#ListAccountAssignmentDeletionStatusRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, "Filter": { "target": "com.amazonaws.ssoadmin#OperationStatusFilter", "traits": { "smithy.api#documentation": "

    Filters results based on the passed attribute value.

    " } }, + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", + "smithy.api#required": {} + } + }, "MaxResults": { "target": "com.amazonaws.ssoadmin#MaxResults", "traits": { "smithy.api#documentation": "

    The maximum number of results to display for the assignment.

    " } }, - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } } } @@ -1270,17 +1555,17 @@ "com.amazonaws.ssoadmin#ListAccountAssignmentDeletionStatusResponse": { "type": "structure", "members": { - "AccountAssignmentsDeletionStatus": { - "target": "com.amazonaws.ssoadmin#AccountAssignmentOperationStatusList", - "traits": { - "smithy.api#documentation": "

    The status object for the account assignment deletion operation.

    " - } - }, "NextToken": { "target": "com.amazonaws.ssoadmin#Token", "traits": { "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } + }, + "AccountAssignmentsDeletionStatus": { + "target": "com.amazonaws.ssoadmin#AccountAssignmentOperationStatusList", + "traits": { + "smithy.api#documentation": "

    The status object for the account assignment deletion operation.

    " + } } } }, @@ -1322,17 +1607,23 @@ "com.amazonaws.ssoadmin#ListAccountAssignmentsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", + "smithy.api#required": {} } }, - "PermissionSetArn": { - "target": "com.amazonaws.ssoadmin#PermissionSetArn", + "MaxResults": { + "target": "com.amazonaws.ssoadmin#MaxResults", "traits": { - "smithy.api#documentation": "

    The ARN of the permission set from which to list assignments.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The maximum number of results to display for the assignment.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } }, "AccountId": { @@ -1342,16 +1633,10 @@ "smithy.api#required": {} } }, - "MaxResults": { - "target": "com.amazonaws.ssoadmin#MaxResults", - "traits": { - "smithy.api#documentation": "

    The maximum number of results to display for the assignment.

    " - } - }, - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "PermissionSetArn": { + "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The ARN of the permission set from which to list assignments.

    ", "smithy.api#required": {} } } @@ -1360,17 +1645,17 @@ "com.amazonaws.ssoadmin#ListAccountAssignmentsResponse": { "type": "structure", "members": { - "AccountAssignments": { - "target": "com.amazonaws.ssoadmin#AccountAssignmentList", - "traits": { - "smithy.api#documentation": "

    The list of assignments that match the input AWS account and permission set.

    " - } - }, "NextToken": { "target": "com.amazonaws.ssoadmin#Token", "traits": { "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } + }, + "AccountAssignments": { + "target": "com.amazonaws.ssoadmin#AccountAssignmentList", + "traits": { + "smithy.api#documentation": "

    The list of assignments that match the input AWS account and permission set.

    " + } } } }, @@ -1425,10 +1710,10 @@ "smithy.api#required": {} } }, - "ProvisioningStatus": { - "target": "com.amazonaws.ssoadmin#ProvisioningStatus", + "MaxResults": { + "target": "com.amazonaws.ssoadmin#MaxResults", "traits": { - "smithy.api#documentation": "

    The permission set provisioning status for an AWS account.

    " + "smithy.api#documentation": "

    The maximum number of results to display for the PermissionSet.

    " } }, "InstanceArn": { @@ -1438,10 +1723,10 @@ "smithy.api#required": {} } }, - "MaxResults": { - "target": "com.amazonaws.ssoadmin#MaxResults", + "ProvisioningStatus": { + "target": "com.amazonaws.ssoadmin#ProvisioningStatus", "traits": { - "smithy.api#documentation": "

    The maximum number of results to display for the PermissionSet.

    " + "smithy.api#documentation": "

    The permission set provisioning status for an AWS account.

    " } } } @@ -1449,17 +1734,17 @@ "com.amazonaws.ssoadmin#ListAccountsForProvisionedPermissionSetResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, "AccountIds": { "target": "com.amazonaws.ssoadmin#AccountList", "traits": { "smithy.api#documentation": "

    The list of AWS AccountIds.

    " } + }, + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } } } }, @@ -1515,17 +1800,17 @@ "com.amazonaws.ssoadmin#ListInstancesResponse": { "type": "structure", "members": { - "Instances": { - "target": "com.amazonaws.ssoadmin#InstanceList", - "traits": { - "smithy.api#documentation": "

    Lists the SSO instances that the caller has access to.

    " - } - }, "NextToken": { "target": "com.amazonaws.ssoadmin#Token", "traits": { "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } + }, + "Instances": { + "target": "com.amazonaws.ssoadmin#InstanceList", + "traits": { + "smithy.api#documentation": "

    Lists the SSO instances that the caller has access to.

    " + } } } }, @@ -1574,11 +1859,10 @@ "smithy.api#required": {} } }, - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } }, "MaxResults": { @@ -1587,10 +1871,11 @@ "smithy.api#documentation": "

    The maximum number of results to display for the PermissionSet.

    " } }, - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", + "smithy.api#required": {} } } } @@ -1598,17 +1883,17 @@ "com.amazonaws.ssoadmin#ListManagedPoliciesInPermissionSetResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, "AttachedManagedPolicies": { "target": "com.amazonaws.ssoadmin#AttachedManagedPolicyList", "traits": { "smithy.api#documentation": "

    The array of the AttachedManagedPolicy data type object.

    " } + }, + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } } } }, @@ -1650,6 +1935,12 @@ "com.amazonaws.ssoadmin#ListPermissionSetProvisioningStatusRequest": { "type": "structure", "members": { + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } + }, "MaxResults": { "target": "com.amazonaws.ssoadmin#MaxResults", "traits": { @@ -1668,29 +1959,23 @@ "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } - }, - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } } } }, "com.amazonaws.ssoadmin#ListPermissionSetProvisioningStatusResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, "PermissionSetsProvisioningStatus": { "target": "com.amazonaws.ssoadmin#PermissionSetProvisioningStatusList", "traits": { "smithy.api#documentation": "

    The status object for the permission set provisioning operation.

    " } + }, + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } } } }, @@ -1764,15 +2049,9 @@ } } }, - "com.amazonaws.ssoadmin#ListPermissionSetsProvisionedToAccountRequest": { - "type": "structure", - "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, + "com.amazonaws.ssoadmin#ListPermissionSetsProvisionedToAccountRequest": { + "type": "structure", + "members": { "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { @@ -1786,41 +2065,53 @@ "smithy.api#documentation": "

    The maximum number of results to display for the assignment.

    " } }, + "ProvisioningStatus": { + "target": "com.amazonaws.ssoadmin#ProvisioningStatus", + "traits": { + "smithy.api#documentation": "

    The status object for the permission set provisioning operation.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } + }, "AccountId": { "target": "com.amazonaws.ssoadmin#AccountId", "traits": { "smithy.api#documentation": "

    The identifier of the AWS account from which to list the assignments.

    ", "smithy.api#required": {} } - }, - "ProvisioningStatus": { - "target": "com.amazonaws.ssoadmin#ProvisioningStatus", - "traits": { - "smithy.api#documentation": "

    The status object for the permission set provisioning operation.

    " - } } } }, "com.amazonaws.ssoadmin#ListPermissionSetsProvisionedToAccountResponse": { "type": "structure", "members": { - "PermissionSets": { - "target": "com.amazonaws.ssoadmin#PermissionSetList", - "traits": { - "smithy.api#documentation": "

    Defines the level of access that an AWS account has.

    " - } - }, "NextToken": { "target": "com.amazonaws.ssoadmin#Token", "traits": { "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } + }, + "PermissionSets": { + "target": "com.amazonaws.ssoadmin#PermissionSetList", + "traits": { + "smithy.api#documentation": "

    Defines the level of access that an AWS account has.

    " + } } } }, "com.amazonaws.ssoadmin#ListPermissionSetsRequest": { "type": "structure", "members": { + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } + }, "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { @@ -1828,12 +2119,6 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, "MaxResults": { "target": "com.amazonaws.ssoadmin#MaxResults", "traits": { @@ -1896,6 +2181,13 @@ "com.amazonaws.ssoadmin#ListTagsForResourceRequest": { "type": "structure", "members": { + "ResourceArn": { + "target": "com.amazonaws.ssoadmin#GeneralArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the resource with the tags to be listed.

    ", + "smithy.api#required": {} + } + }, "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { @@ -1908,30 +2200,23 @@ "traits": { "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " } - }, - "ResourceArn": { - "target": "com.amazonaws.ssoadmin#GeneralArn", - "traits": { - "smithy.api#documentation": "

    The ARN of the resource with the tags to be listed.

    ", - "smithy.api#required": {} - } } } }, "com.amazonaws.ssoadmin#ListTagsForResourceResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ssoadmin#Token", - "traits": { - "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " - } - }, "Tags": { "target": "com.amazonaws.ssoadmin#TagList", "traits": { "smithy.api#documentation": "

    A set of key-value pairs that are used to manage the resource.

    " } + }, + "NextToken": { + "target": "com.amazonaws.ssoadmin#Token", + "traits": { + "smithy.api#documentation": "

    The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

    " + } } } }, @@ -1980,34 +2265,34 @@ "com.amazonaws.ssoadmin#PermissionSet": { "type": "structure", "members": { - "CreatedDate": { - "target": "com.amazonaws.ssoadmin#Date", - "traits": { - "smithy.api#documentation": "

    The date that the permission set was created.

    " - } - }, "PermissionSetArn": { "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { "smithy.api#documentation": "

    The ARN of the permission set. For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " } }, + "Description": { + "target": "com.amazonaws.ssoadmin#PermissionSetDescription", + "traits": { + "smithy.api#documentation": "

    The description of the PermissionSet.

    " + } + }, "Name": { "target": "com.amazonaws.ssoadmin#PermissionSetName", "traits": { "smithy.api#documentation": "

    The name of the permission set.

    " } }, - "SessionDuration": { - "target": "com.amazonaws.ssoadmin#Duration", + "CreatedDate": { + "target": "com.amazonaws.ssoadmin#Date", "traits": { - "smithy.api#documentation": "

    The length of time that the application user sessions are valid for in the ISO-8601\n standard.

    " + "smithy.api#documentation": "

    The date that the permission set was created.

    " } }, - "Description": { - "target": "com.amazonaws.ssoadmin#PermissionSetDescription", + "SessionDuration": { + "target": "com.amazonaws.ssoadmin#Duration", "traits": { - "smithy.api#documentation": "

    The description of the PermissionSet.

    " + "smithy.api#documentation": "

    The length of time that the application user sessions are valid for in the ISO-8601\n standard.

    " } }, "RelayState": { @@ -2071,16 +2356,10 @@ "com.amazonaws.ssoadmin#PermissionSetProvisioningStatus": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.ssoadmin#StatusValues", - "traits": { - "smithy.api#documentation": "

    The status of the permission set provisioning process.

    " - } - }, - "AccountId": { - "target": "com.amazonaws.ssoadmin#AccountId", + "FailureReason": { + "target": "com.amazonaws.ssoadmin#Reason", "traits": { - "smithy.api#documentation": "

    The identifier of the AWS account from which to list the assignments.

    " + "smithy.api#documentation": "

    The message that contains an error or exception in case of an operation failure.

    " } }, "CreatedDate": { @@ -2089,10 +2368,10 @@ "smithy.api#documentation": "

    The date that the permission set was created.

    " } }, - "PermissionSetArn": { - "target": "com.amazonaws.ssoadmin#PermissionSetArn", + "Status": { + "target": "com.amazonaws.ssoadmin#StatusValues", "traits": { - "smithy.api#documentation": "

    The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " + "smithy.api#documentation": "

    The status of the permission set provisioning process.

    " } }, "RequestId": { @@ -2101,10 +2380,16 @@ "smithy.api#documentation": "

    The identifier for tracking the request operation that is generated by the universally\n unique identifier (UUID) workflow.

    " } }, - "FailureReason": { - "target": "com.amazonaws.ssoadmin#Reason", + "AccountId": { + "target": "com.amazonaws.ssoadmin#AccountId", "traits": { - "smithy.api#documentation": "

    The message that contains an error or exception in case of an operation failure.

    " + "smithy.api#documentation": "

    The identifier of the AWS account from which to list the assignments.

    " + } + }, + "PermissionSetArn": { + "target": "com.amazonaws.ssoadmin#PermissionSetArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " } } }, @@ -2121,18 +2406,18 @@ "com.amazonaws.ssoadmin#PermissionSetProvisioningStatusMetadata": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.ssoadmin#UUId", - "traits": { - "smithy.api#documentation": "

    The identifier for tracking the request operation that is generated by the universally\n unique identifier (UUID) workflow.

    " - } - }, "Status": { "target": "com.amazonaws.ssoadmin#StatusValues", "traits": { "smithy.api#documentation": "

    The status of the permission set provisioning process.

    " } }, + "RequestId": { + "target": "com.amazonaws.ssoadmin#UUId", + "traits": { + "smithy.api#documentation": "

    The identifier for tracking the request operation that is generated by the universally\n unique identifier (UUID) workflow.

    " + } + }, "CreatedDate": { "target": "com.amazonaws.ssoadmin#Date", "traits": { @@ -2204,10 +2489,16 @@ "com.amazonaws.ssoadmin#ProvisionPermissionSetRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "TargetId": { + "target": "com.amazonaws.ssoadmin#TargetId", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    " + } + }, + "TargetType": { + "target": "com.amazonaws.ssoadmin#ProvisionTargetType", + "traits": { + "smithy.api#documentation": "

    The entity type for which the assignment will be created.

    ", "smithy.api#required": {} } }, @@ -2218,18 +2509,12 @@ "smithy.api#required": {} } }, - "TargetType": { - "target": "com.amazonaws.ssoadmin#ProvisionTargetType", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The entity type for which the assignment will be created.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } - }, - "TargetId": { - "target": "com.amazonaws.ssoadmin#TargetId", - "traits": { - "smithy.api#documentation": "

    TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

    " - } } } }, @@ -2312,10 +2597,10 @@ "com.amazonaws.ssoadmin#PutInlinePolicyToPermissionSetRequest": { "type": "structure", "members": { - "InstanceArn": { - "target": "com.amazonaws.ssoadmin#InstanceArn", + "PermissionSetArn": { + "target": "com.amazonaws.ssoadmin#PermissionSetArn", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The ARN of the permission set.

    ", "smithy.api#required": {} } }, @@ -2326,10 +2611,10 @@ "smithy.api#required": {} } }, - "PermissionSetArn": { - "target": "com.amazonaws.ssoadmin#PermissionSetArn", + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The ARN of the permission set.

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

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", "smithy.api#required": {} } } @@ -2381,6 +2666,9 @@ { "target": "com.amazonaws.ssoadmin#CreateAccountAssignment" }, + { + "target": "com.amazonaws.ssoadmin#CreateInstanceAccessControlAttributeConfiguration" + }, { "target": "com.amazonaws.ssoadmin#CreatePermissionSet" }, @@ -2390,6 +2678,9 @@ { "target": "com.amazonaws.ssoadmin#DeleteInlinePolicyFromPermissionSet" }, + { + "target": "com.amazonaws.ssoadmin#DeleteInstanceAccessControlAttributeConfiguration" + }, { "target": "com.amazonaws.ssoadmin#DeletePermissionSet" }, @@ -2399,6 +2690,9 @@ { "target": "com.amazonaws.ssoadmin#DescribeAccountAssignmentDeletionStatus" }, + { + "target": "com.amazonaws.ssoadmin#DescribeInstanceAccessControlAttributeConfiguration" + }, { "target": "com.amazonaws.ssoadmin#DescribePermissionSet" }, @@ -2453,6 +2747,9 @@ { "target": "com.amazonaws.ssoadmin#UntagResource" }, + { + "target": "com.amazonaws.ssoadmin#UpdateInstanceAccessControlAttributeConfiguration" + }, { "target": "com.amazonaws.ssoadmin#UpdatePermissionSet" } @@ -2462,7 +2759,7 @@ "sdkId": "SSO Admin", "arnNamespace": "sso", "cloudFormationName": "SSOAdmin", - "cloudTrailEventSource": "service.sso.amazon.com" + "cloudTrailEventSource": "ssoadmin.amazonaws.com" }, "aws.auth#sigv4": { "name": "sso" @@ -2598,6 +2895,13 @@ "com.amazonaws.ssoadmin#TagResourceRequest": { "type": "structure", "members": { + "Tags": { + "target": "com.amazonaws.ssoadmin#TagList", + "traits": { + "smithy.api#documentation": "

    A set of key-value pairs that are used to manage the resource.

    ", + "smithy.api#required": {} + } + }, "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { @@ -2611,13 +2915,6 @@ "smithy.api#documentation": "

    The ARN of the resource with the tags to be listed.

    ", "smithy.api#required": {} } - }, - "Tags": { - "target": "com.amazonaws.ssoadmin#TagList", - "traits": { - "smithy.api#documentation": "

    A set of key-value pairs that are used to manage the resource.

    ", - "smithy.api#required": {} - } } } }, @@ -2719,6 +3016,13 @@ "com.amazonaws.ssoadmin#UntagResourceRequest": { "type": "structure", "members": { + "InstanceArn": { + "target": "com.amazonaws.ssoadmin#InstanceArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

    ", + "smithy.api#required": {} + } + }, "ResourceArn": { "target": "com.amazonaws.ssoadmin#GeneralArn", "traits": { @@ -2732,17 +3036,65 @@ "smithy.api#documentation": "

    The keys of tags that are attached to the resource.

    ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.ssoadmin#UntagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.ssoadmin#UpdateInstanceAccessControlAttributeConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.ssoadmin#UpdateInstanceAccessControlAttributeConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.ssoadmin#UpdateInstanceAccessControlAttributeConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ssoadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.ssoadmin#ConflictException" + }, + { + "target": "com.amazonaws.ssoadmin#InternalServerException" + }, + { + "target": "com.amazonaws.ssoadmin#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.ssoadmin#ThrottlingException" + }, + { + "target": "com.amazonaws.ssoadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates the AWS SSO identity store attributes to use with the AWS SSO instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

    " + } + }, + "com.amazonaws.ssoadmin#UpdateInstanceAccessControlAttributeConfigurationRequest": { + "type": "structure", + "members": { + "InstanceAccessControlAttributeConfiguration": { + "target": "com.amazonaws.ssoadmin#InstanceAccessControlAttributeConfiguration", + "traits": { + "smithy.api#documentation": "

    Updates the attributes for your ABAC configuration.

    ", + "smithy.api#required": {} + } }, "InstanceArn": { "target": "com.amazonaws.ssoadmin#InstanceArn", "traits": { - "smithy.api#documentation": "

    The ARN of the SSO instance under which the operation will be executed.\n For more information about ARNs, see Amazon Resource\nNames (ARNs) and AWS Service Namespaces in the AWS General Reference.

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

    The ARN of the SSO instance under which the operation will be executed.

    ", "smithy.api#required": {} } } } }, - "com.amazonaws.ssoadmin#UntagResourceResponse": { + "com.amazonaws.ssoadmin#UpdateInstanceAccessControlAttributeConfigurationResponse": { "type": "structure", "members": {} }, @@ -2781,10 +3133,10 @@ "com.amazonaws.ssoadmin#UpdatePermissionSetRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ssoadmin#PermissionSetDescription", + "SessionDuration": { + "target": "com.amazonaws.ssoadmin#Duration", "traits": { - "smithy.api#documentation": "

    The description of the PermissionSet.

    " + "smithy.api#documentation": "

    The length of time that the application user sessions are valid for in the ISO-8601\n standard.

    " } }, "PermissionSetArn": { @@ -2807,10 +3159,10 @@ "smithy.api#documentation": "

    Used to redirect users within the application during the federation authentication\n process.

    " } }, - "SessionDuration": { - "target": "com.amazonaws.ssoadmin#Duration", + "Description": { + "target": "com.amazonaws.ssoadmin#PermissionSetDescription", "traits": { - "smithy.api#documentation": "

    The length of time that the application user sessions are valid for in the ISO-8601\n standard.

    " + "smithy.api#documentation": "

    The description of the PermissionSet.

    " } } } diff --git a/codegen/sdk-codegen/aws-models/timestream-query.2018-11-01.json b/codegen/sdk-codegen/aws-models/timestream-query.2018-11-01.json index 186c1f618bce2..12efa3b8dd3ac 100644 --- a/codegen/sdk-codegen/aws-models/timestream-query.2018-11-01.json +++ b/codegen/sdk-codegen/aws-models/timestream-query.2018-11-01.json @@ -151,16 +151,22 @@ "com.amazonaws.timestreamquery#Datum": { "type": "structure", "members": { + "ScalarValue": { + "target": "com.amazonaws.timestreamquery#ScalarValue", + "traits": { + "smithy.api#documentation": "

    \n Indicates if the data point is a scalar value such as integer, string, double, or boolean.\n

    " + } + }, "TimeSeriesValue": { "target": "com.amazonaws.timestreamquery#TimeSeriesDataPointList", "traits": { "smithy.api#documentation": "

    \n Indicates if the data point is of timeseries data type.\n

    " } }, - "NullValue": { - "target": "com.amazonaws.timestreamquery#NullableBoolean", + "ArrayValue": { + "target": "com.amazonaws.timestreamquery#DatumList", "traits": { - "smithy.api#documentation": "

    \n Indicates if the data point is null.\n

    " + "smithy.api#documentation": "

    \n Indicates if the data point is an array.\n

    " } }, "RowValue": { @@ -169,16 +175,10 @@ "smithy.api#documentation": "

    \n Indicates if the data point is a row.\n

    " } }, - "ScalarValue": { - "target": "com.amazonaws.timestreamquery#ScalarValue", - "traits": { - "smithy.api#documentation": "

    \n Indicates if the data point is a scalar value such as integer, string, double, or boolean.\n

    " - } - }, - "ArrayValue": { - "target": "com.amazonaws.timestreamquery#DatumList", + "NullValue": { + "target": "com.amazonaws.timestreamquery#NullableBoolean", "traits": { - "smithy.api#documentation": "

    \n Indicates if the data point is an array.\n

    " + "smithy.api#documentation": "

    \n Indicates if the data point is null.\n

    " } } }, @@ -231,6 +231,9 @@ } } }, + "com.amazonaws.timestreamquery#Double": { + "type": "double" + }, "com.amazonaws.timestreamquery#Endpoint": { "type": "structure", "members": { @@ -385,6 +388,13 @@ "smithy.api#required": {} } }, + "ClientToken": { + "target": "com.amazonaws.timestreamquery#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

    \n Unique, case-sensitive string of up to 64 ASCII characters that you specify when you make a Query request.\n Providing a ClientToken makes the call to Query idempotent, meaning that multiple identical calls \n have the same effect as one single call.\n

    \n\n

    Your query request will fail in the following cases:

    \n
      \n
    • \n

      \n If you submit a request with the same client token outside the 5-minute idepotency window.\n

      \n
    • \n
    • \n

      \n If you submit a request with the same client token but a change in other parameters within the 5-minute idempotency window. \n

      \n
    • \n
    \n\n

    \n After 4 hours, any request with the same client token is treated as a new request.\n

    ", + "smithy.api#idempotencyToken": {} + } + }, "NextToken": { "target": "com.amazonaws.timestreamquery#String", "traits": { @@ -396,13 +406,6 @@ "traits": { "smithy.api#documentation": "

    \n The total number of rows to return in the output. If the total number of rows available\n is more than the value specified, a NextToken is provided in the command's output.\n To resume pagination, provide the NextToken value in the starting-token argument of a \n subsequent command.\n

    " } - }, - "ClientToken": { - "target": "com.amazonaws.timestreamquery#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

    \n Unique, case-sensitive string of up to 64 ASCII characters that you specify when you make a Query request.\n Providing a ClientToken makes the call to Query idempotent, meaning that multiple identical calls \n have the same effect as one single call.\n

    \n\n

    Your query request will fail in the following cases:

    \n
      \n
    • \n

      \n If you submit a request with the same client token outside the 5-minute idepotency window.\n

      \n
    • \n
    • \n

      \n If you submit a request with the same client token but a change in other parameters within the 5-minute idempotency window. \n

      \n
    • \n
    \n\n

    \n After 4 hours, any request with the same client token is treated as a new request.\n

    ", - "smithy.api#idempotencyToken": {} - } } } }, @@ -416,6 +419,12 @@ "smithy.api#required": {} } }, + "NextToken": { + "target": "com.amazonaws.timestreamquery#String", + "traits": { + "smithy.api#documentation": "

    \n A pagination token that can be used again on a Query call to get the next set of results. \n

    " + } + }, "Rows": { "target": "com.amazonaws.timestreamquery#RowList", "traits": { @@ -430,12 +439,38 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.timestreamquery#String", + "QueryStatus": { + "target": "com.amazonaws.timestreamquery#QueryStatus", "traits": { - "smithy.api#documentation": "

    \n A pagination token that can be used again on a Query call to get the next set of results. \n

    " + "smithy.api#documentation": "

    Information about the status of the query, including progress and bytes scannned.

    " + } + } + } + }, + "com.amazonaws.timestreamquery#QueryStatus": { + "type": "structure", + "members": { + "ProgressPercentage": { + "target": "com.amazonaws.timestreamquery#Double", + "traits": { + "smithy.api#documentation": "

    The progress of the query, expressed as a percentage.

    " + } + }, + "CumulativeBytesScanned": { + "target": "com.amazonaws.timestreamquery#Long", + "traits": { + "smithy.api#documentation": "

    The amount of data scanned by the query in bytes. \n This is a cumulative sum and represents the total amount of bytes scanned since the query was started.\n

    " + } + }, + "CumulativeBytesMetered": { + "target": "com.amazonaws.timestreamquery#Long", + "traits": { + "smithy.api#documentation": "

    The amount of data scanned by the query in bytes that you will be charged for. \n This is a cumulative sum and represents the total amount of data that you will be charged \n for since the query was started. \n The charge is applied only once and is either applied when \n the query completes execution or when the query is cancelled.\n

    " } } + }, + "traits": { + "smithy.api#documentation": "

    Information about the status of the query, including progress and bytes scannned.

    " } }, "com.amazonaws.timestreamquery#QueryString": { @@ -592,7 +627,7 @@ "sdkId": "Timestream Query", "arnNamespace": "timestream", "cloudFormationName": "TimestreamQuery", - "cloudTrailEventSource": "query.v20181101.timestream.amazonaws.com" + "cloudTrailEventSource": "timestreamquery.amazonaws.com" }, "aws.auth#sigv4": { "name": "timestream" @@ -605,28 +640,28 @@ "com.amazonaws.timestreamquery#Type": { "type": "structure", "members": { - "RowColumnInfo": { - "target": "com.amazonaws.timestreamquery#ColumnInfoList", + "ScalarType": { + "target": "com.amazonaws.timestreamquery#ScalarType", "traits": { - "smithy.api#documentation": "

    Indicates if the column is a row.

    " + "smithy.api#documentation": "

    Indicates if the column is of type string, integer, boolean, double, timestamp, date, time.

    " } }, - "TimeSeriesMeasureValueColumnInfo": { + "ArrayColumnInfo": { "target": "com.amazonaws.timestreamquery#ColumnInfo", "traits": { - "smithy.api#documentation": "

    Indicates if the column is a timeseries data type.

    " + "smithy.api#documentation": "

    Indicates if the column is an array.

    " } }, - "ScalarType": { - "target": "com.amazonaws.timestreamquery#ScalarType", + "TimeSeriesMeasureValueColumnInfo": { + "target": "com.amazonaws.timestreamquery#ColumnInfo", "traits": { - "smithy.api#documentation": "

    Indicates if the column is of type string, integer, boolean, double, timestamp, date, time.

    " + "smithy.api#documentation": "

    Indicates if the column is a timeseries data type.

    " } }, - "ArrayColumnInfo": { - "target": "com.amazonaws.timestreamquery#ColumnInfo", + "RowColumnInfo": { + "target": "com.amazonaws.timestreamquery#ColumnInfoList", "traits": { - "smithy.api#documentation": "

    Indicates if the column is an array.

    " + "smithy.api#documentation": "

    Indicates if the column is a row.

    " } } }, diff --git a/codegen/sdk-codegen/aws-models/timestream-write.2018-11-01.json b/codegen/sdk-codegen/aws-models/timestream-write.2018-11-01.json index be1c55f4db2df..c06f56883162e 100644 --- a/codegen/sdk-codegen/aws-models/timestream-write.2018-11-01.json +++ b/codegen/sdk-codegen/aws-models/timestream-write.2018-11-01.json @@ -111,10 +111,11 @@ "com.amazonaws.timestreamwrite#CreateDatabaseRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.timestreamwrite#TagList", + "DatabaseName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    \n A list of key-value pairs to label the table. \n

    " + "smithy.api#documentation": "

    The name of the Timestream database.

    ", + "smithy.api#required": {} } }, "KmsKeyId": { @@ -123,11 +124,10 @@ "smithy.api#documentation": "

    The KMS key for the database. If the KMS key is not specified, the database will be encrypted with a Timestream\n managed KMS key located in your account. Refer to AWS managed KMS keys for more info.

    " } }, - "DatabaseName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", + "Tags": { + "target": "com.amazonaws.timestreamwrite#TagList", "traits": { - "smithy.api#documentation": "

    The name of the Timestream database.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n A list of key-value pairs to label the table. \n

    " } } } @@ -187,16 +187,11 @@ "com.amazonaws.timestreamwrite#CreateTableRequest": { "type": "structure", "members": { - "RetentionProperties": { - "target": "com.amazonaws.timestreamwrite#RetentionProperties", - "traits": { - "smithy.api#documentation": "

    The duration for which your time series data must be stored in the memory store and the magnetic store.

    " - } - }, - "Tags": { - "target": "com.amazonaws.timestreamwrite#TagList", + "DatabaseName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    \n A list of key-value pairs to label the table. \n

    " + "smithy.api#documentation": "

    The name of the Timestream database.

    ", + "smithy.api#required": {} } }, "TableName": { @@ -206,11 +201,16 @@ "smithy.api#required": {} } }, - "DatabaseName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", + "RetentionProperties": { + "target": "com.amazonaws.timestreamwrite#RetentionProperties", "traits": { - "smithy.api#documentation": "

    The name of the Timestream database.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The duration for which your time series data must be stored in the memory store and the magnetic store.

    " + } + }, + "Tags": { + "target": "com.amazonaws.timestreamwrite#TagList", + "traits": { + "smithy.api#documentation": "

    \n A list of key-value pairs to label the table. \n

    " } } } @@ -229,6 +229,12 @@ "com.amazonaws.timestreamwrite#Database": { "type": "structure", "members": { + "Arn": { + "target": "com.amazonaws.timestreamwrite#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name that uniquely identifies this database.

    " + } + }, "DatabaseName": { "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { @@ -241,22 +247,16 @@ "smithy.api#documentation": "

    The total number of tables found within a Timestream database.

    " } }, - "CreationTime": { - "target": "com.amazonaws.timestreamwrite#Date", - "traits": { - "smithy.api#documentation": "

    The time when the database was created, calculated from the Unix epoch time.

    " - } - }, "KmsKeyId": { "target": "com.amazonaws.timestreamwrite#StringValue2048", "traits": { "smithy.api#documentation": "

    The identifier of the KMS key used to encrypt the data stored in the database.

    " } }, - "Arn": { - "target": "com.amazonaws.timestreamwrite#String", + "CreationTime": { + "target": "com.amazonaws.timestreamwrite#Date", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name that uniquely identifies this database.

    " + "smithy.api#documentation": "

    The time when the database was created, calculated from the Unix epoch time.

    " } }, "LastUpdatedTime": { @@ -308,7 +308,7 @@ "aws.api#clientDiscoveredEndpoint": { "required": true }, - "smithy.api#documentation": "

    Deletes a given Timestream database. This is an irreversible operation.\n After a database is deleted, the time series data from its tables cannot be recovered.\n

    \n \n

    All tables in the database must be deleted first, or a ValidationException error will be thrown.\n

    " + "smithy.api#documentation": "

    Deletes a given Timestream database. This is an irreversible operation.\n After a database is deleted, the time series data from its tables cannot be recovered.\n

    \n \n

    All tables in the database must be deleted first, or a ValidationException error will be thrown.\n

    \n \n

    Due to the nature of distributed retries, \n the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

    " } }, "com.amazonaws.timestreamwrite#DeleteDatabaseRequest": { @@ -352,23 +352,23 @@ "aws.api#clientDiscoveredEndpoint": { "required": true }, - "smithy.api#documentation": "

    Deletes a given Timestream table. This is an irreversible operation.\n After a Timestream database table is deleted, the time series data stored in \n the table cannot be recovered.\n

    " + "smithy.api#documentation": "

    Deletes a given Timestream table. This is an irreversible operation.\n After a Timestream database table is deleted, the time series data stored in \n the table cannot be recovered.\n

    \n

    Due to the nature of distributed retries, \n the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

    " } }, "com.amazonaws.timestreamwrite#DeleteTableRequest": { "type": "structure", "members": { - "TableName": { + "DatabaseName": { "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    The name of the Timestream table to be deleted.

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

    The name of the database where the Timestream database is to be deleted.

    ", "smithy.api#required": {} } }, - "DatabaseName": { + "TableName": { "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    The name of the database where the Timestream database is to be deleted.

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

    The name of the Timestream table to be deleted.

    ", "smithy.api#required": {} } } @@ -539,17 +539,17 @@ "com.amazonaws.timestreamwrite#Dimension": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.timestreamwrite#StringValue2048", + "Name": { + "target": "com.amazonaws.timestreamwrite#StringValue256", "traits": { - "smithy.api#documentation": "

    The value of the dimension.

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

    \n Dimension represents the meta data attributes of the time series. \n For example, the name and availability zone of an EC2 instance or \n the name of the manufacturer of a wind turbine are dimensions.\n \n

    \n

    For constraints on Dimension names, \n see Naming Constraints.

    ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.timestreamwrite#StringValue256", + "Value": { + "target": "com.amazonaws.timestreamwrite#StringValue2048", "traits": { - "smithy.api#documentation": "

    \n Dimension represents the meta data attributes of the time series. \n For example, the name and availability zone of an EC2 instance or \n the name of the manufacturer of a wind turbine are dimensions.\n Dimension names can only contain alphanumeric characters and underscores. Dimension names cannot end with an underscore.\n

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

    The value of the dimension.

    ", "smithy.api#required": {} } }, @@ -590,17 +590,17 @@ "com.amazonaws.timestreamwrite#Endpoint": { "type": "structure", "members": { - "CachePeriodInMinutes": { - "target": "com.amazonaws.timestreamwrite#Long", + "Address": { + "target": "com.amazonaws.timestreamwrite#String", "traits": { - "smithy.api#documentation": "

    The TTL for the endpoint, in minutes.

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

    An endpoint address.

    ", "smithy.api#required": {} } }, - "Address": { - "target": "com.amazonaws.timestreamwrite#String", + "CachePeriodInMinutes": { + "target": "com.amazonaws.timestreamwrite#Long", "traits": { - "smithy.api#documentation": "

    An endpoint address.

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

    The TTL for the endpoint, in minutes.

    ", "smithy.api#required": {} } } @@ -704,17 +704,17 @@ "com.amazonaws.timestreamwrite#ListDatabasesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.timestreamwrite#String", - "traits": { - "smithy.api#documentation": "

    The pagination token. This parameter is returned when the response is truncated.

    " - } - }, "Databases": { "target": "com.amazonaws.timestreamwrite#DatabaseList", "traits": { "smithy.api#documentation": "

    A list of database names.

    " } + }, + "NextToken": { + "target": "com.amazonaws.timestreamwrite#String", + "traits": { + "smithy.api#documentation": "

    The pagination token. This parameter is returned when the response is truncated.

    " + } } } }, @@ -767,17 +767,17 @@ "smithy.api#documentation": "

    The name of the Timestream database.

    " } }, - "MaxResults": { - "target": "com.amazonaws.timestreamwrite#PaginationLimit", - "traits": { - "smithy.api#documentation": "

    The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    " - } - }, "NextToken": { "target": "com.amazonaws.timestreamwrite#String", "traits": { "smithy.api#documentation": "

    The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    " } + }, + "MaxResults": { + "target": "com.amazonaws.timestreamwrite#PaginationLimit", + "traits": { + "smithy.api#documentation": "

    The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

    " + } } } }, @@ -813,6 +813,9 @@ { "target": "com.amazonaws.timestreamwrite#ResourceNotFoundException" }, + { + "target": "com.amazonaws.timestreamwrite#ThrottlingException" + }, { "target": "com.amazonaws.timestreamwrite#ValidationException" } @@ -904,10 +907,22 @@ "com.amazonaws.timestreamwrite#Record": { "type": "structure", "members": { - "TimeUnit": { - "target": "com.amazonaws.timestreamwrite#TimeUnit", + "Dimensions": { + "target": "com.amazonaws.timestreamwrite#Dimensions", "traits": { - "smithy.api#documentation": "

    \nThe granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values.\n

    " + "smithy.api#documentation": "

    Contains the list of dimensions for time series data points.

    " + } + }, + "MeasureName": { + "target": "com.amazonaws.timestreamwrite#StringValue256", + "traits": { + "smithy.api#documentation": "

    Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

    " + } + }, + "MeasureValue": { + "target": "com.amazonaws.timestreamwrite#StringValue2048", + "traits": { + "smithy.api#documentation": "

    \nContains the measure value for the time series data point. \n

    " } }, "MeasureValueType": { @@ -919,25 +934,20 @@ "Time": { "target": "com.amazonaws.timestreamwrite#StringValue256", "traits": { - "smithy.api#documentation": "

    \nContains the time at which the measure value for the data point was collected.\n

    " + "smithy.api#documentation": "

    \nContains the time at which the measure value for the data point was collected.\nThe time value plus the unit provides the time elapsed since the epoch.\nFor example, if the time value is 12345 and the unit is ms,\n then 12345 ms have elapsed since the epoch.\n

    " } }, - "MeasureName": { - "target": "com.amazonaws.timestreamwrite#StringValue256", + "TimeUnit": { + "target": "com.amazonaws.timestreamwrite#TimeUnit", "traits": { - "smithy.api#documentation": "

    Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

    " + "smithy.api#documentation": "

    \nThe granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values.\n

    " } }, - "Dimensions": { - "target": "com.amazonaws.timestreamwrite#Dimensions", + "Version": { + "target": "com.amazonaws.timestreamwrite#RecordVersion", "traits": { - "smithy.api#documentation": "

    Contains the list of dimensions for time series data points.

    " - } - }, - "MeasureValue": { - "target": "com.amazonaws.timestreamwrite#StringValue2048", - "traits": { - "smithy.api#documentation": "

    \nContains the measure value for the time series data point. \n

    " + "smithy.api#box": {}, + "smithy.api#documentation": "

    64-bit attribute used for record updates. \n Write requests for duplicate data with a higher version number will update the existing measure value and version. \n In cases where the measure value is the same, Version will still be updated . Default value is to 1.

    " } } }, @@ -948,6 +958,9 @@ "com.amazonaws.timestreamwrite#RecordIndex": { "type": "integer" }, + "com.amazonaws.timestreamwrite#RecordVersion": { + "type": "long" + }, "com.amazonaws.timestreamwrite#Records": { "type": "list", "member": { @@ -972,7 +985,14 @@ "Reason": { "target": "com.amazonaws.timestreamwrite#ErrorMessage", "traits": { - "smithy.api#documentation": "

    \n The reason why a record was not successfully inserted into Timestream. Possible causes of failure include:\n

    \n
      \n
    • \n

      \n Records with duplicate data where there are multiple records with the same dimensions,\n timestamps, and measure names but different measure values.\n

      \n
    • \n
    • \n

      \n Records with timestamps that lie outside the retention duration of the memory store\n

      \n
    • \n
    • \n

      \n Records with dimensions or measures that exceed the Timestream defined limits.\n

      \n
    • \n
    \n

    \n For more information, see Access Management in the Timestream Developer Guide.\n

    " + "smithy.api#documentation": "

    \n The reason why a record was not successfully inserted into Timestream. Possible causes of failure include:\n

    \n
      \n
    • \n

      \n Records with duplicate data where there are multiple records with the same dimensions,\n timestamps, and measure names but different measure values.\n

      \n
    • \n
    • \n

      \n Records with timestamps that lie outside the retention duration of the memory store\n

      \n \n

      When the retention window is updated, you will receive a RejectedRecords exception \n if you immediately try to ingest data within the new window. \n To avoid a RejectedRecords exception, \n wait until the duration of the new window to ingest new data.\n For further information, \n see \n \n Best Practices for Configuring Timestream\n and \n the explanation of how storage works in Timestream.

      \n
      \n
    • \n
    • \n

      \n Records with dimensions or measures that exceed the Timestream defined limits.\n

      \n
    • \n
    \n

    \n For more information, see Access Management in the Timestream Developer Guide.\n

    " + } + }, + "ExistingVersion": { + "target": "com.amazonaws.timestreamwrite#RecordVersion", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

    The existing version of the record. \n This value is populated in scenarios where an identical record exists with a higher version than the version in the write request.

    " } } }, @@ -1028,17 +1048,17 @@ "com.amazonaws.timestreamwrite#RetentionProperties": { "type": "structure", "members": { - "MagneticStoreRetentionPeriodInDays": { - "target": "com.amazonaws.timestreamwrite#MagneticStoreRetentionPeriodInDays", + "MemoryStoreRetentionPeriodInHours": { + "target": "com.amazonaws.timestreamwrite#MemoryStoreRetentionPeriodInHours", "traits": { - "smithy.api#documentation": "

    The duration for which data must be stored in the magnetic store.

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

    The duration for which data must be stored in the memory store.

    ", "smithy.api#required": {} } }, - "MemoryStoreRetentionPeriodInHours": { - "target": "com.amazonaws.timestreamwrite#MemoryStoreRetentionPeriodInHours", + "MagneticStoreRetentionPeriodInDays": { + "target": "com.amazonaws.timestreamwrite#MagneticStoreRetentionPeriodInDays", "traits": { - "smithy.api#documentation": "

    The duration for which data must be stored in the memory store.

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

    The duration for which data must be stored in the magnetic store.

    ", "smithy.api#required": {} } } @@ -1090,28 +1110,28 @@ "smithy.api#documentation": "

    The Amazon Resource Name that uniquely identifies this table.

    " } }, - "RetentionProperties": { - "target": "com.amazonaws.timestreamwrite#RetentionProperties", + "TableName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    The retention duration for the memory store and magnetic store.

    " + "smithy.api#documentation": "

    The name of the Timestream table.

    " } }, - "TableStatus": { - "target": "com.amazonaws.timestreamwrite#TableStatus", + "DatabaseName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    The current state of the table:

    \n
      \n
    • \n

      \n DELETING - The table is being deleted.

      \n
    • \n
    • \n

      \n ACTIVE - The table is ready for use.

      \n
    • \n
    " + "smithy.api#documentation": "

    The name of the Timestream database that contains this table.

    " } }, - "LastUpdatedTime": { - "target": "com.amazonaws.timestreamwrite#Date", + "TableStatus": { + "target": "com.amazonaws.timestreamwrite#TableStatus", "traits": { - "smithy.api#documentation": "

    The time when the Timestream table was last updated.

    " + "smithy.api#documentation": "

    The current state of the table:

    \n
      \n
    • \n

      \n DELETING - The table is being deleted.

      \n
    • \n
    • \n

      \n ACTIVE - The table is ready for use.

      \n
    • \n
    " } }, - "TableName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", + "RetentionProperties": { + "target": "com.amazonaws.timestreamwrite#RetentionProperties", "traits": { - "smithy.api#documentation": "

    The name of the Timestream table.

    " + "smithy.api#documentation": "

    The retention duration for the memory store and magnetic store.

    " } }, "CreationTime": { @@ -1120,10 +1140,10 @@ "smithy.api#documentation": "

    The time when the Timestream table was created.

    " } }, - "DatabaseName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", + "LastUpdatedTime": { + "target": "com.amazonaws.timestreamwrite#Date", "traits": { - "smithy.api#documentation": "

    The name of the Timestream database that contains this table.

    " + "smithy.api#documentation": "

    The time when the Timestream table was last updated.

    " } } }, @@ -1155,17 +1175,17 @@ "com.amazonaws.timestreamwrite#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.timestreamwrite#TagValue", + "Key": { + "target": "com.amazonaws.timestreamwrite#TagKey", "traits": { - "smithy.api#documentation": "

    \nThe value of the tag. Tag values are case-sensitive and can be null.\n

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

    \nThe key of the tag. Tag keys are case sensitive. \n

    ", "smithy.api#required": {} } }, - "Key": { - "target": "com.amazonaws.timestreamwrite#TagKey", + "Value": { + "target": "com.amazonaws.timestreamwrite#TagValue", "traits": { - "smithy.api#documentation": "

    \nThe key of the tag. Tag keys are case sensitive. \n

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

    \nThe value of the tag. Tag values are case-sensitive and can be null.\n

    ", "smithy.api#required": {} } } @@ -1225,6 +1245,9 @@ { "target": "com.amazonaws.timestreamwrite#ServiceQuotaExceededException" }, + { + "target": "com.amazonaws.timestreamwrite#ThrottlingException" + }, { "target": "com.amazonaws.timestreamwrite#ValidationException" } @@ -1366,7 +1389,7 @@ "sdkId": "Timestream Write", "arnNamespace": "timestream", "cloudFormationName": "TimestreamWrite", - "cloudTrailEventSource": "v20181101.timestream.amazonaws.com" + "cloudTrailEventSource": "timestreamwrite.amazonaws.com" }, "aws.auth#sigv4": { "name": "timestream" @@ -1394,6 +1417,9 @@ { "target": "com.amazonaws.timestreamwrite#ServiceQuotaExceededException" }, + { + "target": "com.amazonaws.timestreamwrite#ThrottlingException" + }, { "target": "com.amazonaws.timestreamwrite#ValidationException" } @@ -1469,17 +1495,17 @@ "com.amazonaws.timestreamwrite#UpdateDatabaseRequest": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.timestreamwrite#StringValue2048", + "DatabaseName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    \n The identifier of the new KMS key (KmsKeyId) to be used to encrypt the data stored in the database.\n If the KmsKeyId currently registered with the database is the same as the KmsKeyId in the \n request, there will not be any update. \n

    \n

    You can specify the KmsKeyId using any of the following:

    \n
      \n
    • \n

      Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

      \n
    • \n
    • \n

      Key ARN: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

      \n
    • \n
    • \n

      Alias name: alias/ExampleAlias\n

      \n
    • \n
    • \n

      Alias ARN: arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    \n The name of the database.\n

    ", "smithy.api#required": {} } }, - "DatabaseName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", + "KmsKeyId": { + "target": "com.amazonaws.timestreamwrite#StringValue2048", "traits": { - "smithy.api#documentation": "

    \n The name of the database.\n

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

    \n The identifier of the new KMS key (KmsKeyId) to be used to encrypt the data stored in the database.\n If the KmsKeyId currently registered with the database is the same as the KmsKeyId in the \n request, there will not be any update. \n

    \n

    You can specify the KmsKeyId using any of the following:

    \n
      \n
    • \n

      Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

      \n
    • \n
    • \n

      Key ARN: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

      \n
    • \n
    • \n

      Alias name: alias/ExampleAlias\n

      \n
    • \n
    • \n

      Alias ARN: arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias\n

      \n
    • \n
    ", "smithy.api#required": {} } } @@ -1531,6 +1557,13 @@ "com.amazonaws.timestreamwrite#UpdateTableRequest": { "type": "structure", "members": { + "DatabaseName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", + "traits": { + "smithy.api#documentation": "

    The name of the Timestream database.

    ", + "smithy.api#required": {} + } + }, "TableName": { "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { @@ -1544,13 +1577,6 @@ "smithy.api#documentation": "

    The retention duration of the memory store and the magnetic store.

    ", "smithy.api#required": {} } - }, - "DatabaseName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", - "traits": { - "smithy.api#documentation": "

    The name of the Timestream database.

    ", - "smithy.api#required": {} - } } } }, @@ -1613,16 +1639,17 @@ "aws.api#clientDiscoveredEndpoint": { "required": true }, - "smithy.api#documentation": "

    The WriteRecords operation enables you to write your time series \n data into Timestream. You can specify a single data point or a batch \n of data points to be inserted into the system. Timestream offers you \n with a flexible schema that auto detects the column names and data types \n for your Timestream tables based on the dimension names and data types of\n the data points you specify when invoking writes into the database. \n Timestream support eventual consistency read semantics. This means that \n when you query data immediately after writing a batch of data into Timestream, \n the query results might not reflect the results of a recently completed write \n operation. The results may also include some stale data. If you repeat the \n query request after a short time, the results should return the latest data.\n Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.\n

    " + "smithy.api#documentation": "

    The WriteRecords operation enables you to write your time series \n data into Timestream. You can specify a single data point or a batch \n of data points to be inserted into the system. Timestream offers you \n with a flexible schema that auto detects the column names and data types \n for your Timestream tables based on the dimension names and data types of\n the data points you specify when invoking writes into the database. \n Timestream support eventual consistency read semantics. This means that \n when you query data immediately after writing a batch of data into Timestream, \n the query results might not reflect the results of a recently completed write \n operation. The results may also include some stale data. If you repeat the \n query request after a short time, the results should return the latest data.\n Service quotas apply. For more information, \n see Access Management in the Timestream Developer Guide.\n

    " } }, "com.amazonaws.timestreamwrite#WriteRecordsRequest": { "type": "structure", "members": { - "CommonAttributes": { - "target": "com.amazonaws.timestreamwrite#Record", + "DatabaseName": { + "target": "com.amazonaws.timestreamwrite#ResourceName", "traits": { - "smithy.api#documentation": "

    A record containing the common measure and dimension attributes \n shared across all the records in the request. The measure and dimension \n attributes specified in here will be merged with the measure and dimension\n attributes in the records object when the data is written into Timestream.\n

    " + "smithy.api#documentation": "

    The name of the Timestream database.

    ", + "smithy.api#required": {} } }, "TableName": { @@ -1632,17 +1659,16 @@ "smithy.api#required": {} } }, - "Records": { - "target": "com.amazonaws.timestreamwrite#Records", + "CommonAttributes": { + "target": "com.amazonaws.timestreamwrite#Record", "traits": { - "smithy.api#documentation": "

    An array of records containing the unique dimension and measure \n attributes for each time series data point.\n

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A record containing the common measure and dimension attributes \n shared across all the records in the request. The measure and dimension \n attributes specified in here will be merged with the measure and dimension\n attributes in the records object when the data is written into Timestream.\n

    " } }, - "DatabaseName": { - "target": "com.amazonaws.timestreamwrite#ResourceName", + "Records": { + "target": "com.amazonaws.timestreamwrite#Records", "traits": { - "smithy.api#documentation": "

    The name of the Timestream database.

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

    An array of records containing the unique dimension and measure \n attributes for each time series data point.\n

    ", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/transcribe-streaming.2017-10-26.json b/codegen/sdk-codegen/aws-models/transcribe-streaming.2017-10-26.json index 9465d4f22d010..67a52c39c3749 100644 --- a/codegen/sdk-codegen/aws-models/transcribe-streaming.2017-10-26.json +++ b/codegen/sdk-codegen/aws-models/transcribe-streaming.2017-10-26.json @@ -32,17 +32,17 @@ "com.amazonaws.transcribestreaming#Alternative": { "type": "structure", "members": { - "Items": { - "target": "com.amazonaws.transcribestreaming#ItemList", - "traits": { - "smithy.api#documentation": "

    One or more alternative interpretations of the input audio.

    " - } - }, "Transcript": { "target": "com.amazonaws.transcribestreaming#String", "traits": { "smithy.api#documentation": "

    The text that was transcribed from the audio.

    " } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#ItemList", + "traits": { + "smithy.api#documentation": "

    One or more alternative interpretations of the input audio.

    " + } } }, "traits": { @@ -96,7 +96,7 @@ } }, "traits": { - "smithy.api#documentation": "

    One or more arguments to the StartStreamTranscription operation was invalid.\n For example, MediaEncoding was not set to pcm or\n LanguageCode was not set to a valid code. Check the parameters and try your\n request again.

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

    One or more arguments to the StartStreamTranscription or StartMedicalStreamTranscription operation was invalid.\n For example, MediaEncoding was not set to a valid encoding, or\n LanguageCode was not set to a valid code. Check the parameters and try your\n request again.

    ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -104,6 +104,12 @@ "com.amazonaws.transcribestreaming#Boolean": { "type": "boolean" }, + "com.amazonaws.transcribestreaming#Confidence": { + "type": "double", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.transcribestreaming#ConflictException": { "type": "structure", "members": { @@ -128,7 +134,7 @@ } }, "traits": { - "smithy.api#documentation": "

    A problem occurred while processing the audio. Amazon Transcribe terminated processing. Try your\n request again.

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

    A problem occurred while processing the audio. Amazon Transcribe or Amazon Transcribe Medical terminated processing. Try your\n request again.

    ", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -136,10 +142,10 @@ "com.amazonaws.transcribestreaming#Item": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.transcribestreaming#ItemType", + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", "traits": { - "smithy.api#documentation": "

    The type of the item. PRONUNCIATION indicates that the item is a word that\n was recognized in the input audio. PUNCTUATION indicates that the item was\n interpreted as a pause in the input audio.

    " + "smithy.api#documentation": "

    The offset from the beginning of the audio stream to the beginning of the audio that\n resulted in the item.

    " } }, "EndTime": { @@ -148,10 +154,10 @@ "smithy.api#documentation": "

    The offset from the beginning of the audio stream to the end of the audio that resulted in\n the item.

    " } }, - "Speaker": { - "target": "com.amazonaws.transcribestreaming#String", + "Type": { + "target": "com.amazonaws.transcribestreaming#ItemType", "traits": { - "smithy.api#documentation": "

    If speaker identification is enabled, shows the speakers identified in the real-time stream.

    " + "smithy.api#documentation": "

    The type of the item. PRONUNCIATION indicates that the item is a word that\n was recognized in the input audio. PUNCTUATION indicates that the item was\n interpreted as a pause in the input audio.

    " } }, "Content": { @@ -160,17 +166,17 @@ "smithy.api#documentation": "

    The word or punctuation that was recognized in the input audio.

    " } }, - "StartTime": { - "target": "com.amazonaws.transcribestreaming#Double", - "traits": { - "smithy.api#documentation": "

    The offset from the beginning of the audio stream to the beginning of the audio that\n resulted in the item.

    " - } - }, "VocabularyFilterMatch": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#documentation": "

    Indicates whether a word in the item matches a word in the vocabulary filter you've chosen\n for your real-time stream. If true then a word in the item matches your\n vocabulary filter.

    " } + }, + "Speaker": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

    If speaker identification is enabled, shows the speakers identified in the real-time stream.

    " + } } }, "traits": { @@ -233,6 +239,18 @@ { "value": "de-DE", "name": "DE_DE" + }, + { + "value": "pt-BR", + "name": "PT_BR" + }, + { + "value": "ja-JP", + "name": "JA_JP" + }, + { + "value": "ko-KR", + "name": "KO_KR" } ] } @@ -257,6 +275,14 @@ { "value": "pcm", "name": "PCM" + }, + { + "value": "ogg-opus", + "name": "OGG_OPUS" + }, + { + "value": "flac", + "name": "FLAC" } ] } @@ -271,6 +297,190 @@ } } }, + "com.amazonaws.transcribestreaming#MedicalAlternative": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

    The text that was transcribed from the audio.

    " + } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#MedicalItemList", + "traits": { + "smithy.api#documentation": "

    A list of objects that contains words and punctuation marks that represents one or more\n interpretations of the input audio.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A list of possible transcriptions for the audio.

    " + } + }, + "com.amazonaws.transcribestreaming#MedicalAlternativeList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternative" + } + }, + "com.amazonaws.transcribestreaming#MedicalItem": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

    The number of seconds into an audio stream that indicates the creation time of an\n item.

    " + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

    The number of seconds into an audio stream that indicates the creation time of an\n item.

    " + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#ItemType", + "traits": { + "smithy.api#documentation": "

    The type of the item. PRONUNCIATION indicates that the item is a word\n that was recognized in the input audio. PUNCTUATION indicates that the item\n was interpreted as a pause in the input audio, such as a period to indicate the end of a\n sentence.

    " + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

    The word or punctuation mark that was recognized in the input audio.

    " + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

    A value between 0 and 1 for an item that is a confidence score that Amazon Transcribe Medical\n assigns to each word that it transcribes.

    " + } + }, + "Speaker": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

    If speaker identification is enabled, shows the integer values that correspond to the\n different speakers identified in the stream. For example, if the value of\n Speaker in the stream is either a 0 or a 1,\n that indicates that Amazon Transcribe Medical has identified two speakers in the stream. The value of\n 0 corresponds to one speaker and the value of 1\n corresponds to the other speaker.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A word or punctuation that is transcribed from the input audio.

    " + } + }, + "com.amazonaws.transcribestreaming#MedicalItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalItem" + } + }, + "com.amazonaws.transcribestreaming#MedicalResult": { + "type": "structure", + "members": { + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the result.

    " + } + }, + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

    The time, in seconds, from the beginning of the audio stream to the beginning of the\n result.

    " + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

    The time, in seconds, from the beginning of the audio stream to the end of the\n result.

    " + } + }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

    Amazon Transcribe Medical divides the incoming audio stream into segments at natural points in the audio.\n Transcription results are returned based on these segments.

    \n

    The IsPartial field is true to indicate that Amazon Transcribe Medical has\n additional transcription data to send. The IsPartial field is\n false to indicate that this is the last transcription result for the\n segment.

    " + } + }, + "Alternatives": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternativeList", + "traits": { + "smithy.api#documentation": "

    A list of possible transcriptions of the audio. Each alternative typically contains\n one Item that contains the result of the transcription.

    " + } + }, + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

    When channel identification is enabled, Amazon Transcribe Medical transcribes the speech from each audio\n channel separately.

    \n

    You can use ChannelId to retrieve the transcription results for a single\n channel in your audio stream.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The results of transcribing a portion of the input audio stream.

    " + } + }, + "com.amazonaws.transcribestreaming#MedicalResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalResult" + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscript": { + "type": "structure", + "members": { + "Results": { + "target": "com.amazonaws.transcribestreaming#MedicalResultList", + "traits": { + "smithy.api#documentation": "

    \n MedicalResult objects that contain the results of transcribing a\n portion of the input audio stream. The array can be empty.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The medical transcript in a MedicalTranscriptEvent.

    " + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscriptEvent": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscript", + "traits": { + "smithy.api#documentation": "

    The transcription of the audio stream. The transcription is composed of all of the\n items in the results list.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Represents a set of transcription results from the server to the client. It contains\n one or more segments of the transcription.

    " + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream": { + "type": "union", + "members": { + "TranscriptEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscriptEvent", + "traits": { + "smithy.api#documentation": "

    A portion of the transcription of the audio stream. Events are sent periodically from\n Amazon Transcribe Medical to your application. The event can be a partial transcription of a section of the\n audio stream, or it can be the entire transcription of that portion of the audio\n stream.

    " + } + }, + "BadRequestException": { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + "InternalFailureException": { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + "ConflictException": { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + "ServiceUnavailableException": { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + }, + "traits": { + "smithy.api#documentation": "

    Represents the transcription result stream from Amazon Transcribe Medical to your application.

    ", + "smithy.api#streaming": {} + } + }, "com.amazonaws.transcribestreaming#NumberOfChannels": { "type": "integer", "traits": { @@ -286,16 +496,16 @@ "com.amazonaws.transcribestreaming#Result": { "type": "structure", "members": { - "StartTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

    The offset in seconds from the beginning of the audio stream to the beginning of the\n result.

    " + "smithy.api#documentation": "

    A unique identifier for the result.

    " } }, - "IsPartial": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", "traits": { - "smithy.api#documentation": "

    Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio.\n Transcription results are returned based on these segments.

    \n

    The IsPartial field is true to indicate that Amazon Transcribe has\n additional transcription data to send, false to indicate that this is the last\n transcription result for the segment.

    " + "smithy.api#documentation": "

    The offset in seconds from the beginning of the audio stream to the beginning of the\n result.

    " } }, "EndTime": { @@ -304,6 +514,12 @@ "smithy.api#documentation": "

    The offset in seconds from the beginning of the audio stream to the end of the\n result.

    " } }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

    Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio.\n Transcription results are returned based on these segments.

    \n

    The IsPartial field is true to indicate that Amazon Transcribe has\n additional transcription data to send, false to indicate that this is the last\n transcription result for the segment.

    " + } + }, "Alternatives": { "target": "com.amazonaws.transcribestreaming#AlternativeList", "traits": { @@ -315,12 +531,6 @@ "traits": { "smithy.api#documentation": "

    When channel identification is enabled, Amazon Transcribe transcribes the speech from each audio channel separately.

    \n

    You can use ChannelId to retrieve the transcription results for a single channel in your audio stream.

    " } - }, - "ResultId": { - "target": "com.amazonaws.transcribestreaming#String", - "traits": { - "smithy.api#documentation": "

    A unique identifier for the result.

    " - } } }, "traits": { @@ -356,13 +566,44 @@ "smithy.api#pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" } }, - "com.amazonaws.transcribestreaming#StartStreamTranscription": { + "com.amazonaws.transcribestreaming#Specialty": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PRIMARYCARE", + "name": "PRIMARYCARE" + }, + { + "value": "CARDIOLOGY", + "name": "CARDIOLOGY" + }, + { + "value": "NEUROLOGY", + "name": "NEUROLOGY" + }, + { + "value": "ONCOLOGY", + "name": "ONCOLOGY" + }, + { + "value": "RADIOLOGY", + "name": "RADIOLOGY" + }, + { + "value": "UROLOGY", + "name": "UROLOGY" + } + ] + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription": { "type": "operation", "input": { - "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest" + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest" }, "output": { - "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse" + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse" }, "errors": [ { @@ -382,145 +623,313 @@ } ], "traits": { - "smithy.api#documentation": "

    Starts a bidirectional HTTP2 stream where audio is streamed to Amazon Transcribe and the transcription\n results are streamed to your application.

    \n

    The following are encoded as HTTP2 headers:

    \n
      \n
    • \n

      x-amzn-transcribe-language-code

      \n
    • \n
    • \n

      x-amzn-transcribe-media-encoding

      \n
    • \n
    • \n

      x-amzn-transcribe-sample-rate

      \n
    • \n
    • \n

      x-amzn-transcribe-session-id

      \n
    • \n
    ", + "smithy.api#documentation": "

    Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon Transcribe Medical and the transcription\n results are streamed to your application.

    ", "smithy.api#http": { "method": "POST", - "uri": "/stream-transcription", + "uri": "/medical-stream-transcription", "code": 200 } } }, - "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest": { + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest": { "type": "structure", "members": { - "MediaEncoding": { - "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", "traits": { - "smithy.api#documentation": "

    The encoding used for the input audio. pcm is the only valid value.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#documentation": "

    Indicates the source language used in the input audio stream. For Amazon Transcribe Medical,\n this is US English (en-US).

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", "smithy.api#required": {} } }, - "VocabularyFilterMethod": { - "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", "traits": { - "smithy.api#documentation": "

    The manner in which you use your vocabulary filter to filter words in your transcript.\n Remove removes filtered words from your transcription results.\n Mask masks those words with a *** in your transcription results.\n Tag keeps the filtered words in your transcription results and tags them. The\n tag appears as VocabularyFilterMatch equal to True\n

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" + "smithy.api#documentation": "

    The sample rate of the input audio in Hertz. Sample rates of 16000 Hz or higher are\n accepted.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} } }, - "ShowSpeakerLabel": { + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

    The encoding used for the input audio.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

    The name of the medical custom vocabulary to use when processing the real-time\n stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "Specialty": { + "target": "com.amazonaws.transcribestreaming#Specialty", + "traits": { + "smithy.api#documentation": "

    The medical specialty of the clinician or provider.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-specialty", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#Type", + "traits": { + "smithy.api#documentation": "

    The type of input audio. Choose DICTATION for a provider dictating patient notes. Choose CONVERSATION for a dialogue between a patient and one or more medical professionanls.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-type", + "smithy.api#required": {} + } + }, + "ShowSpeakerLabel": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

    When true, enables speaker identification in your real-time stream.

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

    When true, enables speaker identification in your real-time\n stream.

    ", "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" } }, "SessionId": { "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

    A identifier for the transcription session. Use this parameter when you want to retry a\n session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in\n the response.

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

    Optional. An identifier for the transcription session. If you don't provide a session\n ID, Amazon Transcribe generates one for you and returns it in the response.

    ", "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, "AudioStream": { "target": "com.amazonaws.transcribestreaming#AudioStream", "traits": { - "smithy.api#documentation": "

    PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP2 data\n frame.

    ", "smithy.api#httpPayload": {}, "smithy.api#required": {} } }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

    When true, instructs Amazon Transcribe Medical to process each audio channel separately and\n then merge the transcription output of each channel into a single transcription.

    \n

    Amazon Transcribe Medical also produces a transcription of each item. An item includes the start time,\n end time, and any alternative transcriptions.

    \n

    You can't set both ShowSpeakerLabel and\n EnableChannelIdentification in the same request. If you set both, your\n request returns a BadRequestException.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, "NumberOfChannels": { "target": "com.amazonaws.transcribestreaming#NumberOfChannels", "traits": { "smithy.api#documentation": "

    The number of channels that are in your audio stream.

    ", "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" } + } + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.transcribestreaming#RequestId", + "traits": { + "smithy.api#documentation": "

    An identifier for the streaming transcription.

    ", + "smithy.api#httpHeader": "x-amzn-request-id" + } }, "LanguageCode": { "target": "com.amazonaws.transcribestreaming#LanguageCode", "traits": { - "smithy.api#documentation": "

    Indicates the source language used in the input audio stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-language-code", - "smithy.api#required": {} + "smithy.api#documentation": "

    The language code for the response transcript. For Amazon Transcribe Medical, this is US\n English (en-US).

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

    The sample rate of the input audio in Hertz. Valid value: 16000 Hz.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

    The encoding used for the input audio stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" } }, "VocabularyName": { "target": "com.amazonaws.transcribestreaming#VocabularyName", "traits": { - "smithy.api#documentation": "

    The name of the vocabulary to use when processing the transcription job.

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

    The name of the vocabulary used when processing the stream.

    ", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" } }, - "EnableChannelIdentification": { + "Specialty": { + "target": "com.amazonaws.transcribestreaming#Specialty", + "traits": { + "smithy.api#documentation": "

    The specialty in the medical domain.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-specialty" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#Type", + "traits": { + "smithy.api#documentation": "

    The type of audio that was transcribed.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-type" + } + }, + "ShowSpeakerLabel": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

    When true, instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

    \n

    Amazon Transcribe also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.

    \n

    You can't set both ShowSpeakerLabel and EnableChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + "smithy.api#documentation": "

    Shows whether speaker identification was enabled in the stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" } }, - "MediaSampleRateHertz": { - "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

    The sample rate, in Hertz, of the input audio. We suggest that you use 8000 Hz for low\n quality audio and 16000 Hz for high quality audio.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", - "smithy.api#required": {} + "smithy.api#documentation": "

    Optional. An identifier for the transcription session. If you don't provide a session\n ID, Amazon Transcribe generates one for you and returns it in the response.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, - "VocabularyFilterName": { - "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "TranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream", "traits": { - "smithy.api#documentation": "

    The name of the vocabulary filter you've created that is unique to your AWS account.\n Provide the name in this field to successfully use it in a stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + "smithy.api#documentation": "

    Represents the stream of transcription events from Amazon Transcribe Medical to your application.

    ", + "smithy.api#httpPayload": {} + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

    Shows whether channel identification has been enabled in the stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

    The number of channels identified in the stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" } } } }, - "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse": { + "com.amazonaws.transcribestreaming#StartStreamTranscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

    Starts a bidirectional HTTP2 stream where audio is streamed to Amazon Transcribe and the transcription\n results are streamed to your application.

    \n

    The following are encoded as HTTP2 headers:

    \n
      \n
    • \n

      x-amzn-transcribe-language-code

      \n
    • \n
    • \n

      x-amzn-transcribe-media-encoding

      \n
    • \n
    • \n

      x-amzn-transcribe-sample-rate

      \n
    • \n
    • \n

      x-amzn-transcribe-session-id

      \n
    • \n
    ", + "smithy.api#http": { + "method": "POST", + "uri": "/stream-transcription", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest": { "type": "structure", "members": { - "VocabularyFilterName": { - "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", "traits": { - "smithy.api#documentation": "

    The name of the vocabulary filter used in your real-time stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + "smithy.api#documentation": "

    Indicates the source language used in the input audio stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", + "smithy.api#required": {} + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

    The sample rate, in Hertz, of the input audio. We suggest that you use 8000 Hz for low\n quality audio and 16000 Hz for high quality audio.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} } }, "MediaEncoding": { "target": "com.amazonaws.transcribestreaming#MediaEncoding", "traits": { - "smithy.api#documentation": "

    The encoding used for the input audio stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + "smithy.api#documentation": "

    The encoding used for the input audio.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} } }, "VocabularyName": { "target": "com.amazonaws.transcribestreaming#VocabularyName", "traits": { - "smithy.api#documentation": "

    The name of the vocabulary used when processing the stream.

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

    The name of the vocabulary to use when processing the transcription job.

    ", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" } }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

    A identifier for the transcription session. Use this parameter when you want to retry a\n session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in\n the response.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "AudioStream": { + "target": "com.amazonaws.transcribestreaming#AudioStream", + "traits": { + "smithy.api#documentation": "

    PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP2 data\n frame.

    ", + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

    The name of the vocabulary filter you've created that is unique to your AWS account.\n Provide the name in this field to successfully use it in a stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + } + }, "VocabularyFilterMethod": { "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", "traits": { - "smithy.api#documentation": "

    The vocabulary filtering method used in the real-time stream.

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

    The manner in which you use your vocabulary filter to filter words in your transcript.\n Remove removes filtered words from your transcription results.\n Mask masks those words with a *** in your transcription results.\n Tag keeps the filtered words in your transcription results and tags them. The\n tag appears as VocabularyFilterMatch equal to True\n

    ", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" } }, - "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

    The language code for the input audio stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + "smithy.api#documentation": "

    When true, enables speaker identification in your real-time stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" } }, - "ShowSpeakerLabel": { + "EnableChannelIdentification": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

    Shows whether speaker identification was enabled in the stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + "smithy.api#documentation": "

    When true, instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

    \n

    Amazon Transcribe also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.

    \n

    You can't set both ShowSpeakerLabel and EnableChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" } }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

    The number of channels that are in your audio stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse": { + "type": "structure", + "members": { "RequestId": { "target": "com.amazonaws.transcribestreaming#RequestId", "traits": { @@ -528,11 +937,32 @@ "smithy.api#httpHeader": "x-amzn-request-id" } }, - "NumberOfChannels": { - "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", "traits": { - "smithy.api#documentation": "

    The number of channels identified in the stream.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + "smithy.api#documentation": "

    The language code for the input audio stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

    The sample rate for the input audio stream. Use 8000 Hz for low quality audio and 16000 Hz\n for high quality audio.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

    The encoding used for the input audio stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

    The name of the vocabulary used when processing the stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" } }, "SessionId": { @@ -542,11 +972,32 @@ "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, - "MediaSampleRateHertz": { - "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "TranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#TranscriptResultStream", "traits": { - "smithy.api#documentation": "

    The sample rate for the input audio stream. Use 8000 Hz for low quality audio and 16000 Hz\n for high quality audio.

    ", - "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + "smithy.api#documentation": "

    Represents the stream of transcription events from Amazon Transcribe to your application.

    ", + "smithy.api#httpPayload": {} + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

    The name of the vocabulary filter used in your real-time stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

    The vocabulary filtering method used in the real-time stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

    Shows whether speaker identification was enabled in the stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" } }, "EnableChannelIdentification": { @@ -556,11 +1007,11 @@ "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" } }, - "TranscriptResultStream": { - "target": "com.amazonaws.transcribestreaming#TranscriptResultStream", + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", "traits": { - "smithy.api#documentation": "

    Represents the stream of transcription events from Amazon Transcribe to your application.

    ", - "smithy.api#httpPayload": {} + "smithy.api#documentation": "

    The number of channels identified in the stream.

    ", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" } } } @@ -572,6 +1023,9 @@ "type": "service", "version": "2017-10-26", "operations": [ + { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription" + }, { "target": "com.amazonaws.transcribestreaming#StartStreamTranscription" } @@ -622,16 +1076,22 @@ "com.amazonaws.transcribestreaming#TranscriptResultStream": { "type": "union", "members": { + "TranscriptEvent": { + "target": "com.amazonaws.transcribestreaming#TranscriptEvent", + "traits": { + "smithy.api#documentation": "

    A portion of the transcription of the audio stream. Events are sent periodically from\n Amazon Transcribe to your application. The event can be a partial transcription of a section of the audio\n stream, or it can be the entire transcription of that portion of the audio stream.\n

    " + } + }, "BadRequestException": { "target": "com.amazonaws.transcribestreaming#BadRequestException", "traits": { "smithy.api#documentation": "

    A client error occurred when the stream was created. Check the parameters of the request\n and try your request again.

    " } }, - "TranscriptEvent": { - "target": "com.amazonaws.transcribestreaming#TranscriptEvent", + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException", "traits": { - "smithy.api#documentation": "

    A portion of the transcription of the audio stream. Events are sent periodically from\n Amazon Transcribe to your application. The event can be a partial transcription of a section of the audio\n stream, or it can be the entire transcription of that portion of the audio stream.\n

    " + "smithy.api#documentation": "

    Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length.\n Break your audio stream into smaller chunks and try your request again.

    " } }, "InternalFailureException": { @@ -651,12 +1111,6 @@ "traits": { "smithy.api#documentation": "

    Service is currently unavailable. Try your request later.

    " } - }, - "LimitExceededException": { - "target": "com.amazonaws.transcribestreaming#LimitExceededException", - "traits": { - "smithy.api#documentation": "

    Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length.\n Break your audio stream into smaller chunks and try your request again.

    " - } } }, "traits": { @@ -664,6 +1118,21 @@ "smithy.api#streaming": {} } }, + "com.amazonaws.transcribestreaming#Type": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CONVERSATION", + "name": "CONVERSATION" + }, + { + "value": "DICTATION", + "name": "DICTATION" + } + ] + } + }, "com.amazonaws.transcribestreaming#VocabularyFilterMethod": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/translate.2017-07-01.json b/codegen/sdk-codegen/aws-models/translate.2017-07-01.json index d24aa5012d7a1..1a24a1118d16c 100644 --- a/codegen/sdk-codegen/aws-models/translate.2017-07-01.json +++ b/codegen/sdk-codegen/aws-models/translate.2017-07-01.json @@ -33,18 +33,30 @@ "type": "service", "version": "2017-07-01", "operations": [ + { + "target": "com.amazonaws.translate#CreateParallelData" + }, + { + "target": "com.amazonaws.translate#DeleteParallelData" + }, { "target": "com.amazonaws.translate#DeleteTerminology" }, { "target": "com.amazonaws.translate#DescribeTextTranslationJob" }, + { + "target": "com.amazonaws.translate#GetParallelData" + }, { "target": "com.amazonaws.translate#GetTerminology" }, { "target": "com.amazonaws.translate#ImportTerminology" }, + { + "target": "com.amazonaws.translate#ListParallelData" + }, { "target": "com.amazonaws.translate#ListTerminologies" }, @@ -59,6 +71,9 @@ }, { "target": "com.amazonaws.translate#TranslateText" + }, + { + "target": "com.amazonaws.translate#UpdateParallelData" } ], "traits": { @@ -66,7 +81,7 @@ "sdkId": "Translate", "arnNamespace": "translate", "cloudFormationName": "Translate", - "cloudTrailEventSource": "shine.amazonaws.com" + "cloudTrailEventSource": "translate.amazonaws.com" }, "aws.auth#sigv4": { "name": "translate" @@ -79,17 +94,17 @@ "com.amazonaws.translate#AppliedTerminology": { "type": "structure", "members": { - "Terms": { - "target": "com.amazonaws.translate#TermList", - "traits": { - "smithy.api#documentation": "

    The specific terms of the custom terminology applied to the input text by Amazon Translate for the\n translated text response. A maximum of 250 terms will be returned, and the specific terms\n applied will be the first 250 terms in the source text.

    " - } - }, "Name": { "target": "com.amazonaws.translate#ResourceName", "traits": { "smithy.api#documentation": "

    The name of the custom terminology applied to the input text by Amazon Translate for the translated\n text response.

    " } + }, + "Terms": { + "target": "com.amazonaws.translate#TermList", + "traits": { + "smithy.api#documentation": "

    The specific terms of the custom terminology applied to the input text by Amazon Translate for the\n translated text response. A maximum of 250 terms will be returned, and the specific terms\n applied will be the first 250 terms in the source text.

    " + } } }, "traits": { @@ -122,6 +137,32 @@ "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, + "com.amazonaws.translate#ConcurrentModificationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.translate#String" + } + }, + "traits": { + "smithy.api#documentation": "

    Another modification is being made. That modification must complete before you can make\n your change.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.translate#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.translate#String" + } + }, + "traits": { + "smithy.api#documentation": "

    There was a conflict processing the request. Try your request again.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.translate#ContentType": { "type": "string", "traits": { @@ -132,6 +173,146 @@ "smithy.api#pattern": "^[-\\w.]+\\/[-\\w.+]+$" } }, + "com.amazonaws.translate#CreateParallelData": { + "type": "operation", + "input": { + "target": "com.amazonaws.translate#CreateParallelDataRequest" + }, + "output": { + "target": "com.amazonaws.translate#CreateParallelDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.translate#ConflictException" + }, + { + "target": "com.amazonaws.translate#InternalServerException" + }, + { + "target": "com.amazonaws.translate#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.translate#InvalidRequestException" + }, + { + "target": "com.amazonaws.translate#LimitExceededException" + }, + { + "target": "com.amazonaws.translate#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates a parallel data resource in Amazon Translate by importing an input file from\n Amazon S3. Parallel data files contain examples of source phrases and their translations from\n your translation memory. By adding parallel data, you can influence the style, tone, and word\n choice in your translation output.

    " + } + }, + "com.amazonaws.translate#CreateParallelDataRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    A custom name for the parallel data resource in Amazon Translate. You must assign a name\n that is unique in the account and region.

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.translate#Description", + "traits": { + "smithy.api#documentation": "

    A custom description for the parallel data resource in Amazon Translate.

    " + } + }, + "ParallelDataConfig": { + "target": "com.amazonaws.translate#ParallelDataConfig", + "traits": { + "smithy.api#documentation": "

    Specifies the format and S3 location of the parallel data input file.

    ", + "smithy.api#required": {} + } + }, + "EncryptionKey": { + "target": "com.amazonaws.translate#EncryptionKey" + }, + "ClientToken": { + "target": "com.amazonaws.translate#ClientTokenString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the request. This token is automatically generated when you use\n Amazon Translate through an AWS SDK.

    ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.translate#CreateParallelDataResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The custom name that you assigned to the parallel data resource.

    " + } + }, + "Status": { + "target": "com.amazonaws.translate#ParallelDataStatus", + "traits": { + "smithy.api#documentation": "

    The status of the parallel data resource. When the resource is ready for you to use, the\n status is ACTIVE.

    " + } + } + } + }, + "com.amazonaws.translate#DeleteParallelData": { + "type": "operation", + "input": { + "target": "com.amazonaws.translate#DeleteParallelDataRequest" + }, + "output": { + "target": "com.amazonaws.translate#DeleteParallelDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.translate#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.translate#InternalServerException" + }, + { + "target": "com.amazonaws.translate#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.translate#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes a parallel data resource in Amazon Translate.

    " + } + }, + "com.amazonaws.translate#DeleteParallelDataRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The name of the parallel data resource that is being deleted.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.translate#DeleteParallelDataResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The name of the parallel data resource that is being deleted.

    " + } + }, + "Status": { + "target": "com.amazonaws.translate#ParallelDataStatus", + "traits": { + "smithy.api#documentation": "

    The status of the parallel data deletion.

    " + } + } + } + }, "com.amazonaws.translate#DeleteTerminology": { "type": "operation", "input": { @@ -245,23 +426,23 @@ "com.amazonaws.translate#EncryptionKey": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.translate#EncryptionKeyID", + "Type": { + "target": "com.amazonaws.translate#EncryptionKeyType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt the custom\n terminology.

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

    The type of encryption key used by Amazon Translate to encrypt custom terminologies.

    ", "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.translate#EncryptionKeyType", + "Id": { + "target": "com.amazonaws.translate#EncryptionKeyID", "traits": { - "smithy.api#documentation": "

    The type of encryption key used by Amazon Translate to encrypt custom terminologies.

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

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt the custom\n terminology.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    The encryption key used to encrypt the custom terminologies used by Amazon Translate.

    " + "smithy.api#documentation": "

    The encryption key used to encrypt this object.

    " } }, "com.amazonaws.translate#EncryptionKeyID": { @@ -285,6 +466,73 @@ ] } }, + "com.amazonaws.translate#GetParallelData": { + "type": "operation", + "input": { + "target": "com.amazonaws.translate#GetParallelDataRequest" + }, + "output": { + "target": "com.amazonaws.translate#GetParallelDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.translate#InternalServerException" + }, + { + "target": "com.amazonaws.translate#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.translate#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.translate#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Provides information about a parallel data resource.

    " + } + }, + "com.amazonaws.translate#GetParallelDataRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The name of the parallel data resource that is being retrieved.

    ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.translate#GetParallelDataResponse": { + "type": "structure", + "members": { + "ParallelDataProperties": { + "target": "com.amazonaws.translate#ParallelDataProperties", + "traits": { + "smithy.api#documentation": "

    The properties of the parallel data resource that is being retrieved.

    " + } + }, + "DataLocation": { + "target": "com.amazonaws.translate#ParallelDataDataLocation", + "traits": { + "smithy.api#documentation": "

    The location of the most recent parallel data input file that was successfully imported\n into Amazon Translate. The location is returned as a presigned URL that has a 30 minute\n expiration.

    " + } + }, + "AuxiliaryDataLocation": { + "target": "com.amazonaws.translate#ParallelDataDataLocation", + "traits": { + "smithy.api#documentation": "

    The Amazon S3 location of a file that provides any errors or warnings that were produced\n by your input file. This file was created when Amazon Translate attempted to create a parallel\n data resource. The location is returned as a presigned URL to that has a 30 minute\n expiration.

    " + } + }, + "LatestUpdateAttemptAuxiliaryDataLocation": { + "target": "com.amazonaws.translate#ParallelDataDataLocation", + "traits": { + "smithy.api#documentation": "

    The Amazon S3 location of a file that provides any errors or warnings that were produced\n by your input file. This file was created when Amazon Translate attempted to update a parallel\n data resource. The location is returned as a presigned URL to that has a 30 minute\n expiration.

    " + } + } + } + }, "com.amazonaws.translate#GetTerminology": { "type": "operation", "input": { @@ -386,12 +634,6 @@ "com.amazonaws.translate#ImportTerminologyRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.translate#Description", - "traits": { - "smithy.api#documentation": "

    The description of the custom terminology being imported.

    " - } - }, "Name": { "target": "com.amazonaws.translate#ResourceName", "traits": { @@ -399,6 +641,19 @@ "smithy.api#required": {} } }, + "MergeStrategy": { + "target": "com.amazonaws.translate#MergeStrategy", + "traits": { + "smithy.api#documentation": "

    The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE\n merge strategy is supported. In this case, the imported terminology will overwrite an existing\n terminology of the same name.

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.translate#Description", + "traits": { + "smithy.api#documentation": "

    The description of the custom terminology being imported.

    " + } + }, "TerminologyData": { "target": "com.amazonaws.translate#TerminologyData", "traits": { @@ -411,13 +666,6 @@ "traits": { "smithy.api#documentation": "

    The encryption key for the custom terminology being imported.

    " } - }, - "MergeStrategy": { - "target": "com.amazonaws.translate#MergeStrategy", - "traits": { - "smithy.api#documentation": "

    The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE\n merge strategy is supported. In this case, the imported terminology will overwrite an existing\n terminology of the same name.

    ", - "smithy.api#required": {} - } } } }, @@ -435,17 +683,17 @@ "com.amazonaws.translate#InputDataConfig": { "type": "structure", "members": { - "ContentType": { - "target": "com.amazonaws.translate#ContentType", + "S3Uri": { + "target": "com.amazonaws.translate#S3Uri", "traits": { - "smithy.api#documentation": "

    Describes the format of the data that you submit to Amazon Translate as input. You can\n specify one of the following multipurpose internet mail extension (MIME) types:

    \n
      \n
    • \n

      \n text/html: The input data consists of one or more HTML files. Amazon\n Translate translates only the text that resides in the html element in each\n file.

      \n
    • \n
    • \n

      \n text/plain: The input data consists of one or more unformatted text\n files. Amazon Translate translates every character in this type of input.

      \n
    • \n
    • \n

      \n application/vnd.openxmlformats-officedocument.wordprocessingml.document:\n The input data consists of one or more Word documents (.docx).

      \n
    • \n
    • \n

      \n application/vnd.openxmlformats-officedocument.presentationml.presentation:\n The input data consists of one or more PowerPoint Presentation files (.pptx).

      \n
    • \n
    • \n

      \n application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: The\n input data consists of one or more Excel Workbook files (.xlsx).

      \n
    • \n
    \n \n

    If you structure your input data as HTML, ensure that you set this parameter to\n text/html. By doing so, you cut costs by limiting the translation to the\n contents of the html element in each file. Otherwise, if you set this parameter\n to text/plain, your costs will cover the translation of every character.

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

    The URI of the AWS S3 folder that contains the input file. The folder must be in the\n same Region as the API endpoint you are calling.

    ", "smithy.api#required": {} } }, - "S3Uri": { - "target": "com.amazonaws.translate#S3Uri", + "ContentType": { + "target": "com.amazonaws.translate#ContentType", "traits": { - "smithy.api#documentation": "

    The URI of the AWS S3 folder that contains the input file. The folder must be in the\n same Region as the API endpoint you are calling.

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

    Describes the format of the data that you submit to Amazon Translate as input. You can\n specify one of the following multipurpose internet mail extension (MIME) types:

    \n
      \n
    • \n

      \n text/html: The input data consists of one or more HTML files. Amazon\n Translate translates only the text that resides in the html element in each\n file.

      \n
    • \n
    • \n

      \n text/plain: The input data consists of one or more unformatted text\n files. Amazon Translate translates every character in this type of input.

      \n
    • \n
    • \n

      \n application/vnd.openxmlformats-officedocument.wordprocessingml.document:\n The input data consists of one or more Word documents (.docx).

      \n
    • \n
    • \n

      \n application/vnd.openxmlformats-officedocument.presentationml.presentation:\n The input data consists of one or more PowerPoint Presentation files (.pptx).

      \n
    • \n
    • \n

      \n application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: The\n input data consists of one or more Excel Workbook files (.xlsx).

      \n
    • \n
    \n \n

    If you structure your input data as HTML, ensure that you set this parameter to\n text/html. By doing so, you cut costs by limiting the translation to the\n contents of the html element in each file. Otherwise, if you set this parameter\n to text/plain, your costs will cover the translation of every character.

    \n
    ", "smithy.api#required": {} } } @@ -515,6 +763,12 @@ "com.amazonaws.translate#JobDetails": { "type": "structure", "members": { + "TranslatedDocumentsCount": { + "target": "com.amazonaws.translate#Integer", + "traits": { + "smithy.api#documentation": "

    The number of documents successfully processed during a translation job.

    " + } + }, "DocumentsWithErrorsCount": { "target": "com.amazonaws.translate#Integer", "traits": { @@ -526,12 +780,6 @@ "traits": { "smithy.api#documentation": "

    The number of documents used as input in a translation job.

    " } - }, - "TranslatedDocumentsCount": { - "target": "com.amazonaws.translate#Integer", - "traits": { - "smithy.api#documentation": "

    The number of documents successfully processed during a translation job.

    " - } } }, "traits": { @@ -621,6 +869,68 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.translate#ListParallelData": { + "type": "operation", + "input": { + "target": "com.amazonaws.translate#ListParallelDataRequest" + }, + "output": { + "target": "com.amazonaws.translate#ListParallelDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.translate#InternalServerException" + }, + { + "target": "com.amazonaws.translate#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.translate#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Provides a list of your parallel data resources in Amazon Translate.

    ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.translate#ListParallelDataRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.translate#NextToken", + "traits": { + "smithy.api#documentation": "

    A string that specifies the next page of results to return in a paginated response.

    " + } + }, + "MaxResults": { + "target": "com.amazonaws.translate#MaxResultsInteger", + "traits": { + "smithy.api#documentation": "

    The maximum number of parallel data resources returned for each request.

    " + } + } + } + }, + "com.amazonaws.translate#ListParallelDataResponse": { + "type": "structure", + "members": { + "ParallelDataPropertiesList": { + "target": "com.amazonaws.translate#ParallelDataPropertiesList", + "traits": { + "smithy.api#documentation": "

    The properties of the parallel data resources returned by this request.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.translate#NextToken", + "traits": { + "smithy.api#documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated\n response. This value is null if there are no additional pages.

    " + } + } + } + }, "com.amazonaws.translate#ListTerminologies": { "type": "operation", "input": { @@ -669,17 +979,17 @@ "com.amazonaws.translate#ListTerminologiesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.translate#NextToken", - "traits": { - "smithy.api#documentation": "

    If the response to the ListTerminologies was truncated, the NextToken fetches the next\n group of custom terminologies.

    " - } - }, "TerminologyPropertiesList": { "target": "com.amazonaws.translate#TerminologyPropertiesList", "traits": { "smithy.api#documentation": "

    The properties list of the custom terminologies returned on the list request.

    " } + }, + "NextToken": { + "target": "com.amazonaws.translate#NextToken", + "traits": { + "smithy.api#documentation": "

    If the response to the ListTerminologies was truncated, the NextToken fetches the next\n group of custom terminologies.

    " + } } } }, @@ -717,18 +1027,18 @@ "com.amazonaws.translate#ListTextTranslationJobsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.translate#NextToken", - "traits": { - "smithy.api#documentation": "

    The token to request the next page of results.

    " - } - }, "Filter": { "target": "com.amazonaws.translate#TextTranslationJobFilter", "traits": { "smithy.api#documentation": "

    The parameters that specify which batch translation jobs to retrieve. Filters include job\n name, job status, and submission time. You can only set one filter at a time.

    " } }, + "NextToken": { + "target": "com.amazonaws.translate#NextToken", + "traits": { + "smithy.api#documentation": "

    The token to request the next page of results.

    " + } + }, "MaxResults": { "target": "com.amazonaws.translate#MaxResultsInteger", "traits": { @@ -740,20 +1050,26 @@ "com.amazonaws.translate#ListTextTranslationJobsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.translate#NextToken", - "traits": { - "smithy.api#documentation": "

    The token to use to retreive the next page of results. This value is null\n when there are no more results to return.

    " - } - }, "TextTranslationJobPropertiesList": { "target": "com.amazonaws.translate#TextTranslationJobPropertiesList", "traits": { "smithy.api#documentation": "

    A list containing the properties of each job that is returned.

    " } + }, + "NextToken": { + "target": "com.amazonaws.translate#NextToken", + "traits": { + "smithy.api#documentation": "

    The token to use to retreive the next page of results. This value is null\n when there are no more results to return.

    " + } } } }, + "com.amazonaws.translate#Long": { + "type": "long", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.translate#MaxResultsInteger": { "type": "integer", "traits": { @@ -800,6 +1116,218 @@ "smithy.api#documentation": "

    The output configuration properties for a batch translation job.

    " } }, + "com.amazonaws.translate#ParallelDataArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + } + } + }, + "com.amazonaws.translate#ParallelDataConfig": { + "type": "structure", + "members": { + "S3Uri": { + "target": "com.amazonaws.translate#S3Uri", + "traits": { + "smithy.api#documentation": "

    The URI of the Amazon S3 folder that contains the parallel data input file. The folder\n must be in the same Region as the API endpoint you are calling.

    ", + "smithy.api#required": {} + } + }, + "Format": { + "target": "com.amazonaws.translate#ParallelDataFormat", + "traits": { + "smithy.api#documentation": "

    The format of the parallel data input file.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Specifies the format and S3 location of the parallel data input file.

    " + } + }, + "com.amazonaws.translate#ParallelDataDataLocation": { + "type": "structure", + "members": { + "RepositoryType": { + "target": "com.amazonaws.translate#String", + "traits": { + "smithy.api#documentation": "

    Describes the repository that contains the parallel data input file.

    ", + "smithy.api#required": {} + } + }, + "Location": { + "target": "com.amazonaws.translate#String", + "traits": { + "smithy.api#documentation": "

    The Amazon S3 location of the parallel data input file. The location is returned as a\n presigned URL to that has a 30 minute expiration.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    The location of the most recent parallel data input file that was successfully imported\n into Amazon Translate.

    " + } + }, + "com.amazonaws.translate#ParallelDataFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TSV", + "name": "TSV" + }, + { + "value": "CSV", + "name": "CSV" + }, + { + "value": "TMX", + "name": "TMX" + } + ] + } + }, + "com.amazonaws.translate#ParallelDataProperties": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The custom name assigned to the parallel data resource.

    " + } + }, + "Arn": { + "target": "com.amazonaws.translate#ParallelDataArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the parallel data resource.

    " + } + }, + "Description": { + "target": "com.amazonaws.translate#Description", + "traits": { + "smithy.api#documentation": "

    The description assigned to the parallel data resource.

    " + } + }, + "Status": { + "target": "com.amazonaws.translate#ParallelDataStatus", + "traits": { + "smithy.api#documentation": "

    The status of the parallel data resource. When the parallel data is ready for you to use,\n the status is ACTIVE.

    " + } + }, + "SourceLanguageCode": { + "target": "com.amazonaws.translate#LanguageCodeString", + "traits": { + "smithy.api#documentation": "

    The source language of the translations in the parallel data file.

    " + } + }, + "TargetLanguageCodes": { + "target": "com.amazonaws.translate#LanguageCodeStringList", + "traits": { + "smithy.api#documentation": "

    The language codes for the target languages available in the parallel data file. All\n possible target languages are returned as an array.

    " + } + }, + "ParallelDataConfig": { + "target": "com.amazonaws.translate#ParallelDataConfig", + "traits": { + "smithy.api#documentation": "

    Specifies the format and S3 location of the parallel data input file.

    " + } + }, + "Message": { + "target": "com.amazonaws.translate#UnboundedLengthString", + "traits": { + "smithy.api#documentation": "

    Additional information from Amazon Translate about the parallel data resource.

    " + } + }, + "ImportedDataSize": { + "target": "com.amazonaws.translate#Long", + "traits": { + "smithy.api#documentation": "

    The number of UTF-8 characters that Amazon Translate imported from the parallel data input\n file. This number includes only the characters in your translation examples. It does not\n include characters that are used to format your file. For example, if you provided a\n Translation Memory Exchange (.tmx) file, this number does not include the tags.

    " + } + }, + "ImportedRecordCount": { + "target": "com.amazonaws.translate#Long", + "traits": { + "smithy.api#documentation": "

    The number of records successfully imported from the parallel data input file.

    " + } + }, + "FailedRecordCount": { + "target": "com.amazonaws.translate#Long", + "traits": { + "smithy.api#documentation": "

    The number of records unsuccessfully imported from the parallel data input file.

    " + } + }, + "SkippedRecordCount": { + "target": "com.amazonaws.translate#Long", + "traits": { + "smithy.api#documentation": "

    The number of items in the input file that Amazon Translate skipped when you created or\n updated the parallel data resource. For example, Amazon Translate skips empty records, empty\n target texts, and empty lines.

    " + } + }, + "EncryptionKey": { + "target": "com.amazonaws.translate#EncryptionKey" + }, + "CreatedAt": { + "target": "com.amazonaws.translate#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time at which the parallel data resource was created.

    " + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.translate#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time at which the parallel data resource was last updated.

    " + } + }, + "LatestUpdateAttemptStatus": { + "target": "com.amazonaws.translate#ParallelDataStatus", + "traits": { + "smithy.api#documentation": "

    The status of the most recent update attempt for the parallel data resource.

    " + } + }, + "LatestUpdateAttemptAt": { + "target": "com.amazonaws.translate#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time that the most recent update was attempted.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The properties of a parallel data resource.

    " + } + }, + "com.amazonaws.translate#ParallelDataPropertiesList": { + "type": "list", + "member": { + "target": "com.amazonaws.translate#ParallelDataProperties" + } + }, + "com.amazonaws.translate#ParallelDataStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATING", + "name": "CREATING" + }, + { + "value": "UPDATING", + "name": "UPDATING" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETING", + "name": "DELETING" + }, + { + "value": "FAILED", + "name": "FAILED" + } + ] + } + }, "com.amazonaws.translate#ResourceName": { "type": "string", "traits": { @@ -890,10 +1418,10 @@ "smithy.api#documentation": "

    The name of the batch translation job to be performed.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.translate#IamRoleArn", + "InputDataConfig": { + "target": "com.amazonaws.translate#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role\n that grants Amazon Translate read access to your input data. For more nformation, see identity-and-access-management.

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

    Specifies the format and S3 location of the input documents for the translation\n job.

    ", "smithy.api#required": {} } }, @@ -904,18 +1432,17 @@ "smithy.api#required": {} } }, - "InputDataConfig": { - "target": "com.amazonaws.translate#InputDataConfig", + "DataAccessRoleArn": { + "target": "com.amazonaws.translate#IamRoleArn", "traits": { - "smithy.api#documentation": "

    Specifies the format and S3 location of the input documents for the translation\n job.

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

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role\n that grants Amazon Translate read access to your input data. For more nformation, see identity-and-access-management.

    ", "smithy.api#required": {} } }, - "ClientToken": { - "target": "com.amazonaws.translate#ClientTokenString", + "SourceLanguageCode": { + "target": "com.amazonaws.translate#LanguageCodeString", "traits": { - "smithy.api#documentation": "

    A unique identifier for the request. This token is auto-generated when using the Amazon Translate\n SDK.

    ", - "smithy.api#idempotencyToken": {}, + "smithy.api#documentation": "

    The language code of the input language. For a list of language codes, see what-is-languages.

    \n

    Amazon Translate does not automatically detect a source language during batch translation\n jobs.

    ", "smithy.api#required": {} } }, @@ -926,16 +1453,23 @@ "smithy.api#required": {} } }, - "TerminologyNames": { + "TerminologyNames": { + "target": "com.amazonaws.translate#ResourceNameList", + "traits": { + "smithy.api#documentation": "

    The name of the terminology to use in the batch translation job. For a list of available\n terminologies, use the ListTerminologies operation.

    " + } + }, + "ParallelDataNames": { "target": "com.amazonaws.translate#ResourceNameList", "traits": { - "smithy.api#documentation": "

    The name of the terminology to use in the batch translation job. For a list of available\n terminologies, use the ListTerminologies operation.

    " + "smithy.api#documentation": "

    The names of the parallel data resources to use in the batch translation job. For a list\n of available parallel data resources, use the ListParallelData\n operation.

    " } }, - "SourceLanguageCode": { - "target": "com.amazonaws.translate#LanguageCodeString", + "ClientToken": { + "target": "com.amazonaws.translate#ClientTokenString", "traits": { - "smithy.api#documentation": "

    The language code of the input language. For a list of language codes, see what-is-languages.

    \n

    Amazon Translate does not automatically detect a source language during batch translation\n jobs.

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

    A unique identifier for the request. This token is auto-generated when using the Amazon Translate\n SDK.

    ", + "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } } @@ -996,17 +1530,17 @@ "com.amazonaws.translate#StopTextTranslationJobResponse": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.translate#JobStatus", - "traits": { - "smithy.api#documentation": "

    The status of the designated job. Upon successful completion, the job's status will be\n STOPPED.

    " - } - }, "JobId": { "target": "com.amazonaws.translate#JobId", "traits": { "smithy.api#documentation": "

    The job ID of the stopped batch translation job.

    " } + }, + "JobStatus": { + "target": "com.amazonaws.translate#JobStatus", + "traits": { + "smithy.api#documentation": "

    The status of the designated job. Upon successful completion, the job's status will be\n STOPPED.

    " + } } } }, @@ -1070,17 +1604,17 @@ "com.amazonaws.translate#TerminologyData": { "type": "structure", "members": { - "Format": { - "target": "com.amazonaws.translate#TerminologyDataFormat", + "File": { + "target": "com.amazonaws.translate#TerminologyFile", "traits": { - "smithy.api#documentation": "

    The data format of the custom terminology. Either CSV or TMX.

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

    The file containing the custom terminology data. Your version of the AWS SDK performs a\n Base64-encoding on this field before sending a request to the AWS service. Users of the SDK\n should not perform Base64-encoding themselves.

    ", "smithy.api#required": {} } }, - "File": { - "target": "com.amazonaws.translate#TerminologyFile", + "Format": { + "target": "com.amazonaws.translate#TerminologyDataFormat", "traits": { - "smithy.api#documentation": "

    The file containing the custom terminology data. Your version of the AWS SDK performs a\n Base64-encoding on this field before sending a request to the AWS service. Users of the SDK\n should not perform Base64-encoding themselves.

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

    The data format of the custom terminology. Either CSV or TMX.

    ", "smithy.api#required": {} } } @@ -1107,17 +1641,17 @@ "com.amazonaws.translate#TerminologyDataLocation": { "type": "structure", "members": { - "Location": { + "RepositoryType": { "target": "com.amazonaws.translate#String", "traits": { - "smithy.api#documentation": "

    The location of the custom terminology data.

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

    The repository type for the custom terminology data.

    ", "smithy.api#required": {} } }, - "RepositoryType": { + "Location": { "target": "com.amazonaws.translate#String", "traits": { - "smithy.api#documentation": "

    The repository type for the custom terminology data.

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

    The location of the custom terminology data.

    ", "smithy.api#required": {} } } @@ -1145,22 +1679,10 @@ "smithy.api#documentation": "

    The name of the custom terminology.

    " } }, - "EncryptionKey": { - "target": "com.amazonaws.translate#EncryptionKey", - "traits": { - "smithy.api#documentation": "

    The encryption key for the custom terminology.

    " - } - }, - "SizeBytes": { - "target": "com.amazonaws.translate#Integer", - "traits": { - "smithy.api#documentation": "

    The size of the file used when importing a custom terminology.

    " - } - }, - "TargetLanguageCodes": { - "target": "com.amazonaws.translate#LanguageCodeStringList", + "Description": { + "target": "com.amazonaws.translate#Description", "traits": { - "smithy.api#documentation": "

    The language codes for the target languages available with the custom terminology file.\n All possible target languages are returned in array.

    " + "smithy.api#documentation": "

    The description of the custom terminology properties.

    " } }, "Arn": { @@ -1175,10 +1697,22 @@ "smithy.api#documentation": "

    The language code for the source text of the translation request for which the custom\n terminology is being used.

    " } }, - "CreatedAt": { - "target": "com.amazonaws.translate#Timestamp", + "TargetLanguageCodes": { + "target": "com.amazonaws.translate#LanguageCodeStringList", "traits": { - "smithy.api#documentation": "

    The time at which the custom terminology was created, based on the timestamp.

    " + "smithy.api#documentation": "

    The language codes for the target languages available with the custom terminology file.\n All possible target languages are returned in array.

    " + } + }, + "EncryptionKey": { + "target": "com.amazonaws.translate#EncryptionKey", + "traits": { + "smithy.api#documentation": "

    The encryption key for the custom terminology.

    " + } + }, + "SizeBytes": { + "target": "com.amazonaws.translate#Integer", + "traits": { + "smithy.api#documentation": "

    The size of the file used when importing a custom terminology.

    " } }, "TermCount": { @@ -1187,10 +1721,10 @@ "smithy.api#documentation": "

    The number of terms included in the custom terminology.

    " } }, - "Description": { - "target": "com.amazonaws.translate#Description", + "CreatedAt": { + "target": "com.amazonaws.translate#Timestamp", "traits": { - "smithy.api#documentation": "

    The description of the custom terminology properties.

    " + "smithy.api#documentation": "

    The time at which the custom terminology was created, based on the timestamp.

    " } }, "LastUpdatedAt": { @@ -1226,12 +1760,6 @@ "com.amazonaws.translate#TextTranslationJobFilter": { "type": "structure", "members": { - "SubmittedBeforeTime": { - "target": "com.amazonaws.translate#Timestamp", - "traits": { - "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing and\n returns only the jobs submitted before the specified time. Jobs are returned in ascending\n order, oldest to newest.

    " - } - }, "JobName": { "target": "com.amazonaws.translate#JobName", "traits": { @@ -1244,6 +1772,12 @@ "smithy.api#documentation": "

    Filters the list of jobs based by job status.

    " } }, + "SubmittedBeforeTime": { + "target": "com.amazonaws.translate#Timestamp", + "traits": { + "smithy.api#documentation": "

    Filters the list of jobs based on the time that the job was submitted for processing and\n returns only the jobs submitted before the specified time. Jobs are returned in ascending\n order, oldest to newest.

    " + } + }, "SubmittedAfterTime": { "target": "com.amazonaws.translate#Timestamp", "traits": { @@ -1258,12 +1792,6 @@ "com.amazonaws.translate#TextTranslationJobProperties": { "type": "structure", "members": { - "JobStatus": { - "target": "com.amazonaws.translate#JobStatus", - "traits": { - "smithy.api#documentation": "

    The status of the translation job.

    " - } - }, "JobId": { "target": "com.amazonaws.translate#JobId", "traits": { @@ -1276,16 +1804,16 @@ "smithy.api#documentation": "

    The user-defined name of the translation job.

    " } }, - "TerminologyNames": { - "target": "com.amazonaws.translate#ResourceNameList", + "JobStatus": { + "target": "com.amazonaws.translate#JobStatus", "traits": { - "smithy.api#documentation": "

    A list containing the names of the terminologies applied to a translation job. Only one\n terminology can be applied per StartTextTranslationJob request at this\n time.

    " + "smithy.api#documentation": "

    The status of the translation job.

    " } }, - "DataAccessRoleArn": { - "target": "com.amazonaws.translate#IamRoleArn", + "JobDetails": { + "target": "com.amazonaws.translate#JobDetails", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role\n that granted Amazon Translate read access to the job's input data.

    " + "smithy.api#documentation": "

    The number of documents successfully and unsuccessfully processed during the translation\n job.

    " } }, "SourceLanguageCode": { @@ -1294,34 +1822,34 @@ "smithy.api#documentation": "

    The language code of the language of the source text. The language must be a language\n supported by Amazon Translate.

    " } }, - "Message": { - "target": "com.amazonaws.translate#UnboundedLengthString", + "TargetLanguageCodes": { + "target": "com.amazonaws.translate#TargetLanguageCodeStringList", "traits": { - "smithy.api#documentation": "

    An explanation of any errors that may have occured during the translation job.

    " + "smithy.api#documentation": "

    The language code of the language of the target text. The language must be a language\n supported by Amazon Translate.

    " } }, - "OutputDataConfig": { - "target": "com.amazonaws.translate#OutputDataConfig", + "TerminologyNames": { + "target": "com.amazonaws.translate#ResourceNameList", "traits": { - "smithy.api#documentation": "

    The output configuration properties that were specified when the job was requested.

    " + "smithy.api#documentation": "

    A list containing the names of the terminologies applied to a translation job. Only one\n terminology can be applied per StartTextTranslationJob request at this\n time.

    " } }, - "JobDetails": { - "target": "com.amazonaws.translate#JobDetails", + "ParallelDataNames": { + "target": "com.amazonaws.translate#ResourceNameList", "traits": { - "smithy.api#documentation": "

    The number of documents successfully and unsuccessfully processed during the translation\n job.

    " + "smithy.api#documentation": "

    A list containing the names of the parallel data resources applied to the translation\n job.

    " } }, - "TargetLanguageCodes": { - "target": "com.amazonaws.translate#TargetLanguageCodeStringList", + "Message": { + "target": "com.amazonaws.translate#UnboundedLengthString", "traits": { - "smithy.api#documentation": "

    The language code of the language of the target text. The language must be a language\n supported by Amazon Translate.

    " + "smithy.api#documentation": "

    An explanation of any errors that may have occured during the translation job.

    " } }, - "InputDataConfig": { - "target": "com.amazonaws.translate#InputDataConfig", + "SubmittedTime": { + "target": "com.amazonaws.translate#Timestamp", "traits": { - "smithy.api#documentation": "

    The input configuration properties that were specified when the job was requested.

    " + "smithy.api#documentation": "

    The time at which the translation job was submitted.

    " } }, "EndTime": { @@ -1330,10 +1858,22 @@ "smithy.api#documentation": "

    The time at which the translation job ended.

    " } }, - "SubmittedTime": { - "target": "com.amazonaws.translate#Timestamp", + "InputDataConfig": { + "target": "com.amazonaws.translate#InputDataConfig", "traits": { - "smithy.api#documentation": "

    The time at which the translation job was submitted.

    " + "smithy.api#documentation": "

    The input configuration properties that were specified when the job was requested.

    " + } + }, + "OutputDataConfig": { + "target": "com.amazonaws.translate#OutputDataConfig", + "traits": { + "smithy.api#documentation": "

    The output configuration properties that were specified when the job was requested.

    " + } + }, + "DataAccessRoleArn": { + "target": "com.amazonaws.translate#IamRoleArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role\n that granted Amazon Translate read access to the job's input data.

    " } } }, @@ -1417,17 +1957,17 @@ "smithy.api#documentation": "

    The name of the terminology list file to be used in the TranslateText request. You can use\n 1 terminology list at most in a TranslateText request. Terminology lists can\n contain a maximum of 256 terms.

    " } }, - "TargetLanguageCode": { + "SourceLanguageCode": { "target": "com.amazonaws.translate#LanguageCodeString", "traits": { - "smithy.api#documentation": "

    The language code requested for the language of the target text. The language must be a\n language supported by Amazon Translate.

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

    The language code for the language of the source text. The language must be a language\n supported by Amazon Translate. For a list of language codes, see what-is-languages.

    \n

    To have Amazon Translate determine the source language of your text, you can specify\n auto in the SourceLanguageCode field. If you specify\n auto, Amazon Translate will call Amazon\n Comprehend to determine the source language.

    ", "smithy.api#required": {} } }, - "SourceLanguageCode": { + "TargetLanguageCode": { "target": "com.amazonaws.translate#LanguageCodeString", "traits": { - "smithy.api#documentation": "

    The language code for the language of the source text. The language must be a language\n supported by Amazon Translate. For a list of language codes, see what-is-languages.

    \n

    To have Amazon Translate determine the source language of your text, you can specify\n auto in the SourceLanguageCode field. If you specify\n auto, Amazon Translate will call Amazon\n Comprehend to determine the source language.

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

    The language code requested for the language of the target text. The language must be a\n language supported by Amazon Translate.

    ", "smithy.api#required": {} } } @@ -1436,10 +1976,10 @@ "com.amazonaws.translate#TranslateTextResponse": { "type": "structure", "members": { - "TargetLanguageCode": { - "target": "com.amazonaws.translate#LanguageCodeString", + "TranslatedText": { + "target": "com.amazonaws.translate#String", "traits": { - "smithy.api#documentation": "

    The language code for the language of the target text.

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

    The translated text.

    ", "smithy.api#required": {} } }, @@ -1450,10 +1990,10 @@ "smithy.api#required": {} } }, - "TranslatedText": { - "target": "com.amazonaws.translate#String", + "TargetLanguageCode": { + "target": "com.amazonaws.translate#LanguageCodeString", "traits": { - "smithy.api#documentation": "

    The translated text.

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

    The language code for the language of the target text.

    ", "smithy.api#required": {} } }, @@ -1492,6 +2032,106 @@ "smithy.api#error": "client", "smithy.api#httpError": 400 } + }, + "com.amazonaws.translate#UpdateParallelData": { + "type": "operation", + "input": { + "target": "com.amazonaws.translate#UpdateParallelDataRequest" + }, + "output": { + "target": "com.amazonaws.translate#UpdateParallelDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.translate#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.translate#ConflictException" + }, + { + "target": "com.amazonaws.translate#InternalServerException" + }, + { + "target": "com.amazonaws.translate#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.translate#InvalidRequestException" + }, + { + "target": "com.amazonaws.translate#LimitExceededException" + }, + { + "target": "com.amazonaws.translate#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.translate#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates a previously created parallel data resource by importing a new input file from\n Amazon S3.

    " + } + }, + "com.amazonaws.translate#UpdateParallelDataRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The name of the parallel data resource being updated.

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.translate#Description", + "traits": { + "smithy.api#documentation": "

    A custom description for the parallel data resource in Amazon Translate.

    " + } + }, + "ParallelDataConfig": { + "target": "com.amazonaws.translate#ParallelDataConfig", + "traits": { + "smithy.api#documentation": "

    Specifies the format and S3 location of the parallel data input file.

    ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.translate#ClientTokenString", + "traits": { + "smithy.api#documentation": "

    A unique identifier for the request. This token is automatically generated when you use\n Amazon Translate through an AWS SDK.

    ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.translate#UpdateParallelDataResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.translate#ResourceName", + "traits": { + "smithy.api#documentation": "

    The name of the parallel data resource being updated.

    " + } + }, + "Status": { + "target": "com.amazonaws.translate#ParallelDataStatus", + "traits": { + "smithy.api#documentation": "

    The status of the parallel data resource that you are attempting to update. Your update\n request is accepted only if this status is either ACTIVE or\n FAILED.

    " + } + }, + "LatestUpdateAttemptStatus": { + "target": "com.amazonaws.translate#ParallelDataStatus", + "traits": { + "smithy.api#documentation": "

    The status of the parallel data update attempt. When the updated parallel data resource is\n ready for you to use, the status is ACTIVE.

    " + } + }, + "LatestUpdateAttemptAt": { + "target": "com.amazonaws.translate#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time that the most recent update was attempted.

    " + } + } + } } } } diff --git a/packages/util-dynamodb/src/convertToNative.spec.ts b/packages/util-dynamodb/src/convertToNative.spec.ts index 321da8a7aa8e6..487b2a69cfe0a 100644 --- a/packages/util-dynamodb/src/convertToNative.spec.ts +++ b/packages/util-dynamodb/src/convertToNative.spec.ts @@ -4,29 +4,16 @@ import { convertToNative } from "./convertToNative"; import { NativeAttributeValue } from "./models"; describe("convertToNative", () => { - const emptyAttr = { - B: undefined, - BOOL: undefined, - BS: undefined, - L: undefined, - M: undefined, - N: undefined, - NS: undefined, - NULL: undefined, - S: undefined, - SS: undefined, - }; - describe("null", () => { it(`returns for null`, () => { - expect(convertToNative({ ...emptyAttr, NULL: true })).toEqual(null); + expect(convertToNative({ NULL: true })).toEqual(null); }); }); describe("boolean", () => { [true, false].forEach((bool) => { it(`returns for boolean: ${bool}`, () => { - expect(convertToNative({ ...emptyAttr, BOOL: bool })).toEqual(bool); + expect(convertToNative({ BOOL: bool })).toEqual(bool); }); }); }); @@ -38,10 +25,10 @@ describe("convertToNative", () => { .map((num) => num.toString()) .forEach((numString) => { it(`returns for number (integer): ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString })).toEqual(Number(numString)); + expect(convertToNative({ N: numString })).toEqual(Number(numString)); }); it(`returns NumberValue for number (integer) with options.wrapNumbers=true: ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString }, { wrapNumbers })).toEqual({ value: numString }); + expect(convertToNative({ N: numString }, { wrapNumbers })).toEqual({ value: numString }); }); }); @@ -49,10 +36,10 @@ describe("convertToNative", () => { .map((num) => num.toString()) .forEach((numString) => { it(`returns for number (floating point): ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString })).toEqual(Number(numString)); + expect(convertToNative({ N: numString })).toEqual(Number(numString)); }); it(`returns NumberValue for number (floating point) with options.wrapNumbers=true: ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString }, { wrapNumbers })).toEqual({ value: numString }); + expect(convertToNative({ N: numString }, { wrapNumbers })).toEqual({ value: numString }); }); }); @@ -60,7 +47,7 @@ describe("convertToNative", () => { .map((num) => num.toString()) .forEach((numString) => { it(`returns for number (special numeric value): ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString })).toEqual(Number(numString)); + expect(convertToNative({ N: numString })).toEqual(Number(numString)); }); }); @@ -68,20 +55,20 @@ describe("convertToNative", () => { .map((num) => BigInt(num).toString()) .forEach((numString) => { it(`returns bigint for numbers outside SAFE_INTEGER range: ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString })).toEqual(BigInt(numString)); + expect(convertToNative({ N: numString })).toEqual(BigInt(numString)); }); it(`throws error for numbers outside SAFE_INTEGER range when BigInt is not defined: ${numString}`, () => { const BigIntConstructor = BigInt; (BigInt as any) = undefined; expect(() => { - convertToNative({ ...emptyAttr, N: numString }); + convertToNative({ N: numString }); }).toThrowError(`${numString} is outside SAFE_INTEGER bounds. Set options.wrapNumbers to get string value.`); BigInt = BigIntConstructor; }); it(`returns NumberValue for numbers outside SAFE_INTEGER range with options.wrapNumbers=true: ${numString}`, () => { - expect(convertToNative({ ...emptyAttr, N: numString }, { wrapNumbers })).toEqual({ value: numString }); + expect(convertToNative({ N: numString }, { wrapNumbers })).toEqual({ value: numString }); }); }); @@ -93,7 +80,7 @@ describe("convertToNative", () => { ].forEach((numString) => { it(`throws if number is outside IEEE 754 Floating-Point Arithmetic: ${numString}`, () => { expect(() => { - convertToNative({ ...emptyAttr, N: numString }); + convertToNative({ N: numString }); }).toThrowError( `Value ${numString} is outside IEEE 754 Floating-Point Arithmetic. Set options.wrapNumbers to get string value.` ); @@ -104,14 +91,14 @@ describe("convertToNative", () => { describe("binary", () => { it(`returns for Uint8Array`, () => { const data = new Uint8Array([...Array(64).keys()]); - expect(convertToNative({ ...emptyAttr, B: data })).toEqual(data); + expect(convertToNative({ B: data })).toEqual(data); }); }); describe("string", () => { ["", "string", "'single-quote'", '"double-quote"'].forEach((str) => { it(`returns for string: ${str}`, () => { - expect(convertToNative({ ...emptyAttr, S: str })).toEqual(str); + expect(convertToNative({ S: str })).toEqual(str); }); }); }); @@ -158,13 +145,13 @@ describe("convertToNative", () => { }, ] as { input: AttributeValue[]; output: NativeAttributeValue[] }[]).forEach(({ input, output }) => { it(`testing list: ${JSON.stringify(input)}`, () => { - expect(convertToNative({ ...emptyAttr, L: input })).toEqual(output); + expect(convertToNative({ L: input })).toEqual(output); }); }); it(`testing list with options.wrapNumbers=true`, () => { const input = [{ N: "1.01" }, { N: "9007199254740996" }]; - expect(convertToNative({ ...emptyAttr, L: input as AttributeValue[] }, { wrapNumbers: true })).toEqual( + expect(convertToNative({ L: input as AttributeValue[] }, { wrapNumbers: true })).toEqual( input.map((item) => ({ value: item.N })) ); }); @@ -210,7 +197,7 @@ describe("convertToNative", () => { ] as { input: { [key: string]: AttributeValue }; output: { [key: string]: NativeAttributeValue } }[]).forEach( ({ input, output }) => { it(`testing map: ${input}`, () => { - expect(convertToNative({ ...emptyAttr, M: input })).toEqual(output); + expect(convertToNative({ M: input })).toEqual(output); }); } ); @@ -218,7 +205,7 @@ describe("convertToNative", () => { it(`testing map with options.wrapNumbers=true`, () => { const input = { numberKey: { N: "1.01" }, bigintKey: { N: "9007199254740996" } }; const output = { numberKey: { value: "1.01" }, bigintKey: { value: "9007199254740996" } }; - expect(convertToNative({ ...emptyAttr, M: input }, { wrapNumbers: true })).toEqual(output); + expect(convertToNative({ M: input }, { wrapNumbers: true })).toEqual(output); }); }); @@ -227,11 +214,11 @@ describe("convertToNative", () => { const input = ["1", "2", "9007199254740996"]; it("without options.wrapNumbers", () => { - expect(convertToNative({ ...emptyAttr, NS: input })).toEqual(new Set([1, 2, BigInt(9007199254740996)])); + expect(convertToNative({ NS: input })).toEqual(new Set([1, 2, BigInt(9007199254740996)])); }); it("with options.wrapNumbers=true", () => { - expect(convertToNative({ ...emptyAttr, NS: input }, { wrapNumbers: true })).toEqual( + expect(convertToNative({ NS: input }, { wrapNumbers: true })).toEqual( new Set(input.map((numString) => ({ value: numString }))) ); }); @@ -241,12 +228,12 @@ describe("convertToNative", () => { const uint8Arr1 = new Uint8Array([...Array(4).keys()]); const uint8Arr2 = new Uint8Array([...Array(2).keys()]); const input = [uint8Arr1, uint8Arr2]; - expect(convertToNative({ ...emptyAttr, BS: input })).toEqual(new Set(input)); + expect(convertToNative({ BS: input })).toEqual(new Set(input)); }); it("string set", () => { const input = ["one", "two", "three"]; - expect(convertToNative({ ...emptyAttr, SS: input })).toEqual(new Set(input)); + expect(convertToNative({ SS: input })).toEqual(new Set(input)); }); }); @@ -254,7 +241,8 @@ describe("convertToNative", () => { ["A", "P", "LS"].forEach((type) => { it(`throws for unsupported type: ${type}`, () => { expect(() => { - convertToNative({ ...emptyAttr, [type]: "data" }); + // @ts-ignore Property '$unknown' is missing in type. + convertToNative({ [type]: "data" }); }).toThrowError(`Unsupported type passed: ${type}`); }); }); @@ -262,7 +250,8 @@ describe("convertToNative", () => { it(`no value defined`, () => { expect(() => { - convertToNative(emptyAttr); - }).toThrowError(`No value defined: ${emptyAttr}`); + // @ts-ignore Property '$unknown' is missing in type. + convertToNative({}); + }).toThrowError(`No value defined: {}`); }); }); diff --git a/packages/util-dynamodb/src/convertToNative.ts b/packages/util-dynamodb/src/convertToNative.ts index e51e3992defbb..a0251b396b834 100644 --- a/packages/util-dynamodb/src/convertToNative.ts +++ b/packages/util-dynamodb/src/convertToNative.ts @@ -38,7 +38,7 @@ export const convertToNative = (data: AttributeValue, options?: unmarshallOption } } } - throw new Error(`No value defined: ${data}`); + throw new Error(`No value defined: ${JSON.stringify(data)}`); }; const convertNumber = (numString: string, options?: unmarshallOptions): number | bigint | NumberValue => {